mirror of
https://github.com/thelsing/knx.git
synced 2025-08-13 13:46:20 +02:00
Update stm32_platform.cpp
Addresses a side effect of https://github.com/thelsing/knx/pull/177, which causes the eeprom buffer to be overwritten every time getEepromBuffer is called. This prevented programming of STM32 boards as their initial bus address was lost before programming.
This commit is contained in:
parent
eb963583ee
commit
10beb907c2
@ -32,16 +32,22 @@ void Stm32Platform::restart()
|
||||
|
||||
uint8_t * Stm32Platform::getEepromBuffer(uint16_t size)
|
||||
{
|
||||
if (size > E2END + 1)
|
||||
// check if the buffer already exists
|
||||
if (_eepromPtr == nullptr) // we need to initialize the buffer first
|
||||
{
|
||||
fatalError();
|
||||
if (size > E2END + 1)
|
||||
{
|
||||
fatalError();
|
||||
}
|
||||
|
||||
_eepromSize = size;
|
||||
_eepromPtr = new uint8_t[size];
|
||||
eeprom_buffer_fill();
|
||||
for (uint16_t i = 0; i < size; ++i)
|
||||
_eepromPtr[i] = eeprom_buffered_read_byte(i);
|
||||
|
||||
}
|
||||
_eepromSize = size;
|
||||
delete [] _eepromPtr;
|
||||
_eepromPtr = new uint8_t[size];
|
||||
eeprom_buffer_fill();
|
||||
for (uint16_t i = 0; i < size; ++i)
|
||||
_eepromPtr[i] = eeprom_buffered_read_byte(i);
|
||||
|
||||
return _eepromPtr;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user