diff --git a/flight/CopterControl/Makefile b/flight/CopterControl/Makefile index 7a1653c0e..631a0e7c9 100644 --- a/flight/CopterControl/Makefile +++ b/flight/CopterControl/Makefile @@ -412,6 +412,9 @@ ifeq ($(USE_I2C), YES) CDEFS += -DUSE_I2C endif +# Declare all non-optional modules as built-in to force inclusion +CDEFS += ${foreach MOD, ${MODULES}, -DMODULE_$(MOD)_BUILTIN } + # Place project-specific -D and/or -U options for # Assembler with preprocessor here. #ADEFS = -DUSE_IRQ_ASM_WRAPPER diff --git a/flight/Modules/Altitude/altitude.c b/flight/Modules/Altitude/altitude.c index da90b7f7c..87a4240b6 100644 --- a/flight/Modules/Altitude/altitude.c +++ b/flight/Modules/Altitude/altitude.c @@ -92,7 +92,9 @@ int32_t AltitudeStart() */ int32_t AltitudeInitialize() { - +#ifdef MODULE_Altitude_BUILTIN + altitudeEnabled = 1; +#else HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesGet(optionalModules); @@ -101,6 +103,7 @@ int32_t AltitudeInitialize() } else { altitudeEnabled = 0; } +#endif // init down-sampling data alt_ds_temp = 0; diff --git a/flight/Modules/CameraStab/camerastab.c b/flight/Modules/CameraStab/camerastab.c index 770ff7ab6..0c5b189d9 100644 --- a/flight/Modules/CameraStab/camerastab.c +++ b/flight/Modules/CameraStab/camerastab.c @@ -75,6 +75,10 @@ int32_t CameraStabInitialize(void) static UAVObjEvent ev; bool cameraStabEnabled; + +#ifdef MODULE_CameraStab_BUILTIN + cameraStabEnabled = true; +#else uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsInitialize(); @@ -84,6 +88,7 @@ int32_t CameraStabInitialize(void) cameraStabEnabled = true; else cameraStabEnabled = false; +#endif if (cameraStabEnabled) { diff --git a/flight/Modules/ComUsbBridge/ComUsbBridge.c b/flight/Modules/ComUsbBridge/ComUsbBridge.c index 984a53944..678e7039d 100644 --- a/flight/Modules/ComUsbBridge/ComUsbBridge.c +++ b/flight/Modules/ComUsbBridge/ComUsbBridge.c @@ -94,6 +94,9 @@ static int32_t comUsbBridgeInitialize(void) usart_port = PIOS_COM_BRIDGE; vcp_port = PIOS_COM_VCP; +#ifdef MODULE_ComUsbBridge_BUILTIN + bridge_enabled = true; +#else HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; @@ -104,6 +107,7 @@ static int32_t comUsbBridgeInitialize(void) bridge_enabled = true; else bridge_enabled = false; +#endif if (bridge_enabled) { com2usb_buf = pvPortMalloc(BRIDGE_BUF_LEN); diff --git a/flight/Modules/Fault/Fault.c b/flight/Modules/Fault/Fault.c index 0ac3748a6..868330739 100644 --- a/flight/Modules/Fault/Fault.c +++ b/flight/Modules/Fault/Fault.c @@ -40,6 +40,9 @@ static uint8_t active_fault; static int32_t fault_initialize(void) { +#ifdef MODULE_Fault_BUILTIN + module_enabled = true; +#else HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; @@ -50,6 +53,7 @@ static int32_t fault_initialize(void) } else { module_enabled = false; } +#endif /* Do this outside the module_enabled test so that it * can be changed even when the module has been disabled. diff --git a/flight/Modules/GPS/GPS.c b/flight/Modules/GPS/GPS.c index bc8f92c17..1f93d6dba 100644 --- a/flight/Modules/GPS/GPS.c +++ b/flight/Modules/GPS/GPS.c @@ -121,6 +121,9 @@ int32_t GPSInitialize(void) { gpsPort = PIOS_COM_GPS; +#ifdef MODULE_GPS_BUILTIN + gpsEnabled = true; +#else HwSettingsInitialize(); uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; @@ -130,6 +133,7 @@ int32_t GPSInitialize(void) gpsEnabled = true; else gpsEnabled = false; +#endif if (gpsPort && gpsEnabled) { GPSPositionInitialize(); diff --git a/flight/OpenPilot/Makefile b/flight/OpenPilot/Makefile index 940c1f117..2130bf283 100644 --- a/flight/OpenPilot/Makefile +++ b/flight/OpenPilot/Makefile @@ -369,6 +369,9 @@ ifeq ($(ENABLE_AUX_UART), YES) CDEFS += -DPIOS_ENABLE_AUX_UART endif +# Declare all non-optional modules as built-in to force inclusion +CDEFS += ${foreach MOD, ${MODULES}, -DMODULE_$(MOD)_BUILTIN } + # Place project-specific -D and/or -U options for # Assembler with preprocessor here. #ADEFS = -DUSE_IRQ_ASM_WRAPPER