stateDiagram
%% Initial state name as "." so that it fits in black circle shape.
%% See https://github.com/StateSmith/StateSmith/issues/404
state "." as ROOT.(InitialState)
SPLASH
SPLASH : SPLASH
SPLASH : enter / #123; splashCount_ms = 0#59; #125;
SPLASH : 1. do / #123; splashCount_ms++#59; #125;
HOME
HOME : HOME
HOME : enter / #123; clearScreen = true#59; #125;
MAIN_MENU
MAIN_MENU : MAIN_MENU
MAIN_MENU : enter / #123; clearScreen = true#59; #125;
SECONDARY_MENU
SECONDARY_MENU : SECONDARY_MENU
SECONDARY_MENU : enter / #123; clearScreen = true#59; #125;
CALIBRATE_RX_IQ
CALIBRATE_RX_IQ : CALIBRATE_RX_IQ
CALIBRATE_RX_IQ : enter / #123; clearScreen = true#59; #125;
UPDATE
UPDATE : UPDATE
UPDATE : enter / #123; clearScreen = true#59; #125;
FREQ_ENTRY
FREQ_ENTRY : FREQ_ENTRY
FREQ_ENTRY : enter / #123; clearScreen = true#59; #125;
CALIBRATE_FREQUENCY
CALIBRATE_FREQUENCY : CALIBRATE_FREQUENCY
CALIBRATE_FREQUENCY : enter / #123; clearScreen = true#59; #125;
CALIBRATE_POWER
CALIBRATE_POWER : CALIBRATE_POWER
CALIBRATE_POWER : enter / #123; clearScreen = true#59; #125;
CALIBRATE_TX_IQ
CALIBRATE_TX_IQ : CALIBRATE_TX_IQ
CALIBRATE_TX_IQ : enter / #123; clearScreen = true#59; #125;
EQUALIZER
EQUALIZER : EQUALIZER
EQUALIZER : enter / #123; clearScreen = true#59; #125;
BIT
BIT : BIT
BIT : enter / #123; clearScreen = true#59; #125;
ROOT.(InitialState) --> SPLASH
SPLASH --> HOME : do [splashCount_ms >= splashDuration_ms]
HOME --> MAIN_MENU : MENU
HOME --> CALIBRATE_RX_IQ : CALIBRATE_RX_IQ
HOME --> FREQ_ENTRY : DFE
HOME --> CALIBRATE_TX_IQ : CALIBRATE_TX_IQ
HOME --> CALIBRATE_FREQUENCY : CALIBRATE_FREQUENCY
HOME --> CALIBRATE_POWER : CALIBRATE_POWER
HOME --> EQUALIZER : EQUALIZER
HOME --> BIT : BIT
MAIN_MENU --> HOME : HOME
MAIN_MENU --> SECONDARY_MENU : SELECT
SECONDARY_MENU --> HOME : HOME
SECONDARY_MENU --> UPDATE : SELECT
CALIBRATE_RX_IQ --> HOME : HOME
UPDATE --> HOME : HOME
UPDATE --> HOME : SELECT
FREQ_ENTRY --> HOME : HOME
CALIBRATE_FREQUENCY --> HOME : HOME
CALIBRATE_POWER --> HOME : HOME
CALIBRATE_TX_IQ --> HOME : HOME
EQUALIZER --> HOME : HOME
BIT --> HOME : HOME