68a3f6b4b7
* Add F5 target, lp5562 driver and api-hal-light. Update api-usage, switch to F5 by default. * API HAL: add i2c and hardware version api. Dolphin: show hardware version. * OTP version generator and flashing utility. * Assets script: fix code formatting * Backport F5 changes to F4 * F4: disable insomnia, prevent damage to BLE RX path * F5 HAL API Light: remove magic delay to fix magic BLE * Dolphin: HW target validation on start * invert RSSI indication in sub-1 * API HAL: rename board to body in version api * Gpio tester: detach and release viewport on exit Co-authored-by: aanper <mail@s3f.ru>
87 lines
1.5 KiB
C
87 lines
1.5 KiB
C
#pragma once
|
|
|
|
#if BITS_BIG_ENDIAN == 1
|
|
#error Bit structures defined in this file is not portable to BE
|
|
#endif
|
|
|
|
#define LP5562_ADDRESS 0x60
|
|
|
|
typedef enum {
|
|
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;
|
|
} Reg00_Enable;
|
|
|
|
typedef enum {
|
|
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;
|
|
} 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;
|
|
} Reg08_Config;
|
|
|
|
typedef struct {
|
|
uint8_t pc:3;
|
|
uint8_t reserved:5;
|
|
} Reg09_Engine1PC;
|
|
|
|
typedef struct {
|
|
uint8_t pc:3;
|
|
uint8_t reserved:5;
|
|
} Reg0A_Engine2PC;
|
|
|
|
typedef struct {
|
|
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;
|
|
} Reg0C_Status;
|
|
|
|
typedef struct {
|
|
uint8_t value;
|
|
} Reg0D_Reset;
|
|
|
|
typedef enum {
|
|
EngSelectI2C=0b00,
|
|
EngSelectEngine1=0b01,
|
|
EngSelectEngine2=0b10,
|
|
EngSelectEngine3=0b11,
|
|
} EngSelect;
|
|
|
|
typedef struct {
|
|
EngSelect blue:2;
|
|
EngSelect green:2;
|
|
EngSelect red:2;
|
|
EngSelect white:2;
|
|
} Reg70_LedMap;
|