functional LED code, first untested implementation
This commit is contained in:
51
Software/Core/Inc/scs_sdc.h
Normal file
51
Software/Core/Inc/scs_sdc.h
Normal file
@ -0,0 +1,51 @@
|
||||
#ifndef __SCS_SDC_H
|
||||
#define __SCS_SDC_H
|
||||
|
||||
typedef enum {
|
||||
TS_INACTIVE,
|
||||
TS_ACTIVE,
|
||||
TS_PRECHARGE,
|
||||
TS_DISCHARGE,
|
||||
TS_ERROR,
|
||||
TS_CHARGING_CHECK,
|
||||
TS_CHARGING,
|
||||
} TSState;
|
||||
|
||||
typedef struct {
|
||||
TSState current_state;
|
||||
TSState target_state;
|
||||
uint16_t error_source; // TSErrorSource (bitmask)
|
||||
uint16_t error_type; // TSErrorKind
|
||||
} TSStateHandle;
|
||||
|
||||
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 TSStateHandle ts_state;
|
||||
|
||||
extern IMDData imd_data;
|
||||
|
||||
void error_led_init();
|
||||
void sdc_init();
|
||||
void ts_handle_ams_status(const uint8_t* data);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user