 4ae5bd3d75
			
		
	
	
		4ae5bd3d75
		
			
		
	
	
	
	
		
			
			* GPIO: disable CC1101 GD0 pin configuration. API HAL OS: enable sleep. Cleanup interrupts and gpio code. * API HAL: disable deep sleep, add light sleep, use it instead.
		
			
				
	
	
		
			144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "main.h"
 | |
| #include "stm32wbxx_it.h"
 | |
| #include "FreeRTOS.h"
 | |
| #include "task.h"
 | |
| 
 | |
| extern PCD_HandleTypeDef hpcd_USB_FS;
 | |
| extern ADC_HandleTypeDef hadc1;
 | |
| extern COMP_HandleTypeDef hcomp1;
 | |
| extern RTC_HandleTypeDef hrtc;
 | |
| extern TIM_HandleTypeDef htim1;
 | |
| extern TIM_HandleTypeDef htim2;
 | |
| extern TIM_HandleTypeDef htim16;
 | |
| extern TIM_HandleTypeDef htim17;
 | |
| 
 | |
| extern void HW_TS_RTC_Wakeup_Handler();
 | |
| extern void HW_IPCC_Tx_Handler();
 | |
| extern void HW_IPCC_Rx_Handler();
 | |
| 
 | |
| void NMI_Handler(void) {
 | |
|     HAL_RCC_NMI_IRQHandler();
 | |
| }
 | |
| 
 | |
| void HardFault_Handler(void) {
 | |
|     if ((*(volatile uint32_t *)CoreDebug_BASE) & (1 << 0)) {
 | |
|         __asm("bkpt 1");
 | |
|     }
 | |
|     while (1) {}
 | |
| }
 | |
| 
 | |
| void MemManage_Handler(void) {
 | |
|     __asm("bkpt 1");
 | |
|     while (1) {}
 | |
| }
 | |
| 
 | |
| void BusFault_Handler(void) {
 | |
|     __asm("bkpt 1");
 | |
|     while (1) {}
 | |
| }
 | |
| 
 | |
| void UsageFault_Handler(void) {
 | |
|     __asm("bkpt 1");
 | |
|     while (1) {}
 | |
| }
 | |
| 
 | |
| void DebugMon_Handler(void) {
 | |
| }
 | |
| 
 | |
| void SysTick_Handler(void) {
 | |
|     HAL_IncTick();
 | |
| }
 | |
| 
 | |
| void TAMP_STAMP_LSECSS_IRQHandler(void) {
 | |
|     if (!LL_RCC_LSE_IsReady()) {
 | |
|         // TODO: notify user about issue with LSE
 | |
|         LL_RCC_ForceBackupDomainReset();
 | |
|         LL_RCC_ReleaseBackupDomainReset();
 | |
|         NVIC_SystemReset();
 | |
|     }
 | |
| }
 | |
| 
 | |
| void RCC_IRQHandler(void) {
 | |
| }
 | |
| 
 | |
| void EXTI0_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
 | |
| }
 | |
| 
 | |
| void EXTI1_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
 | |
| }
 | |
| 
 | |
| void EXTI2_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2);
 | |
| }
 | |
| 
 | |
| void EXTI3_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
 | |
| }
 | |
| 
 | |
| void EXTI4_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
 | |
| }
 | |
| 
 | |
| void EXTI9_5_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_6);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);
 | |
| }
 | |
| 
 | |
| void EXTI15_10_IRQHandler(void) {
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_10);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_11);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_12);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
 | |
|     HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_14);
 | |
| }
 | |
| 
 | |
| void ADC1_IRQHandler(void) {
 | |
|     HAL_ADC_IRQHandler(&hadc1);
 | |
| }
 | |
| 
 | |
| void USB_LP_IRQHandler(void) {
 | |
|     HAL_PCD_IRQHandler(&hpcd_USB_FS);
 | |
| }
 | |
| 
 | |
| void COMP_IRQHandler(void) {
 | |
|     HAL_COMP_IRQHandler(&hcomp1);
 | |
| }
 | |
| 
 | |
| void TIM1_UP_TIM16_IRQHandler(void) {
 | |
|     HAL_TIM_IRQHandler(&htim1);
 | |
|     HAL_TIM_IRQHandler(&htim16);
 | |
| }
 | |
| 
 | |
| void TIM1_TRG_COM_TIM17_IRQHandler(void) {
 | |
|     HAL_TIM_IRQHandler(&htim1);
 | |
| }
 | |
| 
 | |
| void TIM1_CC_IRQHandler(void) {
 | |
|     HAL_TIM_IRQHandler(&htim1);
 | |
| }
 | |
| 
 | |
| void TIM2_IRQHandler(void) {
 | |
|     HAL_TIM_IRQHandler(&htim2);
 | |
| }
 | |
| 
 | |
| void HSEM_IRQHandler(void) {
 | |
|     HAL_HSEM_IRQHandler();
 | |
| }
 | |
| 
 | |
| void RTC_WKUP_IRQHandler(void){
 | |
|     HW_TS_RTC_Wakeup_Handler();
 | |
| }
 | |
| 
 | |
| void IPCC_C1_TX_IRQHandler(void){
 | |
|     HW_IPCC_Tx_Handler();
 | |
| }
 | |
| 
 | |
| void IPCC_C1_RX_IRQHandler(void){
 | |
|     HW_IPCC_Rx_Handler();
 | |
| }
 |