diff --git a/flight/libraries/plans.c b/flight/libraries/plans.c index 6e5db8442..f2c9d23b7 100644 --- a/flight/libraries/plans.c +++ b/flight/libraries/plans.c @@ -80,15 +80,12 @@ static float applyExpo(float value, float expo) */ void plan_initialize() { - TakeOffLocationInitialize(); PositionStateInitialize(); PathDesiredInitialize(); - FlightModeSettingsInitialize(); FlightStatusInitialize(); AttitudeStateInitialize(); ManualControlCommandInitialize(); VelocityStateInitialize(); - VtolPathFollowerSettingsInitialize(); StabilizationBankInitialize(); StabilizationDesiredInitialize(); } diff --git a/flight/libraries/sanitycheck.c b/flight/libraries/sanitycheck.c index 09739ce7b..7bd0f11fa 100644 --- a/flight/libraries/sanitycheck.c +++ b/flight/libraries/sanitycheck.c @@ -73,7 +73,6 @@ int32_t configuration_check() // Classify navigation capability #ifdef REVOLUTION - RevoSettingsInitialize(); RevoSettingsFusionAlgorithmOptions revoFusion; RevoSettingsFusionAlgorithmGet(&revoFusion); bool navCapableFusion; diff --git a/flight/modules/Actuator/actuator.c b/flight/modules/Actuator/actuator.c index 7a4f4353b..a41493850 100644 --- a/flight/modules/Actuator/actuator.c +++ b/flight/modules/Actuator/actuator.c @@ -147,11 +147,9 @@ int32_t ActuatorStart() int32_t ActuatorInitialize() { // Register for notification of changes to ActuatorSettings - ActuatorSettingsInitialize(); ActuatorSettingsConnectCallback(ActuatorSettingsUpdatedCb); // Register for notification of changes to MixerSettings - MixerSettingsInitialize(); MixerSettingsConnectCallback(MixerSettingsUpdatedCb); // Listen for ActuatorDesired updates (Primary input to this module) @@ -164,7 +162,6 @@ int32_t ActuatorInitialize() // Check if CameraStab module is enabled HwSettingsOptionalModulesData optionalModules; - HwSettingsInitialize(); HwSettingsOptionalModulesGet(&optionalModules); camStabEnabled = (optionalModules.CameraStab == HWSETTINGS_OPTIONALMODULES_ENABLED); camControlEnabled = (optionalModules.CameraControl == HWSETTINGS_OPTIONALMODULES_ENABLED); @@ -177,10 +174,8 @@ int32_t ActuatorInitialize() #endif #ifndef PIOS_EXCLUDE_ADVANCED_FEATURES - VtolPathFollowerSettingsInitialize(); VtolPathFollowerSettingsConnectCallback(&SettingsUpdatedCb); #endif - SystemSettingsInitialize(); SystemSettingsConnectCallback(&SettingsUpdatedCb); return 0; diff --git a/flight/modules/Airspeed/airspeed.c b/flight/modules/Airspeed/airspeed.c index e92c97c2f..d8326207d 100644 --- a/flight/modules/Airspeed/airspeed.c +++ b/flight/modules/Airspeed/airspeed.c @@ -97,7 +97,6 @@ int32_t AirspeedInitialize() airspeedEnabled = true; #else - HwSettingsInitialize(); HwSettingsOptionalModulesOptions optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesArrayGet(optionalModules); @@ -121,7 +120,6 @@ int32_t AirspeedInitialize() } AirspeedSensorInitialize(); - AirspeedSettingsInitialize(); AirspeedSettingsConnectCallback(AirspeedSettingsUpdatedCb); diff --git a/flight/modules/Altitude/altitude.c b/flight/modules/Altitude/altitude.c index 5514763f4..8a5cc5611 100644 --- a/flight/modules/Altitude/altitude.c +++ b/flight/modules/Altitude/altitude.c @@ -103,7 +103,6 @@ int32_t AltitudeInitialize() #ifdef MODULE_ALTITUDE_BUILTIN altitudeEnabled = 1; #else - HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesGet(optionalModules); if (optionalModules[HWSETTINGS_OPTIONALMODULES_ALTITUDE] == HWSETTINGS_OPTIONALMODULES_ENABLED) { diff --git a/flight/modules/Attitude/attitude.c b/flight/modules/Attitude/attitude.c index beed0308f..8a9719efc 100644 --- a/flight/modules/Attitude/attitude.c +++ b/flight/modules/Attitude/attitude.c @@ -197,8 +197,6 @@ int32_t AttitudeStart(void) int32_t AttitudeInitialize(void) { AttitudeStateInitialize(); - AttitudeSettingsInitialize(); - AccelGyroSettingsInitialize(); AccelStateInitialize(); GyroStateInitialize(); diff --git a/flight/modules/AutoTune/autotune.c b/flight/modules/AutoTune/autotune.c index f118cafe4..ca08e11da 100644 --- a/flight/modules/AutoTune/autotune.c +++ b/flight/modules/AutoTune/autotune.c @@ -164,15 +164,9 @@ static void UpdateStabilizationDesired(bool doingIdent); */ int32_t AutoTuneInitialize(void) { - // do this here since module can become disabled for several reasons - // even for MODULE_AutoTune_BUILTIN - FlightModeSettingsInitialize(); - #if defined(MODULE_AutoTune_BUILTIN) moduleEnabled = true; #else - // HwSettings is only used right here, so init here - HwSettingsInitialize(); HwSettingsOptionalModulesData optionalModules; HwSettingsOptionalModulesGet(&optionalModules); if (optionalModules.AutoTune == HWSETTINGS_OPTIONALMODULES_ENABLED) { @@ -195,10 +189,6 @@ int32_t AutoTuneInitialize(void) GyroStateInitialize(); ManualControlCommandInitialize(); StabilizationBankInitialize(); - StabilizationSettingsBank1Initialize(); - StabilizationSettingsBank2Initialize(); - StabilizationSettingsBank3Initialize(); - SystemIdentSettingsInitialize(); SystemIdentStateInitialize(); atQueue = xQueueCreate(AT_QUEUE_NUMELEM, sizeof(struct at_queued_data)); diff --git a/flight/modules/Battery/battery.c b/flight/modules/Battery/battery.c index d13acf630..dcdf45def 100644 --- a/flight/modules/Battery/battery.c +++ b/flight/modules/Battery/battery.c @@ -95,7 +95,6 @@ int32_t BatteryInitialize(void) #ifdef MODULE_BATTERY_BUILTIN batteryEnabled = true; #else - HwSettingsInitialize(); HwSettingsOptionalModulesData optionalModules; HwSettingsOptionalModulesGet(&optionalModules); @@ -127,7 +126,6 @@ int32_t BatteryInitialize(void) // Start module if (batteryEnabled) { FlightBatteryStateInitialize(); - FlightBatterySettingsInitialize(); SystemStatsInitialize(); static UAVObjEvent ev; diff --git a/flight/modules/CameraControl/cameracontrol.c b/flight/modules/CameraControl/cameracontrol.c index 7fb487303..27f2cfa90 100644 --- a/flight/modules/CameraControl/cameracontrol.c +++ b/flight/modules/CameraControl/cameracontrol.c @@ -90,7 +90,6 @@ static void FillActivityInfo(); int32_t CameraControlInitialize(void) { ccd = 0; - HwSettingsInitialize(); HwSettingsOptionalModulesData modules; HwSettingsOptionalModulesGet(&modules); if (modules.CameraControl == HWSETTINGS_OPTIONALMODULES_ENABLED) { @@ -99,9 +98,7 @@ int32_t CameraControlInitialize(void) ccd->callbackHandle = PIOS_CALLBACKSCHEDULER_Create(&CameraControlTask, CALLBACK_PRIORITY, CBTASK_PRIORITY, CALLBACKINFO_RUNNING_CAMERACONTROL, STACK_SIZE_BYTES); CameraControlActivityInitialize(); CameraDesiredInitialize(); - CameraControlSettingsInitialize(); CameraControlSettingsConnectCallback(SettingsUpdateCb); - HomeLocationInitialize(); HomeLocationConnectCallback(HomeLocationUpdateCb); GPSTimeInitialize(); PositionStateInitialize(); diff --git a/flight/modules/CameraStab/camerastab.c b/flight/modules/CameraStab/camerastab.c index 27ba36d28..29c84c6ff 100644 --- a/flight/modules/CameraStab/camerastab.c +++ b/flight/modules/CameraStab/camerastab.c @@ -97,7 +97,6 @@ int32_t CameraStabInitialize(void) #else HwSettingsOptionalModulesData optionalModules; - HwSettingsInitialize(); HwSettingsOptionalModulesGet(&optionalModules); if (optionalModules.CameraStab == HWSETTINGS_OPTIONALMODULES_ENABLED) { @@ -119,7 +118,6 @@ int32_t CameraStabInitialize(void) csd->lastSysTime = xTaskGetTickCount(); AttitudeStateInitialize(); - CameraStabSettingsInitialize(); CameraDesiredInitialize(); UAVObjEvent ev = { diff --git a/flight/modules/Extensions/MagBaro/magbaro.c b/flight/modules/Extensions/MagBaro/magbaro.c index 73e2a37db..a8a93d4df 100644 --- a/flight/modules/Extensions/MagBaro/magbaro.c +++ b/flight/modules/Extensions/MagBaro/magbaro.c @@ -98,7 +98,6 @@ int32_t MagBaroInitialize() #ifdef MODULE_MAGBARO_BUILTIN magbaroEnabled = 1; #else - HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesGet(optionalModules); if (optionalModules[HWSETTINGS_OPTIONALMODULES_MAGBARO] == HWSETTINGS_OPTIONALMODULES_ENABLED) { diff --git a/flight/modules/Fault/Fault.c b/flight/modules/Fault/Fault.c index 42faa781f..7eb7801bf 100644 --- a/flight/modules/Fault/Fault.c +++ b/flight/modules/Fault/Fault.c @@ -43,7 +43,6 @@ static int32_t fault_initialize(void) #ifdef MODULE_FAULT_BUILTIN module_enabled = true; #else - HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesGet(optionalModules); @@ -61,7 +60,6 @@ static int32_t fault_initialize(void) * we've booted in BootFault recovery mode with all optional * modules disabled. */ - FaultSettingsInitialize(); if (module_enabled) { FaultSettingsActivateFaultGet(&active_fault); diff --git a/flight/modules/FlightPlan/flightplan.c b/flight/modules/FlightPlan/flightplan.c index b53b76ec9..94c72f1f9 100644 --- a/flight/modules/FlightPlan/flightplan.c +++ b/flight/modules/FlightPlan/flightplan.c @@ -79,7 +79,6 @@ int32_t FlightPlanInitialize() FlightPlanStatusInitialize(); FlightPlanControlInitialize(); - FlightPlanSettingsInitialize(); // Listen for object updates FlightPlanControlConnectCallback(&objectUpdatedCb); diff --git a/flight/modules/GPS/GPS.c b/flight/modules/GPS/GPS.c index 71080f97d..c81da4c71 100644 --- a/flight/modules/GPS/GPS.c +++ b/flight/modules/GPS/GPS.c @@ -196,7 +196,6 @@ int32_t GPSStart(void) int32_t GPSInitialize(void) { - HwSettingsInitialize(); #ifdef MODULE_GPS_BUILTIN gpsEnabled = true; #else @@ -219,17 +218,14 @@ int32_t GPSInitialize(void) GPSVelocitySensorInitialize(); GPSTimeInitialize(); GPSSatellitesInitialize(); - HomeLocationInitialize(); #if defined(ANY_FULL_MAG_PARSER) AuxMagSensorInitialize(); - AuxMagSettingsInitialize(); GPSExtendedStatusInitialize(); // Initialize mag parameters AuxMagSettingsUpdatedCb(NULL); AuxMagSettingsConnectCallback(AuxMagSettingsUpdatedCb); #endif - GPSSettingsInitialize(); // updateHwSettings() uses gpsSettings GPSSettingsGet(&gpsSettings); // must updateHwSettings() before updateGpsSettings() so baud rate is set before GPS serial code starts running @@ -242,10 +238,6 @@ int32_t GPSInitialize(void) GPSTimeInitialize(); GPSSatellitesInitialize(); #endif -#if defined(PIOS_GPS_SETS_HOMELOCATION) - HomeLocationInitialize(); -#endif - GPSSettingsInitialize(); // updateHwSettings() uses gpsSettings GPSSettingsGet(&gpsSettings); // must updateHwSettings() before updateGpsSettings() so baud rate is set before GPS serial code starts running diff --git a/flight/modules/Logging/Logging.c b/flight/modules/Logging/Logging.c index 7529420d2..09e1860b1 100644 --- a/flight/modules/Logging/Logging.c +++ b/flight/modules/Logging/Logging.c @@ -52,7 +52,6 @@ static void FlightStatusUpdatedCb(UAVObjEvent *ev); int32_t LoggingInitialize(void) { - DebugLogSettingsInitialize(); DebugLogControlInitialize(); DebugLogStatusInitialize(); DebugLogEntryInitialize(); diff --git a/flight/modules/ManualControl/manualcontrol.c b/flight/modules/ManualControl/manualcontrol.c index 81c40eb9f..4e89f10e4 100644 --- a/flight/modules/ManualControl/manualcontrol.c +++ b/flight/modules/ManualControl/manualcontrol.c @@ -167,15 +167,10 @@ int32_t ManualControlInitialize() ManualControlCommandInitialize(); FlightStatusInitialize(); - ManualControlSettingsInitialize(); - FlightModeSettingsInitialize(); - SystemSettingsInitialize(); - StabilizationSettingsInitialize(); AccessoryDesiredInitialize(); #ifndef PIOS_EXCLUDE_ADVANCED_FEATURES SystemAlarmsInitialize(); VtolSelfTuningStatsInitialize(); - VtolPathFollowerSettingsInitialize(); VtolPathFollowerSettingsConnectCallback(&SettingsUpdatedCb); SystemSettingsConnectCallback(&SettingsUpdatedCb); #endif /* ifndef PIOS_EXCLUDE_ADVANCED_FEATURES */ diff --git a/flight/modules/ManualControl/takeofflocationhandler.c b/flight/modules/ManualControl/takeofflocationhandler.c index 93332f2b1..90ed43ce2 100644 --- a/flight/modules/ManualControl/takeofflocationhandler.c +++ b/flight/modules/ManualControl/takeofflocationhandler.c @@ -40,10 +40,10 @@ static void SetTakeOffLocation(); void takeOffLocationHandlerInit() { - TakeOffLocationInitialize(); // check whether there is a preset/valid takeoff location TakeOffLocationModeOptions mode; TakeOffLocationStatusOptions status; + TakeOffLocationModeGet(&mode); TakeOffLocationStatusGet(&status); // preset with invalid location will actually behave like FirstTakeoff diff --git a/flight/modules/Osd/osdgen/osdgen.c b/flight/modules/Osd/osdgen/osdgen.c index fd8e8e67d..65dbdbe05 100644 --- a/flight/modules/Osd/osdgen/osdgen.c +++ b/flight/modules/Osd/osdgen/osdgen.c @@ -2426,11 +2426,7 @@ int32_t osdgenInitialize(void) GPSTimeInitialize(); GPSSatellitesInitialize(); #endif -#ifdef PIOS_GPS_SETS_HOMELOCATION - HomeLocationInitialize(); #endif -#endif - OsdSettingsInitialize(); BaroSensorInitialize(); FlightStatusInitialize(); diff --git a/flight/modules/Osd/osdoutput/osdoutput.c b/flight/modules/Osd/osdoutput/osdoutput.c index f600aa148..76de3d5f8 100644 --- a/flight/modules/Osd/osdoutput/osdoutput.c +++ b/flight/modules/Osd/osdoutput/osdoutput.c @@ -277,7 +277,6 @@ static int32_t osdoutputInitialize(void) #ifdef MODULE_OSDOUTPUT_BUILTIN osdoutputEnabled = 1; #else - HwSettingsInitialize(); HwSettingsOptionalModulesData optionalModules; HwSettingsOptionalModulesGet(&optionalModules); if (optionalModules.OsdHk == HWSETTINGS_OPTIONALMODULES_ENABLED) { diff --git a/flight/modules/OveroSync/overosync.c b/flight/modules/OveroSync/overosync.c index 38e0be1c3..ed55207f5 100644 --- a/flight/modules/OveroSync/overosync.c +++ b/flight/modules/OveroSync/overosync.c @@ -81,7 +81,6 @@ int32_t OveroSyncInitialize(void) overoEnabled = true; #else - HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesGet(optionalModules); diff --git a/flight/modules/PathFollower/pathfollower.cpp b/flight/modules/PathFollower/pathfollower.cpp index 562b2e9b3..d76c49715 100644 --- a/flight/modules/PathFollower/pathfollower.cpp +++ b/flight/modules/PathFollower/pathfollower.cpp @@ -154,12 +154,8 @@ extern "C" int32_t PathFollowerStart() extern "C" int32_t PathFollowerInitialize() { // initialize objects - GroundPathFollowerSettingsInitialize(); - FixedWingPathFollowerSettingsInitialize(); FixedWingPathFollowerStatusInitialize(); - VtolPathFollowerSettingsInitialize(); FlightStatusInitialize(); - FlightModeSettingsInitialize(); PathStatusInitialize(); PathSummaryInitialize(); PathDesiredInitialize(); @@ -169,10 +165,8 @@ extern "C" int32_t PathFollowerInitialize() StabilizationDesiredInitialize(); AirspeedStateInitialize(); AttitudeStateInitialize(); - TakeOffLocationInitialize(); PoiLocationInitialize(); ManualControlCommandInitialize(); - SystemSettingsInitialize(); StabilizationBankInitialize(); VtolSelfTuningStatsInitialize(); PIDStatusInitialize(); @@ -181,7 +175,6 @@ extern "C" int32_t PathFollowerInitialize() StatusVtolAutoTakeoffInitialize(); // VtolLandFSM additional objects - HomeLocationInitialize(); AccelStateInitialize(); // Init references to controllers diff --git a/flight/modules/Receiver/receiver.c b/flight/modules/Receiver/receiver.c index 5be8e7060..8b5643c5b 100644 --- a/flight/modules/Receiver/receiver.c +++ b/flight/modules/Receiver/receiver.c @@ -151,13 +151,9 @@ int32_t ReceiverInitialize() ManualControlCommandInitialize(); ReceiverActivityInitialize(); ReceiverStatusInitialize(); - ManualControlSettingsInitialize(); #ifndef PIOS_EXCLUDE_ADVANCED_FEATURES - StabilizationSettingsInitialize(); - VtolPathFollowerSettingsInitialize(); VtolPathFollowerSettingsConnectCallback(&SettingsUpdatedCb); #endif - SystemSettingsInitialize(); SystemSettingsConnectCallback(&SettingsUpdatedCb); diff --git a/flight/modules/Sensors/sensors.c b/flight/modules/Sensors/sensors.c index 3f9cfffd6..2d16307e4 100644 --- a/flight/modules/Sensors/sensors.c +++ b/flight/modules/Sensors/sensors.c @@ -210,14 +210,9 @@ int32_t SensorsInitialize(void) AccelSensorInitialize(); MagSensorInitialize(); BaroSensorInitialize(); - RevoCalibrationInitialize(); - RevoSettingsInitialize(); - AttitudeSettingsInitialize(); - AccelGyroSettingsInitialize(); #if defined(PIOS_INCLUDE_HMC5X83) // for auxmagsupport.c helpers - AuxMagSettingsInitialize(); AuxMagSensorInitialize(); #endif diff --git a/flight/modules/Sensors/simulated/Sensors/sensors.c b/flight/modules/Sensors/simulated/Sensors/sensors.c index 0e583f016..3cbc855b2 100644 --- a/flight/modules/Sensors/simulated/Sensors/sensors.c +++ b/flight/modules/Sensors/simulated/Sensors/sensors.c @@ -115,7 +115,6 @@ int32_t SensorsInitialize(void) GPSPositionSensorInitialize(); GPSVelocitySensorInitialize(); MagSensorInitialize(); - RevoCalibrationInitialize(); return 0; } diff --git a/flight/modules/Stabilization/altitudeloop.cpp b/flight/modules/Stabilization/altitudeloop.cpp index 1b4396206..69f40d34b 100644 --- a/flight/modules/Stabilization/altitudeloop.cpp +++ b/flight/modules/Stabilization/altitudeloop.cpp @@ -191,7 +191,6 @@ static void VelocityStateUpdatedCb(__attribute__((unused)) UAVObjEvent *ev) */ void stabilizationAltitudeloopInit() { - AltitudeHoldSettingsInitialize(); AltitudeHoldStatusInitialize(); PositionStateInitialize(); VelocityStateInitialize(); diff --git a/flight/modules/Stabilization/stabilization.c b/flight/modules/Stabilization/stabilization.c index 3ec1d09b8..ac667f599 100644 --- a/flight/modules/Stabilization/stabilization.c +++ b/flight/modules/Stabilization/stabilization.c @@ -95,12 +95,8 @@ int32_t StabilizationInitialize() { // Initialize variables StabilizationDesiredInitialize(); - StabilizationSettingsInitialize(); StabilizationStatusInitialize(); StabilizationBankInitialize(); - StabilizationSettingsBank1Initialize(); - StabilizationSettingsBank2Initialize(); - StabilizationSettingsBank3Initialize(); RateDesiredInitialize(); ManualControlCommandInitialize(); // only used for PID bank selection based on flight mode switch sin_lookup_initalize(); diff --git a/flight/modules/StateEstimation/filteraltitude.c b/flight/modules/StateEstimation/filteraltitude.c index a20a1be53..3ea68e397 100644 --- a/flight/modules/StateEstimation/filteraltitude.c +++ b/flight/modules/StateEstimation/filteraltitude.c @@ -83,11 +83,9 @@ int32_t filterAltitudeInitialize(stateFilter *handle) handle->init = &init; handle->filter = &filter; handle->localdata = pios_malloc(sizeof(struct data)); - HomeLocationInitialize(); AttitudeStateInitialize(); - AltitudeFilterSettingsInitialize(); AltitudeFilterSettingsConnectCallback(&settingsUpdatedCb); - reloadSettings = true; + reloadSettings = true; return STACK_REQUIRED; } diff --git a/flight/modules/StateEstimation/filterbaro.c b/flight/modules/StateEstimation/filterbaro.c index 1a804649b..bb1150b34 100644 --- a/flight/modules/StateEstimation/filterbaro.c +++ b/flight/modules/StateEstimation/filterbaro.c @@ -99,7 +99,6 @@ static int32_t maininit(stateFilter *self) this->gpsAlt = 0.0f; this->first_run = INIT_CYCLES; - RevoSettingsInitialize(); RevoSettingsBaroGPSOffsetCorrectionAlphaGet(&this->baroGPSOffsetCorrectionAlpha); return 0; diff --git a/flight/modules/StateEstimation/filtercf.c b/flight/modules/StateEstimation/filtercf.c index e72243762..1bad774d0 100644 --- a/flight/modules/StateEstimation/filtercf.c +++ b/flight/modules/StateEstimation/filtercf.c @@ -104,8 +104,6 @@ static void globalInit(void) if (!initialized) { initialized = 1; FlightStatusInitialize(); - HomeLocationInitialize(); - RevoCalibrationInitialize(); FlightStatusConnectCallback(&flightStatusUpdatedCb); flightStatusUpdatedCb(NULL); } diff --git a/flight/modules/StateEstimation/filterekf.c b/flight/modules/StateEstimation/filterekf.c index 25d463013..927b614f4 100644 --- a/flight/modules/StateEstimation/filterekf.c +++ b/flight/modules/StateEstimation/filterekf.c @@ -93,9 +93,7 @@ static int32_t globalInit(stateFilter *handle, bool usePos, bool navOnly) struct data *this = (struct data *)handle->localdata; this->usePos = usePos; this->navOnly = navOnly; - EKFConfigurationInitialize(); EKFStateVarianceInitialize(); - HomeLocationInitialize(); return STACK_REQUIRED; } diff --git a/flight/modules/StateEstimation/filterlla.c b/flight/modules/StateEstimation/filterlla.c index e0f6c4c35..ca1619dd1 100644 --- a/flight/modules/StateEstimation/filterlla.c +++ b/flight/modules/StateEstimation/filterlla.c @@ -61,9 +61,7 @@ int32_t filterLLAInitialize(stateFilter *handle) handle->init = &init; handle->filter = &filter; handle->localdata = pios_malloc(sizeof(struct data)); - GPSSettingsInitialize(); GPSPositionSensorInitialize(); - HomeLocationInitialize(); return STACK_REQUIRED; } diff --git a/flight/modules/StateEstimation/filtermag.c b/flight/modules/StateEstimation/filtermag.c index 4fa5afa5c..299af3d30 100644 --- a/flight/modules/StateEstimation/filtermag.c +++ b/flight/modules/StateEstimation/filtermag.c @@ -72,7 +72,6 @@ int32_t filterMagInitialize(stateFilter *handle) handle->init = &init; handle->filter = &filter; handle->localdata = pios_malloc(sizeof(struct data)); - HomeLocationInitialize(); return STACK_REQUIRED; } diff --git a/flight/modules/StateEstimation/filtervelocity.c b/flight/modules/StateEstimation/filtervelocity.c index ec6e29867..618bed909 100644 --- a/flight/modules/StateEstimation/filtervelocity.c +++ b/flight/modules/StateEstimation/filtervelocity.c @@ -83,7 +83,6 @@ static int32_t init(stateFilter *self) this->oldPos[2] = 0.0f; this->inited = 0; - RevoSettingsInitialize(); RevoSettingsVelocityPostProcessingLowPassAlphaGet(&this->alpha); PIOS_DELTATIME_Init(&this->dtconfig, DT_INIT, DT_MIN, DT_MAX, DT_ALPHA); diff --git a/flight/modules/StateEstimation/stateestimation.c b/flight/modules/StateEstimation/stateestimation.c index 5088b364a..a8fbd8665 100644 --- a/flight/modules/StateEstimation/stateestimation.c +++ b/flight/modules/StateEstimation/stateestimation.c @@ -326,8 +326,6 @@ static inline int32_t maxint32_t(int32_t a, int32_t b) */ int32_t StateEstimationInitialize(void) { - RevoSettingsInitialize(); - GyroSensorInitialize(); MagSensorInitialize(); AuxMagSensorInitialize(); @@ -336,15 +334,12 @@ int32_t StateEstimationInitialize(void) GPSVelocitySensorInitialize(); GPSPositionSensorInitialize(); - HomeLocationInitialize(); - GyroStateInitialize(); AccelStateInitialize(); MagStateInitialize(); AirspeedStateInitialize(); PositionStateInitialize(); VelocityStateInitialize(); - AuxMagSettingsInitialize(); RevoSettingsConnectCallback(&settingsUpdatedCb); diff --git a/flight/modules/System/systemmod.c b/flight/modules/System/systemmod.c index 9f1aa728f..144bab00b 100644 --- a/flight/modules/System/systemmod.c +++ b/flight/modules/System/systemmod.c @@ -159,7 +159,6 @@ int32_t SystemModStart(void) int32_t SystemModInitialize(void) { // Must registers objects here for system thread because ObjectManager started in OpenPilotInit - SystemSettingsInitialize(); SystemStatsInitialize(); FlightStatusInitialize(); ObjectPersistenceInitialize(); diff --git a/flight/modules/Telemetry/telemetry.c b/flight/modules/Telemetry/telemetry.c index 67d2e770f..0a30f5568 100644 --- a/flight/modules/Telemetry/telemetry.c +++ b/flight/modules/Telemetry/telemetry.c @@ -267,10 +267,7 @@ void TelemetryInitializeChannel(channelContext *channel) */ int32_t TelemetryInitialize(void) { - HwSettingsInitialize(); - #ifdef PIOS_INCLUDE_RFM22B - OPLinkSettingsInitialize(); OPLinkSettingsData data; OPLinkSettingsGet(&data); diff --git a/flight/modules/TxPID/txpid.c b/flight/modules/TxPID/txpid.c index 8452727c2..dd53eda14 100644 --- a/flight/modules/TxPID/txpid.c +++ b/flight/modules/TxPID/txpid.c @@ -102,11 +102,6 @@ int32_t TxPIDInitialize(void) bool txPIDEnabled; HwSettingsOptionalModulesData optionalModules; -#ifdef REVOLUTION - AltitudeHoldSettingsInitialize(); -#endif - - HwSettingsInitialize(); HwSettingsOptionalModulesGet(&optionalModules); if (optionalModules.TxPID == HWSETTINGS_OPTIONALMODULES_ENABLED) { @@ -116,7 +111,6 @@ int32_t TxPIDInitialize(void) } if (txPIDEnabled) { - TxPIDSettingsInitialize(); TxPIDStatusInitialize(); AccessoryDesiredInitialize(); @@ -136,14 +130,12 @@ int32_t TxPIDInitialize(void) // StabilizationSettings update rate permanently. Use Metadata via // browser to reset to defaults (telemetryAcked=true, OnChange). UAVObjMetadata metadata; - StabilizationSettingsInitialize(); StabilizationSettingsGetMetadata(&metadata); metadata.telemetryAcked = 0; metadata.telemetryUpdateMode = UPDATEMODE_PERIODIC; metadata.telemetryUpdatePeriod = TELEMETRY_UPDATE_PERIOD_MS; StabilizationSettingsSetMetadata(&metadata); - AttitudeSettingsInitialize(); AttitudeSettingsGetMetadata(&metadata); metadata.telemetryAcked = 0; metadata.telemetryUpdateMode = UPDATEMODE_PERIODIC; diff --git a/flight/modules/UAVOHottBridge/uavohottbridge.c b/flight/modules/UAVOHottBridge/uavohottbridge.c index e5164217d..b3bb55b5b 100644 --- a/flight/modules/UAVOHottBridge/uavohottbridge.c +++ b/flight/modules/UAVOHottBridge/uavohottbridge.c @@ -125,7 +125,6 @@ static int32_t uavoHoTTBridgeInitialize(void) PIOS_COM_ChangeBaud(PIOS_COM_HOTT, 19200); bool param = true; PIOS_COM_Ioctl(PIOS_COM_HOTT, PIOS_IOCTL_USART_SET_HALFDUPLEX, ¶m); - HoTTBridgeSettingsInitialize(); HoTTBridgeStatusInitialize(); // allocate memory for telemetry data diff --git a/flight/pios/common/pios_board_io.c b/flight/pios/common/pios_board_io.c index 61fcfc7d0..2e447e15b 100644 --- a/flight/pios/common/pios_board_io.c +++ b/flight/pios/common/pios_board_io.c @@ -565,7 +565,6 @@ void PIOS_BOARD_IO_Configure_OPLink_RCVR() void PIOS_BOARD_IO_Configure_RFM22B() { #if defined(PIOS_INCLUDE_RFM22B) - OPLinkSettingsInitialize(); OPLinkStatusInitialize(); #endif /* PIOS_INCLUDE_RFM22B */ #if defined(PIOS_INCLUDE_OPLINKRCVR) && defined(PIOS_INCLUDE_RCVR) diff --git a/flight/pios/common/pios_board_sensors.c b/flight/pios/common/pios_board_sensors.c index 0cb743896..1357c1798 100644 --- a/flight/pios/common/pios_board_sensors.c +++ b/flight/pios/common/pios_board_sensors.c @@ -147,7 +147,6 @@ void PIOS_BOARD_Sensors_Configure() # endif /* PIOS_INCLUDE_HMC5X83_INTERNAL */ # ifdef PIOS_INCLUDE_HMC5X83 - AuxMagSettingsInitialize(); AuxMagSettingsTypeOptions option; AuxMagSettingsTypeGet(&option); diff --git a/flight/pios/common/pios_openlrs.c b/flight/pios/common/pios_openlrs.c index 334c07bec..c9c4038e6 100644 --- a/flight/pios/common/pios_openlrs.c +++ b/flight/pios/common/pios_openlrs.c @@ -1156,7 +1156,6 @@ int32_t PIOS_OpenLRS_Init(uint32_t *openlrs_id, uint32_t spi_id, openlrs_dev->ppm_callback = 0; - OPLinkSettingsInitialize(); OPLinkStatusInitialize(); DEBUG_PRINTF(2, "OpenLRS UAVOs Initialized\r\n"); OPLinkSettingsData binding; diff --git a/flight/pios/inc/pios_initcall.h b/flight/pios/inc/pios_initcall.h index f98b5b628..3425b6ec0 100644 --- a/flight/pios/inc/pios_initcall.h +++ b/flight/pios/inc/pios_initcall.h @@ -52,6 +52,10 @@ typedef struct { /* Init module section */ extern initmodule_t __module_initcall_start[], __module_initcall_end[]; extern volatile int initTaskDone; + +/* Init settings section */ +extern initcall_t __settings_initcall_start[], __settings_initcall_end[]; + #ifdef USE_SIM_POSIX extern void InitModules(); @@ -60,6 +64,8 @@ extern int32_t SystemModInitialize(void); #define MODULE_INITCALL(ifn, sfn) +#define SETTINGS_INITCALL(fn) + #define MODULE_TASKCREATE_ALL \ { \ /* Start all module threads */ \ @@ -92,8 +98,15 @@ extern int32_t SystemModInitialize(void); static initmodule_t __initcall_##ifn __attribute__((__used__)) \ __attribute__((__section__(".initcall" level ".init"))) = { .fn_minit = ifn, .fn_tinit = sfn } +#define __define_settings_initcall(level, fn) \ + static initcall_t __initcall_##fn __attribute__((__used__)) \ + __attribute__((__section__(".initcall" level ".init"))) = fn + + #define MODULE_INITCALL(ifn, sfn) __define_module_initcall("module", ifn, sfn) +#define SETTINGS_INITCALL(fn) __define_settings_initcall("settings", fn) + #define MODULE_INITIALISE_ALL \ { for (initmodule_t *fn = __module_initcall_start; fn < __module_initcall_end; fn++) { \ if (fn->fn_minit) { \ @@ -111,6 +124,14 @@ extern int32_t SystemModInitialize(void); } \ } +#define SETTINGS_INITIALISE_ALL \ + { for (const initcall_t *fn = __settings_initcall_start; fn < __settings_initcall_end; fn++) { \ + if (*fn) { \ + (*fn)(); \ + } \ + } \ + } + #endif /* USE_SIM_POSIX */ #endif /* PIOS_INITCALL_H */ diff --git a/flight/pios/inc/pios_mpu6000_config.h b/flight/pios/inc/pios_mpu6000_config.h index 0c9e0ffb1..96270847a 100644 --- a/flight/pios/inc/pios_mpu6000_config.h +++ b/flight/pios/inc/pios_mpu6000_config.h @@ -61,8 +61,8 @@ */ int32_t PIOS_MPU6000_CONFIG_Configure() { - MPUGyroAccelSettingsInitialize(); MPUGyroAccelSettingsData mpuSettings; + MPUGyroAccelSettingsGet(&mpuSettings); return PIOS_MPU6000_ConfigureRanges( PIOS_MPU6000_CONFIG_MAP_GYROSCALE(mpuSettings.GyroScale), diff --git a/flight/pios/inc/pios_mpu9250_config.h b/flight/pios/inc/pios_mpu9250_config.h index fff4868cf..ef20edd58 100644 --- a/flight/pios/inc/pios_mpu9250_config.h +++ b/flight/pios/inc/pios_mpu9250_config.h @@ -61,8 +61,8 @@ */ int32_t PIOS_MPU9250_CONFIG_Configure() { - MPUGyroAccelSettingsInitialize(); MPUGyroAccelSettingsData mpuSettings; + MPUGyroAccelSettingsGet(&mpuSettings); return PIOS_MPU9250_ConfigureRanges( PIOS_MPU9250_CONFIG_MAP_GYROSCALE(mpuSettings.GyroScale), diff --git a/flight/pios/stm32f0x/link_STM3205x_GPSP_sections.ld b/flight/pios/stm32f0x/link_STM3205x_GPSP_sections.ld index a526ca785..5e217c838 100644 --- a/flight/pios/stm32f0x/link_STM3205x_GPSP_sections.ld +++ b/flight/pios/stm32f0x/link_STM3205x_GPSP_sections.ld @@ -37,6 +37,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/flight/pios/stm32f10x/link_STM32103CB_CC_Rev1_sections.ld b/flight/pios/stm32f10x/link_STM32103CB_CC_Rev1_sections.ld index f3c6b468f..eb93b0e54 100644 --- a/flight/pios/stm32f10x/link_STM32103CB_CC_Rev1_sections.ld +++ b/flight/pios/stm32f10x/link_STM32103CB_CC_Rev1_sections.ld @@ -32,6 +32,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/flight/pios/stm32f10x/link_STM32103CB_OPLINKMINI_sections.ld b/flight/pios/stm32f10x/link_STM32103CB_OPLINKMINI_sections.ld index 7f87323a0..bddc31471 100644 --- a/flight/pios/stm32f10x/link_STM32103CB_OPLINKMINI_sections.ld +++ b/flight/pios/stm32f10x/link_STM32103CB_OPLINKMINI_sections.ld @@ -32,6 +32,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/flight/pios/stm32f30x/link_sections.lds b/flight/pios/stm32f30x/link_sections.lds index 6f938d8f9..50480fe37 100644 --- a/flight/pios/stm32f30x/link_sections.lds +++ b/flight/pios/stm32f30x/link_sections.lds @@ -39,6 +39,15 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH /* * C++ exception handling. diff --git a/flight/pios/stm32f4xx/link_STM32F4xx_DI_sections.ld b/flight/pios/stm32f4xx/link_STM32F4xx_DI_sections.ld index 99a3f509f..6cd23f430 100644 --- a/flight/pios/stm32f4xx/link_STM32F4xx_DI_sections.ld +++ b/flight/pios/stm32f4xx/link_STM32F4xx_DI_sections.ld @@ -39,6 +39,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + /* * C++ exception handling. */ diff --git a/flight/pios/stm32f4xx/link_STM32F4xx_OSD_sections.ld b/flight/pios/stm32f4xx/link_STM32F4xx_OSD_sections.ld index 99a3f509f..b46c691c8 100644 --- a/flight/pios/stm32f4xx/link_STM32F4xx_OSD_sections.ld +++ b/flight/pios/stm32f4xx/link_STM32F4xx_OSD_sections.ld @@ -39,6 +39,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + /* * C++ exception handling. */ diff --git a/flight/pios/stm32f4xx/link_STM32F4xx_RM_sections.ld b/flight/pios/stm32f4xx/link_STM32F4xx_RM_sections.ld index 99a3f509f..b46c691c8 100644 --- a/flight/pios/stm32f4xx/link_STM32F4xx_RM_sections.ld +++ b/flight/pios/stm32f4xx/link_STM32F4xx_RM_sections.ld @@ -39,6 +39,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + /* * C++ exception handling. */ diff --git a/flight/pios/stm32f4xx/link_STM32F4xx_RN_sections.ld b/flight/pios/stm32f4xx/link_STM32F4xx_RN_sections.ld index b728c80f1..2462187f7 100644 --- a/flight/pios/stm32f4xx/link_STM32F4xx_RN_sections.ld +++ b/flight/pios/stm32f4xx/link_STM32F4xx_RN_sections.ld @@ -39,6 +39,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + /* * C++ exception handling. */ diff --git a/flight/pios/stm32f4xx/link_STM32F4xx_RP_sections.ld b/flight/pios/stm32f4xx/link_STM32F4xx_RP_sections.ld index 99a3f509f..6cd23f430 100644 --- a/flight/pios/stm32f4xx/link_STM32F4xx_RP_sections.ld +++ b/flight/pios/stm32f4xx/link_STM32F4xx_RP_sections.ld @@ -39,6 +39,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + /* * C++ exception handling. */ diff --git a/flight/pios/stm32f4xx/link_STM32F4xx_RQ_sections.ld b/flight/pios/stm32f4xx/link_STM32F4xx_RQ_sections.ld index 41644bacb..e6baf2d50 100644 --- a/flight/pios/stm32f4xx/link_STM32F4xx_RQ_sections.ld +++ b/flight/pios/stm32f4xx/link_STM32F4xx_RQ_sections.ld @@ -39,6 +39,16 @@ SECTIONS __module_initcall_end = .; } >FLASH + /* settings init sections */ + .initcallsettings.init : + { + . = ALIGN(4); + __settings_initcall_start = .; + KEEP(*(.initcallsettings.init)) + . = ALIGN(4); + __settings_initcall_end = .; + } >FLASH + /* * C++ exception handling. */ diff --git a/flight/targets/boards/ccf3d/firmware/UAVObjects.inc b/flight/targets/boards/ccf3d/firmware/UAVObjects.inc index 22e9cb2a7..21dcd0936 100644 --- a/flight/targets/boards/ccf3d/firmware/UAVObjects.inc +++ b/flight/targets/boards/ccf3d/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/ccf3d/firmware/pios_board.c b/flight/targets/boards/ccf3d/firmware/pios_board.c index 73a7d6004..cdb980073 100644 --- a/flight/targets/boards/ccf3d/firmware/pios_board.c +++ b/flight/targets/boards/ccf3d/firmware/pios_board.c @@ -107,6 +107,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -123,8 +124,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ @@ -285,7 +284,6 @@ void PIOS_Board_Init(void) // Attach the board config check hook SANITYCHECK_AttachHook(&CopterControlConfigHook); // trigger a config check if actuatorsettings are updated - ActuatorSettingsInitialize(); ActuatorSettingsConnectCallback(ActuatorSettingsUpdatedCb); } diff --git a/flight/targets/boards/coptercontrol/firmware/Makefile b/flight/targets/boards/coptercontrol/firmware/Makefile index 86539ebfd..a7d081ad3 100644 --- a/flight/targets/boards/coptercontrol/firmware/Makefile +++ b/flight/targets/boards/coptercontrol/firmware/Makefile @@ -94,7 +94,6 @@ ifndef TESTAPP SRC += $(FLIGHT_UAVOBJ_DIR)/objectpersistence.c SRC += $(FLIGHT_UAVOBJ_DIR)/gcstelemetrystats.c SRC += $(FLIGHT_UAVOBJ_DIR)/flighttelemetrystats.c - SRC += $(FLIGHT_UAVOBJ_DIR)/faultsettings.c SRC += $(FLIGHT_UAVOBJ_DIR)/flightstatus.c SRC += $(FLIGHT_UAVOBJ_DIR)/systemstats.c SRC += $(FLIGHT_UAVOBJ_DIR)/systemalarms.c diff --git a/flight/targets/boards/coptercontrol/firmware/pios_board.c b/flight/targets/boards/coptercontrol/firmware/pios_board.c index 22a8eeecb..86098d878 100644 --- a/flight/targets/boards/coptercontrol/firmware/pios_board.c +++ b/flight/targets/boards/coptercontrol/firmware/pios_board.c @@ -159,6 +159,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -175,8 +176,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ @@ -331,7 +330,6 @@ void PIOS_Board_Init(void) // Attach the board config check hook SANITYCHECK_AttachHook(&CopterControlConfigHook); // trigger a config check if actuatorsettings are updated - ActuatorSettingsInitialize(); ActuatorSettingsConnectCallback(ActuatorSettingsUpdatedCb); } diff --git a/flight/targets/boards/discoveryf4bare/firmware/UAVObjects.inc b/flight/targets/boards/discoveryf4bare/firmware/UAVObjects.inc index b704f4ab0..f85007c7e 100644 --- a/flight/targets/boards/discoveryf4bare/firmware/UAVObjects.inc +++ b/flight/targets/boards/discoveryf4bare/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/discoveryf4bare/firmware/pios_board.c b/flight/targets/boards/discoveryf4bare/firmware/pios_board.c index eedfab1e7..48d2ba9b2 100644 --- a/flight/targets/boards/discoveryf4bare/firmware/pios_board.c +++ b/flight/targets/boards/discoveryf4bare/firmware/pios_board.c @@ -187,7 +187,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); - HwSettingsInitialize(); + SETTINGS_INITIALISE_ALL; /* Initialize the alarms library */ AlarmsInitialize(); diff --git a/flight/targets/boards/nucleof303re/firmware/UAVObjects.inc b/flight/targets/boards/nucleof303re/firmware/UAVObjects.inc index 00a3fb118..a38f6b5eb 100644 --- a/flight/targets/boards/nucleof303re/firmware/UAVObjects.inc +++ b/flight/targets/boards/nucleof303re/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/nucleof303re/firmware/pios_board.c b/flight/targets/boards/nucleof303re/firmware/pios_board.c index 39a4787da..64eae9c53 100644 --- a/flight/targets/boards/nucleof303re/firmware/pios_board.c +++ b/flight/targets/boards/nucleof303re/firmware/pios_board.c @@ -135,6 +135,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -151,9 +152,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - HwSPRacingF3EVOSettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ diff --git a/flight/targets/boards/oplinkmini/firmware/pios_board.c b/flight/targets/boards/oplinkmini/firmware/pios_board.c index 2de96a068..0ecbed0ab 100644 --- a/flight/targets/boards/oplinkmini/firmware/pios_board.c +++ b/flight/targets/boards/oplinkmini/firmware/pios_board.c @@ -101,6 +101,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; /* Set up the SPI interface to the rfm22b */ if (PIOS_SPI_Init(&pios_spi_rfm22b_id, &pios_spi_rfm22b_cfg)) { @@ -133,7 +134,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - OPLinkSettingsInitialize(); OPLinkReceiverInitialize(); /* Retrieve the settings object. */ diff --git a/flight/targets/boards/osd/firmware/pios_board.c b/flight/targets/boards/osd/firmware/pios_board.c index 5a7f5649a..aebfe97a2 100644 --- a/flight/targets/boards/osd/firmware/pios_board.c +++ b/flight/targets/boards/osd/firmware/pios_board.c @@ -170,8 +170,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); - - HwSettingsInitialize(); + SETTINGS_INITIALISE_ALL; #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ diff --git a/flight/targets/boards/pikoblx/firmware/UAVObjects.inc b/flight/targets/boards/pikoblx/firmware/UAVObjects.inc index 01db8c775..2ec9de7cd 100644 --- a/flight/targets/boards/pikoblx/firmware/UAVObjects.inc +++ b/flight/targets/boards/pikoblx/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/pikoblx/firmware/pios_board.c b/flight/targets/boards/pikoblx/firmware/pios_board.c index bf07da223..7c478ead2 100644 --- a/flight/targets/boards/pikoblx/firmware/pios_board.c +++ b/flight/targets/boards/pikoblx/firmware/pios_board.c @@ -136,6 +136,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -152,9 +153,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - HwPikoBLXSettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ diff --git a/flight/targets/boards/revolution/firmware/UAVObjects.inc b/flight/targets/boards/revolution/firmware/UAVObjects.inc index 84195dee9..81f471880 100644 --- a/flight/targets/boards/revolution/firmware/UAVObjects.inc +++ b/flight/targets/boards/revolution/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/revolution/firmware/pios_board.c b/flight/targets/boards/revolution/firmware/pios_board.c index 273d4a052..9898fc7a7 100644 --- a/flight/targets/boards/revolution/firmware/pios_board.c +++ b/flight/targets/boards/revolution/firmware/pios_board.c @@ -179,7 +179,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); - HwSettingsInitialize(); + SETTINGS_INITIALISE_ALL; /* Initialize the alarms library */ AlarmsInitialize(); diff --git a/flight/targets/boards/revonano/firmware/UAVObjects.inc b/flight/targets/boards/revonano/firmware/UAVObjects.inc index 5774e7ae4..3833b91e3 100644 --- a/flight/targets/boards/revonano/firmware/UAVObjects.inc +++ b/flight/targets/boards/revonano/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/revonano/firmware/pios_board.c b/flight/targets/boards/revonano/firmware/pios_board.c index fa667f917..91f0efa58 100644 --- a/flight/targets/boards/revonano/firmware/pios_board.c +++ b/flight/targets/boards/revonano/firmware/pios_board.c @@ -171,7 +171,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); - HwSettingsInitialize(); + SETTINGS_INITIALISE_ALL; /* Initialize the alarms library */ AlarmsInitialize(); @@ -289,7 +289,6 @@ void PIOS_Board_Init(void) // Attach the board config check hook SANITYCHECK_AttachHook(&RevoNanoConfigHook); // trigger a config check if actuatorsettings are updated - ActuatorSettingsInitialize(); ActuatorSettingsConnectCallback(ActuatorSettingsUpdatedCb); } diff --git a/flight/targets/boards/revoproto/firmware/pios_board.c b/flight/targets/boards/revoproto/firmware/pios_board.c index 2e78c7363..9f8fb1f58 100644 --- a/flight/targets/boards/revoproto/firmware/pios_board.c +++ b/flight/targets/boards/revoproto/firmware/pios_board.c @@ -131,8 +131,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); - - HwSettingsInitialize(); + SETTINGS_INITIALISE_ALL; /* Initialize the alarms library */ AlarmsInitialize(); diff --git a/flight/targets/boards/simposix/firmware/UAVObjects.inc b/flight/targets/boards/simposix/firmware/UAVObjects.inc index 52093b2e9..31027d2c0 100644 --- a/flight/targets/boards/simposix/firmware/UAVObjects.inc +++ b/flight/targets/boards/simposix/firmware/UAVObjects.inc @@ -79,7 +79,6 @@ UAVOBJSRCFILENAMES += mixersettings UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence -UAVOBJSRCFILENAMES += overosyncstats UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/simposix/firmware/pios_board.c b/flight/targets/boards/simposix/firmware/pios_board.c index 68ba9491a..cfbfce1c3 100644 --- a/flight/targets/boards/simposix/firmware/pios_board.c +++ b/flight/targets/boards/simposix/firmware/pios_board.c @@ -142,8 +142,6 @@ void PIOS_Board_Init(void) EventDispatcherInitialize(); UAVObjInitialize(); - HwSettingsInitialize(); - UAVObjectsInitializeAll(); /* Initialize the alarms library */ diff --git a/flight/targets/boards/sparky2/firmware/UAVObjects.inc b/flight/targets/boards/sparky2/firmware/UAVObjects.inc index f9cd87706..24a083fc2 100644 --- a/flight/targets/boards/sparky2/firmware/UAVObjects.inc +++ b/flight/targets/boards/sparky2/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/sparky2/firmware/pios_board.c b/flight/targets/boards/sparky2/firmware/pios_board.c index 3843d0f25..8f39399a4 100644 --- a/flight/targets/boards/sparky2/firmware/pios_board.c +++ b/flight/targets/boards/sparky2/firmware/pios_board.c @@ -173,7 +173,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); - HwSettingsInitialize(); + SETTINGS_INITIALISE_ALL; /* Initialize the alarms library */ AlarmsInitialize(); diff --git a/flight/targets/boards/spracingf3/firmware/UAVObjects.inc b/flight/targets/boards/spracingf3/firmware/UAVObjects.inc index c81d7a6df..f9c08bb3d 100644 --- a/flight/targets/boards/spracingf3/firmware/UAVObjects.inc +++ b/flight/targets/boards/spracingf3/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/spracingf3/firmware/pios_board.c b/flight/targets/boards/spracingf3/firmware/pios_board.c index e9a56d0c5..364ed552f 100644 --- a/flight/targets/boards/spracingf3/firmware/pios_board.c +++ b/flight/targets/boards/spracingf3/firmware/pios_board.c @@ -124,6 +124,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -140,9 +141,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - HwSPRacingF3SettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ diff --git a/flight/targets/boards/spracingf3evo/firmware/UAVObjects.inc b/flight/targets/boards/spracingf3evo/firmware/UAVObjects.inc index 00a3fb118..a38f6b5eb 100644 --- a/flight/targets/boards/spracingf3evo/firmware/UAVObjects.inc +++ b/flight/targets/boards/spracingf3evo/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/spracingf3evo/firmware/pios_board.c b/flight/targets/boards/spracingf3evo/firmware/pios_board.c index 87b1949ae..59fc7432e 100644 --- a/flight/targets/boards/spracingf3evo/firmware/pios_board.c +++ b/flight/targets/boards/spracingf3evo/firmware/pios_board.c @@ -135,6 +135,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -151,9 +152,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - HwSPRacingF3EVOSettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ diff --git a/flight/targets/boards/tinyfish/firmware/UAVObjects.inc b/flight/targets/boards/tinyfish/firmware/UAVObjects.inc index e68307fa5..e337dbd6c 100644 --- a/flight/targets/boards/tinyfish/firmware/UAVObjects.inc +++ b/flight/targets/boards/tinyfish/firmware/UAVObjects.inc @@ -77,8 +77,6 @@ UAVOBJSRCFILENAMES += mixerstatus UAVOBJSRCFILENAMES += nedaccel UAVOBJSRCFILENAMES += objectpersistence UAVOBJSRCFILENAMES += oplinkreceiver -UAVOBJSRCFILENAMES += overosyncstats -UAVOBJSRCFILENAMES += overosyncsettings UAVOBJSRCFILENAMES += pathaction UAVOBJSRCFILENAMES += pathdesired UAVOBJSRCFILENAMES += pathplan diff --git a/flight/targets/boards/tinyfish/firmware/pios_board.c b/flight/targets/boards/tinyfish/firmware/pios_board.c index 502748c8f..5535c0f05 100644 --- a/flight/targets/boards/tinyfish/firmware/pios_board.c +++ b/flight/targets/boards/tinyfish/firmware/pios_board.c @@ -146,6 +146,7 @@ void PIOS_Board_Init(void) /* Initialize UAVObject libraries */ EventDispatcherInitialize(); UAVObjInitialize(); + SETTINGS_INITIALISE_ALL; #if defined(PIOS_INCLUDE_RTC) /* Initialize the real-time clock and its associated tick */ @@ -162,9 +163,6 @@ void PIOS_Board_Init(void) PIOS_IAP_WriteBootCmd(2, 0); } - HwSettingsInitialize(); - HwTinyFISHSettingsInitialize(); - #ifndef ERASE_FLASH #ifdef PIOS_INCLUDE_WDG /* Initialize watchdog as early as possible to catch faults during init */ diff --git a/flight/uavobjects/uavobject.c.template b/flight/uavobjects/uavobject.c.template index 4ec89d540..70a46cfeb 100644 --- a/flight/uavobjects/uavobject.c.template +++ b/flight/uavobjects/uavobject.c.template @@ -46,6 +46,10 @@ static UAVObjHandle handle __attribute__((section("__DATA,_uavo_handles"))); static UAVObjHandle handle __attribute__((section("_uavo_handles"))); #endif +#if $(NAMEUC)_ISSETTINGS +SETTINGS_INITCALL($(NAME)Initialize); +#endif + /** * Initialize object. * \return 0 Success