|
Hermes
Simulation Orchestration Platform for Aerospace
|


Public Member Functions | |
| float | get_major_frame_rate_hz (self) |
| int | get_dt_ns (self) |
| int|None | get_end_time_ns (self) |
Static Public Attributes | |
| ExecutionMode | mode = ExecutionMode.AFAP |
| float | rate_hz = 100.0 |
| float | end_time = None |
| list | schedule = Field(default_factory=list) |
Protected Member Functions | |
| float | _validate_rate_hz (cls, float v) |
| ExecutionConfig | _validate_multi_rate (self) |
Execution and scheduling settings. Time values are stored as floats for configuration convenience, but converted to integer nanoseconds at runtime for determinism. Any positive rate_hz is allowed. Rates that don't divide evenly into 1 billion nanoseconds (e.g., 600 Hz) will have their timestep rounded, introducing bounded error that does not accumulate over time.
|
protected |
Validate that module rates are integer multiples of major frame rate.
|
protected |
Validate that rate_hz is positive.
| int hermes.core.config.ExecutionConfig.get_dt_ns | ( | self | ) |
Get major frame timestep in nanoseconds.
Returns:
Timestep as integer nanoseconds for deterministic simulation.
Rounded to nearest nanosecond for rates that don't divide evenly.
| int | None hermes.core.config.ExecutionConfig.get_end_time_ns | ( | self | ) |
Get end time in nanoseconds.
Returns:
End time as integer nanoseconds, or None if no end time set.
| float hermes.core.config.ExecutionConfig.get_major_frame_rate_hz | ( | self | ) |
Get major frame rate (slowest module rate). Returns the minimum rate across all schedule entries. If no schedule or no entries have explicit rates, returns execution rate_hz.
|
static |
|
static |
|
static |
|
static |