|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Public Member Functions | |
| __init__ (self) | |
| None | set_config (self, PintleEngineConfig config, Optional[str] config_path=None) |
| Tuple[Optional[PintleEngineConfig], Optional[PintleEngineRunner]] | snapshot (self) |
| bool | has_config (self) |
Public Attributes | |
| Optional[PintleEngineConfig] | config = None |
| Optional[PintleEngineRunner] | runner = None |
| Optional[str] | config_path = None |
Protected Attributes | |
| _pair_lock = threading.Lock() | |
Holds the current config and runner instance. The two are one pair: the runner is built from the config. Solves run in the thread pool (``backend.session.run_compute``) while the config endpoints replace the pair, so a solve takes ``snapshot()`` once and uses only that, and ``set_config`` swaps both at once.
| bool backend.state.AppState.has_config | ( | self | ) |
Check if a config is loaded.
Definition at line 46 of file state.py.
References backend.routers.documents.CreatePayload.config, backend.routers.documents.ReleasePayload.config, config, board_simulator.SimulatedBoard.config, calibration_robustness.AnomalyDetector.config, calibration_robustness.BackupManager.config, calibration_robustness.CalibrationValidator.config, calibration_robustness.HealthMonitor.config, calibration_robustness.RobustnessManager.config, combined_fsw_gui.ConfigManager.config, combined_gui.ConfigManager.config, emmc_log_t.config, idle_t.config, self_test_t.config, solenoid_characterization_gui.ConfigManager.config, StarOTA::Server.config, and runner.
| None backend.state.AppState.set_config | ( | self, | |
| PintleEngineConfig | config, | ||
| Optional[str] | config_path = None ) |
Set config and create a new runner instance. The runner is built first -- seconds, for a propellant whose CEA cache has to load -- and the pair swapped together after, so nothing reads the new config beside the old runner while it builds. A runner that fails to build leaves the old pair in place.
Definition at line 23 of file state.py.
References _pair_lock, backend.routers.documents.CreatePayload.config, backend.routers.documents.ReleasePayload.config, config, board_simulator.SimulatedBoard.config, calibration_robustness.AnomalyDetector.config, calibration_robustness.BackupManager.config, calibration_robustness.CalibrationValidator.config, calibration_robustness.HealthMonitor.config, calibration_robustness.RobustnessManager.config, combined_fsw_gui.ConfigManager.config, combined_gui.ConfigManager.config, emmc_log_t.config, idle_t.config, self_test_t.config, solenoid_characterization_gui.ConfigManager.config, StarOTA::Server.config, anonymous_namespace{t7_bridge_main.cpp}::Options.config_path, backend.routers.control.Layer2ConfigSimulateRequest.config_path, config_path, and runner.
| Tuple[Optional[PintleEngineConfig], Optional[PintleEngineRunner]] backend.state.AppState.snapshot | ( | self | ) |
The config and the runner built from it, read together. A solve takes this once. Reading ``self.config`` again after the solve would pick up a config written while it ran, and report one design's numbers against another's.
Definition at line 37 of file state.py.
References _pair_lock, backend.routers.documents.CreatePayload.config, backend.routers.documents.ReleasePayload.config, config, board_simulator.SimulatedBoard.config, calibration_robustness.AnomalyDetector.config, calibration_robustness.BackupManager.config, calibration_robustness.CalibrationValidator.config, calibration_robustness.HealthMonitor.config, calibration_robustness.RobustnessManager.config, combined_fsw_gui.ConfigManager.config, combined_gui.ConfigManager.config, emmc_log_t.config, idle_t.config, self_test_t.config, solenoid_characterization_gui.ConfigManager.config, StarOTA::Server.config, and runner.
|
protected |
Definition at line 21 of file state.py.
Referenced by set_config(), and snapshot().
| backend.state.AppState.config = None |
Definition at line 18 of file state.py.
Referenced by engine.layerx.card.EngineSampler.__call__(), engine.core.chamber_solver.ChamberSolver._accel_chamber_pc(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._advance_walls(), engine.pipeline.cea_cache.CEACache._build_cache(), engine.pipeline.cea_cache.CEACache._build_cache_parallel(), engine.pipeline.cea_cache.CEACache._build_cache_sequential(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._build_walls(), engine.core.chamber_solver.ChamberSolver._compute_cooling_efficiency(), engine.core.chamber_solver.ChamberSolver._evaluate_cooling_models(), engine.core.runner.PintleEngineRunner._evaluate_internal(), engine.core.chamber_solver.ChamberSolver._fluid_props(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._geometry(), engine.core.runner.PintleEngineRunner._get_ambient_pressure(), engine.core.chamber_solver.ChamberSolver._get_chamber_geometry(), engine.core.runner.PintleEngineRunner._get_elevation(), engine.core.chamber_solver.ChamberSolver._get_fuel_props(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._graphite_layers(), engine.core.chamber_solver.ChamberSolver._infer_injector_diameter(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._insert_backing(), engine.core.chamber_solver.ChamberSolver._liner_end(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._liner_layers(), engine.pipeline.cea_cache.CEACache._load_cache(), engine.core.chamber_solver.ChamberSolver._raise_supply_exceeds_demand(), engine.core.chamber_solver.ChamberSolver._rupe_R_opt(), engine.pipeline.cea_cache.CEACache._save_cache(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._station_loads(), engine.core.chamber_solver.ChamberSolver._wall_contour(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver._wall_report(), engine.pipeline.cea_cache.CEACache.aux(), engine.pipeline.system_diagnostics.SystemDiagnostics.diagnose_all(), engine.pipeline.cea_cache.CEACache.eval(), engine.pipeline.cea_cache.CEACache.eval_cf_vac(), has_config(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver.liner_end(), engine.core.chamber_solver.ChamberSolver.residual(), set_config(), snapshot(), engine.core.chamber_solver.ChamberSolver.solve(), engine.pipeline.time_varying_solver.TimeVaryingCoupledSolver.solve_time_step(), test_robust_ddp_constraints.TestConstraints.test_all_constraints_safe(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_cache_stats(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_caching(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_clear_cache(), test_robust_ddp_constraints.TestConstraints.test_constraint_summary(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_convenience_function(), test_robust_ddp_constraints.TestConstraints.test_copv_minimum_constraint(), test_robust_ddp_constraints.TestConstraints.test_edge_cases(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_estimate_error_handling(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_estimate_from_pressures_mock(), test_robust_ddp_engine_wrapper.TestEngineWrapper.test_estimate_without_stability(), test_robust_ddp_constraints.TestConstraints.test_headroom_constraints(), test_robust_ddp_constraints.TestConstraints.test_injector_stiffness_constraints(), test_robust_ddp_constraints.TestConstraints.test_mixture_ratio_constraints(), test_robust_ddp_robustness.TestRobustness.test_multiple_updates_convergence(), test_robust_ddp_constraints.TestConstraints.test_multiple_violations(), test_robust_ddp_constraints.TestConstraints.test_nan_handling(), test_robust_ddp_dynamics.TestDynamics.test_regulator_behavior(), test_robust_ddp_robustness.TestRobustness.test_tube_propagate_basic(), test_robust_ddp_robustness.TestRobustness.test_tube_propagate_validation(), test_robust_ddp_robustness.TestRobustness.test_tube_propagate_widens(), test_robust_ddp_robustness.TestRobustness.test_tube_propagate_with_large_w_bar(), test_robust_ddp_constraints.TestConstraints.test_ullage_maximum_constraints(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_basic(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_beta(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_ema_behavior(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_inflation(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_requires_mass_flow(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_residual_spike(), test_robust_ddp_robustness.TestRobustness.test_update_bounds_with_engine_wrapper(), and test_robust_ddp_engine_wrapper.TestEngineWrapper.test_wrapper_initialization().
| Optional[str] backend.state.AppState.config_path = None |
Definition at line 20 of file state.py.
Referenced by set_config().
| Optional[PintleEngineRunner] backend.state.AppState.runner = None |
Definition at line 19 of file state.py.
Referenced by engine.layerx.card.EngineSampler.__call__(), engine.pipeline.system_diagnostics.SystemDiagnostics.diagnose_all(), has_config(), set_config(), snapshot(), test_robust_ddp_engine_wrapper.TestEngineWrapperIntegration.test_multiple_pressure_points(), and test_robust_ddp_engine_wrapper.TestEngineWrapperIntegration.test_wrapper_vs_direct_pipeline().