/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. ****************************************************************************** * @attention * * Copyright (c) 2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Exported types ------------------------------------------------------------*/ /* USER CODE BEGIN ET */ typedef enum { AMS_ERROR_UV, AMS_ERROR_OV, AMS_ERROR_UT, AMS_ERROR_OT, AMS_ERROR_BQ, AMS_ERROR_TMP144 } AMS_ErrorCode; /* USER CODE END ET */ /* Exported constants --------------------------------------------------------*/ /* USER CODE BEGIN EC */ extern uint8_t slave_id; /* USER CODE END EC */ /* Exported macro ------------------------------------------------------------*/ /* USER CODE BEGIN EM */ #define MAIN_LOOP_PERIOD 100 /* ms */ #define ERROR_CHECK_START 1000 /* ms */ #define AMS_ERROR_TX_TIMEOUT 2 /* ms */ #define THRESH_UV 32768 /* 2.5V */ #define THRESH_OV 55050 /* 4.2V */ #define THRESH_UT 0 /* 0C */ #define THRESH_OT 880 /* 55C */ #define THRESH_FANS_ON_HALF 640 /* 40C */ #define THRESH_FANS_ON_FULL 800 /* 50C */ #define THRESH_FANS_OFF 560 /* 35C */ /* USER CODE END EM */ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim); /* Exported functions prototypes ---------------------------------------------*/ void Error_Handler(void); /* USER CODE BEGIN EFP */ void update_status_leds(); void check_error_conditions(); void delay_period(); /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ #define STAT_LED1_Pin GPIO_PIN_0 #define STAT_LED1_GPIO_Port GPIOC #define STAT_LED2_Pin GPIO_PIN_1 #define STAT_LED2_GPIO_Port GPIOC #define STAT_LED3_Pin GPIO_PIN_2 #define STAT_LED3_GPIO_Port GPIOC #define STAT_LED4_Pin GPIO_PIN_3 #define STAT_LED4_GPIO_Port GPIOC #define DCDC_CTRL_Pin GPIO_PIN_0 #define DCDC_CTRL_GPIO_Port GPIOB #define BQ_FAULT_N_Pin GPIO_PIN_2 #define BQ_FAULT_N_GPIO_Port GPIOB #define FAN_PWM_Pin GPIO_PIN_9 #define FAN_PWM_GPIO_Port GPIOC #define BQ_Wakeup_Pin GPIO_PIN_4 #define BQ_Wakeup_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ /* USER CODE END Private defines */ #ifdef __cplusplus } #endif #endif /* __MAIN_H */