From f017cf818e0c4514b29dd386db234d717f5db847 Mon Sep 17 00:00:00 2001 From: Mateusz Lubecki Date: Sat, 31 Dec 2022 10:36:57 +0100 Subject: [PATCH] switching max31865 state after wakeup --- include/main.h | 4 ++-- src/it_handlers.c | 2 ++ src/main.c | 3 +++ system/include/drivers/max31865.h | 2 ++ system/src/drivers/max31865.c | 6 ++++++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/include/main.h b/include/main.h index df7f838..4652d7e 100644 --- a/include/main.h +++ b/include/main.h @@ -7,14 +7,14 @@ #include "drivers/serial.h" #include "config_data.h" -#define SW_VER "ZT17" +#define SW_VER "ZT18" #define SW_DATE "30122022" #define SW_KISS_PROTO "A" #define SYSTICK_TICKS_PER_SECONDS 100 #define SYSTICK_TICKS_PERIOD 10 -//#define INTERNAL_WATCHDOG +#define INTERNAL_WATCHDOG #define EXTERNAL_WATCHDOG #define PWR_SWITCH_BOTH diff --git a/src/it_handlers.c b/src/it_handlers.c index 2d1f105..f4a93f8 100644 --- a/src/it_handlers.c +++ b/src/it_handlers.c @@ -28,6 +28,7 @@ #include "drivers/i2c.h" #include "drivers/spi.h" #include "drivers/analog_anemometer.h" +#include "drivers/max31865.h" #include "aprs/wx.h" #include "aprs/telemetry.h" #include "aprs/beacon.h" @@ -111,6 +112,7 @@ void RTC_WKUP_IRQHandler(void) { pwr_save_exit_from_stop2(); + max31865_set_state_after_wkup(); // TODO: tatry variant } diff --git a/src/main.c b/src/main.c index f307dcd..d2473a0 100644 --- a/src/main.c +++ b/src/main.c @@ -617,6 +617,9 @@ int main(int argc, char* argv[]){ // swtich power to M4. turn on sensors but keep GSM modem turned off pwr_save_switch_mode_to_c1(); + // TODO: tatry specific!!! + io___cntrl_vbat_s_enable(); + delay_fixed(300); #endif diff --git a/system/include/drivers/max31865.h b/system/include/drivers/max31865.h index be26003..f3cf6eb 100644 --- a/system/include/drivers/max31865.h +++ b/system/include/drivers/max31865.h @@ -37,4 +37,6 @@ int32_t max31865_get_pt100_result(); int32_t max31865_get_result(uint32_t RTDnominal); max31865_qf_t max31865_get_qf(void); +void max31865_set_state_after_wkup(void); + #endif /* INCLUDE_DRIVERS_MAX31865_H_ */ diff --git a/system/src/drivers/max31865.c b/system/src/drivers/max31865.c index 9ffe642..1a6eb3f 100644 --- a/system/src/drivers/max31865.c +++ b/system/src/drivers/max31865.c @@ -502,3 +502,9 @@ int32_t max31865_get_result(uint32_t RTDnominal) { max31865_qf_t max31865_get_qf(void) { return max31865_quality_factor; } + +void max31865_set_state_after_wkup(void) { + max31865_current_state = MAX_SHUTDOWN; + + max31865_shutdown_ticks = MAX31865_INTERVAL - 1; +}