APIs, concepts, guides, and more

◆ RSIFirmwareStatus

enum class RSIFirmwareStatus
strong
Description:
Each value is a 32-bit bitmask (not a bit index) representing a single status condition in the RMP firmware. Read the status word with AddressGet using RSIAxisAddressTypeSTATUS.
Which status address to use:
  • RSIAxisAddressTypeSTATUS — Per-axis status. All RSIFirmwareStatus bits apply. Use to check single-axis motion state, errors, and events.
  • RSIAxisAddressTypeMOTION_STATUS — Motion supervisor status. Same bit definitions, but reflects the coordinated multi-axis motion group. Use to check if group motion is done or in error. RSIMultiAxisAddressTypeMOTION_STATUS is the MultiAxis equivalent.
  • RSIAxisAddressTypeMOTOR_DATA_STATUS — Motor dedicated limit status. Different bit layout (9-bit motor limit flags: amp fault, encoder fault, error/torque/position limits). RSIFirmwareStatus values do NOT apply. Use to determine which motor limit fired.
Latching:
Bits marked "Latched" persist across firmware cycles until explicitly cleared (e.g., by Axis::ClearFaults or resuming motion). Non-latched bits are re-evaluated every cycle.
Enumerator
RSIFirmwareStatusIN_COARSE_POSITION 

Bit 0 (0x01). Position error is within the coarse-position tolerance.

RSIFirmwareStatusAT_TARGET 

Bit 1 (0x02). Latched. Command position has reached the profile target.

RSIFirmwareStatusAT_VELOCITY 

Bit 2 (0x04). Command velocity has reached the requested cruise velocity.

RSIFirmwareStatusIN_FINE_POSITION 

Bit 3 (0x08). Position error is within the fine (settling) tolerance. Same bit as SETTLED.

RSIFirmwareStatusSETTLED 

Bit 3 (0x08). Alias for IN_FINE_POSITION. Axis has settled within fine tolerance.

RSIFirmwareStatusDONE 

Bit 4 (0x10). Latched. Motion complete: profile finished (AT_TARGET) and settled (IN_FINE_POSITION).

RSIFirmwareStatusMOTION_START 

Bit 5 (0x20). Latched. A new motion profile has started executing.

RSIFirmwareStatusMOTION_MODIFY 

Bit 6 (0x40). Latched. A running motion profile was modified (e.g., new target appended).

RSIFirmwareStatusPS_FAULT 

Bit 7 (0x80). Program Sequencer fault. N/A.

RSIFirmwareStatusMS_FAULT 

Bit 8 (0x100). Motion Supervisor fault.

RSIFirmwareStatusOUT_OF_FRAMES 

Bit 9 (0x200). Latched. Motion frame buffer underrun — host did not supply frames fast enough.

RSIFirmwareStatusFRAME 

Bit 10 (0x400). A motion frame has been consumed (loaded into execution).

RSIFirmwareStatusRESET 

Bit 11 (0x800). Axis has been reset (faults cleared).

RSIFirmwareStatusRESUME 

Bit 12 (0x1000). Motion resumed from a paused or stopped state.

RSIFirmwareStatusPAUSE 

Bit 13 (0x2000). Motion is paused — ramping feedrate to zero velocity, resumable.

RSIFirmwareStatusSTOP 

Bit 14 (0x4000). Latched. Motion has been stopped. Must be explicitly resumed or cleared.

RSIFirmwareStatusESTOP 

Bit 15 (0x8000). Latched. Emergency stop — ramping feedrate to zero on the E-Stop profile.

RSIFirmwareStatusESTOP_ABORT 

Bit 16 (0x10000). Latched. E-Stop followed by command position set to actual position.

RSIFirmwareStatusESTOP_CMD_EQ_ACT 

Bit 17 (0x20000). Latched. E-Stop with immediate command-equals-actual snap.

RSIFirmwareStatusTRIGGERED_MODIFY_ESTOP 

Bit 18 (0x40000). Latched. A triggered modify resulted in an E-Stop.

RSIFirmwareStatusTRIGGERED_MODIFY 

Bit 19 (0x80000). Latched. A triggered modify action has fired (motion modified by event).

RSIFirmwareStatusABORT 

Bit 20 (0x100000). Latched. Motion aborted — command position immediately set to actual.

RSIFirmwareStatusERROR_STATE 

Bit 21 (0x200000). Latched. Derived — automatically set when any error bit (15–18, 20) is active.

RSIFirmwareStatusDISABLED 

Bit 22 (0x400000). Amp enable output is OFF — the axis is disabled.

RSIFirmwareStatusHOST 

Bit 23 (0x800000). Latched. The current stop/error was initiated by the host application (user), not the firmware. Cleared when motion resumes.

RSIFirmwareStatusREC_IDLE 

Bit 24 (0x1000000). Data recorder is idle (not recording).

RSIFirmwareStatusREC_HIGH 

Bit 25 (0x2000000). Data recorder buffer has reached the high-water mark.

RSIFirmwareStatusREC_FULL 

Bit 26 (0x4000000). Data recorder buffer is completely full.

RSIFirmwareStatusREC_RUNNING 

Bit 27 (0x8000000). Data recorder is actively recording samples.

RSIFirmwareStatusCAM 

Bit 28 (0x10000000). Electronic cam error — master axis fault propagated to this follower.

RSIFirmwareStatusEXTERNAL 

Bit 29 (0x20000000). External event — a User Message command executed in the Program Sequencer. N/A.

RSIFirmwareStatusTRIGGERED_MODIFY_ESTOP_ABORT 

Bit 30 (0x40000000). Latched. A triggered modify resulted in an E-Stop with abort.

RSIFirmwareStatusMOTOR_LIMIT 

Bit 31 (0x80000000). Latched. A motor limit condition fired (amp fault, encoder fault, HW/SW limit, error limit, or torque limit). Read RSIAxisAddressTypeMOTOR_DATA_STATUS to identify which.

Definition at line 529 of file rsienums.h.