LightHub
4.6.0
Open-source smart home controller firmware
Toggle main menu visibility
Loading...
Searching...
No Matches
systemconfigdata.h
Go to the documentation of this file.
1
9
#pragma once
11
#define SYSCONF_OFFSET 0
13
#define EEPROM_offset_NotAlligned SYSCONF_OFFSET+sizeof(systemConfigData)
15
#define SYSCONF_SIZE EEPROM_offsetJSON
17
#define EEPROM_offsetJSON EEPROM_offset_NotAlligned + (4 -(EEPROM_offset_NotAlligned & 3))
18
20
#define MAXFLASHSTR 32
22
#define PWDFLASHSTR 16
24
#define EEPROM_SIGNATURE "LHC3"
26
#define EEPROM_SIGNATURE_LENGTH 4
27
28
//#define EEPROM_offsetJSON IFLASH_PAGE_SIZE
29
#define EEPROM_FIX_PART_LEN EEPROM_offsetJSON-SYSCONF_OFFSET
30
31
const
char
EEPROM_signature
[] =
EEPROM_SIGNATURE
;
32
34
typedef
char
flashstr
[
MAXFLASHSTR
];
36
typedef
char
flashpwd
[
PWDFLASHSTR
];
38
typedef
uint8_t
macAddress
[6];
39
40
#pragma pack(push, 1)
42
typedef
union
43
{
44
uint32_t
configFlags32bit
;
45
struct
46
{
47
uint8_t
serialDebugLevel
:4;
48
uint8_t
udpDebugLevel
:4;
49
50
uint8_t
notGetConfigFromHTTP
:1;
51
uint8_t
notSaveSuccedConfig
:1;
52
uint8_t
dhcpFallback
:1;
53
uint8_t
spare2
:5;
54
55
uint16_t
sysConfigHash
;
56
};
57
}
systemConfigFlags
;
58
60
typedef
struct
61
{
62
char
signature
[4];
63
macAddress
mac
;
//6 bytes
64
uint16_t
spare
;
//2 bytes
65
systemConfigFlags
configFlags
;
//4 bytes
66
uint32_t
ip
;
67
uint32_t
dns
;
68
uint32_t
gw
;
69
uint32_t
mask
;
70
71
flashstr
configURL
;
72
flashpwd
MQTTpwd
;
73
flashpwd
OTApwd
;
74
flashstr
ETAG
;
75
}
systemConfigData
;
76
#pragma (pop)
systemConfigData
Fixed-layout system configuration block persisted in flash.
Definition
systemconfigdata.h:61
systemConfigData::mac
macAddress mac
Definition
systemconfigdata.h:63
systemConfigData::signature
char signature[4]
Definition
systemconfigdata.h:62
systemConfigData::configFlags
systemConfigFlags configFlags
Definition
systemconfigdata.h:65
systemConfigData::mask
uint32_t mask
Definition
systemconfigdata.h:69
systemConfigData::dns
uint32_t dns
Definition
systemconfigdata.h:67
systemConfigData::configURL
flashstr configURL
Definition
systemconfigdata.h:71
systemConfigData::spare
uint16_t spare
Definition
systemconfigdata.h:64
systemConfigData::OTApwd
flashpwd OTApwd
Definition
systemconfigdata.h:73
systemConfigData::gw
uint32_t gw
Definition
systemconfigdata.h:68
systemConfigData::ETAG
flashstr ETAG
Definition
systemconfigdata.h:74
systemConfigData::ip
uint32_t ip
Definition
systemconfigdata.h:66
systemConfigData::MQTTpwd
flashpwd MQTTpwd
Definition
systemconfigdata.h:72
systemConfigFlags::[struct].__unnamed0__::spare2
uint8_t spare2
systemConfigFlags::[struct].__unnamed0__::serialDebugLevel
uint8_t serialDebugLevel
systemConfigFlags::[struct].__unnamed0__::notSaveSuccedConfig
uint8_t notSaveSuccedConfig
systemConfigFlags::[struct].__unnamed0__::udpDebugLevel
uint8_t udpDebugLevel
systemConfigFlags::[struct].__unnamed0__::notGetConfigFromHTTP
uint8_t notGetConfigFromHTTP
systemConfigFlags::[struct].__unnamed0__::dhcpFallback
uint8_t dhcpFallback
systemConfigFlags::[struct].__unnamed0__::sysConfigHash
uint16_t sysConfigHash
flashstr
char flashstr[MAXFLASHSTR]
Fixed-size flash string buffer.
Definition
systemconfigdata.h:34
EEPROM_SIGNATURE
#define EEPROM_SIGNATURE
Signature marking a valid config block.
Definition
systemconfigdata.h:24
EEPROM_signature
const char EEPROM_signature[]
Definition
systemconfigdata.h:31
macAddress
uint8_t macAddress[6]
6-byte MAC address.
Definition
systemconfigdata.h:38
MAXFLASHSTR
#define MAXFLASHSTR
Max length of flash-stored strings (URLs, ETag).
Definition
systemconfigdata.h:20
PWDFLASHSTR
#define PWDFLASHSTR
Max length of flash-stored passwords.
Definition
systemconfigdata.h:22
flashpwd
char flashpwd[PWDFLASHSTR]
Fixed-size flash password buffer.
Definition
systemconfigdata.h:36
systemConfigFlags
Packed 32-bit system configuration flags.
Definition
systemconfigdata.h:43
systemConfigFlags::configFlags32bit
uint32_t configFlags32bit
Definition
systemconfigdata.h:44
lighthub
systemconfigdata.h
Generated by
1.18.0