LightHub 4.6.0
Open-source smart home controller firmware
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
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 {
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 };
58
60 typedef struct
61 {
62 char signature[4];
63 macAddress mac; //6 bytes
64 uint16_t spare; //2 bytes
66 uint32_t ip;
67 uint32_t dns;
68 uint32_t gw;
69 uint32_t mask;
70
76 #pragma (pop)
Fixed-layout system configuration block persisted in flash.
Definition systemconfigdata.h:61
macAddress mac
Definition systemconfigdata.h:63
char signature[4]
Definition systemconfigdata.h:62
systemConfigFlags configFlags
Definition systemconfigdata.h:65
uint32_t mask
Definition systemconfigdata.h:69
uint32_t dns
Definition systemconfigdata.h:67
flashstr configURL
Definition systemconfigdata.h:71
uint16_t spare
Definition systemconfigdata.h:64
flashpwd OTApwd
Definition systemconfigdata.h:73
uint32_t gw
Definition systemconfigdata.h:68
flashstr ETAG
Definition systemconfigdata.h:74
uint32_t ip
Definition systemconfigdata.h:66
flashpwd MQTTpwd
Definition systemconfigdata.h:72
char flashstr[MAXFLASHSTR]
Fixed-size flash string buffer.
Definition systemconfigdata.h:34
#define EEPROM_SIGNATURE
Signature marking a valid config block.
Definition systemconfigdata.h:24
const char EEPROM_signature[]
Definition systemconfigdata.h:31
uint8_t macAddress[6]
6-byte MAC address.
Definition systemconfigdata.h:38
#define MAXFLASHSTR
Max length of flash-stored strings (URLs, ETag).
Definition systemconfigdata.h:20
#define PWDFLASHSTR
Max length of flash-stored passwords.
Definition systemconfigdata.h:22
char flashpwd[PWDFLASHSTR]
Fixed-size flash password buffer.
Definition systemconfigdata.h:36
Packed 32-bit system configuration flags.
Definition systemconfigdata.h:43
uint32_t configFlags32bit
Definition systemconfigdata.h:44