[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [4216] Add PWM wind vane sensor support to CSC code
From: |
Allen Ibara |
Subject: |
[paparazzi-commits] [4216] Add PWM wind vane sensor support to CSC code |
Date: |
Thu, 01 Oct 2009 18:56:43 +0000 |
Revision: 4216
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4216
Author: aibara
Date: 2009-10-01 18:56:43 +0000 (Thu, 01 Oct 2009)
Log Message:
-----------
Add PWM wind vane sensor support to CSC code
Modified Paths:
--------------
paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c
paparazzi3/trunk/sw/airborne/csc/csc_ap_link.h
paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h
paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c
Modified: paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c 2009-10-01 18:56:02 UTC
(rev 4215)
+++ paparazzi3/trunk/sw/airborne/csc/csc_ap_link.c 2009-10-01 18:56:43 UTC
(rev 4216)
@@ -35,7 +35,17 @@
csc_ap_send_msg(CSC_BOARD_STATUS_ID, (const uint8_t *) &msg, sizeof(msg));
}
+void csc_ap_link_send_vane(float vane_angle)
+{
+ struct CscVaneMsg msg;
+
+ msg.vane_angle1 = vane_angle;
+
+ csc_ap_send_msg(CSC_VANE_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 2009-10-01 18:56:02 UTC
(rev 4215)
+++ paparazzi3/trunk/sw/airborne/csc/csc_ap_link.h 2009-10-01 18:56:43 UTC
(rev 4216)
@@ -14,6 +14,7 @@
void can_write_csc(uint8_t board_id, uint8_t msg_id, const uint8_t *buf,
uint8_t len);
void csc_ap_link_send_status(uint32_t loops, uint32_t msgs);
void csc_ap_link_send_adc(float adc1, float adc2);
+void csc_ap_link_send_vane(float vane_angle);
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_msg_def.h
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h 2009-10-01 18:56:02 UTC
(rev 4215)
+++ paparazzi3/trunk/sw/airborne/csc/csc_msg_def.h 2009-10-01 18:56:43 UTC
(rev 4216)
@@ -18,6 +18,7 @@
#define CSC_GPS_POS_ID 8
#define CSC_GPS_ACC_ID 9
#define CSC_PROP2_CMD_ID 10
+#define CSC_VANE_MSG_ID 11
/* Received from the autopilot */
@@ -73,6 +74,11 @@
uint32_t sacc;
} __attribute__((packed));
+struct CscVaneMsg {
+ float vane_angle1;
+ float vane_angle2;
+} __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/mercury_csc_main.c
===================================================================
--- paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c 2009-10-01 18:56:02 UTC
(rev 4215)
+++ paparazzi3/trunk/sw/airborne/csc/mercury_csc_main.c 2009-10-01 18:56:43 UTC
(rev 4216)
@@ -31,6 +31,7 @@
#include "init_hw.h"
#include "sys_time.h"
#include "led.h"
+#include "csc_vane.h"
#ifdef USE_BUSS_TWI_BLMC_MOTOR
#include "buss_twi_blmc_hw.h"
@@ -46,8 +47,8 @@
#include "csc_telemetry.h"
#include "periodic.h"
#include "downlink.h"
+#include "pwm_input.h"
-
#include "csc_adc.h"
#include "csc_rc_spektrum.h"
@@ -87,12 +88,18 @@
spektrum_init();
#endif
+#ifdef USE_PWM_INPUT
+ pwm_input_init();
+#endif
+
csc_ap_link_init();
csc_ap_link_set_servo_cmd_cb(on_servo_cmd);
csc_ap_link_set_motor_cmd_cb(on_motor_cmd);
csc_ap_link_set_prop_cmd_cb(on_prop_cmd);
+#ifdef ADC
csc_adc_init();
+#endif
// be sure to call servos_init after uart1 init since they are sharing pins
#ifdef USE_I2C0
@@ -115,6 +122,10 @@
PeriodicSendAp_DefaultChannel();
#endif
+ #ifdef USE_VANE_SENSOR
+ csc_vane_periodic();
+ #endif
+
if (servo_cmd_timeout > SERVO_TIMEOUT) {
csc_servos_set(zeros);
} else {
@@ -124,10 +135,11 @@
if ((++csc_loops % CSC_STATUS_TIMEOUT) == 0) {
csc_ap_link_send_status(csc_loops, can_msg_count);
}
+#ifdef ADC
if ((++csc_loops % CSC_STATUS_TIMEOUT) == 0) {
csc_adc_periodic();
}
-
+#endif
}
static void csc_main_event( void ) {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4216] Add PWM wind vane sensor support to CSC code,
Allen Ibara <=