kopia lustrzana https://github.com/SP8EBC/ParaTNC
100 wiersze
2.5 KiB
C
100 wiersze
2.5 KiB
C
#ifndef MAIN_H_
|
|
#define MAIN_H_
|
|
|
|
#include "aprs/ax25.h"
|
|
#include "drivers/serial.h"
|
|
#include "config_data.h"
|
|
|
|
#define SW_VER "EA04"
|
|
#define SW_DATE "30012022"
|
|
|
|
#define SYSTICK_TICKS_PER_SECONDS 100
|
|
#define SYSTICK_TICKS_PERIOD 10
|
|
|
|
//#define INTERNAL_WATCHDOG
|
|
#define EXTERNAL_WATCHDOG
|
|
|
|
#define PWR_SWITCH_BOTH
|
|
|
|
#define OWN_APRS_MSG_LN 160
|
|
|
|
extern uint32_t master_time;
|
|
|
|
extern const config_data_mode_t * main_config_data_mode;
|
|
extern const config_data_basic_t * main_config_data_basic;
|
|
extern const config_data_wx_sources_t * main_config_data_wx_sources;
|
|
extern const config_data_umb_t * main_config_data_umb;
|
|
extern const config_data_rtu_t * main_config_data_rtu;
|
|
#ifdef PARAMETEO
|
|
extern const config_data_gsm_t * main_config_data_gsm;
|
|
#endif
|
|
|
|
extern int32_t main_wx_sensors_pool_timer;
|
|
extern int32_t main_one_minute_pool_timer;
|
|
extern int32_t main_one_second_pool_timer;
|
|
extern int32_t main_two_second_pool_timer;
|
|
extern int32_t main_ten_second_pool_timer;
|
|
|
|
extern AX25Ctx main_ax25;
|
|
extern Afsk main_afsk;
|
|
|
|
extern AX25Call main_own_path[3];
|
|
extern uint8_t main_own_path_ln;
|
|
extern uint8_t main_own_aprs_msg_len;
|
|
extern char main_own_aprs_msg[OWN_APRS_MSG_LN];
|
|
|
|
extern char main_string_latitude[9];
|
|
extern char main_string_longitude[9];
|
|
|
|
extern char main_symbol_f;
|
|
extern char main_symbol_s;
|
|
|
|
extern srl_context_t* main_kiss_srl_ctx_ptr;
|
|
extern srl_context_t* main_wx_srl_ctx_ptr;
|
|
extern srl_context_t* main_gsm_srl_ctx_ptr;
|
|
|
|
extern uint8_t main_kiss_enabled;
|
|
|
|
extern char after_tx_lock;
|
|
|
|
extern unsigned short rx10m, tx10m, digi10m, digidrop10m, kiss10m;
|
|
|
|
uint16_t main_get_adc_sample(void);
|
|
|
|
void main_service_cpu_load_ticks(void);
|
|
|
|
inline uint32_t main_get_master_time(void) {
|
|
return master_time;
|
|
}
|
|
|
|
inline void main_wait_for_tx_complete(void) {
|
|
while(main_afsk.sending == 1);
|
|
}
|
|
|
|
inline void main_wx_decremenet_counter(void) {
|
|
if (main_wx_sensors_pool_timer > 0)
|
|
main_wx_sensors_pool_timer -= SYSTICK_TICKS_PERIOD;
|
|
}
|
|
|
|
inline void main_packets_tx_decremenet_counter(void) {
|
|
if (main_one_minute_pool_timer > 0)
|
|
main_one_minute_pool_timer -= SYSTICK_TICKS_PERIOD;
|
|
}
|
|
|
|
inline void main_one_second_pool_decremenet_counter(void) {
|
|
if (main_one_second_pool_timer > 0)
|
|
main_one_second_pool_timer -= SYSTICK_TICKS_PERIOD;
|
|
}
|
|
|
|
inline void main_two_second_pool_decrement_counter(void) {
|
|
main_two_second_pool_timer -= SYSTICK_TICKS_PERIOD;
|
|
}
|
|
|
|
inline void main_ten_second_pool_decremenet_counter(void) {
|
|
if (main_ten_second_pool_timer > 0)
|
|
main_ten_second_pool_timer -= SYSTICK_TICKS_PERIOD;
|
|
}
|
|
|
|
|
|
#endif
|