LoWheelDrops.h

Go to the documentation of this file.
00001 /**
00002    \file  Robots/LoBot/irccm/LoWheelDrops.h
00003    \brief Low-level reactions for the wheel drop sensors.
00004 
00005    This file defines an API for examining the iRobot Create's wheel drop
00006    sensor states and stopping lobot's motors in case it has teetered off
00007    the edge of a stairway or been picked up. Additionally, this module
00008    provides an API for sending the wheel drops acknowledgement to the
00009    high level.
00010 */
00011 
00012 /*
00013  ************************************************************************
00014  * The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   *
00015  * by the University of Southern California (USC) and the iLab at USC.  *
00016  * See http://iLab.usc.edu for information about this project.          *
00017  *                                                                      *
00018  * Major portions of the iLab Neuromorphic Vision Toolkit are protected *
00019  * under the U.S. patent ``Computation of Intrinsic Perceptual Saliency *
00020  * in Visual Environments, and Applications'' by Christof Koch and      *
00021  * Laurent Itti, California Institute of Technology, 2001 (patent       *
00022  * pending; application number 09/912,225 filed July 23, 2001; see      *
00023  * http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     *
00024  ************************************************************************
00025  * This file is part of the iLab Neuromorphic Vision C++ Toolkit.       *
00026  *                                                                      *
00027  * The iLab Neuromorphic Vision C++ Toolkit is free software; you can   *
00028  * redistribute it and/or modify it under the terms of the GNU General  *
00029  * Public License as published by the Free Software Foundation; either  *
00030  * version 2 of the License, or (at your option) any later version.     *
00031  *                                                                      *
00032  * The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  *
00033  * that it will be useful, but WITHOUT ANY WARRANTY; without even the   *
00034  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      *
00035  * PURPOSE.  See the GNU General Public License for more details.       *
00036  *                                                                      *
00037  * You should have received a copy of the GNU General Public License    *
00038  * along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   *
00039  * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   *
00040  * Boston, MA 02111-1307 USA.                                           *
00041  ************************************************************************
00042 */
00043 
00044 /*
00045    Primary maintainer for this file: mviswana usc edu
00046    $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Robots/LoBot/irccm/LoWheelDrops.h $
00047    $Id: LoWheelDrops.h 13745 2010-08-02 05:27:16Z mviswana $
00048 */
00049 
00050 #ifndef LOBOT_IRCCM_WHEEL_DROPS_DOT_H
00051 #define LOBOT_IRCCM_WHEEL_DROPS_DOT_H
00052 
00053 /*------------------------- LOW-LEVEL ACTIONS -------------------------*/
00054 
00055 /// This function reacts to the iRobot Create's wheel drop sensors. If
00056 /// any of them are indeed active, it sets a flag to indicate to the main
00057 /// program that a wheel drops acknowledgement needs to be sent to the
00058 /// high level.
00059 void lo_wheel_drops(void) ;
00060 
00061 /*---------------- WHEEL DROP SENSOR ACKNOWLEDGEMENTS -----------------*/
00062 
00063 /// This function returns true if Robolocust's low-level Command Module
00064 /// control program reacted to the Create robot's wheel drop sensors and
00065 /// needs to send an acknowledgement to the high level letting it know
00066 /// what the low level did.
00067 char lo_wheel_drops_pending(void) ;
00068 
00069 /// Send pending wheel drops acknowledgement to the high level.
00070 void lo_send_wheel_drops(void) ;
00071 
00072 /*--------------------- WHEEL DROP STATE QUERIES ----------------------*/
00073 
00074 /// Returns true if the wheel drop module's internal state indicates that
00075 /// a wheel is dropped; false otherwise.
00076 #define lo_is_wheel_dropped() lo_wheel_drops_pending()
00077 
00078 /*---------------------------------------------------------------------*/
00079 
00080 #endif
Generated on Sun May 8 08:05:55 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3