VarTabDumpObserver/VarsTabDumpObserver.h

66 lines
1.6 KiB
C

//
// Created by CFIF on 19.12.22.
//
#ifndef HVAC_VarsTabDumpOBSERVER_H
#define HVAC_VarsTabDumpOBSERVER_H
#include <StorageIO.h>
#include "LoggerInterface.h"
typedef struct {
tLoggerInterface *logger;
tStorageInterface *interfaceCalib;
tStorageInterface *interfaceParam;
uint8_t *trackableVarsTab;
uint32_t trackableGroup;
void *dataCalib;
void *dataParam;
size_t sizeCalib;
size_t sizeParam;
bool health;
osMutexId_t access;
osMutexId_t accessDumper;
uint32_t dumpAfter;
uint32_t delay;
struct {
osThreadId_t id;
uint32_t stack[256];
StaticTask_t controlBlock;
osThreadAttr_t attr;
} thread;
} tVarsTabDumpObserver;
void VarsTabDumpObserver_Init(
tVarsTabDumpObserver *env,
tStorageInterface *storageCalibInterface,
tStorageInterface *storageParamInterface,
uint32_t delay,
void *dataCalib,
void *dataParam,
size_t sizeCalib,
size_t sizeParam,
uint8_t *trackableVarsTab,
uint32_t trackableGroup,
tLoggerInterface *logger
);
bool VarsTabDumpObserverCalib_Load(tVarsTabDumpObserver *env);
bool VarsTabDumpObserverParam_Load(tVarsTabDumpObserver *env);
bool VarsTabDumpObserverCalib_Dump(tVarsTabDumpObserver *env);
bool VarsTabDumpObserverParam_Dump(tVarsTabDumpObserver *env);
void VarsTabDumpObserver_RequireDump(tVarsTabDumpObserver *env);
void VarsTabDumpObserver_StartThread(tVarsTabDumpObserver *env);
void VarsTabDumpObserver_StopThread(tVarsTabDumpObserver *env);
void VarsTabDumpObserver_Flush(tVarsTabDumpObserver *env);
#endif //HVAC_VarsTabDumpOBSERVER_H