mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 01:35:21 +03:00
[Sky9x] EEPROM fixes
This commit is contained in:
parent
8343e57c1c
commit
886431f396
3 changed files with 25 additions and 16 deletions
|
@ -185,20 +185,25 @@ bool eepromOpen()
|
||||||
|
|
||||||
uint32_t readFile(int index, uint8_t * data, uint32_t size)
|
uint32_t readFile(int index, uint8_t * data, uint32_t size)
|
||||||
{
|
{
|
||||||
EepromFileHeader header;
|
if (eepromHeader.files[index].exists) {
|
||||||
uint32_t address = eepromHeader.files[index].zoneIndex * EEPROM_ZONE_SIZE;
|
EepromFileHeader header;
|
||||||
eepromRead(address, (uint8_t *)&header, sizeof(header));
|
uint32_t address = eepromHeader.files[index].zoneIndex * EEPROM_ZONE_SIZE;
|
||||||
if (size < header.size) {
|
eepromRead(address, (uint8_t *)&header, sizeof(header));
|
||||||
header.size = size;
|
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) {
|
else {
|
||||||
eepromRead(address + sizeof(header), data, header.size);
|
return 0;
|
||||||
size -= header.size;
|
|
||||||
}
|
}
|
||||||
if (size > 0) {
|
|
||||||
memset(data + header.size, 0, size);
|
|
||||||
}
|
|
||||||
return header.size;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void eepromIncFatAddr()
|
void eepromIncFatAddr()
|
||||||
|
|
|
@ -136,7 +136,7 @@
|
||||||
#define NUM_CHNOUT 32 // number of real output channels CH1-CH32
|
#define NUM_CHNOUT 32 // number of real output channels CH1-CH32
|
||||||
#define MAX_FLIGHT_MODES 9
|
#define MAX_FLIGHT_MODES 9
|
||||||
#define MAX_MIXERS 64
|
#define MAX_MIXERS 64
|
||||||
#define MAX_EXPOS 64
|
#define MAX_EXPOS 32
|
||||||
#define NUM_LOGICAL_SWITCH 32 // number of custom switches
|
#define NUM_LOGICAL_SWITCH 32 // number of custom switches
|
||||||
#define NUM_CFN 64 // number of functions assigned to switches
|
#define NUM_CFN 64 // number of functions assigned to switches
|
||||||
#define NUM_TRAINER 16
|
#define NUM_TRAINER 16
|
||||||
|
@ -363,8 +363,8 @@ enum BeeperMode {
|
||||||
#define swarnenable_t uint8_t
|
#define swarnenable_t uint8_t
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
#define swarnstate_t uint8_t
|
#define swarnstate_t uint8_t
|
||||||
#define swarnenable_t uint8_t
|
#define swarnenable_t uint8_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PCBTARANIS)
|
#if defined(PCBTARANIS)
|
||||||
|
@ -456,7 +456,7 @@ PACK(typedef struct {
|
||||||
TRAINER_MODULE
|
TRAINER_MODULE
|
||||||
};
|
};
|
||||||
#define MODELDATA_BITMAP
|
#define MODELDATA_BITMAP
|
||||||
#define MODELDATA_EXTRA uint8_t externalModule; ModuleData moduleData[NUM_MODULES+1]; uint8_t potsWarnMode:2; uint8_t potsWarnEnabled:6; int8_t potsWarnPosition[NUM_POTS]; uint8_t rxBattAlarms[2];
|
#define MODELDATA_EXTRA uint8_t externalModule:3; uint8_t spare:3; uint8_t potsWarnMode:2; ModuleData moduleData[NUM_MODULES+1]; uint8_t potsWarnEnabled; int8_t potsWarnPosition[NUM_POTS]; uint8_t rxBattAlarms[2];
|
||||||
#else
|
#else
|
||||||
#define MODELDATA_BITMAP
|
#define MODELDATA_BITMAP
|
||||||
#define MODELDATA_EXTRA
|
#define MODELDATA_EXTRA
|
||||||
|
|
|
@ -102,6 +102,10 @@ uint8_t eepromTransmitByte(uint8_t out, bool skipFirst)
|
||||||
register Spi *spiptr;
|
register Spi *spiptr;
|
||||||
register uint32_t delay;
|
register uint32_t delay;
|
||||||
|
|
||||||
|
#if defined(SIMU)
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
spiptr = SPI;
|
spiptr = SPI;
|
||||||
spiptr->SPI_CR = 1; // Enable
|
spiptr->SPI_CR = 1; // Enable
|
||||||
(void) spiptr->SPI_RDR; // Dump any rx data
|
(void) spiptr->SPI_RDR; // Dump any rx data
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue