1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-26 09:45:21 +03:00

[Sky9x] EEPROM fixes

This commit is contained in:
bsongis 2015-04-28 20:38:05 +02:00
parent 8343e57c1c
commit 886431f396
3 changed files with 25 additions and 16 deletions

View file

@ -185,20 +185,25 @@ bool eepromOpen()
uint32_t readFile(int index, uint8_t * data, uint32_t size)
{
EepromFileHeader header;
uint32_t address = eepromHeader.files[index].zoneIndex * EEPROM_ZONE_SIZE;
eepromRead(address, (uint8_t *)&header, sizeof(header));
if (size < header.size) {
header.size = size;
if (eepromHeader.files[index].exists) {
EepromFileHeader header;
uint32_t address = eepromHeader.files[index].zoneIndex * EEPROM_ZONE_SIZE;
eepromRead(address, (uint8_t *)&header, sizeof(header));
if (size < header.size) {
header.size = size;
}
if (header.size > 0) {
eepromRead(address + sizeof(header), data, header.size);
size -= header.size;
}
if (size > 0) {
memset(data + header.size, 0, size);
}
return header.size;
}
if (header.size > 0) {
eepromRead(address + sizeof(header), data, header.size);
size -= header.size;
else {
return 0;
}
if (size > 0) {
memset(data + header.size, 0, size);
}
return header.size;
}
void eepromIncFatAddr()