Record and Playback Software State Model
- Updated2025-12-19
- 2 minute(s) read
Record and Playback Software State Model
RPS.exe is implemented with a state machine.
Understanding the states and state transitions on the RPS state machine is important for anyone developing custom applications using the RPS API. The following diagram illustrates the states and transitions for RPS.exe.
Configuration State
An RPS software session has been created, but no hardware is reserved. Run-time configurations may be applied in this state.
To enter the Configuration state:
- Call Initialize to create a session.
- Call Abort from the Committed or Running state.
- Apply new settings while in the Committed state.Note If an error occurs during the Commit routine, the state machine returns to the configuration state as though the Commit routine had never started.
To exit the Configuration state:
- Call Commit to transition the session to the Committed state.
- Call Close to transition to the Uninitialized state.
Committed State
RPS is ready to start with minimal delays. In this state, the hardware has been reserved, the user-specified configurations have been applied, and all the high-speed data connections between the system components have been established.
To enter the Committed state:
- Call Commit from the Configuration state.
To exit the Committed state:
- Call Start to send a software start trigger to the system and transition to the Running state.
- Call Abort to transition to the Configuration state.
- Apply a new setting while in the Committed state, which triggers a state transition to the Configuration state.
- Call Close to transition to the Uninitialized state.
Running State
RPS is actively streaming data. The streaming status may be monitored in this state.
To enter the Running state:
- Call Start from the Committed state.
To exit the Running state:
- Call Abort to transition to the Configuration state.
- Call Close to transition to the Uninitialized state.
- An error occurs during the Start routine.
- Streaming completes.