Mercurial > public > ostc4
comparison Small_CPU/Src/baseCPU2.c @ 938:df87dbfc9c21 Evo_2_23
Update GPIO:
Splitted the init function and moved GPS deactivation into the sleep loop (deep sleep)
author | Ideenmodellierer |
---|---|
date | Tue, 10 Dec 2024 21:00:55 +0100 |
parents | 3029f0332f4f |
children | 4a406e873a95 |
comparison
equal
deleted
inserted
replaced
937:d461d9e89e3c | 938:df87dbfc9c21 |
---|---|
145 #include "externalInterface.h" | 145 #include "externalInterface.h" |
146 #include "uart.h" | 146 #include "uart.h" |
147 #include "uart_Internal.h" | 147 #include "uart_Internal.h" |
148 #include "uartProtocol_GNSS.h" | 148 #include "uartProtocol_GNSS.h" |
149 #include "GNSS.h" | 149 #include "GNSS.h" |
150 #include "configuration.h" | |
150 | 151 |
151 | 152 |
152 // From Common/Inc: | 153 // From Common/Inc: |
153 #include "calc_crush.h" | 154 #include "calc_crush.h" |
154 #include "decom.h" | 155 #include "decom.h" |
285 HAL_SYSTICK_CLKSourceConfig( SYSTICK_CLKSOURCE_HCLK); | 286 HAL_SYSTICK_CLKSourceConfig( SYSTICK_CLKSOURCE_HCLK); |
286 HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); | 287 HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); |
287 | 288 |
288 MX_RTC_init(); | 289 MX_RTC_init(); |
289 GPIO_LEDs_VIBRATION_Init(); | 290 GPIO_LEDs_VIBRATION_Init(); |
291 GPIO_GNSS_Init(); | |
290 GPIO_new_DEBUG_Init(); // added 170322 hw | 292 GPIO_new_DEBUG_Init(); // added 170322 hw |
291 initGlobals(); | 293 initGlobals(); |
292 | 294 |
293 /* printf("CPU2-RTE running...\n"); */ | 295 /* printf("CPU2-RTE running...\n"); */ |
294 | 296 |
504 UART6_HandleUART(); | 506 UART6_HandleUART(); |
505 #endif | 507 #endif |
506 if((uartGnss_GetState() == UART_GNSS_INACTIVE) || (time_elapsed_ms(shutdownTick,HAL_GetTick()) > 5000)) | 508 if((uartGnss_GetState() == UART_GNSS_INACTIVE) || (time_elapsed_ms(shutdownTick,HAL_GetTick()) > 5000)) |
507 { | 509 { |
508 global.mode = MODE_SLEEP; | 510 global.mode = MODE_SLEEP; |
511 uartGnss_ReqPowerDown(0); /* release power down request */ | |
509 } | 512 } |
510 #else | 513 #else |
511 global.mode = MODE_SLEEP; | 514 global.mode = MODE_SLEEP; |
512 #endif | 515 #endif |
513 | 516 |
892 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; | 895 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
893 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; | 896 GPIO_InitStruct.Speed = GPIO_SPEED_LOW; |
894 GPIO_InitStruct.Pull = GPIO_NOPULL; | 897 GPIO_InitStruct.Pull = GPIO_NOPULL; |
895 GPIO_InitStruct.Pin = GPIO_PIN_All; | 898 GPIO_InitStruct.Pin = GPIO_PIN_All; |
896 HAL_GPIO_Init( GPIOH, &GPIO_InitStruct); | 899 HAL_GPIO_Init( GPIOH, &GPIO_InitStruct); |
897 #ifdef DEBUGMODE | 900 #ifdef ENABLE_SLEEP_DEBUG |
898 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( GPIO_PIN_3 | GPIO_PIN_8 | GPIO_PIN_9); /* debug */ | 901 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( GPIO_PIN_3 | GPIO_PIN_8 | GPIO_PIN_9); /* debug */ |
899 #endif | 902 #endif |
900 | 903 |
901 /* | 904 /* |
902 GPIO_InitStruct.Pin = GPIO_PIN_All ^ (GPS_POWER_CONTROL_PIN | GPS_BCKP_CONTROL_PIN); | 905 GPIO_InitStruct.Pin = GPIO_PIN_All ^ (GPS_POWER_CONTROL_PIN | GPS_BCKP_CONTROL_PIN); |
905 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( MAINCPU_CONTROL_PIN | CHARGE_OUT_PIN | EXT33V_CONTROL_PIN); /* power off & charger in & charge out & OSC32 & ext33Volt */ | 908 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( MAINCPU_CONTROL_PIN | CHARGE_OUT_PIN | EXT33V_CONTROL_PIN); /* power off & charger in & charge out & OSC32 & ext33Volt */ |
906 | 909 |
907 HAL_GPIO_Init( GPIOC, &GPIO_InitStruct); | 910 HAL_GPIO_Init( GPIOC, &GPIO_InitStruct); |
908 | 911 |
909 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( GPIO_PIN_0 | VIBRATION_CONTROL_PIN | LED_CONTROL_PIN_RED | LED_CONTROL_PIN_GREEN); | 912 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( GPIO_PIN_0 | VIBRATION_CONTROL_PIN | LED_CONTROL_PIN_RED | LED_CONTROL_PIN_GREEN); |
910 #ifdef DEBUGMODE | 913 #ifdef ENABLE_SLEEP_DEBUG |
911 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( GPIO_PIN_0 | GPIO_PIN_13 | GPIO_PIN_14); /* wake up button & debug */ | 914 GPIO_InitStruct.Pin = GPIO_PIN_All ^ ( GPIO_PIN_0 | GPIO_PIN_13 | GPIO_PIN_14); /* wake up button & debug */ |
912 #endif | 915 #endif |
913 HAL_GPIO_Init( GPIOA, &GPIO_InitStruct); | 916 HAL_GPIO_Init( GPIOA, &GPIO_InitStruct); |
914 | 917 |
915 GPIO_InitStruct.Pin = GPIO_PIN_All; | 918 GPIO_InitStruct.Pin = GPIO_PIN_All; |
919 #ifdef ENABLE_GPIO_V2 | 922 #ifdef ENABLE_GPIO_V2 |
920 GPIO_LED_GREEN_OFF(); | 923 GPIO_LED_GREEN_OFF(); |
921 GPIO_LED_RED_OFF(); | 924 GPIO_LED_RED_OFF(); |
922 GPIO_VIBRATION_OFF(); | 925 GPIO_VIBRATION_OFF(); |
923 GPIO_GPS_BCKP_ON(); // mH : costs 100µA in sleep - beware | 926 GPIO_GPS_BCKP_ON(); // mH : costs 100µA in sleep - beware |
924 /* GPIO_GPS_OFF(); will be done in transition slleep => deep sleep */ | 927 /* GPIO_GPS_OFF(); will be done in transition sleep => deep sleep */ |
925 | 928 |
926 MX_USART6_UART_DeInit(); | 929 MX_USART6_UART_DeInit(); |
927 #endif | 930 #endif |
928 #ifndef DEBUGMODE | 931 #ifndef ENABLE_SLEEP_DEBUG |
932 /* | |
929 __HAL_RCC_GPIOB_CLK_DISABLE(); | 933 __HAL_RCC_GPIOB_CLK_DISABLE(); |
934 */ | |
930 #endif | 935 #endif |
931 __HAL_RCC_GPIOH_CLK_DISABLE(); | 936 __HAL_RCC_GPIOH_CLK_DISABLE(); |
932 | 937 |
933 HAL_Delay(1000); | 938 HAL_Delay(1000); |
934 } | 939 } |