From 06ecd390219972734cb70c6ceb5aa74cadb0a042 Mon Sep 17 00:00:00 2001 From: leblanc Date: Sat, 10 Mar 2007 17:42:07 +0000 Subject: Copie de es-2006 en es-2007. --- n/es-2007/src/sharp.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 n/es-2007/src/sharp.h (limited to 'n/es-2007/src/sharp.h') diff --git a/n/es-2007/src/sharp.h b/n/es-2007/src/sharp.h new file mode 100644 index 0000000..e5f1a58 --- /dev/null +++ b/n/es-2007/src/sharp.h @@ -0,0 +1,70 @@ +#ifndef sharp_h +#define sharp_h +// sharp.h +// es - Input/Output general purpose board. {{{ +// +// Copyright (C) 2006 Dufour Jérémy +// +// Robot APB Team/Efrei 2004. +// Web: http://assos.efrei.fr/robot/ +// Email: robot AT efrei DOT fr +// +// This program 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 of the License, or +// (at your option) any later version. +// +// This program 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 this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// }}} +/** Module for reading sharp sensors. */ + +#include "common.h" + +/** Sharps positions + * ADC1 -> Rear ball + * ADC2 -> Front + * ADC3 -> Front + */ + +/** Number of sharps. */ +#define SHARP_NUMBER 3 + +/** Something in front of the sharp */ +#define SHARP_OBSTACLE 1 +/** Nothing in front of the sharp */ +#define SHARP_CLEAR 0 + +/** Array of sharp values. */ +extern uint16_t sharp_values[SHARP_NUMBER]; + +/** Init this module. */ +void sharp_init (void); + +/** Read data from sharp sensors. + * - sharp_num : the sharp number you want to update. + */ +void sharp_update_values (uint8_t sharp_num); + +/** Analyse a sharp value. + * - sharp_num : the sharp number you want to analyse. + * - return : SHARP_CLEAR if nothing in front, SHARP_OBSTACLE otherwise. + */ +int8_t sharp_analyse_values (uint8_t sharp_num); + +/** Configure sharp threshold. + * - sharp_num : the sharp number you want to configure threshold. + * - high : high threshold. + * - low : low threshold. + * Note, high > low ! + */ +void sharp_config_threshold (uint8_t sharp_num, uint16_t high, uint16_t low); + +#endif // sharp_h -- cgit v1.2.3