paparazzi-commits
[Top][All Lists]
Advanced

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

[paparazzi-commits] [5830] Update lisa_stm_passthrough_main.c for ADC su


From: Allen Ibara
Subject: [paparazzi-commits] [5830] Update lisa_stm_passthrough_main.c for ADC support
Date: Tue, 07 Sep 2010 17:51:10 +0000

Revision: 5830
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5830
Author:   aibara
Date:     2010-09-07 17:51:09 +0000 (Tue, 07 Sep 2010)
Log Message:
-----------
Update lisa_stm_passthrough_main.c for ADC support

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/lisa/lisa_stm_passthrough_main.c

Modified: paparazzi3/trunk/sw/airborne/lisa/lisa_stm_passthrough_main.c
===================================================================
--- paparazzi3/trunk/sw/airborne/lisa/lisa_stm_passthrough_main.c       
2010-09-07 17:48:22 UTC (rev 5829)
+++ paparazzi3/trunk/sw/airborne/lisa/lisa_stm_passthrough_main.c       
2010-09-07 17:51:09 UTC (rev 5830)
@@ -38,6 +38,7 @@
 
 #include "firmwares/rotorcraft/baro.h"
 
+#include "adc.h"
 
 static inline void main_init(void);
 static inline void main_periodic(void);
@@ -57,9 +58,18 @@
 static bool_t new_baro_diff;
 static bool_t new_baro_abs;
 static bool_t new_vane;
+static bool_t new_adc;
 
+
 struct CscVaneMsg csc_vane_msg;
 
+static struct adc_buf adc0_buf; 
+static struct adc_buf adc1_buf; 
+static struct adc_buf adc2_buf; 
+static struct adc_buf adc3_buf; 
+
+extern uint8_t adc_new_data_trigger;
+
 int main(void) {
 
   main_init();
@@ -75,26 +85,32 @@
 
 static inline void main_init(void) {
 
-  hw_init();
-  sys_time_init();
-  booz_imu_init();
-  baro_init();
-  radio_control_init();
-  booz_actuators_init();
-  overo_link_init();
-  cscp_init();
-  //   csc_bat_monitor_init(); 
-  
-  cscp_register_callback(CSC_VANE_MSG_ID, on_vane_msg, (void *)&csc_vane_msg);
-  new_radio_msg = FALSE;
+       hw_init();
+       sys_time_init();
+       booz_imu_init();
+       baro_init();
+       radio_control_init();
+       booz_actuators_init();
+       overo_link_init();
+       cscp_init();
+       adc_init();     
+       
+       adc_buf_channel(0, &adc0_buf, 8);
+       adc_buf_channel(1, &adc1_buf, 8);
+       adc_buf_channel(2, &adc2_buf, 8);
+       adc_buf_channel(3, &adc3_buf, 8);
+       
+       cscp_register_callback(CSC_VANE_MSG_ID, on_vane_msg, (void 
*)&csc_vane_msg);
+       new_radio_msg = FALSE;
 
 }
 
 static inline void main_periodic(void) {
+       uint16_t v1 = 123;
+       uint16_t v2 = 123;
 
   booz_imu_periodic();
   OveroLinkPeriodic(on_overo_link_lost);
-  //   csc_bat_monitor_periodic(); 
 
   RunOnceEvery(10, {
       LED_PERIODIC(); 
@@ -103,7 +119,15 @@
     });
 
   RunOnceEvery(2, {baro_periodic();});
+       
+  if (adc_new_data_trigger) { 
+    adc_new_data_trigger = 0;
+               new_adc = 1; 
+    v1 = adc0_buf.sum / adc0_buf.av_nb_sample;
+    v2 = adc1_buf.values[0];
 
+    RunOnceEvery(10, { DOWNLINK_SEND_ADC_GENERIC(DefaultChannel, &v1, &v2) });
+       }
 }
 
 static inline void on_rc_message(void) {
@@ -153,12 +177,18 @@
   overo_link.up.msg.vane_angle1 = csc_vane_msg.vane_angle1;
   overo_link.up.msg.vane_angle2 = csc_vane_msg.vane_angle2;
   
+       overo_link.up.msg.adc.channels[0] = adc0_buf.sum / 
adc0_buf.av_nb_sample; 
+       overo_link.up.msg.adc.channels[1] = adc1_buf.sum / 
adc1_buf.av_nb_sample; 
+       overo_link.up.msg.adc.channels[2] = adc2_buf.sum / 
adc2_buf.av_nb_sample; 
+       overo_link.up.msg.adc.channels[3] = adc3_buf.sum / 
adc3_buf.av_nb_sample; 
+       overo_link.up.msg.valid.adc =  new_adc; 
+       new_adc = FALSE;
+
   /* pwm acuators down */
   for (int i = 0; i < LISA_PWM_OUTPUT_NB; i++) { 
     booz_actuators_pwm_values[i] = overo_link.down.msg.pwm_outputs_usecs[i];
   }
   booz_actuators_pwm_commit();
-  
 }
 
 static inline void on_overo_link_lost(void) {
@@ -208,7 +238,6 @@
   OveroLinkEvent(on_overo_link_msg_received, on_overo_link_crc_failed);
   RadioControlEvent(on_rc_message);
   cscp_event();
-
 }
 
 




reply via email to

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