# HG changeset patch # User Mychaela Falconia # Date 1648340959 0 # Node ID 0f688d07b0689d4fabc534334851626960c2cd15 # Parent a72feaed133afde76fe80aaea40d8db1e7e77f97 block deep sleep on activity in new PWT and vibrator drivers diff -r a72feaed133a -r 0f688d07b068 src/cs/layer1/cfile/l1_trace.c --- a/src/cs/layer1/cfile/l1_trace.c Sat Mar 26 19:31:18 2022 +0000 +++ b/src/cs/layer1/cfile/l1_trace.c Sun Mar 27 00:29:19 2022 +0000 @@ -1606,7 +1606,7 @@ else // big sleep { - char *array_string[]={"undefined","light on","uart","sim","gauging","sleep mode","DSP","BT","charging"}; + char *array_string[]={"undefined","light on","uart","sim","gauging","sleep mode","DSP","BT","charging","buzzer","vibrator"}; sprintf (str," big sleep: %ld %ld %d %d (cause:%s) %s\n\r", ((T_TRACE_INFO *)(msg->SigP))->tab[0], ((T_TRACE_INFO *)(msg->SigP))->tab[1], @@ -8059,7 +8059,7 @@ else // big sleep { - char *array_string[]={"undefined","light on","uart","sim","gauging","sleep mode","DSP","BT","charging"}; + char *array_string[]={"undefined","light on","uart","sim","gauging","sleep mode","DSP","BT","charging","buzzer","vibrator"}; sprintf (str," big sleep: %ld %ld %d %d (cause:%s) %s\n\r", start_fn, end_fn, diff -r a72feaed133a -r 0f688d07b068 src/cs/layer1/cust0/l1_cust.c --- a/src/cs/layer1/cust0/l1_cust.c Sat Mar 26 19:31:18 2022 +0000 +++ b/src/cs/layer1/cust0/l1_cust.c Sun Mar 27 00:29:19 2022 +0000 @@ -255,6 +255,7 @@ extern T_PWR_CTRL_BLOCK *pwr_ctrl; #endif extern SYS_BOOL uart_sleep_timer_enabled; + extern SYS_BOOL PWT_tone_is_on, HW_vibrator_is_on; extern unsigned char iota_ledb_status; #if (CODE_VERSION != SIMULATION) @@ -279,6 +280,20 @@ return(FRAME_STOP); // BIG sleep } + // Forbid deep sleep if the buzzer is on + if (PWT_tone_is_on) + { + why_big_sleep = BIG_SLEEP_DUE_TO_BUZZER; + return(FRAME_STOP); // BIG sleep + } + + // Forbid deep sleep if the vibrator is on + if (HW_vibrator_is_on) + { + why_big_sleep = BIG_SLEEP_DUE_TO_VIBRATOR; + return(FRAME_STOP); // BIG sleep + } + // Forbid deep sleep if the SIM and UARTs not ready if (!SIM_SleepStatus()) { diff -r a72feaed133a -r 0f688d07b068 src/cs/layer1/include/l1_trace.h --- a/src/cs/layer1/include/l1_trace.h Sat Mar 26 19:31:18 2022 +0000 +++ b/src/cs/layer1/include/l1_trace.h Sun Mar 27 00:29:19 2022 +0000 @@ -100,6 +100,8 @@ #define BIG_SLEEP_DUE_TO_DSP_TRACES 6 // deep sleep is forbiden by the DSP #define BIG_SLEEP_DUE_TO_BLUETOOTH 7 // deep sleep is forbiden by the Bluetooth module #define BIG_SLEEP_DUE_TO_CHARGING 8 // deep sleep is forbiden by battery charging + #define BIG_SLEEP_DUE_TO_BUZZER 9 // deep sleep is forbiden by buzzer activity + #define BIG_SLEEP_DUE_TO_VIBRATOR 10 // deep sleep is forbiden by vibrator activity void Trace_Packet_Transfer (UWORD8 prev_crc_error); // Previous RX blocks CRC_ERROR summary void l1_display_buffer_trace_fct(void); @@ -5671,6 +5673,8 @@ #define BIG_SLEEP_DUE_TO_DSP_TRACES 6 // deep sleep is forbiden by the DSP #define BIG_SLEEP_DUE_TO_BLUETOOTH 7 // deep sleep is forbiden by the Bluetooth module #define BIG_SLEEP_DUE_TO_CHARGING 8 // deep sleep is forbiden by battery charging +#define BIG_SLEEP_DUE_TO_BUZZER 9 // deep sleep is forbiden by buzzer activity +#define BIG_SLEEP_DUE_TO_VIBRATOR 10 // deep sleep is forbiden by vibrator activity /***********************************************************************************************************/ /* Begin header