KETCube
Data Structures | Typedefs | Enumerations | Functions | Variables
KETCube Configuration Manager

KETCube Configuration Manager. More...

Data Structures

struct  ketCube_InterModMsg_t
 KETCube inter-module message. More...
 
struct  ketCube_cfg_ModuleCfgByte_t
 KETCube module configuration byte. More...
 
struct  ketCube_cfg_varDescr_t
 KETCube configuration variable descriptor. More...
 
struct  ketCube_cfg_Module_t
 KETCube module definition. More...
 

Typedefs

typedef struct ketCube_InterModMsg_t ketCube_InterModMsg_t
 KETCube inter-module message. More...
 
typedef enum ketCube_severity_t ketCube_severity_t
 KETCube debug severity definition. More...
 
typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModVoidFn_t) (void)
 Pointer to function returning ketCube_cfg_ModError_t. More...
 
typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModInitFn_t) (ketCube_InterModMsg_t ***msg)
 
typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModDataFn_t) (uint8_t *buffer, uint8_t *len)
 
typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModDataPtrFn_t) (ketCube_InterModMsg_t *msg)
 
typedef struct ketCube_cfg_ModuleCfgByte_t ketCube_cfg_ModuleCfgByte_t
 KETCube module configuration byte. More...
 
typedef struct ketCube_cfg_varDescr_t ketCube_cfg_varDescr_t
 KETCube configuration variable descriptor. More...
 
typedef struct ketCube_cfg_Module_t ketCube_cfg_Module_t
 KETCube module definition. More...
 

Enumerations

enum  ketCube_cfg_AllocEEPROM_t { KETCUBE_EEPROM_ALLOC_CORE = 0, KETCUBE_EEPROM_ALLOC_MODULES = 0, KETCUBE_EEPROM_ALLOC_LAST = 2048 }
 Allocated CFG EEPROM addreses. More...
 
enum  ketCube_cfg_LenEEPROM_t { KETCUBE_EEPROM_LEN_CORE = 64, KETCUBE_EEPROM_LEN_MODULES = 1024 }
 Length of CFG EEPROM data. More...
 
enum  ketCube_cfg_Error_t {
  KETCUBE_CFG_OK = 0, KETCUBE_CFG_ERROR = 1, ketCube_cfg_Load_ERROR = 2, ketCube_cfg_Save_ERROR = 3,
  KETCUBE_CFG_BUFF_SMALL = 4, KETCUBE_CFG_INV_HEX = 5
}
 Error code type. More...
 
enum  ketCube_cfg_ModError_t { KETCUBE_CFG_MODULE_OK = (uint8_t) 0, KETCUBE_CFG_MODULE_ERROR = !(KETCUBE_CFG_MODULE_OK) }
 Error code type. More...
 
enum  ketCube_cfg_DrvError_t { KETCUBE_CFG_DRV_OK = (uint8_t) 0, KETCUBE_CFG_DRV_ERROR = !(KETCUBE_CFG_MODULE_OK) }
 Error code type. More...
 
enum  ketCube_severity_t { KETCUBE_CFG_SEVERITY_NONE = 0x0, KETCUBE_CFG_SEVERITY_ERROR = 0x1, KETCUBE_CFG_SEVERITY_INFO = 0x2, KETCUBE_CFG_SEVERITY_DEBUG = 0x3 }
 KETCube debug severity definition. More...
 

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Variables

const char * ketCube_severity_strAlias [4]
 String representatzion of KETCube severity levels. More...
 
volatile bool KETCube_eventsProcessed
 

Detailed Description

KETCube Configuration Manager.

This KETCube module incorporates the static in-code and NVM (EEPROM) configuration management

Typedef Documentation

◆ ketCube_cfg_ModDataFn_t

typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModDataFn_t) (uint8_t *buffer, uint8_t *len)

◆ ketCube_cfg_ModDataPtrFn_t

typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModDataPtrFn_t) (ketCube_InterModMsg_t *msg)

◆ ketCube_cfg_ModInitFn_t

typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModInitFn_t) (ketCube_InterModMsg_t ***msg)

◆ ketCube_cfg_Module_t

KETCube module definition.

◆ ketCube_cfg_ModuleCfgByte_t

KETCube module configuration byte.

◆ ketCube_cfg_ModVoidFn_t

typedef ketCube_cfg_ModError_t(* ketCube_cfg_ModVoidFn_t) (void)

Pointer to function returning ketCube_cfg_ModError_t.

◆ ketCube_cfg_varDescr_t

KETCube configuration variable descriptor.

◆ ketCube_InterModMsg_t

KETCube inter-module message.

◆ ketCube_severity_t

KETCube debug severity definition.

Enumeration Type Documentation

◆ ketCube_cfg_AllocEEPROM_t

Allocated CFG EEPROM addreses.

Enumerator
KETCUBE_EEPROM_ALLOC_CORE 

KETCube core configuration base address – core configuration is located in module configuration area

KETCUBE_EEPROM_ALLOC_MODULES 

Module configuration base address

KETCUBE_EEPROM_ALLOC_LAST 

Module configuration base address

◆ ketCube_cfg_DrvError_t

Error code type.

Enumerator
KETCUBE_CFG_DRV_OK 
KETCUBE_CFG_DRV_ERROR 

◆ ketCube_cfg_Error_t

Error code type.

Enumerator
KETCUBE_CFG_OK 

Operation OK

KETCUBE_CFG_ERROR 

CFG ERROR

ketCube_cfg_Load_ERROR 

Load CFG

ketCube_cfg_Save_ERROR 

Save CFG

KETCUBE_CFG_BUFF_SMALL 

Buffer is small

KETCUBE_CFG_INV_HEX 

Invalid HEX

◆ ketCube_cfg_LenEEPROM_t

Length of CFG EEPROM data.

Deprecated:
This enum provides no real borders any more
Enumerator
KETCUBE_EEPROM_LEN_CORE 

Core max configuration len in bytes

KETCUBE_EEPROM_LEN_MODULES 

Modules max configuration len in bytes

◆ ketCube_cfg_ModError_t

Error code type.

Enumerator
KETCUBE_CFG_MODULE_OK 
KETCUBE_CFG_MODULE_ERROR 

◆ ketCube_severity_t

KETCube debug severity definition.

Enumerator
KETCUBE_CFG_SEVERITY_NONE 
KETCUBE_CFG_SEVERITY_ERROR 
KETCUBE_CFG_SEVERITY_INFO 
KETCUBE_CFG_SEVERITY_DEBUG 

Function Documentation

◆ 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.

Parameters
datapointer to an array of bytes
idmodule ID
addrEEPROM address
lenEEPROM data len
Return values
KETCUBE_CFG_OKin case of success
ketCube_cfg_Load_ERRORin case of failure

◆ 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.

Parameters
datapointer to string string
buffLenbuffer len
idmodule ID
addrEEPROM address
lenEEPROM data len
Return values
KETCUBE_CFG_OKin case of success
ketCube_cfg_Load_ERRORin case of failure

◆ 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.

Parameters
datapointer to an array of bytes
idmodule ID
addrEEPROM address
lenEEPROM data length
Return values
KETCUBE_CFG_OKin case of success
ketCube_cfg_Load_ERRORin case of failure

◆ 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.

Parameters
datapointer to a string
idmodule ID
addrEEPROM address
lenEEPROM data length
Return values
KETCUBE_CFG_OKin case of success
ketCube_cfg_Load_ERRORin case of failure

◆ 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.

Parameters
idmodule ID
addrEEPROM address
lenEEPROM data length
Return values
KETCUBE_CFG_OKin case of success
ketCube_cfg_Load_ERRORin case of failure

Variable Documentation

◆ KETCube_eventsProcessed

volatile bool KETCube_eventsProcessed
extern

◆ ketCube_severity_strAlias

const char* ketCube_severity_strAlias[4]
extern

String representatzion of KETCube severity levels.