00001 /** 00002 \file Robots/LoBot/irccm/LoBumps.h 00003 \brief Low-level reactions for bump sensors. 00004 00005 This file defines an API for examining the iRobot Create's bump sensor 00006 states and taking appropriate action to avoid whatever lobot has 00007 bumped into. Additionally, this module provides an API for sending the 00008 bump sensor acknowledgement to the high level. 00009 */ 00010 00011 /* 00012 ************************************************************************ 00013 * The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005 * 00014 * by the University of Southern California (USC) and the iLab at USC. * 00015 * See http: iLab.usc.edu for information about this project. * 00016 * * 00017 * Major portions of the iLab Neuromorphic Vision Toolkit are protected * 00018 * under the U.S. patent ``Computation of Intrinsic Perceptual Saliency * 00019 * in Visual Environments, and Applications'' by Christof Koch and * 00020 * Laurent Itti, California Institute of Technology, 2001 (patent * 00021 * pending; application number 09/912,225 filed July 23, 2001; see * 00022 * http: pair.uspto.gov/cgi-bin/final/home.pl for current status). * 00023 ************************************************************************ 00024 * This file is part of the iLab Neuromorphic Vision C++ Toolkit. * 00025 * * 00026 * The iLab Neuromorphic Vision C++ Toolkit is free software; you can * 00027 * redistribute it and/or modify it under the terms of the GNU General * 00028 * Public License as published by the Free Software Foundation; either * 00029 * version 2 of the License, or (at your option) any later version. * 00030 * * 00031 * The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope * 00032 * that it will be useful, but WITHOUT ANY WARRANTY; without even the * 00033 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * 00034 * PURPOSE. See the GNU General Public License for more details. * 00035 * * 00036 * You should have received a copy of the GNU General Public License * 00037 * along with the iLab Neuromorphic Vision C++ Toolkit; if not, write * 00038 * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * 00039 * Boston, MA 02111-1307 USA. * 00040 ************************************************************************ 00041 */ 00042 00043 /* 00044 Primary maintainer for this file: Manu Viswanathan mviswana usc edu 00045 $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Robots/LoBot/irccm/LoBumps.h $ 00046 $Id: LoBumps.h 12641 2010-01-24 18:45:03Z mviswana $ 00047 */ 00048 00049 #ifndef LOBOT_IRCCM_BUMPS_DOT_H 00050 #define LOBOT_IRCCM_BUMPS_DOT_H 00051 00052 /*------------------------- LOW-LEVEL ACTIONS -------------------------*/ 00053 00054 /// This function reacts to the iRobot Create's bump sensors. If the bump 00055 /// sensors are indeed active, it sets a flag to indicate to the main 00056 /// program that a bumps acknowledgement needs to be sent to the high 00057 /// level. 00058 void lo_bumps(void) ; 00059 00060 /*------------------- BUMP SENSOR ACKNOWLEDGEMENTS --------------------*/ 00061 00062 /// This function returns true if Robolocust's low-level Command Module 00063 /// control program reacted to the bump sensors and needs to send an 00064 /// acknowledgement to the high level letting it know what the low level 00065 /// did. 00066 char lo_bumps_pending(void) ; 00067 00068 /// Send pending bumps acknowledgement to the high level. 00069 void lo_send_bumps(void) ; 00070 00071 /*---------------------------------------------------------------------*/ 00072 00073 #endif