Closed ram1123 closed 5 years ago
What is a "disconnected" ADC channel (and why are you trying to read them?)
testConnectivity.py
and start fresh doing the following
1) In a loop over "good" ADC channels (after looping over the "good" ADCs, select a "bad" ADC for the last iteration):
1) read Imon
in the DCS mainframe
1) run test on ADC channel
1) read Imon
in the DCS mainframe
1) Then do the following for each ADC channel (first all "good" ADCs, and then one-by-one a "bad" ADC):
1) reset the system and run testConnectivity.py
1) read Imon
in the DCS mainframe
1) run test on ADC channel
1) read Imon
in the DCS mainframe
The possible solution is to enable the current sink only for the temperature channels not for others.
1) This is not just a "possible solution", it is the operational mode that must be followed. 1) Additionally, the current source must only be enabled (if needed) for the channel being sampled, and then disabled when done.
@jsturdy
What is a "disconnected" ADC channel (and why are you trying to read them?)
By "disconnected", I mean the channels that are not used like sca_enums.h#L243-L245
@jsturdy
What is a "disconnected" ADC channel (and why are you trying to read them?)
By "disconnected", I mean the channels that are not used like sca_enums.h#L243-L245
OK, in this case, it might be good to comment out those enums that are not connected, so that it is not possible to enable the monitoring of them.
Hi @jsturdy ,
List of good ADCs are: 00, 04, 07, 08, 0E, 0F, 11, 12, 13, 15, 18, 1B, 1E and 1F. List of disconnected/bad ADC are: 01, 02, 03, 05, 06, 09, 0A, 0B, 0C, 0D, 10, 14, 16, 17, 19, 1A, 1C, and 1D
Can you reset the system and run
testConnectivity.py
and start fresh doing the following
In a loop over "good" ADC channels (after looping over the "good" ADCs, select a "bad" ADC for the last iteration):
- read
Imon
in the DCS mainframe- run test on ADC channel
- read
Imon
in the DCS mainframe
Performed this test and the value of Imon remains same (i.e. 1.85 A) before and after the test.
Then do the following for each ADC channel (first all "good" ADCs, and then one-by-one a "bad" ADC):
- reset the system and run
testConnectivity.py
- read
Imon
in the DCS mainframe- run test on ADC channel
- read
Imon
in the DCS mainframe
Also, performed this test and the value of Imon remains same (i.e. 1.85 A) before and after the test.
- log everything in an elog
Its logged in cms-elog-1082877
The possible solution is to enable the current sink only for the temperature channels not for others.
- This is not just a "possible solution", it is the operational mode that must be followed.
- Additionally, the current source must only be enabled (if needed) for the channel being sampled, and then disabled when done.
This issue was understood but forgot to reply.
The issue mentioned above was arised by the current sink. So, whenever we are reading the temperature channel then before reading it we need to enable the current sink and just after reading it we need to disable it. If we don't disable and try to read any other register then we will get the error saying
Bus error accessing XXXX
So, every time before reading the temperature channel we need to enable the current sink and disable it after reading.
Brief summary of issue
One we access a disconnected channel then it gives bus error. And after that it starts giving error for the connected channels also.
Types of issue
Expected Behavior
This shows flowing error:
While running the command:
In log pannel it shows:
Current Behavior
Steps to Reproduce (for bugs)
readADCCommands
. Then one should getPossible Solution (for bugs)
testConnectivity.py
Context (for feature requests)
Your Environment