forked from gary/BCU
2
0
Fork 0
BCU/library/drv_peripheral/drv_bf8915.h

65 lines
1.6 KiB
C
Raw Normal View History

2024-11-26 15:52:49 +08:00
#ifndef DRV_BF8915A_H_
#define DRV_BF8915A_H_
#include <stdint.h>
#include "drv_spi.h"
#define BF8915A_WRCFGA_ADDR (0x0001)
#define BF8915A_WRCFGB_ADDR (0x0002)
#define BF8915A_WRCFGC_ADDR (0x0003)
#define BF8915A_WRCFGD_ADDR (0x0004)
#define BF8915A_RDCFGA_ADDR (0x0005)
#define BF8915A_RDCFGB_ADDR (0x0006)
#define BF8915A_RDCFGC_ADDR (0x0007)
#define BF8915A_RDCFGD_ADDR (0x0008)
#define BF8915A_RDCVA_ADDR (0x0009)
#define BF8915A_RDCVB_ADDR (0x000A)
#define BF8915A_RDCVC_ADDR (0x000B)
#define BF8915A_RDCVD_ADDR (0x000C)
#define BF8915A_RDCVE_ADDR (0x000D)
#define BF8915A_RDCVF_ADDR (0x000E)
#define BF8915A_RDGPIOA_ADDR (0x000F)
#define BF8915A_RDGPIOB_ADDR (0x0010)
#define BF8915A_RDGPIOC_ADDR (0x0011)
#define BF8915A_RDSTATA_ADDR (0x0012)
#define BF8915A_RDSTATB_ADDR (0x0013)
#define BF8915A_RDSTATC_ADDR (0x0014)
#define BF8915A_RDSTATD_ADDR (0x0015)
#define BF8915A_SOFTRST_ADDR (0x0055)
typedef struct
{
uint16_t addr;
uint8_t value[6];
}Bf8915InitArr;
typedef struct
{
SpiDev spi;
uint8_t cs;
uint8_t pwr;
uint8_t arr_len;
const Bf8915InitArr *arr;
}Bf8915Item;
#define LTC6811_STATIC_INIT(_name, _spi, _cs, _pwr) \
Bf8915Item _name = \
{ \
(_spi), \
(_cs), \
(_pwr), \
}
kit_ret_e drv_bf8915_init(Bf8915Item *item);
bool drv_bf8915_read_volt(Bf8915Item *item, uint8_t *buf);
kit_ret_e drv_bf8915_write_register(Bf8915Item *item, uint16_t reg, uint8_t *buf);
kit_ret_e drv_bf8915_read_register(Bf8915Item *item, uint16_t reg, uint8_t *buf);
#endif