KETCube
ketCube_cfg.h
Go to the documentation of this file.
1 
45 /* Define to prevent recursive inclusion -------------------------------------*/
46 #ifndef __KETCUBE_CFG_H
47 #define __KETCUBE_CFG_H
48 
49 #include "ketCube_common.h"
50 #ifndef DESKTOP_BUILD
51 #include "ketCube_eeprom.h"
52 #endif
53 #include "ketCube_compilation.h"
54 #include "ketCube_module_id.h"
55 
68 typedef enum {
73 
80 typedef enum {
84 
88 typedef enum {
96 
100 typedef enum {
101  KETCUBE_CFG_MODULE_OK = (uint8_t) 0,
104 
108 typedef enum {
109  KETCUBE_CFG_DRV_OK = (uint8_t) 0,
112 
116 typedef struct ketCube_InterModMsg_t {
117  uint8_t modID;
118  uint8_t msgLen;
119  uint8_t *msg;
121 
125 typedef enum ketCube_severity_t {
131 
132 extern const char * ketCube_severity_strAlias[4];
133 
138 typedef
140  msg);
141 typedef ketCube_cfg_ModError_t(*ketCube_cfg_ModDataFn_t) (uint8_t * buffer, uint8_t * len); //< Pointer to a function processing data of spec. length
142 typedef ketCube_cfg_ModError_t(*ketCube_cfg_ModDataPtrFn_t) (ketCube_InterModMsg_t * msg); //< Pointer to a function processing data of spec. length
143 
148  bool enable:1;
150  uint8_t RFU:5;
152 
156 typedef struct ketCube_cfg_varDescr_t {
157  uint16_t moduleID;
158  uint8_t offset;
159  uint8_t size;
161 
165 typedef struct ketCube_cfg_Module_t {
166  char *name;
167  char *descr;
168  ketCube_moduleID_t id;
180 
181 /* Indicate pending events */
182 extern volatile bool KETCube_eventsProcessed;
183 
184 extern ketCube_cfg_Error_t ketCube_cfg_Load(uint8_t * data,
185  ketCube_cfg_moduleIDs_t id,
188 extern ketCube_cfg_Error_t ketCube_cfg_LoadStr(char *data, uint8_t buffLen,
189  ketCube_cfg_moduleIDs_t id,
191  addr,
193  len);
194 extern ketCube_cfg_Error_t ketCube_cfg_Save(uint8_t * data,
195  ketCube_cfg_moduleIDs_t id,
198 extern ketCube_cfg_Error_t ketCube_cfg_SaveStr(char *data,
199  ketCube_cfg_moduleIDs_t id,
201  addr,
203  len);
204 
205 extern ketCube_cfg_Error_t ketCube_cfg_SetDefaults(ketCube_cfg_moduleIDs_t id,
208 
213 #endif /* __KETCUBE_CFG_H */
KETCUBE_CFG_ERROR
@ KETCUBE_CFG_ERROR
Definition: ketCube_cfg.h:90
ketCube_cfg_varDescr_t
struct ketCube_cfg_varDescr_t ketCube_cfg_varDescr_t
KETCube configuration variable descriptor.
ketCube_cfg_ModuleCfgByte_t
struct ketCube_cfg_ModuleCfgByte_t ketCube_cfg_ModuleCfgByte_t
KETCube module configuration byte.
KETCube_eventsProcessed
volatile bool KETCube_eventsProcessed
ketCube_InterModMsg_t
KETCube inter-module message.
Definition: ketCube_cfg.h:116
ketCube_InterModMsg_t::modID
uint8_t modID
Definition: ketCube_cfg.h:117
ketCube_cfg_Save
ketCube_cfg_Error_t ketCube_cfg_Save(uint8_t *data, ketCube_cfg_moduleIDs_t id, ketCube_cfg_AllocEEPROM_t addr, ketCube_cfg_LenEEPROM_t len)
Save configuration data to EEPROM.
Definition: ketCube_cfg.c:154
KETCUBE_EEPROM_LEN_MODULES
@ KETCUBE_EEPROM_LEN_MODULES
Definition: ketCube_cfg.h:82
ketCube_cfg_Load
ketCube_cfg_Error_t ketCube_cfg_Load(uint8_t *data, ketCube_cfg_moduleIDs_t id, ketCube_cfg_AllocEEPROM_t addr, ketCube_cfg_LenEEPROM_t len)
Load configuration data from EEPROM.
Definition: ketCube_cfg.c:62
ketCube_cfg_ModDataPtrFn_t
ketCube_cfg_ModError_t(* ketCube_cfg_ModDataPtrFn_t)(ketCube_InterModMsg_t *msg)
Definition: ketCube_cfg.h:142
ketCube_cfg_Error_t
ketCube_cfg_Error_t
Error code type.
Definition: ketCube_cfg.h:88
KETCUBE_CFG_BUFF_SMALL
@ KETCUBE_CFG_BUFF_SMALL
Definition: ketCube_cfg.h:93
ketCube_cfg_ModuleCfgByte_t
KETCube module configuration byte.
Definition: ketCube_cfg.h:147
ketCube_InterModMsg_t::msg
uint8_t * msg
Definition: ketCube_cfg.h:119
KETCUBE_EEPROM_LEN_CORE
@ KETCUBE_EEPROM_LEN_CORE
Definition: ketCube_cfg.h:81
ketCube_cfg_varDescr_t::moduleID
uint16_t moduleID
Module Index.
Definition: ketCube_cfg.h:157
ketCube_cfg_Module_t::fnGetSensorData
ketCube_cfg_ModDataFn_t fnGetSensorData
Definition: ketCube_cfg.h:172
KETCUBE_CFG_SEVERITY_DEBUG
@ KETCUBE_CFG_SEVERITY_DEBUG
Definition: ketCube_cfg.h:129
KETCUBE_EEPROM_ALLOC_CORE
@ KETCUBE_EEPROM_ALLOC_CORE
Definition: ketCube_cfg.h:69
KETCUBE_CFG_SEVERITY_NONE
@ KETCUBE_CFG_SEVERITY_NONE
Definition: ketCube_cfg.h:126
ketCube_cfg_LoadStr
ketCube_cfg_Error_t ketCube_cfg_LoadStr(char *data, uint8_t buffLen, ketCube_cfg_moduleIDs_t id, ketCube_cfg_AllocEEPROM_t addr, ketCube_cfg_LenEEPROM_t len)
Load configuration data from EEPROM to string.
Definition: ketCube_cfg.c:87
ketCube_cfg_varDescr_t::size
uint8_t size
Variable size in bytes.
Definition: ketCube_cfg.h:159
KETCUBE_CFG_INV_HEX
@ KETCUBE_CFG_INV_HEX
Definition: ketCube_cfg.h:94
KETCUBE_CFG_MODULE_OK
@ KETCUBE_CFG_MODULE_OK
Definition: ketCube_cfg.h:101
ketCube_cfg_Save_ERROR
@ ketCube_cfg_Save_ERROR
Definition: ketCube_cfg.h:92
ketCube_cfg_Module_t::EEpromBase
ketCube_cfg_AllocEEPROM_t EEpromBase
Definition: ketCube_cfg.h:178
ketCube_cfg_Module_t::fnInit
ketCube_cfg_ModInitFn_t fnInit
Definition: ketCube_cfg.h:169
ketCube_cfg_ModuleCfgByte_t::severity
ketCube_severity_t severity
Definition: ketCube_cfg.h:149
KETCUBE_CFG_DRV_ERROR
@ KETCUBE_CFG_DRV_ERROR
Definition: ketCube_cfg.h:110
KETCUBE_CFG_DRV_OK
@ KETCUBE_CFG_DRV_OK
Definition: ketCube_cfg.h:109
ketCube_InterModMsg_t::msgLen
uint8_t msgLen
Definition: ketCube_cfg.h:118
ketCube_cfg_ModuleCfgByte_t::RFU
uint8_t RFU
Definition: ketCube_cfg.h:150
ketCube_cfg_Module_t::fnSleepExit
ketCube_cfg_ModVoidFn_t fnSleepExit
Definition: ketCube_cfg.h:171
ketCube_eeprom.h
This file contains definitions for the ketCube EEPROM driver.
KETCUBE_EEPROM_ALLOC_MODULES
@ KETCUBE_EEPROM_ALLOC_MODULES
Definition: ketCube_cfg.h:70
ketCube_severity_strAlias
const char * ketCube_severity_strAlias[4]
String representatzion of KETCube severity levels.
Definition: ketCube_cfg.c:50
ketCube_cfg_Module_t::fnReceiveData
ketCube_cfg_ModVoidFn_t fnReceiveData
Definition: ketCube_cfg.h:174
KETCUBE_EEPROM_ALLOC_LAST
@ KETCUBE_EEPROM_ALLOC_LAST
Definition: ketCube_cfg.h:71
ketCube_cfg_ModuleCfgByte_t::enable
bool enable
Definition: ketCube_cfg.h:148
ketCube_cfg_ModInitFn_t
ketCube_cfg_ModError_t(* ketCube_cfg_ModInitFn_t)(ketCube_InterModMsg_t ***msg)
Definition: ketCube_cfg.h:139
ketCube_InterModMsg_t
struct ketCube_InterModMsg_t ketCube_InterModMsg_t
KETCube inter-module message.
ketCube_common.h
KETCube common definitions.
ketCube_cfg_Module_t::cfgLen
ketCube_cfg_LenEEPROM_t cfgLen
Definition: ketCube_cfg.h:177
KETCUBE_CFG_OK
@ KETCUBE_CFG_OK
Definition: ketCube_cfg.h:89
ketCube_cfg_Load_ERROR
@ ketCube_cfg_Load_ERROR
Definition: ketCube_cfg.h:91
ketCube_cfg_varDescr_t
KETCube configuration variable descriptor.
Definition: ketCube_cfg.h:156
ketCube_cfg_SaveStr
ketCube_cfg_Error_t ketCube_cfg_SaveStr(char *data, ketCube_cfg_moduleIDs_t id, ketCube_cfg_AllocEEPROM_t addr, ketCube_cfg_LenEEPROM_t len)
Save configuration data to EEPROM from string.
Definition: ketCube_cfg.c:124
ketCube_cfg_ModDataFn_t
ketCube_cfg_ModError_t(* ketCube_cfg_ModDataFn_t)(uint8_t *buffer, uint8_t *len)
Definition: ketCube_cfg.h:141
ketCube_cfg_SetDefaults
ketCube_cfg_Error_t ketCube_cfg_SetDefaults(ketCube_cfg_moduleIDs_t id, ketCube_cfg_AllocEEPROM_t addr, ketCube_cfg_LenEEPROM_t len)
Erase configuration from EEPROM.
Definition: ketCube_cfg.c:178
KETCUBE_CFG_SEVERITY_INFO
@ KETCUBE_CFG_SEVERITY_INFO
Definition: ketCube_cfg.h:128
ketCube_cfg_varDescr_t::offset
uint8_t offset
Variable offset in module configuration memory.
Definition: ketCube_cfg.h:158
ketCube_cfg_Module_t::id
ketCube_moduleID_t id
Definition: ketCube_cfg.h:168
ketCube_severity_t
ketCube_severity_t
KETCube debug severity definition.
Definition: ketCube_cfg.h:125
ketCube_cfg_Module_t
KETCube module definition.
Definition: ketCube_cfg.h:165
ketCube_cfg_AllocEEPROM_t
ketCube_cfg_AllocEEPROM_t
Allocated CFG EEPROM addreses.
Definition: ketCube_cfg.h:68
ketCube_cfg_Module_t::cfgPtr
ketCube_cfg_ModuleCfgByte_t * cfgPtr
Definition: ketCube_cfg.h:176
ketCube_cfg_Module_t::fnProcessMsg
ketCube_cfg_ModDataPtrFn_t fnProcessMsg
Definition: ketCube_cfg.h:175
ketCube_cfg_Module_t
struct ketCube_cfg_Module_t ketCube_cfg_Module_t
KETCube module definition.
ketCube_cfg_Module_t::name
char * name
Definition: ketCube_cfg.h:166
ketCube_cfg_LenEEPROM_t
ketCube_cfg_LenEEPROM_t
Length of CFG EEPROM data.
Definition: ketCube_cfg.h:80
ketCube_cfg_Module_t::descr
char * descr
Definition: ketCube_cfg.h:167
KETCUBE_CFG_SEVERITY_ERROR
@ KETCUBE_CFG_SEVERITY_ERROR
Definition: ketCube_cfg.h:127
KETCUBE_CFG_MODULE_ERROR
@ KETCUBE_CFG_MODULE_ERROR
Definition: ketCube_cfg.h:102
ketCube_cfg_ModError_t
ketCube_cfg_ModError_t
Error code type.
Definition: ketCube_cfg.h:100
ketCube_cfg_DrvError_t
ketCube_cfg_DrvError_t
Error code type.
Definition: ketCube_cfg.h:108
ketCube_cfg_ModVoidFn_t
ketCube_cfg_ModError_t(* ketCube_cfg_ModVoidFn_t)(void)
Pointer to function returning ketCube_cfg_ModError_t.
Definition: ketCube_cfg.h:137
ketCube_cfg_Module_t::fnSendData
ketCube_cfg_ModDataFn_t fnSendData
Definition: ketCube_cfg.h:173
ketCube_cfg_Module_t::fnSleepEnter
ketCube_cfg_ModVoidFn_t fnSleepEnter
Definition: ketCube_cfg.h:170