mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-29 14:52:12 +01:00
Turned "Battery" into an optional module. It otherwise prevents flying if no voltage sensor is installed.
This commit is contained in:
parent
3047b8b815
commit
78857cefaa
@ -49,6 +49,7 @@
|
|||||||
|
|
||||||
#include "flightbatterystate.h"
|
#include "flightbatterystate.h"
|
||||||
#include "flightbatterysettings.h"
|
#include "flightbatterysettings.h"
|
||||||
|
#include "hwsettings.h"
|
||||||
|
|
||||||
//
|
//
|
||||||
// Configuration
|
// Configuration
|
||||||
@ -58,6 +59,7 @@
|
|||||||
// Private types
|
// Private types
|
||||||
|
|
||||||
// Private variables
|
// Private variables
|
||||||
|
static bool batteryEnabled = false;
|
||||||
|
|
||||||
// Private functions
|
// Private functions
|
||||||
static void onTimer(UAVObjEvent* ev);
|
static void onTimer(UAVObjEvent* ev);
|
||||||
@ -68,13 +70,30 @@ static void onTimer(UAVObjEvent* ev);
|
|||||||
*/
|
*/
|
||||||
int32_t BatteryInitialize(void)
|
int32_t BatteryInitialize(void)
|
||||||
{
|
{
|
||||||
FlightBatteryStateInitialize();
|
|
||||||
FlightBatterySettingsInitialize();
|
|
||||||
|
|
||||||
static UAVObjEvent ev;
|
|
||||||
|
|
||||||
memset(&ev,0,sizeof(UAVObjEvent));
|
#ifdef MODULE_BATTERY_BUILTIN
|
||||||
EventPeriodicCallbackCreate(&ev, onTimer, SAMPLE_PERIOD_MS / portTICK_RATE_MS);
|
batteryEnabled = true;
|
||||||
|
#else
|
||||||
|
HwSettingsInitialize();
|
||||||
|
uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM];
|
||||||
|
|
||||||
|
HwSettingsOptionalModulesGet(optionalModules);
|
||||||
|
|
||||||
|
if (optionalModules[HWSETTINGS_OPTIONALMODULES_BATTERY] == HWSETTINGS_OPTIONALMODULES_ENABLED)
|
||||||
|
batteryEnabled = true;
|
||||||
|
else
|
||||||
|
batteryEnabled = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (batteryEnabled) {
|
||||||
|
FlightBatteryStateInitialize();
|
||||||
|
FlightBatterySettingsInitialize();
|
||||||
|
|
||||||
|
static UAVObjEvent ev;
|
||||||
|
|
||||||
|
memset(&ev,0,sizeof(UAVObjEvent));
|
||||||
|
EventPeriodicCallbackCreate(&ev, onTimer, SAMPLE_PERIOD_MS / portTICK_RATE_MS);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<field name="USB_HIDPort" units="function" type="enum" elements="1" options="USBTelemetry,Disabled" defaultvalue="USBTelemetry"/>
|
<field name="USB_HIDPort" units="function" type="enum" elements="1" options="USBTelemetry,Disabled" defaultvalue="USBTelemetry"/>
|
||||||
<field name="USB_VCPPort" units="function" type="enum" elements="1" options="USBTelemetry,ComBridge,Disabled" defaultvalue="Disabled"/>
|
<field name="USB_VCPPort" units="function" type="enum" elements="1" options="USBTelemetry,ComBridge,Disabled" defaultvalue="Disabled"/>
|
||||||
|
|
||||||
<field name="OptionalModules" units="" type="enum" elementnames="CameraStab,GPS,ComUsbBridge,Fault,Altitude,Airspeed,TxPID,VtolPathFollower,FixedWingPathFollower" options="Disabled,Enabled" defaultvalue="Disabled"/>
|
<field name="OptionalModules" units="" type="enum" elementnames="CameraStab,GPS,ComUsbBridge,Fault,Altitude,Airspeed,TxPID,VtolPathFollower,FixedWingPathFollower,Battery" options="Disabled,Enabled" defaultvalue="Disabled"/>
|
||||||
<field name="DSMxBind" units="" type="uint8" elements="1" defaultvalue="0"/>
|
<field name="DSMxBind" units="" type="uint8" elements="1" defaultvalue="0"/>
|
||||||
|
|
||||||
<access gcs="readwrite" flight="readwrite"/>
|
<access gcs="readwrite" flight="readwrite"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user