API HAL I2C: add timeout support. Update I2C API usage by drivers. (#374)
* API HAL I2C: add timeout support. Update I2C API usage by drivers. * F4: Add missing API HAL Vibro implementation.
This commit is contained in:
@@ -5,66 +5,67 @@
|
||||
#endif
|
||||
|
||||
#define LP5562_ADDRESS 0x60
|
||||
#define LP5562_I2C_TIMEOUT 50
|
||||
|
||||
typedef enum {
|
||||
EngExecHold=0b00,
|
||||
EngExecStep=0b01,
|
||||
EngExecRun=0b10,
|
||||
EngExecPC=0b11,
|
||||
EngExecHold = 0b00,
|
||||
EngExecStep = 0b01,
|
||||
EngExecRun = 0b10,
|
||||
EngExecPC = 0b11,
|
||||
} EngExec;
|
||||
|
||||
typedef struct {
|
||||
EngExec ENG3_EXEC:2;
|
||||
EngExec ENG2_EXEC:2;
|
||||
EngExec ENG1_EXEC:2;
|
||||
bool CHIP_EN:1;
|
||||
bool LOG_EN:1;
|
||||
EngExec ENG3_EXEC : 2;
|
||||
EngExec ENG2_EXEC : 2;
|
||||
EngExec ENG1_EXEC : 2;
|
||||
bool CHIP_EN : 1;
|
||||
bool LOG_EN : 1;
|
||||
} Reg00_Enable;
|
||||
|
||||
typedef enum {
|
||||
EngModeDisable=0b00,
|
||||
EngModeLoad=0b01,
|
||||
EngModeRun=0b10,
|
||||
EngModeDirect=0b11,
|
||||
EngModeDisable = 0b00,
|
||||
EngModeLoad = 0b01,
|
||||
EngModeRun = 0b10,
|
||||
EngModeDirect = 0b11,
|
||||
} EngMode;
|
||||
|
||||
typedef struct {
|
||||
EngMode ENG3_MODE:2;
|
||||
EngMode ENG2_MODE:2;
|
||||
EngMode ENG1_MODE:2;
|
||||
uint8_t reserved:2;
|
||||
EngMode ENG3_MODE : 2;
|
||||
EngMode ENG2_MODE : 2;
|
||||
EngMode ENG1_MODE : 2;
|
||||
uint8_t reserved : 2;
|
||||
} Reg01_OpMode;
|
||||
|
||||
typedef struct {
|
||||
bool INT_CLK_EN:1;
|
||||
bool CLK_DET_EN:1;
|
||||
uint8_t reserved0:3;
|
||||
bool PS_EN:1;
|
||||
bool PWM_HF:1;
|
||||
uint8_t reserved1:1;
|
||||
bool INT_CLK_EN : 1;
|
||||
bool CLK_DET_EN : 1;
|
||||
uint8_t reserved0 : 3;
|
||||
bool PS_EN : 1;
|
||||
bool PWM_HF : 1;
|
||||
uint8_t reserved1 : 1;
|
||||
} Reg08_Config;
|
||||
|
||||
typedef struct {
|
||||
uint8_t pc:3;
|
||||
uint8_t reserved:5;
|
||||
uint8_t pc : 3;
|
||||
uint8_t reserved : 5;
|
||||
} Reg09_Engine1PC;
|
||||
|
||||
typedef struct {
|
||||
uint8_t pc:3;
|
||||
uint8_t reserved:5;
|
||||
uint8_t pc : 3;
|
||||
uint8_t reserved : 5;
|
||||
} Reg0A_Engine2PC;
|
||||
|
||||
typedef struct {
|
||||
uint8_t pc:3;
|
||||
uint8_t reserved:5;
|
||||
uint8_t pc : 3;
|
||||
uint8_t reserved : 5;
|
||||
} Reg0B_Engine3PC;
|
||||
|
||||
typedef struct {
|
||||
bool ENG3_INT:1;
|
||||
bool ENG2_INT:1;
|
||||
bool ENG1_INT:1;
|
||||
bool EXT_CLK_USED:1;
|
||||
uint8_t reserved:5;
|
||||
bool ENG3_INT : 1;
|
||||
bool ENG2_INT : 1;
|
||||
bool ENG1_INT : 1;
|
||||
bool EXT_CLK_USED : 1;
|
||||
uint8_t reserved : 5;
|
||||
} Reg0C_Status;
|
||||
|
||||
typedef struct {
|
||||
@@ -72,15 +73,15 @@ typedef struct {
|
||||
} Reg0D_Reset;
|
||||
|
||||
typedef enum {
|
||||
EngSelectI2C=0b00,
|
||||
EngSelectEngine1=0b01,
|
||||
EngSelectEngine2=0b10,
|
||||
EngSelectEngine3=0b11,
|
||||
EngSelectI2C = 0b00,
|
||||
EngSelectEngine1 = 0b01,
|
||||
EngSelectEngine2 = 0b10,
|
||||
EngSelectEngine3 = 0b11,
|
||||
} EngSelect;
|
||||
|
||||
typedef struct {
|
||||
EngSelect blue:2;
|
||||
EngSelect green:2;
|
||||
EngSelect red:2;
|
||||
EngSelect white:2;
|
||||
EngSelect blue : 2;
|
||||
EngSelect green : 2;
|
||||
EngSelect red : 2;
|
||||
EngSelect white : 2;
|
||||
} Reg70_LedMap;
|
||||
|
Reference in New Issue
Block a user