Folks,
I have a Delta Tau GeoBrick 8-channel system. I have been using it with the Model 2 driver (not based on asynMotorDriver) in the tpmac repository:
https://github.com/epics-modules/tpmacc. I had not seen any errors with that driver.
I have just updated it to use the Model 3 driver (based on asynMotorDriver) in the pmac repository:
https://github.com/dls-controls/pmac
The motors seem to be driving OK. However, the OPI screens show a Controller Error, and the poller prints this message:
2022/07/25 15:10:09.937 pmacController::fastUpdate *** Hardware Problem *** global status [???] => 8400913
The controller error is generated if this _expression_ is non-zero:
const epicsUInt32 pmacController::PMAC_HARDWARE_PROB = (PMAC_GSTATUS_REALTIME_INTR |
PMAC_GSTATUS_FLASH_ERROR |
PMAC_GSTATUS_DPRAM_ERROR |
PMAC_GSTATUS_CKSUM_ERROR |
PMAC_GSTATUS_WATCHDOG |
PMAC_GSTATUS_SERVO_ERROR);
That Global Status value 8400913 in hex is 0x803011. This translates to the following status bits being set:
Bit
|
Symbolic constant
|
Problem bit in PMAC_HARDWARE_PROB?
|
0x1
|
PMAC_GSTATUS_CARD_ADDR
|
No
|
0x10
|
PMAC_GSTATUS_MACRO_RING_ERRORCHECK
|
No
|
0x1000
|
PMAC_GSTATUS_CKSUM_ACTIVE
|
No
|
0x2000
|
PMAC_GSTATUS_CKSUM_ERROR
|
Yes
|
0x800000
|
PMAC_GSTATUS_RESERVED3
|
No
|
So it appears that the Controller Error on the OPI screen and the error message being printed is because the PMAC_GSTATUS_CKSUM_ERROR bit is set.
Does anyone know what that bit means, and why it might be set?
Thanks,
Mark