Hauptseite | Klassenhierarchie | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente | Zusätzliche Informationen

motorcontroller.h

gehe zur Dokumentation dieser Datei
00001 /*////////////////////////////////////////////////////////////////////////////// 00002 // // 00003 // MOTORCONTROLLER.H // 00004 // // 00005 // Subsystem : Motorsteuerung / Hardwarezugriff // 00006 //----------------------------------------------------------------------------// 00007 // Autoren: René Harder, Alexander Paschold (2003) // 00008 // // 00009 // Stand : 23.05.2003 // 00010 // letzter vollständiger Test: // 00011 // // 00013 00014 #ifndef _MOTORCONTROLLER_H 00015 #define _MOTORCONTROLLER_H 00016 00017 #include "hardware\hwio.h" 00018 00019 #ifndef _MOTORCLASS 00020 #if defined (Build_Motors) 00021 #define _MOTORCLASS __declspec(dllexport) 00022 #elif defined(Use_Motors) 00023 #define _MOTORCLASS __declspec(dllimport) 00024 #else 00025 #define _MOTORCLASS 00026 #endif 00027 #endif 00028 00030 // Controller für C-812 Motorsteuerkarte 00031 class _MOTORCLASS TC_812Controller : public Controller 00032 { 00033 00034 public: 00035 TC_812Controller(EDeviceType DeviceID, LPTSTR HardwareID, DeviceList* Devices); 00036 00037 virtual BOOL Check(); 00038 00039 char Get(DWORD addr); 00040 void Put(DWORD addr, BYTE data); 00041 int PutChar(const char c); 00042 char GetChar(void); 00043 int ExecuteCmd(LPTSTR pString); 00044 00045 public: 00046 DWORD oFlag; 00047 DWORD oIn; 00048 DWORD oOut1; 00049 DWORD oOut2; 00050 DWORD oDPRam; 00051 }; 00052 00054 // Controller für C-832 Motorsteuerkarte 00055 class _MOTORCLASS TC_832Controller : public Controller 00056 { 00057 00058 public: 00059 TC_832Controller(EDeviceType DeviceID, LPTSTR HardwareID, DeviceList* Devices); 00060 // Endlagen-Ueberwachung und Handling 00061 static void CALLBACK LimitWatch( UINT, UINT, DWORD, DWORD, DWORD ); 00062 00063 virtual BOOL Check(); 00064 00065 public: 00066 BYTE activeConfig; 00067 WORD activeDrive; 00068 WORD baddr; 00069 // BYTE raddr; 00070 00071 // Endlagen-Ueberwachung und Handling 00072 BOOL bLimitHit; 00073 BOOL bIdle; 00074 BOOL bIOActive; 00075 00076 private: 00077 const WORD CmdRegister; 00078 const WORD DataRegister; 00079 DWORD dwSimBasePort; 00080 00081 //Hardwarezugriffsfunktionen (ehemals global) 00082 private: 00083 int GetWord(WORD base, WORD regaddr, unsigned short drive); 00084 long GetDWord(WORD base, WORD regaddr, unsigned short drive); 00085 void PutWord(int data, WORD base, WORD regaddr, unsigned short drive); 00086 void PutDWord(long data, WORD base, WORD regaddr, unsigned short drive); 00087 00088 00089 public: 00090 void UpdateController(BYTE activeConfig, WORD activeDrive); 00091 long Drive628c(BYTE cmd, WORD ctrl_word, long param, WORD base, WORD regaddr, unsigned short drive); 00092 void Put(unsigned port, int value); 00093 int Get(unsigned port); 00094 BOOL LM628Ready(WORD base, unsigned short drive); 00095 00096 }; 00097 00098 00099 #endif

Erzeugt am Sat Nov 13 12:48:07 2004 für XCTL32 von doxygen 1.3.7