BSP+Drivers for EE24+INA

This commit is contained in:
2024-02-24 19:24:00 +01:00
parent 26022126e1
commit af18558f1a
18 changed files with 728 additions and 4 deletions

View File

@@ -0,0 +1,51 @@
#pragma once
/**
* @file BSP_EE24.h
* This file contains functions to interact with an EEPROM driver and perform
* read and write operations on it. The driver uses I2C protocol and supports
* multiple partitions, which can be used to store different types of data.
*/
#ifdef __cplusplus
extern "C"
{
#endif
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
typedef struct BSP_EE24_Partion_s
{
uint32_t address;
size_t len;
}BSP_EE24_Partion;
typedef struct BSP_EE24_TableHeader_s
{
uint32_t version;
size_t used_len;
uint8_t reserved[16];
} BSP_EE24_TableHeader;
typedef enum BSP_EE24_PartionEntry {
BSP_EE24_PART_HEAD_PARTION,
BSP_EE24_PART_GLOBAL_LIGHT,
BSP_EE24_PART_RESERVED,
__BSP_EE24_PART_MAX__,
}BSP_EE24_PartionEntry_e;
bool BSP_EE24_Init(void);
bool BSP_EE24_Read(uint32_t Address, uint8_t *Data, size_t Len);
bool BSP_EE24_Write(uint32_t Address, uint8_t *Data, size_t Len);
bool BSP_EE24_PartRead(BSP_EE24_PartionEntry_e part, uint8_t *Data, size_t LenCheck);
bool BSP_EE24_PartWrite(BSP_EE24_PartionEntry_e part, uint8_t *Data, size_t LenCheck);
#ifdef __cplusplus
}
#endif