Startup Sequence¶
Instrument Initialization
Overview¶
The startup sequence describes how REVA moves from power-up into normal operation.
A defined startup sequence ensures that every reset begins from a known state.
Startup Flow¶
Power Applied
↓
Reset
↓
setup()
↓
GPIO Ready
↓
EEPROM Values Loaded
↓
Packet State Ready
↓
Timer1 Ready
↓
Timer2 Ready
↓
Display Ready
↓
Normal Operation
Known State¶
During startup, REVA prepares:
- output pins,
- user interface,
- display system,
- stored parameters,
- packet state,
- timer configuration.
The output system should not be considered ready until initialization has completed.
EEPROM Stage¶
EEPROM-backed values are loaded before normal operation.
This allows persistent settings to become active before the operator begins using the instrument.
Timer Stage¶
Timer1 and Timer2 are initialized before waveform generation is enabled.
Timer1 provides the carrier engine.
Timer2 provides the packet scheduler.
Runtime Entry¶
After startup is complete, control passes to loop().
The loop handles background activity while the timer subsystem maintains waveform timing.
Design Philosophy¶
Startup is deterministic.
The same sequence occurs after each reset, allowing reproducible operation and easier fault analysis.