Files
2026-02-09 16:28:47 -06:00

60 lines
1.5 KiB
Python

'''
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