Skip to content

Commit a353661

Browse files
f5sohfilnet
authored andcommitted
Merged in f5soh/librepilot/LP-550_Flight_Modules_fixes (pull request #463)
LP-550 Flight Modules fixes Approved-by: Lalanne Laurent <f5soh@free.fr> Approved-by: Philippe Renon <philippe_renon@yahoo.fr> Approved-by: Alessio Morale <alessiomorale@gmail.com>
2 parents 213893e + 8da65e8 commit a353661

6 files changed

Lines changed: 42 additions & 25 deletions

File tree

flight/modules/Airspeed/airspeed.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,16 @@ int32_t AirspeedStart()
9393
*/
9494
int32_t AirspeedInitialize()
9595
{
96+
HwSettingsOptionalModulesData optionalModules;
97+
98+
HwSettingsOptionalModulesGet(&optionalModules);
99+
96100
#ifdef MODULE_AIRSPEED_BUILTIN
97101
airspeedEnabled = true;
102+
optionalModules.Airspeed = HWSETTINGS_OPTIONALMODULES_ENABLED;
103+
HwSettingsOptionalModulesSet(&optionalModules);
98104
#else
99-
100-
HwSettingsOptionalModulesOptions optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM];
101-
HwSettingsOptionalModulesArrayGet(optionalModules);
102-
103-
104-
if (optionalModules[HWSETTINGS_OPTIONALMODULES_AIRSPEED] == HWSETTINGS_OPTIONALMODULES_ENABLED) {
105+
if (optionalModules.Airspeed == HWSETTINGS_OPTIONALMODULES_ENABLED) {
105106
airspeedEnabled = true;
106107
} else {
107108
airspeedEnabled = false;

flight/modules/AutoTune/autotune.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,15 @@ static void UpdateStabilizationDesired(bool doingIdent);
164164
*/
165165
int32_t AutoTuneInitialize(void)
166166
{
167-
#if defined(MODULE_AutoTune_BUILTIN)
168-
moduleEnabled = true;
169-
#else
170167
HwSettingsOptionalModulesData optionalModules;
168+
171169
HwSettingsOptionalModulesGet(&optionalModules);
170+
171+
#if defined(MODULE_AUTOTUNE_BUILTIN)
172+
moduleEnabled = true;
173+
optionalModules.AutoTune = HWSETTINGS_OPTIONALMODULES_ENABLED;
174+
HwSettingsOptionalModulesSet(&optionalModules);
175+
#else
172176
if (optionalModules.AutoTune == HWSETTINGS_OPTIONALMODULES_ENABLED) {
173177
// even though the AutoTune module is automatically enabled
174178
// (below, when the flight mode switch is configured to use autotune)
@@ -180,7 +184,7 @@ int32_t AutoTuneInitialize(void)
180184
// do it for them if they have autotune on their flight mode switch
181185
moduleEnabled = AutoTuneFoundInFMS();
182186
}
183-
#endif /* defined(MODULE_AutoTune_BUILTIN) */
187+
#endif /* defined(MODULE_AUTOTUNE_BUILTIN) */
184188

185189
if (moduleEnabled) {
186190
AccessoryDesiredInitialize();

flight/modules/Battery/battery.c

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,10 @@
5757
//
5858
// Configuration
5959
//
60-
#define SAMPLE_PERIOD_MS 500
60+
#define SAMPLE_PERIOD_MS 500
6161

6262
// Time since power on the cells detection is active
63-
#define DETECTION_TIMEFRAME 60000
64-
// Private types
65-
66-
// Private variables
67-
static bool batteryEnabled = false;
63+
#define DETECTION_TIMEFRAME 60000
6864

6965
#ifndef PIOS_ADC_VOLTAGE_PIN
7066
#define PIOS_ADC_VOLTAGE_PIN -1
@@ -92,12 +88,17 @@ static void GetNbCells(const FlightBatterySettingsData *batterySettings, FlightB
9288
*/
9389
int32_t BatteryInitialize(void)
9490
{
95-
#ifdef MODULE_BATTERY_BUILTIN
96-
batteryEnabled = true;
97-
#else
91+
bool batteryEnabled;
92+
9893
HwSettingsOptionalModulesData optionalModules;
94+
9995
HwSettingsOptionalModulesGet(&optionalModules);
10096

97+
#ifdef MODULE_BATTERY_BUILTIN
98+
batteryEnabled = true;
99+
optionalModules.Battery = HWSETTINGS_OPTIONALMODULES_ENABLED;
100+
HwSettingsOptionalModulesSet(&optionalModules);
101+
#else
101102
if (optionalModules.Battery == HWSETTINGS_OPTIONALMODULES_ENABLED) {
102103
batteryEnabled = true;
103104
} else {

flight/modules/CameraStab/camerastab.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,15 @@ int32_t CameraStabInitialize(void)
9292
{
9393
bool cameraStabEnabled;
9494

95-
#ifdef MODULE_CAMERASTAB_BUILTIN
96-
cameraStabEnabled = true;
97-
#else
9895
HwSettingsOptionalModulesData optionalModules;
9996

10097
HwSettingsOptionalModulesGet(&optionalModules);
10198

99+
#ifdef MODULE_CAMERASTAB_BUILTIN
100+
cameraStabEnabled = true;
101+
optionalModules.CameraStab = HWSETTINGS_OPTIONALMODULES_ENABLED;
102+
HwSettingsOptionalModulesSet(&optionalModules);
103+
#else
102104
if (optionalModules.CameraStab == HWSETTINGS_OPTIONALMODULES_ENABLED) {
103105
cameraStabEnabled = true;
104106
} else {

flight/modules/GPS/GPS.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,15 @@ int32_t GPSStart(void)
196196

197197
int32_t GPSInitialize(void)
198198
{
199-
#ifdef MODULE_GPS_BUILTIN
200-
gpsEnabled = true;
201-
#else
202199
HwSettingsOptionalModulesData optionalModules;
203200

204201
HwSettingsOptionalModulesGet(&optionalModules);
205202

203+
#ifdef MODULE_GPS_BUILTIN
204+
gpsEnabled = true;
205+
optionalModules.GPS = HWSETTINGS_OPTIONALMODULES_ENABLED;
206+
HwSettingsOptionalModulesSet(&optionalModules);
207+
#else
206208
if (optionalModules.GPS == HWSETTINGS_OPTIONALMODULES_ENABLED) {
207209
gpsEnabled = true;
208210
} else {

flight/modules/TxPID/txpid.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,22 @@ static float scale(float val, float inMin, float inMax, float outMin, float outM
100100
int32_t TxPIDInitialize(void)
101101
{
102102
bool txPIDEnabled;
103+
103104
HwSettingsOptionalModulesData optionalModules;
104105

105106
HwSettingsOptionalModulesGet(&optionalModules);
106107

108+
#ifdef MODULE_TXPID_BUILTIN
109+
txPIDEnabled = true;
110+
optionalModules.TxPID = HWSETTINGS_OPTIONALMODULES_ENABLED;
111+
HwSettingsOptionalModulesSet(&optionalModules);
112+
#else
107113
if (optionalModules.TxPID == HWSETTINGS_OPTIONALMODULES_ENABLED) {
108114
txPIDEnabled = true;
109115
} else {
110116
txPIDEnabled = false;
111117
}
118+
#endif
112119

113120
if (txPIDEnabled) {
114121
TxPIDStatusInitialize();

0 commit comments

Comments
 (0)