paparazzi-commits
[Top][All Lists]
Advanced

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

[paparazzi-commits] [4661] CSC updates for ADC/ csc_servos


From: Allen Ibara
Subject: [paparazzi-commits] [4661] CSC updates for ADC/ csc_servos
Date: Thu, 11 Mar 2010 03:51:25 +0000

Revision: 4661
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4661
Author:   aibara
Date:     2010-03-11 03:51:25 +0000 (Thu, 11 Mar 2010)
Log Message:
-----------
CSC updates for ADC/ csc_servos

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/csc/csc_adc.c
    paparazzi3/trunk/sw/airborne/csc/csc_adc.h
    paparazzi3/trunk/sw/airborne/csc/csc_servos.c

Modified: paparazzi3/trunk/sw/airborne/csc/csc_adc.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_adc.c  2010-03-10 18:14:26 UTC (rev 
4660)
+++ paparazzi3/trunk/sw/airborne/csc/csc_adc.c  2010-03-11 03:51:25 UTC (rev 
4661)
@@ -1,32 +1,47 @@
 #include "csc_adc.h"
 #include "csc_ap_link.h"
+#include <stdio.h>
+#include "uart.h"
+#include "print.h"
 
 #include "LPC21xx.h"
 #include "led.h"
 #include "adc.h"
+#include ACTUATORS
+#include "csc_servos.h"
+#include "sys_time.h"
 
-struct adc_buf adc0;
-struct adc_buf adc1;
+struct adc_buf adc_bufs[ADC_NB];
 
 uint8_t vsupply;
+uint16_t adc_slider;
 
 #define ADC_VDIV 5.7
 #define ADC_VOLT 3.28
 #define ADC_FACTOR 1024.0 * ADC_VOLT * ADC_VDIV
 
+#ifndef ADC_AV_NB
 #define ADC_AV_NB 8
+#endif
 
+#define ADC_VSUPPLY 0
+#define ADC_SLIDER 3
+
+#ifndef ADC_NB
+#define ADC_NB 2
+#endif
+
 void csc_adc_init(void)
 {
   adc_init(); 
-  adc_buf_channel(0, &adc0, ADC_AV_NB);
-  adc_buf_channel(1, &adc1, ADC_AV_NB);
+  for (int i = 0; i < ADC_NB; i++) {
+    adc_buf_channel(i, &adc_bufs[i], ADC_AV_NB);
+  }
 }
 
 void csc_adc_periodic(void)
 {
-  vsupply = adc0.sum / adc0.av_nb_sample / ADC_FACTOR * 10;
-  //float v2 = adc1.sum / adc1.av_nb_sample / ADC_FACTOR;
-  //csc_ap_link_send_adc(v1, v2);
+  vsupply = adc_bufs[ADC_VSUPPLY].sum / adc_bufs[ADC_VSUPPLY].av_nb_sample / 
ADC_FACTOR * 10;
+  adc_slider = adc_bufs[ADC_SLIDER].sum / adc_bufs[ADC_SLIDER].av_nb_sample;
 }
 

Modified: paparazzi3/trunk/sw/airborne/csc/csc_adc.h
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_adc.h  2010-03-10 18:14:26 UTC (rev 
4660)
+++ paparazzi3/trunk/sw/airborne/csc/csc_adc.h  2010-03-11 03:51:25 UTC (rev 
4661)
@@ -6,5 +6,8 @@
 void csc_adc_init(void);
 void csc_adc_periodic(void);
 
+extern uint8_t vsupply;
+extern uint16_t adc_slider;
+
 #endif /* CSC_ADC_H */
 

Modified: paparazzi3/trunk/sw/airborne/csc/csc_servos.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_servos.c       2010-03-10 18:14:26 UTC 
(rev 4660)
+++ paparazzi3/trunk/sw/airborne/csc/csc_servos.c       2010-03-11 03:51:25 UTC 
(rev 4661)
@@ -4,13 +4,11 @@
 #include "std.h"
 #include "sys_time.h"
 #include "actuators.h"
+#include "airframe.h"
 #include ACTUATORS
 
 #define CSC_SERVOS_NB 4
-#define SERVOS_PERIOD (SYS_TICS_OF_SEC((1./250.))) /* 250 Hz */
 
-#include "airframe.h"
-
 static uint32_t csc_servos_rng[] = 
{SYS_TICS_OF_USEC(SERVO_S1_MAX-SERVO_S1_MIN),
                                    SYS_TICS_OF_USEC(SERVO_S2_MAX-SERVO_S2_MIN),
                                    SYS_TICS_OF_USEC(SERVO_S3_MAX-SERVO_S3_MIN),





reply via email to

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