Can someone please write out the bit mapping for RSIAxisAddressTypeSTATUS and RSIAxisAddressTypeMOTION_STATUS? I see it can technically be deduced based on values in rsienums.h and rsiconstants.h, but I think I am doing something wrong or missing something.
Also is there an address I can record to get the value of RSIFirmwareStatus and RSIState for each axis?
Both can have any of the following values within RSIFirmwareStatus.
The RSIAxisAddressTypeSTATUS refers to the Axis Status and RSIAxisAddressTypeMOTION_STATUS refers to the Motion Supervisor Status. These should generally show the same value unless you are coming something complicated.
We’ve been recording the entire double value of STATUS and MOTION_STATUS to our external time series database. I want to decode these bits for analysis. For example, I was trying to troubleshoot a bug and it would be useful to see states such as Stopped/Idle/Error/etc in addition to the motion bits Done/Start/etc.
I don’t want to write extra code to record each bit as an separate metric, when I am already recording the entire value and can decode in the my visualization tool after the fact
bit 0 = RSIFirmwareStatusIN_COARSE_POSITION
bit 1 = RSIFirmwareStatusAT_TARGET
bit 2 = RSIFirmwareStatusAT_VELOCITY
bit 3 = RSIFirmwareStatusIN_FINE_POSITION & RSIFirmwareStatusSETTLED
bit 4 = RSIFirmwareStatusDONE
bit 5 = RSIFirmwareStatusMOTION_START
bit 7 = RSIFirmwareStatusPS_FAULT
bit 8 = RSIFirmwareStatusMS_FAULT
bit 9 = RSIFirmwareStatusOUT_OF_FRAMES
bit 10 = RSIFirmwareStatusFRAME
bit 11 = RSIFirmwareStatusRESET
bit 12 = RSIFirmwareStatusRESUME
bit 13 = RSIFirmwareStatusPAUSE
bit 14 = RSIFirmwareStatusSTOP
bit 15 = RSIFirmwareStatusESTOP
bit 16 = RSIFirmwareStatusESTOP_ABORT
bit 17 = RSIFirmwareStatusESTOP_CMD_EQ_ACT
bit 18 = RSIFirmwareStatusTRIGGERED_MODIFY_ESTOP
bit 19 = RSIFirmwareStatusTRIGGERED_MODIFY
bit 20 = RSIFirmwareStatusABORT
bit 21 = RSIFirmwareStatusERROR_STATE
bit 22 = RSIFirmwareStatusDISABLED
bit 23 = RSIFirmwareStatusHOST
bit 24 = RSIFirmwareStatusREC_IDLE
bit 25 = RSIFirmwareStatusREC_HIGH
bit 26 = RSIFirmwareStatusREC_FULL
bit 27 = RSIFirmwareStatusREC_RUNNING
bit 28 = RSIFirmwareStatusCAM
bit 29 = RSIFirmwareStatusEXTERNAL
bit 30 = RSIFirmwareStatusTRIGGERED_MODIFY_ESTOP_ABORT
bit 31 = RSIFirmwareStatusMOTOR_LIMIT