|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
One dynamic state, resolved and proven usable. More...
#include <ScriptStates.hpp>
Public Attributes | |
| State | state = State::UNKNOWN |
| std::string | name |
| fsw::script::ScriptProgram | program |
| uint32_t | timeout_ms = 0 |
| State | return_target = State::UNKNOWN |
| Where the state lands when the script runs off its end. | |
| State | timeout_target = State::UNKNOWN |
| Where it lands when timeout_ms expires. | |
| std::vector< std::string > | pressure_roles |
| Canonical PT role names this script reads, deduplicated. | |
| std::vector< std::string > | slug_names |
| Parallel to program.slugs — what each slug reference resolves to, decided at load. | |
| std::vector< State > | slug_states |
One dynamic state, resolved and proven usable.
Definition at line 23 of file ScriptStates.hpp.
| std::string sequencer::DynamicState::name |
Definition at line 25 of file ScriptStates.hpp.
Referenced by csv_to_eng.core.EngineMetadata::header_line(), sequencer::load_dynamic_states(), sequencer::SequencerService::makeScriptEnv(), and sequencer::ScriptRunner::start().
| std::vector<std::string> sequencer::DynamicState::pressure_roles |
Canonical PT role names this script reads, deduplicated.
The pressure subscriber's subscribe list is the union of these across every dynamic state — Elodin has no wildcard, and deriving the list from the AST is what makes it impossible to subscribe to the wrong table for a role.
Definition at line 36 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states().
| fsw::script::ScriptProgram sequencer::DynamicState::program |
Definition at line 26 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states(), and sequencer::ScriptRunner::run().
| State sequencer::DynamicState::return_target = State::UNKNOWN |
Where the state lands when the script runs off its end.
Definition at line 29 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states(), and sequencer::ScriptRunner::run().
| std::vector<std::string> sequencer::DynamicState::slug_names |
Parallel to program.slugs — what each slug reference resolves to, decided at load.
Resolution cannot fail at runtime this way. A lookup performed mid-script would have to have a failure path, and the only honest thing that path could do is abort a script that is holding valves; doing it here means an unresolvable name is a state that never becomes enterable instead.
names holds the canonical config name for actuator and sensor slugs (empty for states); states holds the resolved State for transition targets (UNKNOWN otherwise).
Definition at line 49 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states().
| std::vector<State> sequencer::DynamicState::slug_states |
Definition at line 50 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states().
| State sequencer::DynamicState::state = State::UNKNOWN |
Definition at line 24 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states(), engine.control.robust_ddp.controller.RobustDDPController::reset(), engine.control.robust_ddp.controller.RobustDDPController::step(), test_robust_ddp_actuation.TestActuation::test_compute_actuation_binary(), test_robust_ddp_actuation.TestActuation::test_compute_actuation_clamping(), test_robust_ddp_actuation.TestActuation::test_compute_actuation_pwm(), test_robust_ddp_safety_filter.TestSafetyFilter::test_filter_action_clamping(), test_robust_ddp_safety_filter.TestSafetyFilter::test_filter_action_safe(), test_robust_ddp_safety_filter.TestSafetyFilter::test_filter_action_unsafe_mr(), test_robust_ddp_safety_filter.TestSafetyFilter::test_filter_action_unsafe_ullage(), and test_robust_ddp_safety_filter.TestSafetyFilter::test_find_best_safe_action().
| uint32_t sequencer::DynamicState::timeout_ms = 0 |
Definition at line 27 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states(), and sequencer::ScriptRunner::run().
| State sequencer::DynamicState::timeout_target = State::UNKNOWN |
Where it lands when timeout_ms expires.
May differ from return_target.
Definition at line 31 of file ScriptStates.hpp.
Referenced by sequencer::load_dynamic_states(), and sequencer::ScriptRunner::run().