LoRemote.h

Go to the documentation of this file.
00001 /**
00002    \file  Robots/LoBot/irccm/LoRemote.h
00003    \brief Responding to the Roomba Remote.
00004 
00005    This file defines an API for checking whether the iRobot Create has
00006    received any IR commands from the Roomba Remote and taking appropriate
00007    action depending on the remote control button pressed.
00008 */
00009 
00010 /*
00011  ************************************************************************
00012  * The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   *
00013  * by the University of Southern California (USC) and the iLab at USC.  *
00014  * See http://iLab.usc.edu for information about this project.          *
00015  *                                                                      *
00016  * Major portions of the iLab Neuromorphic Vision Toolkit are protected *
00017  * under the U.S. patent ``Computation of Intrinsic Perceptual Saliency *
00018  * in Visual Environments, and Applications'' by Christof Koch and      *
00019  * Laurent Itti, California Institute of Technology, 2001 (patent       *
00020  * pending; application number 09/912,225 filed July 23, 2001; see      *
00021  * http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     *
00022  ************************************************************************
00023  * This file is part of the iLab Neuromorphic Vision C++ Toolkit.       *
00024  *                                                                      *
00025  * The iLab Neuromorphic Vision C++ Toolkit is free software; you can   *
00026  * redistribute it and/or modify it under the terms of the GNU General  *
00027  * Public License as published by the Free Software Foundation; either  *
00028  * version 2 of the License, or (at your option) any later version.     *
00029  *                                                                      *
00030  * The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  *
00031  * that it will be useful, but WITHOUT ANY WARRANTY; without even the   *
00032  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      *
00033  * PURPOSE.  See the GNU General Public License for more details.       *
00034  *                                                                      *
00035  * You should have received a copy of the GNU General Public License    *
00036  * along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   *
00037  * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   *
00038  * Boston, MA 02111-1307 USA.                                           *
00039  ************************************************************************
00040 */
00041 
00042 /*
00043    Primary maintainer for this file: mviswana usc edu
00044    $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Robots/LoBot/irccm/LoRemote.h $
00045    $Id: LoRemote.h 13745 2010-08-02 05:27:16Z mviswana $
00046 */
00047 
00048 #ifndef LOBOT_IRCCM_REMOTE_CONTROL_DOT_H
00049 #define LOBOT_IRCCM_REMOTE_CONTROL_DOT_H
00050 
00051 /*------------------------- LOW-LEVEL ACTIONS -------------------------*/
00052 
00053 /// This function reacts to the Roomba Remote commands. If a remote
00054 /// command was indeed sent by the user and handled by the low-level
00055 /// controller, it sets a flag to indicate to the main program that a
00056 /// remote control acknowledgement needs to be sent to the high level.
00057 void lo_remote(void) ;
00058 
00059 /*------------------ REMOTE CONTROL ACKNOWLEDGEMENTS ------------------*/
00060 
00061 /// This function returns true if Robolocust's low-level Command Module
00062 /// control program reacted to a Roomba Remote button press and needs to
00063 /// send an acknowledgement to the high level letting it know what the
00064 /// low level did.
00065 char lo_remote_pending(void) ;
00066 
00067 /// Send pending remote control acknowledgement to the high level.
00068 void lo_send_remote(void) ;
00069 
00070 /*------------------- REMOTE CONTROL STATE QUERIES --------------------*/
00071 
00072 /// Returns true if the user is remote controlling the robot; false if
00073 /// the robot is operating autonomously.
00074 char lo_is_remote_control(void) ;
00075 
00076 /// Returns true if the Roomba Remote's 'P' button has been pressed;
00077 /// false otherwise.
00078 ///
00079 /// NOTE: In addition to the 'P' button, the Roomba Remote's "Spot" and
00080 /// "Max" buttons may also be used to quit the low-level controller.
00081 char lo_remote_quit(void) ;
00082 
00083 /*---------------------------------------------------------------------*/
00084 
00085 #endif
Generated on Sun May 8 08:41:30 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3