aboutsummaryrefslogtreecommitdiff
path: root/apps/px4io/px4io.h
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-01-13 02:20:01 -0800
committerpx4dev <px4@purgatory.org>2013-01-13 19:05:01 -0800
commit8ebe21b27b279b5d941d4829e5ebee28b84b146c (patch)
treeb6c5aa838160180384454c573c966f74580864cd /apps/px4io/px4io.h
parentb0fb86a693db595c7adcd61c4179f0ddb8807c4e (diff)
downloadpx4-firmware-8ebe21b27b279b5d941d4829e5ebee28b84b146c.tar.gz
px4-firmware-8ebe21b27b279b5d941d4829e5ebee28b84b146c.tar.bz2
px4-firmware-8ebe21b27b279b5d941d4829e5ebee28b84b146c.zip
Checkpoint - I2C protocol register decode
Diffstat (limited to 'apps/px4io/px4io.h')
-rw-r--r--apps/px4io/px4io.h36
1 files changed, 23 insertions, 13 deletions
diff --git a/apps/px4io/px4io.h b/apps/px4io/px4io.h
index afbaa78dc..fb0659602 100644
--- a/apps/px4io/px4io.h
+++ b/apps/px4io/px4io.h
@@ -64,7 +64,23 @@
#endif
/*
+ * Registers.
+ */
+extern uint16_t r_page_status[]; /* PX4IO_PAGE_STATUS */
+extern uint16_t r_page_actuators[]; /* PX4IO_PAGE_ACTUATORS */
+extern uint16_t r_page_servos[]; /* PX4IO_PAGE_SERVOS */
+extern uint16_t r_page_raw_rc_input[]; /* PX4IO_PAGE_RAW_RC_INPUT */
+extern uint16_t r_page_rc_input[]; /* PX4IO_PAGE_RC_INPUT */
+extern uint16_t r_page_adc[]; /* PX4IO_PAGE_RAW_ADC_INPUT */
+
+extern volatile uint16_t r_page_setup[]; /* PX4IO_PAGE_SETUP */
+extern volatile uint16_t r_page_controls[]; /* PX4IO_PAGE_CONTROLS */
+
+/*
* System state structure.
+ *
+ * XXX note that many fields here are deprecated and replaced by
+ * registers.
*/
struct sys_state_s {
@@ -129,12 +145,6 @@ struct sys_state_s {
uint64_t fmu_data_received_time;
/**
- * Current serial interface mode, per the serial_rx_mode parameter
- * in the config packet.
- */
- uint8_t serial_rx_mode;
-
- /**
* If true, the RC signal has been lost for more than a timeout interval
*/
bool rc_lost;
@@ -206,6 +216,7 @@ extern volatile int timers[TIMER_NUM_TIMERS];
#define ADC_VBATT 4
#define ADC_IN5 5
+#define ADC_CHANNEL_COUNT 2
/*
* Mixer
@@ -225,6 +236,12 @@ extern void comms_main(void) __attribute__((noreturn));
extern void i2c_init(void);
/*
+ * Register space
+ */
+extern void registers_set(uint8_t page, uint8_t offset, const uint16_t *values, unsigned num_values);
+extern int registers_get(uint8_t page, uint8_t offset, uint16_t **values, unsigned *num_values);
+
+/*
* Sensors/misc inputs
*/
extern int adc_init(void);
@@ -238,10 +255,3 @@ extern int dsm_init(const char *device);
extern bool dsm_input(void);
extern int sbus_init(const char *device);
extern bool sbus_input(void);
-
-/*
- * Assertion codes
- */
-#define A_GPIO_OPEN_FAIL 100
-#define A_SERVO_OPEN_FAIL 101
-#define A_INPUTQ_OPEN_FAIL 102