@ -30,7 +30,7 @@
* https : //arduino-esp8266.readthedocs.io/en/latest/filesystem.html#flash-layout
* https : //arduino-esp8266.readthedocs.io/en/latest/filesystem.html#flash-layout
* */
* */
# define CONFIG_VERSION 4
# define CONFIG_VERSION 5
# define PROT_MASK_INDEX 0x0001
# define PROT_MASK_INDEX 0x0001
@ -80,7 +80,6 @@ typedef struct {
typedef struct {
typedef struct {
bool enabled ;
bool enabled ;
uint16_t sendInterval ;
uint8_t pinCs ;
uint8_t pinCs ;
uint8_t pinCe ;
uint8_t pinCe ;
uint8_t pinIrq ;
uint8_t pinIrq ;
@ -150,6 +149,7 @@ typedef struct {
bool enabled ;
bool enabled ;
cfgIv_t iv [ MAX_NUM_INVERTERS ] ;
cfgIv_t iv [ MAX_NUM_INVERTERS ] ;
uint16_t sendInterval ;
bool rstYieldMidNight ;
bool rstYieldMidNight ;
bool rstValsNotAvail ;
bool rstValsNotAvail ;
bool rstValsCommStop ;
bool rstValsCommStop ;
@ -388,7 +388,6 @@ class settings {
snprintf ( mCfg . sys . deviceName , DEVNAME_LEN , DEF_DEVICE_NAME ) ;
snprintf ( mCfg . sys . deviceName , DEVNAME_LEN , DEF_DEVICE_NAME ) ;
mCfg . nrf . sendInterval = SEND_INTERVAL ;
mCfg . nrf . pinCs = DEF_NRF_CS_PIN ;
mCfg . nrf . pinCs = DEF_NRF_CS_PIN ;
mCfg . nrf . pinCe = DEF_NRF_CE_PIN ;
mCfg . nrf . pinCe = DEF_NRF_CE_PIN ;
mCfg . nrf . pinIrq = DEF_NRF_IRQ_PIN ;
mCfg . nrf . pinIrq = DEF_NRF_IRQ_PIN ;
@ -433,6 +432,7 @@ class settings {
snprintf ( mCfg . mqtt . topic , MQTT_TOPIC_LEN , " %s " , DEF_MQTT_TOPIC ) ;
snprintf ( mCfg . mqtt . topic , MQTT_TOPIC_LEN , " %s " , DEF_MQTT_TOPIC ) ;
mCfg . mqtt . interval = 0 ; // off
mCfg . mqtt . interval = 0 ; // off
mCfg . inst . sendInterval = SEND_INTERVAL ;
mCfg . inst . rstYieldMidNight = false ;
mCfg . inst . rstYieldMidNight = false ;
mCfg . inst . rstValsNotAvail = false ;
mCfg . inst . rstValsNotAvail = false ;
mCfg . inst . rstValsCommStop = false ;
mCfg . inst . rstValsCommStop = false ;
@ -478,11 +478,15 @@ class settings {
mCfg . inst . iv [ i ] . add2Total = true ;
mCfg . inst . iv [ i ] . add2Total = true ;
}
}
if ( mCfg . configVersion < 3 ) {
if ( mCfg . configVersion < 3 ) {
mCfg . serial . printWholeTrace = tru e;
mCfg . serial . printWholeTrace = fals e;
}
}
if ( mCfg . configVersion < 4 ) {
if ( mCfg . configVersion < 4 ) {
mCfg . inst . gapMs = 2000 ;
mCfg . inst . gapMs = 2000 ;
}
}
if ( mCfg . configVersion < 5 ) {
mCfg . inst . sendInterval = SEND_INTERVAL ;
mCfg . serial . printWholeTrace = false ;
}
}
}
}
}
@ -539,7 +543,6 @@ class settings {
void jsonNrf ( JsonObject obj , bool set = false ) {
void jsonNrf ( JsonObject obj , bool set = false ) {
if ( set ) {
if ( set ) {
obj [ F ( " intvl " ) ] = mCfg . nrf . sendInterval ;
obj [ F ( " cs " ) ] = mCfg . nrf . pinCs ;
obj [ F ( " cs " ) ] = mCfg . nrf . pinCs ;
obj [ F ( " ce " ) ] = mCfg . nrf . pinCe ;
obj [ F ( " ce " ) ] = mCfg . nrf . pinCe ;
obj [ F ( " irq " ) ] = mCfg . nrf . pinIrq ;
obj [ F ( " irq " ) ] = mCfg . nrf . pinIrq ;
@ -548,7 +551,6 @@ class settings {
obj [ F ( " miso " ) ] = mCfg . nrf . pinMiso ;
obj [ F ( " miso " ) ] = mCfg . nrf . pinMiso ;
obj [ F ( " en " ) ] = ( bool ) mCfg . nrf . enabled ;
obj [ F ( " en " ) ] = ( bool ) mCfg . nrf . enabled ;
} else {
} else {
getVal < uint16_t > ( obj , F ( " intvl " ) , & mCfg . nrf . sendInterval ) ;
getVal < uint8_t > ( obj , F ( " cs " ) , & mCfg . nrf . pinCs ) ;
getVal < uint8_t > ( obj , F ( " cs " ) , & mCfg . nrf . pinCs ) ;
getVal < uint8_t > ( obj , F ( " ce " ) , & mCfg . nrf . pinCe ) ;
getVal < uint8_t > ( obj , F ( " ce " ) , & mCfg . nrf . pinCe ) ;
getVal < uint8_t > ( obj , F ( " irq " ) , & mCfg . nrf . pinIrq ) ;
getVal < uint8_t > ( obj , F ( " irq " ) , & mCfg . nrf . pinIrq ) ;
@ -707,6 +709,7 @@ class settings {
void jsonInst ( JsonObject obj , bool set = false ) {
void jsonInst ( JsonObject obj , bool set = false ) {
if ( set ) {
if ( set ) {
obj [ F ( " intvl " ) ] = mCfg . inst . sendInterval ;
obj [ F ( " en " ) ] = ( bool ) mCfg . inst . enabled ;
obj [ F ( " en " ) ] = ( bool ) mCfg . inst . enabled ;
obj [ F ( " rstMidNight " ) ] = ( bool ) mCfg . inst . rstYieldMidNight ;
obj [ F ( " rstMidNight " ) ] = ( bool ) mCfg . inst . rstYieldMidNight ;
obj [ F ( " rstNotAvail " ) ] = ( bool ) mCfg . inst . rstValsNotAvail ;
obj [ F ( " rstNotAvail " ) ] = ( bool ) mCfg . inst . rstValsNotAvail ;
@ -717,6 +720,7 @@ class settings {
obj [ F ( " gap " ) ] = mCfg . inst . gapMs ;
obj [ F ( " gap " ) ] = mCfg . inst . gapMs ;
}
}
else {
else {
getVal < uint16_t > ( obj , F ( " intvl " ) , & mCfg . inst . sendInterval ) ;
getVal < bool > ( obj , F ( " en " ) , & mCfg . inst . enabled ) ;
getVal < bool > ( obj , F ( " en " ) , & mCfg . inst . enabled ) ;
getVal < bool > ( obj , F ( " rstMidNight " ) , & mCfg . inst . rstYieldMidNight ) ;
getVal < bool > ( obj , F ( " rstMidNight " ) , & mCfg . inst . rstYieldMidNight ) ;
getVal < bool > ( obj , F ( " rstNotAvail " ) , & mCfg . inst . rstValsNotAvail ) ;
getVal < bool > ( obj , F ( " rstNotAvail " ) , & mCfg . inst . rstValsNotAvail ) ;