 |
foxBMS
1.0.2
The foxBMS Battery Management System API Documentation
|
Go to the documentation of this file.
64 #define DATA_QUEUE_TIMEOUT_MS ((TickType_t)10u)
69 #define DATA_QUEUE_LENGTH (1u)
74 #define DATA_QUEUE_ITEM_SIZE (sizeof(DATA_QUEUE_MESSAGE_s))
80 #define DATA_MAX_ENTRIES_PER_ACCESS (4u)
154 *pStartDatabaseEntryWR = 0;
156 pStartDatabaseEntryWR++;
193 if (xQueueReceive(
data_queue, (&receiveMessage), (TickType_t)1) >
201 void *pPassedDataStruct = receiveMessage.
pDatabaseEntry[queueEntry];
222 (void)memcpy(pDatabaseStruct, pPassedDataStruct, datalength);
226 (void)memcpy(pPassedDataStruct, pDatabaseStruct, datalength);
256 void *pDataToReceiver0,
257 void *pDataToReceiver1,
258 void *pDataToReceiver2,
259 void *pDataToReceiver3) {
262 TickType_t queuetimeout;
265 if (queuetimeout == 0) {
278 if (pdPASS == xQueueSend(
data_queue, (
void *)&data_send_msg, queuetimeout)) {
300 void *pDataFromSender0,
301 void *pDataFromSender1,
302 void *pDataFromSender2,
303 void *pDataFromSender3) {
306 TickType_t queuetimeout;
309 if (queuetimeout == (TickType_t)0) {
322 if (pdPASS == xQueueSend(
data_queue, (
void *)&data_send_msg, queuetimeout)) {
347 if (((currentTimestamp - pHeader->
timestamp) <= timeInterval) &&
363 if (((currentTimestamp - pHeader->
timestamp) <= timeInterval) &&
#define DATA_QUEUE_LENGTH
Length of data Queue.
static StaticQueue_t dataQueueStructure
structure for static data queue
#define DATA_QUEUE_ITEM_SIZE
Size of data Queue item.
bool DATA_DatabaseEntryUpdatedRecently(void *pDatabaseEntry, uint32_t timeInterval)
Checks if passed database entry has been updated within the last time interval.
static const DATA_BASE_HEADER_s data_baseHeader
device configuration of database
enum STD_RETURN_TYPE STD_RETURN_TYPE_e
enum DATA_BLOCK_ACCESS_TYPE DATA_BLOCK_ACCESS_TYPE_e
data block access types (read or write)
STD_RETURN_TYPE_e DATA_Write_1_DataBlock(void *pDataFromSender0)
Stores a datablock in database.
void DATA_Task(void)
trigger of database manager
void DATA_DummyFunction(void)
Dummy void function of the database module.
#define DATA_MAX_ENTRIES_PER_ACCESS
STD_RETURN_TYPE_e DATA_Read_4_DataBlocks(void *pDataToReceiver0, void *pDataToReceiver1, void *pDataToReceiver2, void *pDataToReceiver3)
Reads a datablock in database by value.
#define DATA_QUEUE_TIMEOUT_MS
STD_RETURN_TYPE_e DATA_Write_3_DataBlocks(void *pDataFromSender0, void *pDataFromSender1, void *pDataFromSender2)
Stores a datablock in database.
static QueueHandle_t data_queue
#define FAS_ASSERT(x)
Assertion macro that asserts that x is true.
DATA_BASE_s data_database[]
channel configuration of database (data blocks)
static uint16_t uniqueIdToDatabaseEntry[DATA_BLOCK_ID_MAX]
uniqueId to respective database entry selector
STD_RETURN_TYPE_e DATA_Read_3_DataBlocks(void *pDataToReceiver0, void *pDataToReceiver1, void *pDataToReceiver2)
Reads a datablock in database by value.
struct DATA_QUEUE_MESSAGE DATA_QUEUE_MESSAGE_s
STD_RETURN_TYPE_e DATA_Write_2_DataBlocks(void *pDataFromSender0, void *pDataFromSender1)
Stores a datablock in database.
uint32_t OS_GetTickCount(void)
Returns OS based system tick value.
bool DATA_DatabaseEntryUpdatedWithinInterval(void *pDatabaseEntry, uint32_t timeInterval)
Checks if passed database entry has been periodically updated within the time interval.
#define static_assert(cond, msg)
static assertion macro
DATA_BLOCK_ACCESS_TYPE_e accesstype
STD_RETURN_TYPE_e DATA_Read_1_DataBlock(void *pDataToReceiver0)
Reads a datablock in database by value.
void * pDatabaseEntry[DATA_MAX_ENTRIES_PER_ACCESS]
#define NULL_PTR
Null pointer.
enum DATA_BLOCK_ID DATA_BLOCK_ID_e
bool DATA_DatabaseEntryUpdatedAtLeastOnce(void *pDatabaseEntry)
Checks if passed database entry has been updated at least once.
struct DATA_BASE_HEADER DATA_BASE_HEADER_s
#define FAS_TRAP
Define that evaluates to essential boolean false thus tripping an assert.
static uint8_t dataQueueStorageArea[DATA_QUEUE_LENGTH *DATA_QUEUE_ITEM_SIZE]
size of Queue storage
STD_RETURN_TYPE_e DATA_Read_2_DataBlocks(void *pDataToReceiver0, void *pDataToReceiver1)
Reads a datablock in database by value.
STD_RETURN_TYPE_e DATA_Init(void)
Initialization of database manager.
STD_RETURN_TYPE_e DATA_Write_4_DataBlocks(void *pDataFromSender0, void *pDataFromSender1, void *pDataFromSender2, void *pDataFromSender3)
Stores a datablock in database.