2022-07-18 16:53:52 +02:00

106 lines
3.1 KiB
C

/* 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 */