mirror of
https://github.com/thelsing/knx.git
synced 2024-12-18 19:08:18 +01:00
-bau_systemB: configured should only change to true after restart
-bugfix by bernator
This commit is contained in:
parent
0762e753f7
commit
6f73473da2
@ -40,7 +40,7 @@ void BauSystemB::sendNextGroupTelegram()
|
|||||||
GroupObjectTableObject& table = _groupObjTable;
|
GroupObjectTableObject& table = _groupObjTable;
|
||||||
uint16_t objCount = table.entryCount();
|
uint16_t objCount = table.entryCount();
|
||||||
|
|
||||||
for (uint16_t asap = startIdx; asap < objCount; asap++)
|
for (uint16_t asap = startIdx; asap <= objCount; asap++)
|
||||||
{
|
{
|
||||||
GroupObject& go = table.get(asap);
|
GroupObject& go = table.get(asap);
|
||||||
|
|
||||||
@ -114,10 +114,17 @@ ApplicationProgramObject& BauSystemB::parameters()
|
|||||||
|
|
||||||
bool BauSystemB::configured()
|
bool BauSystemB::configured()
|
||||||
{
|
{
|
||||||
return _groupObjTable.loadState() == LS_LOADED
|
// _configured is set to true initially, if the device was configured with ETS it will be set to true after restart
|
||||||
|
|
||||||
|
if (!_configured)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
_configured = _groupObjTable.loadState() == LS_LOADED
|
||||||
&& _addrTable.loadState() == LS_LOADED
|
&& _addrTable.loadState() == LS_LOADED
|
||||||
&& _assocTable.loadState() == LS_LOADED
|
&& _assocTable.loadState() == LS_LOADED
|
||||||
&& _appProgram.loadState() == LS_LOADED;
|
&& _appProgram.loadState() == LS_LOADED;
|
||||||
|
|
||||||
|
return _configured;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BauSystemB::deviceDescriptorReadIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t descriptorType)
|
void BauSystemB::deviceDescriptorReadIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t descriptorType)
|
||||||
@ -147,12 +154,14 @@ void BauSystemB::memoryReadIndication(Priority priority, HopCountType hopType, u
|
|||||||
|
|
||||||
void BauSystemB::restartRequestIndication(Priority priority, HopCountType hopType, uint16_t asap)
|
void BauSystemB::restartRequestIndication(Priority priority, HopCountType hopType, uint16_t asap)
|
||||||
{
|
{
|
||||||
// for platforms that don't really restart
|
|
||||||
_deviceObj.progMode(false);
|
|
||||||
|
|
||||||
// Flush the EEPROM before resetting
|
// Flush the EEPROM before resetting
|
||||||
_memory.writeMemory();
|
_memory.writeMemory();
|
||||||
_platform.restart();
|
_platform.restart();
|
||||||
|
|
||||||
|
// for platforms that don't really restart
|
||||||
|
_deviceObj.progMode(false);
|
||||||
|
_configured = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BauSystemB::authorizeIndication(Priority priority, HopCountType hopType, uint16_t asap, uint32_t key)
|
void BauSystemB::authorizeIndication(Priority priority, HopCountType hopType, uint16_t asap, uint32_t key)
|
||||||
|
@ -74,4 +74,5 @@ protected:
|
|||||||
ApplicationLayer _appLayer;
|
ApplicationLayer _appLayer;
|
||||||
TransportLayer _transLayer;
|
TransportLayer _transLayer;
|
||||||
NetworkLayer _netLayer;
|
NetworkLayer _netLayer;
|
||||||
|
bool _configured = true;
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user