aboutsummaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-01-09 09:41:07 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-01-09 09:41:07 +0100
commit6f8081b5ea74d0749d67836e33e4bee78b887a53 (patch)
tree3946275834ac19cf43fb19b6211cd16fa6d89efd /apps
parent3bb145f584298de3ac636be38be25d4b1235a8be (diff)
parentb5424a4d024e92dc10b82c3db1637f858e2689ad (diff)
downloadpx4-firmware-6f8081b5ea74d0749d67836e33e4bee78b887a53.tar.gz
px4-firmware-6f8081b5ea74d0749d67836e33e4bee78b887a53.tar.bz2
px4-firmware-6f8081b5ea74d0749d67836e33e4bee78b887a53.zip
Merge branch 'master' of github.com:PX4/Firmware into sdlog_buffering
Diffstat (limited to 'apps')
-rw-r--r--apps/commander/commander.c3
-rw-r--r--apps/mathlib/CMSIS/Makefile2
-rw-r--r--apps/uORB/topics/vehicle_status.h8
3 files changed, 12 insertions, 1 deletions
diff --git a/apps/commander/commander.c b/apps/commander/commander.c
index 17087ab8a..986266843 100644
--- a/apps/commander/commander.c
+++ b/apps/commander/commander.c
@@ -1200,6 +1200,7 @@ int commander_thread_main(int argc, char *argv[])
/* mark all signals lost as long as they haven't been found */
current_status.rc_signal_lost = true;
current_status.offboard_control_signal_lost = true;
+ current_status.battery_warning = VEHICLE_BATTERY_WARNING_NONE;
/* advertise to ORB */
stat_pub = orb_advertise(ORB_ID(vehicle_status), &current_status);
@@ -1393,6 +1394,7 @@ int commander_thread_main(int argc, char *argv[])
if (low_voltage_counter > LOW_VOLTAGE_BATTERY_COUNTER_LIMIT) {
low_battery_voltage_actions_done = true;
+ current_status.battery_warning = VEHICLE_BATTERY_WARNING_WARNING;
mavlink_log_critical(mavlink_fd, "[commander] WARNING! LOW BATTERY!");
}
@@ -1403,6 +1405,7 @@ int commander_thread_main(int argc, char *argv[])
else if (battery_voltage_valid && (bat_remain < 0.1f /* XXX MAGIC NUMBER */) && (false == critical_battery_voltage_actions_done && true == low_battery_voltage_actions_done)) {
if (critical_voltage_counter > CRITICAL_VOLTAGE_BATTERY_COUNTER_LIMIT) {
critical_battery_voltage_actions_done = true;
+ current_status.battery_warning = VEHICLE_BATTERY_WARNING_ALERT;
mavlink_log_critical(mavlink_fd, "[commander] EMERGENCY! CRITICAL BATTERY!");
state_machine_emergency(stat_pub, &current_status, mavlink_fd);
}
diff --git a/apps/mathlib/CMSIS/Makefile b/apps/mathlib/CMSIS/Makefile
index 0b6794470..fa5de668a 100644
--- a/apps/mathlib/CMSIS/Makefile
+++ b/apps/mathlib/CMSIS/Makefile
@@ -38,7 +38,7 @@
#
# Find sources
#
-DSPLIB_SRCDIR = $(dir $(lastword $(MAKEFILE_LIST)))
+DSPLIB_SRCDIR := $(dir $(lastword $(MAKEFILE_LIST)))
CSRCS := $(wildcard $(DSPLIB_SRCDIR)/DSP_Lib/Source/*/*.c)
INCLUDES += $(DSPLIB_SRCDIR)/Include \
diff --git a/apps/uORB/topics/vehicle_status.h b/apps/uORB/topics/vehicle_status.h
index 23172d7cf..75c9ea0fc 100644
--- a/apps/uORB/topics/vehicle_status.h
+++ b/apps/uORB/topics/vehicle_status.h
@@ -99,6 +99,13 @@ enum VEHICLE_ATTITUDE_MODE {
VEHICLE_ATTITUDE_MODE_ATTITUDE /**< tait-bryan attitude control mode */
};
+enum VEHICLE_BATTERY_WARNING {
+ VEHICLE_BATTERY_WARNING_NONE = 0, /**< no battery low voltage warning active */
+ VEHICLE_BATTERY_WARNING_WARNING, /**< warning of low voltage 1. stage */
+ VEHICLE_BATTERY_WARNING_ALERT /**< aleting of low voltage 2. stage */
+};
+
+
/**
* state machine / state of vehicle.
*
@@ -157,6 +164,7 @@ struct vehicle_status_s
float voltage_battery;
float current_battery;
float battery_remaining;
+ enum VEHICLE_BATTERY_WARNING battery_warning; /**< current battery warning mode, as defined by VEHICLE_BATTERY_WARNING enum */
uint16_t drop_rate_comm;
uint16_t errors_comm;
uint16_t errors_count1;