66 lines
1.6 KiB
C
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
|