Skip to content

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.


See Also