#ifndef REPEATER_H #define REPEATER_H typedef enum { SLEEP, IDLE, KEYCHUNK, HANG, GW, TT, TOT, }state; typedef enum { TONE, CW, NONE, }c_type; typedef struct { c_type courtesy; int close_down; int cw_pitch; int cw_speed; int pip_length; char pip_letter; int pip_pitch; int pip_speed; int pip_gw_length; char pip_gw_letter; int pip_gw_pitch; int start_up; }params; typedef struct { unsigned long tx_start; unsigned long rx_start; unsigned long gw_start; }timer; typedef struct { unsigned long tx_time; unsigned long rx_time; unsigned long gw_time; }stats; typedef struct { bool tx; unsigned long long tx_time; }transmitter; typedef struct { int id; bool rx; unsigned long long rx_time; }receiver; typedef struct { bool enable; unsigned long speed; }serial; typedef struct { bool enable; receiver receiver; transmitter transmitter; }gateway; typedef struct { char* callsign; gateway gateway; unsigned long id_time; state last; params params; receiver receiver; serial serial; stats stats; state state; timer timer; transmitter transmitter; unsigned long tail; }repeater; typedef struct { byte type; stats* stats; bool transmitter; bool receiver; bool gateway; }info; #endif