paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [5827] Update fms_spi_autopilot_msg to support ADC


From: Allen Ibara
Subject: [paparazzi-commits] [5827] Update fms_spi_autopilot_msg to support ADC
Date: Tue, 07 Sep 2010 17:45:27 +0000

Revision: 5827
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5827
Author:   aibara
Date:     2010-09-07 17:45:27 +0000 (Tue, 07 Sep 2010)
Log Message:
-----------
Update fms_spi_autopilot_msg to support ADC

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.c
    paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.h

Modified: paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.c
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.c    2010-09-07 
17:44:12 UTC (rev 5826)
+++ paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.c    2010-09-07 
17:45:27 UTC (rev 5827)
@@ -53,6 +53,7 @@
 static void (* pressure_absolute_callback)(uint8_t pressure_id, uint32_t 
pressure) = NULL;
 static void (* pressure_differential_callback)(uint8_t pressure_id, uint32_t 
pressure) = NULL;
 static void (* radio_control_callback)(void) = NULL;
+static void (* adc_callback)(uint16_t * adc_channels) = NULL;
 
 void spi_ap_link_downlink_send(struct DownlinkTransport *tp)
 {
@@ -82,6 +83,11 @@
   radio_control_callback = radio_control_cb;
 }
 
+void spi_ap_link_set_adc_callback(void (* adc_callback_fun)(uint16_t * 
adc_channels))
+{
+       adc_callback = adc_callback_fun; 
+}
+
 int spi_ap_link_init()
 {
   if (spi_link_init()) {
@@ -112,7 +118,6 @@
 {
 
   if (msg_up->valid.vane && vane_callback)
-    // FIXME: placeholders since the vane data fields don't exist yet
     vane_callback(0, msg_up->vane_angle1, msg_up->vane_angle2);
 
   // Fill pressure data
@@ -122,6 +127,12 @@
   if (msg_up->valid.pressure_differential && pressure_differential_callback)
     pressure_differential_callback(0, (uint16_t) 
msg_up->pressure_differential);
 
+       if (msg_up->valid.adc) {
+               if(adc_callback) {
+                       adc_callback(&msg_up->adc.channels);
+               }
+       }
+
   // Fill radio data
   if (msg_up->valid.rc && radio_control_callback) {
     radio_control.values[RADIO_CONTROL_ROLL] = msg_up->rc_roll;

Modified: paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.h
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.h    2010-09-07 
17:44:12 UTC (rev 5826)
+++ paparazzi3/trunk/sw/airborne/fms/fms_spi_autopilot_msg.h    2010-09-07 
17:45:27 UTC (rev 5827)
@@ -30,6 +30,7 @@
 void spi_ap_link_set_pressure_absolute_callback(void (* pressure_cb)(uint8_t 
pressure_id, uint32_t pressure));
 void spi_ap_link_set_pressure_differential_callback(void (* 
pressure_cb)(uint8_t pressure_id, uint32_t pressure));
 void spi_ap_link_set_radio_control_callback(void (* radio_control_cb)(void));
+void spi_ap_link_set_adc_callback(void (* adc_callback_fun)(uint16_t * 
adc_channels));
 void spi_ap_link_periodic(void);
 void spi_ap_link_downlink_send(struct DownlinkTransport *tp);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]