EEPROM conversions on sky9x
This commit is contained in:
+20
-12
@@ -317,20 +317,28 @@ uint32_t get_current_block_number( uint32_t block_no, uint16_t *p_size, uint32_t
|
||||
return block_no ;
|
||||
}
|
||||
|
||||
// For conversions ...
|
||||
void loadGeneralSettings()
|
||||
{
|
||||
memset(&g_eeGeneral, 0, sizeof(g_eeGeneral));
|
||||
uint16_t size = min<int>(File_system[0].size, sizeof(g_eeGeneral));
|
||||
if (size) {
|
||||
read32_eeprom_data((File_system[0].block_no << 12) + sizeof(struct t_eeprom_header), (uint8_t *)&g_eeGeneral, size);
|
||||
}
|
||||
}
|
||||
|
||||
void loadModel(int index)
|
||||
{
|
||||
memset(&g_model, 0, sizeof(g_model));
|
||||
int size = min<int>(File_system[index+1].size, sizeof(g_model));
|
||||
if (size > 256) { // if loaded a fair amount
|
||||
read32_eeprom_data((File_system[index+1].block_no << 12) + sizeof(struct t_eeprom_header), (uint8_t *)&g_model, size) ;
|
||||
}
|
||||
}
|
||||
|
||||
bool eeLoadGeneral()
|
||||
{
|
||||
uint16_t size = File_system[0].size;
|
||||
|
||||
memset(&g_eeGeneral, 0, sizeof(EEGeneral));
|
||||
|
||||
if (size > sizeof(EEGeneral)) {
|
||||
size = sizeof(EEGeneral) ;
|
||||
}
|
||||
|
||||
if (size) {
|
||||
read32_eeprom_data( ( File_system[0].block_no << 12) + sizeof( struct t_eeprom_header), ( uint8_t *)&g_eeGeneral, size) ;
|
||||
}
|
||||
|
||||
loadGeneralSettings();
|
||||
if (g_eeGeneral.version != EEPROM_VER) {
|
||||
TRACE("EEPROM version %d instead of %d", g_eeGeneral.version, EEPROM_VER);
|
||||
if (!eeConvert())
|
||||
|
||||
Reference in New Issue
Block a user