[Top][All Lists]
[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) {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4896] CSC updates for airspeed, baro,
Allen Ibara <=