This repository was archived by the owner on Jan 31, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
This repository was archived by the owner on Jan 31, 2022. It is now read-only.
[duplication] sca_utils and sca_common_utils code duplication #34
Copy link
Copy link
Open
Description
Brief summary of issue
Duplicate code, probably from migration to new structure:
reg_utils/python/reg_interface/common/sca_utils.py
Lines 126 to 151 in 917db44
| def sendScaCommand(ohList, sca_channel, sca_command, data_length, data, doRead): | |
| #print('fake send: channel ' + hex(sca_channel) + ', command ' + hex(sca_command) + ', length ' + hex(data_length) + ', data ' + hex(data) + ', doRead ' + str(doRead)) | |
| #return | |
| d = data | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_CHANNEL'), sca_channel) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_COMMAND'), sca_command) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_LENGTH'), data_length) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_DATA'), d) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_EXECUTE'), 0x1) | |
| reply = [] | |
| if doRead: | |
| for i in ohList: | |
| reply.append(parseInt(readReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_REPLY_OH%d.SCA_RPY_DATA' % i)))) | |
| return reply | |
| def checkStatus(ohList): | |
| rxReady = parseInt(readReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.STATUS.READY'))) | |
| criticalError = parseInt(readReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.STATUS.CRITICAL_ERROR'))) | |
| statusGood = True | |
| for i in ohList: | |
| if not check_bit(rxReady, i): | |
| printRed("OH #%d is not ready: RX ready = %d, critical error = %d" % (i, (rxReady >> i) & 0x1, (criticalError >> i) & 0x1)) | |
| statusGood = False | |
| return statusGood |
duplicates
reg_utils/python/reg_interface/common/sca_common_utils.py
Lines 13 to 38 in 917db44
| def sendScaCommand(ohList, sca_channel, sca_command, data_length, data, doRead): | |
| #print('fake send: channel ' + hex(sca_channel) + ', command ' + hex(sca_command) + ', length ' + hex(data_length) + ', data ' + hex(data) + ', doRead ' + str(doRead)) | |
| #return | |
| d = data | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_CHANNEL'), sca_channel) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_COMMAND'), sca_command) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_LENGTH'), data_length) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_DATA'), d) | |
| writeReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_CMD.SCA_CMD_EXECUTE'), 0x1) | |
| reply = [] | |
| if doRead: | |
| for i in ohList: | |
| reply.append(parseInt(readReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.MANUAL_CONTROL.SCA_REPLY_OH%d.SCA_RPY_DATA' % i)))) | |
| return reply | |
| def checkStatus(ohList): | |
| rxReady = parseInt(readReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.STATUS.READY'))) | |
| criticalError = parseInt(readReg(getNode('GEM_AMC.SLOW_CONTROL.SCA.STATUS.CRITICAL_ERROR'))) | |
| statusGood = True | |
| for i in ohList: | |
| if not check_bit(rxReady, i): | |
| printRed("OH #%d is not ready: RX ready = %d, critical error = %d" % (i, (rxReady >> i) & 0x1, (criticalError >> i) & 0x1)) | |
| statusGood = False | |
| return statusGood |
Types of issue
- Bug report (report an issue with the code)
Possible Solution (for bugs)
Remove L126-L151 from sca_utils.py, as the import in L8 brings them in from sca_common_utils.py
Reactions are currently unavailable