aboutsummaryrefslogtreecommitdiff
path: root/apps/px4io/px4io.h
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-01-06 11:25:17 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-01-06 11:25:17 +0100
commitd3fd3d8219179251d10655944992da75abb8932b (patch)
tree25782ae747ddaacf74d610c9b57627ae46e07f7b /apps/px4io/px4io.h
parent0ef1d6d7529e9c84969ed6f512f733772bba34a0 (diff)
parent8eb8909a3c24c6028e4945e4a057d6d2f27f3d04 (diff)
downloadpx4-firmware-d3fd3d8219179251d10655944992da75abb8932b.tar.gz
px4-firmware-d3fd3d8219179251d10655944992da75abb8932b.tar.bz2
px4-firmware-d3fd3d8219179251d10655944992da75abb8932b.zip
Merged, compiling
Diffstat (limited to 'apps/px4io/px4io.h')
-rw-r--r--apps/px4io/px4io.h34
1 files changed, 29 insertions, 5 deletions
diff --git a/apps/px4io/px4io.h b/apps/px4io/px4io.h
index 782d9bfeb..157135854 100644
--- a/apps/px4io/px4io.h
+++ b/apps/px4io/px4io.h
@@ -139,13 +139,27 @@ struct sys_state_s {
* If true, IO performs an on-board manual override with the RC channel values
*/
bool manual_override_ok;
+
+ /*
+ * Measured battery voltage in mV
+ */
+ uint16_t battery_mv;
+
+ /*
+ * ADC IN5 measurement
+ */
+ uint16_t adc_in5;
+
+ /*
+ * Power supply overcurrent status bits.
+ */
+ uint8_t overcurrent;
+
};
extern struct sys_state_s system_state;
-extern int frame_rx;
-extern int frame_bad;
-
+#if 0
/*
* Software countdown timers.
*
@@ -157,6 +171,7 @@ extern int frame_bad;
#define TIMER_SANITY 7
#define TIMER_NUM_TIMERS 8
extern volatile int timers[TIMER_NUM_TIMERS];
+#endif
/*
* GPIO handling.
@@ -171,10 +186,13 @@ extern volatile int timers[TIMER_NUM_TIMERS];
#define POWER_RELAY1(_s) stm32_gpiowrite(GPIO_RELAY1_EN, (_s))
#define POWER_RELAY2(_s) stm32_gpiowrite(GPIO_RELAY2_EN, (_s))
-#define OVERCURRENT_ACC stm32_gpioread(GPIO_ACC_OC_DETECT)
-#define OVERCURRENT_SERVO stm32_gpioread(GPIO_SERVO_OC_DETECT
+#define OVERCURRENT_ACC (!stm32_gpioread(GPIO_ACC_OC_DETECT))
+#define OVERCURRENT_SERVO (!stm32_gpioread(GPIO_SERVO_OC_DETECT))
#define BUTTON_SAFETY stm32_gpioread(GPIO_BTN_SAFETY)
+#define ADC_VBATT 4
+#define ADC_IN5 5
+
/*
* Mixer
*/
@@ -192,6 +210,12 @@ extern void safety_init(void);
extern void comms_main(void) __attribute__((noreturn));
/*
+ * Sensors/misc inputs
+ */
+extern int adc_init(void);
+extern uint16_t adc_measure(unsigned channel);
+
+/*
* R/C receiver handling.
*/
extern void controls_main(void);