delay before doubled wx transmission

tatry_variant
Mateusz Lubecki 2022-11-06 13:26:50 +01:00
rodzic bd53774ce8
commit 99d6ddedeb
5 zmienionych plików z 9 dodań i 3 usunięć

Wyświetl plik

@ -86,6 +86,7 @@ extern srl_context_t* main_gsm_srl_ctx_ptr;
extern uint8_t main_kiss_enabled;
extern uint8_t main_woken_up;
extern uint8_t main_woken_up_for_telemetry;
extern int8_t main_cpu_load;

Wyświetl plik

@ -96,6 +96,7 @@ void it_handlers_set_priorities(void) {
void RTC_WKUP_IRQHandler(void) {
main_woken_up = 1;
main_woken_up_for_telemetry = 1;
// clear pending interrupt
NVIC_ClearPendingIRQ(RTC_WKUP_IRQn);

Wyświetl plik

@ -273,6 +273,7 @@ uint32_t rte_main_tx_total = 0;
#if defined(PARAMETEO)
uint8_t main_woken_up = 0;
uint8_t main_woken_up_for_telemetry = 0;
#endif
char after_tx_lock;

Wyświetl plik

@ -67,6 +67,8 @@ uint8_t packet_tx_trigger_tcp = 0;
void packet_tx_send_wx_frame(void) {
main_wait_for_tx_complete();
delay_fixed(1100);
SendWXFrame(rte_wx_average_windspeed, rte_wx_max_windspeed, rte_wx_average_winddirection, rte_wx_temperature_average_external_valid, rte_wx_pressure_valid, rte_wx_humidity_valid);
}
@ -78,7 +80,7 @@ void packet_tx_configure(uint8_t meteo_interval, uint8_t beacon_interval, config
// if user selected aggressive powersave mode the meteo counter must be set back to zero
// to prevent quirks with waking from sleep mode
packet_tx_meteo_counter = meteo_interval - 1;
packet_tx_meteo_counter = meteo_interval - 3;
}

Wyświetl plik

@ -636,7 +636,7 @@ void telemetry_send_chns_description_tatry(const config_data_basic_t * const con
// clear the output frame buffer
memset(main_own_aprs_msg, 0x00, sizeof(main_own_aprs_msg));
main_own_aprs_msg_len = sprintf(main_own_aprs_msg, ":%-6s :PARM.Spi,LastTempr,MaxTempr,Vbatt,PtSts,LSERDY,RTCEN,MAX_OK,N,N,N,N,N", config_basic->callsign);
main_own_aprs_msg_len = sprintf(main_own_aprs_msg, ":%-6s :PARM.Spi,LastTempr,MaxTempr,Vbatt,PtSts,LSERDY,RTCEN,MAX_OK,SLEEP,N,N,N,N", config_basic->callsign);
main_own_aprs_msg[main_own_aprs_msg_len] = 0;
ax25_sendVia(&main_ax25, main_own_path, main_own_path_ln, main_own_aprs_msg, main_own_aprs_msg_len);
@ -723,12 +723,13 @@ void telemetry_send_values_tatry() {
((RCC->BDCR & RCC_BDCR_LSERDY) > 0) ? '1' : '0',
((RCC->BDCR & RCC_BDCR_RTCEN) > 0) ? '1' : '0',
(max31865_ok) ? '1' : '0',
'0',
(main_woken_up_for_telemetry > 0) ? '1' : '0',
'0',
'0',
'0',
'0');
main_woken_up_for_telemetry = 0;
// reset the frame counter if it overflowed
if (telemetry_counter > 999)