Main Page   Hardware Class Hierarchy   Hardware API     Mapping Class Hierarchy  Mapping API 

bdio1.h

00001 /*
00002 Object Oriented Mobile Robot Model (OOMRM) C++  Library Copyright (C) 2002-2007  Derek Jones
00003 
00004 This library is free software; you can redistribute it  and/or
00005 modify it under the terms of the GNU Lesser General Public
00006 License  as published by the Free Software Foundation; either
00007 version 2.1 of the  License, or (at your option) any later version.
00008 
00009 This library is  distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY;  without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A  PARTICULAR PURPOSE.  See the GNU
00012 Lesser General Public License for more  details.
00013 
00014 You should have received a copy of the GNU Lesser General  Public
00015 License along with this library; if not, write to the Free  Software
00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307  USA
00017 
00018  $Id: bdio1.h,v 1.2 2007/06/10 22:41:29 derek Exp $ 
00019 */
00020 #ifndef _H_ODIO1
00021 #define _H_ODIO1
00022 #include <hardware/oomrm.h>
00032 #define _pin (1<<((_ioline&0x7)))
00033 
00035 class bDI1 : public virtual OOMRM
00036 {
00037 public:
00038   friend class oDI4;    // need protected method constructor
00039   friend class oDI3;
00040   friend class oDI2;
00042   bDI1(IOLINE pin, PORT port);
00043   bool value(void) const; 
00044   static foo2 callback(void);
00045 protected:
00046   bDI1(void);
00047   IOLINE _ioline;
00048   PORT   _port;
00049 };
00051 class bDO1 : public virtual OOMRM
00052 {
00053 public:
00055   bDO1(IOLINE pin, PORT port);
00056   void value(bool b);   
00057   static foo2 callback(void);
00058 protected:
00059   bDO1(void);
00060   IOLINE _ioline;
00061   PORT   _port;
00062 };
00063 #include <hardware/opwm.h>
00065 
00068 typedef oPWM oDO1_TPU;
00070 
00073 //#include <hardware/oencoder.h>
00074 //typedef oEncoder oDI1_TPU;    // the way it should have been!
00075 
00076 #endif
00077 

Generated on Mon Oct 8 19:32:43 2007 for OOMRM Hardware API by doxygen1.3