static void initAppConfig(void) { initEEPROM(); loadEEPROM((unsigned char*)&config, sizeof(config)); if (config.MACAddr[0] == 0xFF) { //Empty EEProm, fallback MAC config.MACAddr[5] = 0x00; config.MACAddr[4] = 0x00; config.MACAddr[3] = 0x00; config.MACAddr[2] = 0x54; config.MACAddr[1] = 0xCA; config.MACAddr[0] = 0xAC; } AppConfig.Flags.bIsDHCPEnabled = TRUE; AppConfig.Flags.bInConfigMode = TRUE; memcpy((void*)&AppConfig.MyMACAddr, (ROM void*)config.MACAddr, sizeof(AppConfig.MyMACAddr)); AppConfig.MyIPAddr.Val = MY_DEFAULT_IP_ADDR_BYTE1 | MY_DEFAULT_IP_ADDR_BYTE2<<8ul | MY_DEFAULT_IP_ADDR_BYTE3<<16ul | MY_DEFAULT_IP_ADDR_BYTE4<<24ul; AppConfig.DefaultIPAddr.Val = AppConfig.MyIPAddr.Val; AppConfig.MyMask.Val = MY_DEFAULT_MASK_BYTE1 | MY_DEFAULT_MASK_BYTE2<<8ul | MY_DEFAULT_MASK_BYTE3<<16ul | MY_DEFAULT_MASK_BYTE4<<24ul; AppConfig.DefaultMask.Val = AppConfig.MyMask.Val; AppConfig.MyGateway.Val = MY_DEFAULT_GATE_BYTE1 | MY_DEFAULT_GATE_BYTE2<<8ul | MY_DEFAULT_GATE_BYTE3<<16ul | MY_DEFAULT_GATE_BYTE4<<24ul; AppConfig.PrimaryDNSServer.Val = MY_DEFAULT_PRIMARY_DNS_BYTE1 | MY_DEFAULT_PRIMARY_DNS_BYTE2<<8ul | MY_DEFAULT_PRIMARY_DNS_BYTE3<<16ul | MY_DEFAULT_PRIMARY_DNS_BYTE4<<24ul; AppConfig.SecondaryDNSServer.Val = MY_DEFAULT_SECONDARY_DNS_BYTE1 | MY_DEFAULT_SECONDARY_DNS_BYTE2<<8ul | MY_DEFAULT_SECONDARY_DNS_BYTE3<<16ul | MY_DEFAULT_SECONDARY_DNS_BYTE4<<24ul; }
void readEEPROM(void) { suspendRxSignal(); // Sanity check, read flash if (!loadEEPROM()) { failureMode(FAILURE_INVALID_EEPROM_CONTENTS); } pgActivateProfile(getCurrentProfile()); setControlRateProfile(rateProfileSelection()->defaultRateProfileIndex); validateAndFixConfig(); activateConfig(); resumeRxSignal(); }
void readEEPROM(void) { #ifndef USE_OSD_SLAVE suspendRxSignal(); #endif // Sanity check, read flash if (!loadEEPROM()) { failureMode(FAILURE_INVALID_EEPROM_CONTENTS); } validateAndFixConfig(); activateConfig(); #ifndef USE_OSD_SLAVE resumeRxSignal(); #endif }
IdStorage::IdStorage() { loadEEPROM(); // First time running Serial.println("Clearing memory"); clear(); }
AVL_tree::AVL_tree(byte maxSize){ mMaxSize = maxSize; mSize = 0; root = NULL; loadEEPROM(); }