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

oprocessor.h

00001 /* 
00002 Object Oriented Mobile Robot Model (OOMRM) C++  Library Copyright (C) 2002-2005  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: oprocessor.h,v 1.1.1.1 2006/05/11 05:22:41 derek Exp $ 
00019 */
00020   
00021 #ifndef _H_PROCESSOR_H
00022 #define _H_PROCESSOR_H
00023 #include "sim_regs.h"
00027 enum CLOCK { MH8=8389, MH16=16777, MH25=25166 };
00034 enum STATUS  { TEST=1, RESET=2, LOSS_OF_CLOCK=4, HALT_MONITOR=16, WATCHDOG=32, POWERUP=64, EXTERNAL=128 };
00035 #ifdef __cplusplus
00036 
00079 class oProcessor
00080 {
00081 public:
00082   oProcessor();
00084 
00090   oProcessor(CLOCK);
00091   static void system_clock(CLOCK);              
00092   static CLOCK  system_clock(void);             
00093   static bool  reset_status(STATUS);    
00094   static SIM_T* SIM;    
00095 protected:
00096   oProcessor(const oProcessor&);                // copy constructor illegal except subclass
00097   oProcessor& operator= (const oProcessor&);    // assignment illegal except on subclass
00098 private:
00099   void init(void);
00100 //  static bool _init;
00101 };
00102 #endif
00103 #endif

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