Read IMD M pin
This commit is contained in:
36
Core/Inc/imd_monitoring.h
Normal file
36
Core/Inc/imd_monitoring.h
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef INC_IMD_MONITORING_H
|
||||
#define INC_IMD_MONITORING_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "stm32f3xx_hal.h"
|
||||
|
||||
typedef enum {
|
||||
IMD_STATE_UNKNOWN,
|
||||
IMD_STATE_SHORTCIRCUIT_SUPPLY,
|
||||
IMD_STATE_SHORTCIRCUIT_GND,
|
||||
IMD_STATE_NORMAL,
|
||||
IMD_STATE_UNDERVOLTAGE,
|
||||
IMD_STATE_SST,
|
||||
IMD_STATE_DEV_ERROR,
|
||||
IMD_STATE_GND_FAULT,
|
||||
} IMDState;
|
||||
|
||||
typedef struct {
|
||||
int ok;
|
||||
|
||||
IMDState state;
|
||||
uint32_t r_iso;
|
||||
|
||||
uint32_t freq;
|
||||
uint32_t duty_cycle;
|
||||
uint32_t last_high;
|
||||
} IMDData;
|
||||
|
||||
extern IMDData imd_data;
|
||||
|
||||
void imd_init(TIM_HandleTypeDef *htim);
|
||||
|
||||
void imd_update(void);
|
||||
|
||||
#endif // INC_IMD_MONITORING_H
|
||||
@ -61,6 +61,8 @@ void Error_Handler(void);
|
||||
#define HV_MISMATCH_ERR_GPIO_Port GPIOA
|
||||
#define RELAY_MISMATCH_ERR_Pin GPIO_PIN_1
|
||||
#define RELAY_MISMATCH_ERR_GPIO_Port GPIOA
|
||||
#define IMD_M_Pin GPIO_PIN_2
|
||||
#define IMD_M_GPIO_Port GPIOA
|
||||
#define IMD_OK_Pin GPIO_PIN_3
|
||||
#define IMD_OK_GPIO_Port GPIOA
|
||||
#define RELAY_CONNECTION_ERR_Pin GPIO_PIN_4
|
||||
|
||||
@ -56,6 +56,7 @@ void DebugMon_Handler(void);
|
||||
void PendSV_Handler(void);
|
||||
void SysTick_Handler(void);
|
||||
void USB_LP_CAN_RX0_IRQHandler(void);
|
||||
void TIM1_BRK_TIM15_IRQHandler(void);
|
||||
/* USER CODE BEGIN EFP */
|
||||
|
||||
/* USER CODE END EFP */
|
||||
|
||||
Reference in New Issue
Block a user