From e4d7938af001a4de286aae5abf0b6d99dbcc003b Mon Sep 17 00:00:00 2001 From: Antoine Drouin Date: Wed, 7 Jul 2010 18:17:26 +0000 Subject: [PATCH] added a message with fields for the absolute and differential sensor on lisa --- conf/messages.xml | 4 ++ sw/airborne/lisa/test_baro2.c | 88 +++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 sw/airborne/lisa/test_baro2.c diff --git a/conf/messages.xml b/conf/messages.xml index c2356375b8..69c1c5ba7e 100644 --- a/conf/messages.xml +++ b/conf/messages.xml @@ -1404,6 +1404,10 @@ + + + + diff --git a/sw/airborne/lisa/test_baro2.c b/sw/airborne/lisa/test_baro2.c new file mode 100644 index 0000000000..eeb665ffc3 --- /dev/null +++ b/sw/airborne/lisa/test_baro2.c @@ -0,0 +1,88 @@ +/* + * $Id$ + * + * Copyright (C) 2009 Antoine Drouin + * + * This file is part of paparazzi. + * + * paparazzi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * paparazzi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with paparazzi; see the file COPYING. If not, write to + * the Free Software Foundation, 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * + * test baro using interrupts + * + */ + +#include BOARD_CONFIG + +#include "init_hw.h" +#include "sys_time.h" + +#include "downlink.h" + +#include "lisa/lisa_baro.h" + +static inline void main_init( void ); +static inline void main_periodic_task( void ); +static inline void main_event_task( void ); + +static inline void main_on_baro_diff(void); +static inline void main_on_baro_abs(void); + + +int main(void) { + main_init(); + + while(1) { + if (sys_time_periodic()) + main_periodic_task(); + main_event_task(); + } + + return 0; +} + +static inline void main_init( void ) { + hw_init(); + sys_time_init(); + baro_init(); +} + + + +static inline void main_periodic_task( void ) { + + RunOnceEvery(2, {baro_periodic();}); + LED_PERIODIC(); + RunOnceEvery(256, {DOWNLINK_SEND_ALIVE(DefaultChannel, 16, MD5SUM);}); +} + + + +static inline void main_event_task( void ) { + BaroEvent(main_on_baro_abs, main_on_baro_diff); +} + + + +static inline void main_on_baro_diff(void) { + +} + +static inline void main_on_baro_abs(void) { + RunOnceEvery(5,{DOWNLINK_SEND_BOOZ_BARO2_RAW(DefaultChannel, &baro.abs_raw, &baro.diff_raw);}); +}