/* Paparazzi mcu0 adc functions Copied from autopilot (autopilot.sf.net) thanx alot Trammell Copyright (C) 2002 Trammell Hudson Copyright (C) 2003 Pascal Brisset, 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. */ #ifndef _ADC_H_ #define _ADC_H_ #include #define NB_ADC 8 /* Array containing the last measured value */ extern uint16_t adc_samples[ NB_ADC ]; void adc_init( void ); #define AV_NB_SAMPLE 0x20 struct adc_buf { uint16_t sum; uint16_t values[ AV_NB_SAMPLE ]; uint8_t head; }; /* Facility to store last values in a circular buffer for a specific channel: allocate a (struct adc_buf) and register it with the following function */ void adc_buf_channel( uint8_t adc_channel, struct adc_buf *s ); #endif