m0zah/GB3TX/repeater.h
2024-10-30 20:52:59 +00:00

74 lines
1.1 KiB
C

#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 start;
unsigned long end;
}t_stamp;
typedef struct {
bool tx;
}transmitter;
typedef struct {
int id;
bool rx;
t_stamp timestamp;
}receiver;
typedef struct {
bool enable;
unsigned long speed;
}serial;
typedef struct {
receiver receiver;
transmitter transmitter;
}gateway;
typedef struct {
char* callsign;
gateway gateway;
unsigned long id_time;
unsigned long last_id;
state last;
params params;
receiver receiver;
serial serial;
state state;
transmitter transmitter;
unsigned long tail;
}repeater;
#endif