paparazzi-commits
[Top][All Lists]
Advanced

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

[paparazzi-commits] [4896] CSC updates for airspeed, baro


From: Allen Ibara
Subject: [paparazzi-commits] [4896] CSC updates for airspeed, baro
Date: Thu, 29 Apr 2010 23:07:44 +0000

Revision: 4896
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4896
Author:   aibara
Date:     2010-04-29 23:07:44 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
CSC updates for airspeed, baro

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/csc/csc_airspeed.c
    paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c
    paparazzi3/trunk/sw/airborne/csc/csc_ap_link.h
    paparazzi3/trunk/sw/airborne/csc/csc_baro.c
    paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h
    paparazzi3/trunk/sw/airborne/csc/csc_telemetry.h
    paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c

Modified: paparazzi3/trunk/sw/airborne/csc/csc_airspeed.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_airspeed.c     2010-04-29 23:06:56 UTC 
(rev 4895)
+++ paparazzi3/trunk/sw/airborne/csc/csc_airspeed.c     2010-04-29 23:07:44 UTC 
(rev 4896)
@@ -1,9 +1,15 @@
 #include "csc_airspeed.h"
 #include "csc_ap_link.h"
+#include "csc_adc.h"
 
 float estimator_airspeed;
 
+#define AIRSPEED_ADC 3
+
 void csc_airspeed_periodic(void)
 {
-  csc_ap_link_send_airspeed(estimator_airspeed, 0);
+  float adc_airspeed;
+
+  adc_airspeed = adc_values[AIRSPEED_ADC];
+  csc_ap_link_send_airspeed(estimator_airspeed, adc_airspeed);
 }

Modified: paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c      2010-04-29 23:06:56 UTC 
(rev 4895)
+++ paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c      2010-04-29 23:07:44 UTC 
(rev 4896)
@@ -58,7 +58,19 @@
   csc_ap_send_msg(CSC_AIRSPEED_MSG_ID, (const uint8_t *) &msg, sizeof(msg));
 }
 
+void csc_ap_link_send_baro(uint32_t pressure, uint16_t temperature, uint8_t 
status)
+{
 
+  struct CscBaroMsg msg;
+
+  msg.baro_pressure = pressure;
+  msg.baro_temperature = temperature;
+  msg.baro_status = status;
+
+  csc_ap_send_msg(CSC_BARO_MSG_ID, (const uint8_t *) &msg, sizeof(msg));
+}
+
+
 // Generic function for sending can messages
 void can_write_csc(uint8_t board_id, uint8_t msg_id, const uint8_t *buf, 
uint8_t len)
 {

Modified: paparazzi3/trunk/sw/airborne/csc/csc_ap_link.h
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_ap_link.h      2010-04-29 23:06:56 UTC 
(rev 4895)
+++ paparazzi3/trunk/sw/airborne/csc/csc_ap_link.h      2010-04-29 23:07:44 UTC 
(rev 4896)
@@ -16,6 +16,7 @@
 void csc_ap_link_send_adc(float adc1, float adc2);
 void csc_ap_link_send_vane(float *vane_angle);
 void csc_ap_link_send_airspeed(float airspeed1, float airspeed2);
+void csc_ap_link_send_baro(uint32_t pressure, uint16_t temp, uint8_t status);
 void csc_ap_link_set_servo_cmd_cb(void (* cb)(struct CscServoCmd *cmd));
 void csc_ap_link_set_motor_cmd_cb(void (* cb)(struct CscMotorMsg *msg));
 void csc_ap_link_set_prop_cmd_cb(void (* cb)(struct CscPropCmd *cmd, int idx));

Modified: paparazzi3/trunk/sw/airborne/csc/csc_baro.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_baro.c 2010-04-29 23:06:56 UTC (rev 
4895)
+++ paparazzi3/trunk/sw/airborne/csc/csc_baro.c 2010-04-29 23:07:44 UTC (rev 
4896)
@@ -160,10 +160,10 @@
     baro_scp_pressure |= (msb << 16);
     baro_scp_pressure *= 25;
 
-    baro_scp_alt = 9000 - baro_scp_pressure * 0.00084366;
+    //baro_scp_alt = 9000 - baro_scp_pressure * 0.00084366;
     baro_scp_status = STA_VALID;
 
-    booz_ins_update_baro();
+    csc_ap_link_send_baro(baro_scp_pressure, baro_scp_temperature, 
baro_scp_status);
   }
 }
 

Modified: paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h      2010-04-29 23:06:56 UTC 
(rev 4895)
+++ paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h      2010-04-29 23:07:44 UTC 
(rev 4896)
@@ -20,6 +20,7 @@
 #define CSC_PROP2_CMD_ID       10
 #define CSC_VANE_MSG_ID       11
 #define CSC_AIRSPEED_MSG_ID   12
+#define CSC_BARO_MSG_ID       13
 
 
 /* Received from the autopilot */
@@ -85,6 +86,12 @@
   float airspeed2;
 } __attribute__((packed));
 
+struct CscBaroMsg {
+  uint32_t baro_pressure;
+  uint16_t baro_temperature;
+  uint8_t baro_status;
+} __attribute__((packed));
+
 #define CSC_RC_SCALE 20
 #define CSC_RC_OFFSET 2*(MAX_PPRZ/CSC_RC_SCALE) /* Sorry this is a bit 
arbitrary. - mmt */
 

Modified: paparazzi3/trunk/sw/airborne/csc/csc_telemetry.h
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_telemetry.h    2010-04-29 23:06:56 UTC 
(rev 4895)
+++ paparazzi3/trunk/sw/airborne/csc/csc_telemetry.h    2010-04-29 23:07:44 UTC 
(rev 4896)
@@ -133,7 +133,7 @@
 
 #ifdef USE_AIRSPEED
 #include "estimator.h"
-#define PERIODIC_SEND_AIRSPEED(_chan) { float empty; DOWNLINK_SEND_AIRSPEED 
(_chan, &adc_airspeed_val,&estimator_airspeed,&empty,&empty,&empty) }
+#define PERIODIC_SEND_AIRSPEED(_chan) { float empty; DOWNLINK_SEND_AIRSPEED 
(_chan, &adc_airspeed_val,&estimator_airspeed,&empty,&empty,&empty,&empty) }
 #else
 #define PERIODIC_SEND_AIRSPEED(_chan) {}
 #endif

Modified: paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c 2010-04-29 23:06:56 UTC 
(rev 4895)
+++ paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c 2010-04-29 23:07:44 UTC 
(rev 4896)
@@ -151,9 +151,7 @@
     csc_ap_link_send_status(csc_loops, can_msg_count);
   }
 #ifdef ADC
-  if ((csc_loops % CSC_STATUS_TIMEOUT) == 0) {
-    csc_adc_periodic();
-  }
+  csc_adc_periodic();
 #endif
 
   if ((csc_loops % AIRSPEED_TIMEOUT) == 0) {





reply via email to

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