''' APT Constants and Registries Thomas Ales | Feb 2026 ''' from enum import IntFlag class StatusBits(IntFlag): MOT_SB_CWHARDLIMIT = 0x01 MOT_SB_CCWHARDLIMIT = 0x02 MOT_SB_INMOTIONCW = 0x10 MOT_SB_INMOTIONCCW = 0x20 MOT_SB_HOMING = 0x200 MOT_SB_HOMED = 0x400 MOT_SB_TRACKING = 0x1000 MOT_SB_SETTLED = 0x2000 MOT_SB_POSITIONERROR = 0x4000 MOT_SB_INSTRERROR = 0x8000 MOT_SB_INTERLOCK = 0x10000 MOT_SB_OVERTEMP = 0x20000 MOT_SB_BUSVOLTFAULT = 0x40000 MOT_SB_COMMUTATIONERROR = 0x80000 MOT_SB_DIGIP1 = 0x100000 MOT_SB_OVERLOAD = 0x1000000 MOT_SB_POWEROK = 0x10000000 MOT_SB_ERROR = 0x40000000 MOT_SB_ENABLED = 0x80000000 # combined masks for checking various # states MOT_ANY_MOVE = MOT_SB_INMOTIONCW | MOT_SB_INMOTIONCCW MOT_ANY_ERR = (MOT_SB_OVERTEMP | MOT_SB_BUSVOLTFAULT | MOT_SB_COMMUTATIONERROR | MOT_SB_OVERLOAD | MOT_SB_ERROR | MOT_SB_INSTRERROR) class TriggerBitsStepper(IntFlag): TRIGIN_ENABLE = 0x01, TRIGOUT_ENABLE = 0x02, TRIGOUT_MODEFOLLOW = 0x04, TRIGOUT_MODEMOVEEND = 0x08, TRIG_RELMOVE = 0x10, TRIG_ABSMOVE = 0x20, TRIG_HOMEMOVE = 0x40, TRIGOUT_NOTRIGIN = 0x80 class TriggerBitsServo(IntFlag): TRIGIN_HIGH = 0x01 TRIGIN_RELMOVE = 0x02 TRIGIN_ABSMOVE = 0x04 TRIGIN_HOMEMOVE = 0x08 TRIGOUT_HIGH = 0x10 TRIGOUT_INMOTION = 0x20 TRIGOUT_MOTIONCOMPLETE = 0x40 TRIGOUT_MAXVELOCITY = 0x80 TRIGOUT_MAXV = TRIGOUT_HIGH | TRIGOUT_MAXVELOCITY