Legacy branch migration
This commit is contained in:
102
firmware/devices/hal/udccd_hal.h
Normal file
102
firmware/devices/hal/udccd_hal.h
Normal file
@@ -0,0 +1,102 @@
|
||||
#ifndef UDCCD_R8_BSP_H_
|
||||
#define UDCCD_R8_BSP_H_
|
||||
|
||||
/**** Includes ****/
|
||||
#include <stdint.h>
|
||||
#include "../common/level.h"
|
||||
|
||||
/**** Public definitions ****/
|
||||
//ADC definitions
|
||||
typedef enum {
|
||||
ADC_ICOIL = 0x00,
|
||||
ADC_UCOIL = 0x01,
|
||||
ADC_UBAT = 0x02,
|
||||
ADC_IBAT = 0x03,
|
||||
ADC_POT = 0x04,
|
||||
ADC_MODE = 0x05,
|
||||
ADC_TEMP = 0x08,
|
||||
ADC_INTREF = 0x0E,
|
||||
ADC_GND = 0x0F
|
||||
} adcCh_t;
|
||||
|
||||
typedef enum {
|
||||
ADC_DIV2 = 0x01,
|
||||
ADC_DIV4 = 0x02,
|
||||
ADC_DIV8 = 0x03,
|
||||
ADC_DIV16 = 0x04,
|
||||
ADC_DIV32 = 0x05,
|
||||
ADC_DIV64 = 0x06,
|
||||
ADC_DIV128 = 0x07
|
||||
} adcDiv_t;
|
||||
|
||||
//Timer definitions
|
||||
typedef enum {
|
||||
TIM_DIV1 = 0x01,
|
||||
TIM_DIV8 = 0x02,
|
||||
TIM_DIV64 = 0x03,
|
||||
TIM_DIV256 = 0x04,
|
||||
TIM_DIV1024 = 0x05
|
||||
} timerDiv_t;
|
||||
|
||||
typedef enum {
|
||||
PWM_COIL = 'A',
|
||||
PWM_LED = 'B'
|
||||
} pwmCh_t;
|
||||
|
||||
typedef enum {
|
||||
SPEED_1 = 3,
|
||||
SPEED_0 = 4
|
||||
} speedCh_t;
|
||||
|
||||
typedef struct {
|
||||
adcDiv_t adc_clk_prescaler;
|
||||
uint8_t adc_auto_wake;
|
||||
timerDiv_t pwm_timer_prescaler;
|
||||
uint16_t pwm_timer_top;
|
||||
timerDiv_t freq_timer_prescaler;
|
||||
uint16_t uart_prescaler;
|
||||
uint8_t systick_timer_top;
|
||||
timerDiv_t systick_timer_prescaler;
|
||||
uint8_t disable_unused;
|
||||
uint8_t en_watchdog;
|
||||
} hwConfig_t;
|
||||
|
||||
/**** Public function declarations ****/
|
||||
void HAL_Init_Min(hwConfig_t* hwCfg);
|
||||
void HAL_Init_Extra(hwConfig_t* hwCfg);
|
||||
|
||||
level_t HAL_ReadLvl_Handbrake(void);
|
||||
level_t HAL_ReadLvl_Brake(void);
|
||||
level_t HAL_ReadLvl_Dimm(void);
|
||||
level_t HAL_ReadLvl_BtnUp(void);
|
||||
level_t HAL_ReadLvl_BtnDown(void);
|
||||
level_t HAL_ReadLvl_BtnMode(void);
|
||||
level_t HAL_ReadLvl_HandbrakePull(void);
|
||||
level_t HAL_ReadLvl_CoilLow(void);
|
||||
level_t HAL_ReadLvl_CoilHigh(void);
|
||||
level_t HAL_ReadLvl_LedsPwm(void);
|
||||
level_t HAL_ReadLvl_Speed0(void);
|
||||
level_t HAL_ReadLvl_Speed1(void);
|
||||
level_t HAL_ReadLvl_SpeedPull(void);
|
||||
|
||||
void HAL_SetPull_Handbrake(level_t lvl);
|
||||
void HAL_SetPull_Speed(level_t lvl);
|
||||
|
||||
void HAL_ADC_Wake(void);
|
||||
void HAL_ADC_Sleep(void);
|
||||
uint16_t HAL_ADC_Read(adcCh_t ch);
|
||||
|
||||
void HAL_Coil_SetLowSide(uint8_t on);
|
||||
void HAL_Coil_SetPWM(uint8_t percent);
|
||||
void HAL_Coil_SetPWM16b(uint16_t value);
|
||||
|
||||
void HAL_LEDS_Set(uint8_t image);
|
||||
uint8_t HAL_LEDS_Get(void);
|
||||
void HAL_LEDS_SetPWM(uint8_t percent);
|
||||
|
||||
void HAL_PWM_Wake(void);
|
||||
void HAL_PWM_Sleep(void);
|
||||
void HAL_PWM_SetDuty16b(pwmCh_t ch, uint16_t value);
|
||||
void HAL_PWM_SetDuty100(pwmCh_t ch, uint8_t percent);
|
||||
|
||||
#endif /* UDCCD_R8_BSP_H_ */
|
||||
Reference in New Issue
Block a user