Counters.dll :
Autor: Sebastian Freund
Datum: 16.12.98
492 am9513.cpp
141 am9513a.h
- am9513.cpp == timer.cpp (identisch bis auf eine leere zeile)
- implementation class TAm9513a
- implementiert Hardwarezugriff auf diesen Zählertyp
- Funktionalität wird in class TGenericDevice eingeerbt
- class TAm9513a.h
- zähler schaltkreis Am9513A
- friend class TGenericDevice
- friend class TCCDScan nicht definiert
- friend funktionen nicht implementiert
- klein: 9 public methoden
268 c_layer.cpp
32 c_layer.h
Interface
für die dll:
Funktionen die die dll exportiert und von aussen zugriff
auf die verwalteten counter erlauben
counters.dll Hauptroutinen (LibMain, ...)
implementation
(teil) der klasse TDList
2151 counters.cpp
Implementationen für eine ganze Menge von Klassen:
TDList (Teil), TDevice, TGenericDevice, TEncoder, TPsd,
TStoe_Psd, TRadicon und einige Dialogklassen
228 m_devcom.h
- defines -> anscheinend für Funktionscodes/ Ausgabecodes
- class TDevice -> viele friends/ virtuelle Methoden
-> die Basisklasse für alle Zählerkarten
- ziemlich umfangreiche Schnittstelle (ca 45 public methoden, überwiegend
virtual, 13 public member)
- 4 friend classes (TDList, TCommonDevParam, TCounterWindow, TAreaScan)
-> Implementation in counters.cpp
- class TDList -> keine friends/virt.
-> Verwaltung einer Liste von TDevice-Objekten,
"Verwaltung von Geräten"
(ca. 17 public methoden)
-> Implementation in counters.cpp und c_layer.cpp
- class TCounterWindow -> erbt TMDIWindow (aus
comclass.h)
-> Darstellung des Zählerfensters
- class TCounterShowParam -> erbt TModalDlg (aus dlg_tpl.h)
-> die Ansteuerung der/des PSD geschieht hier nicht, sondern
ist über eine Reihe weiterer Dateien verstreut
97 m_devhw.h
- include: am9531a.h m_psd.h radicon.h ,also die Header für die
verschiedenen Zählerkarten/Bausteine
- class TGenericDevice -> erbt von TDevice,TAm9513a
"a generic counter device"
- class TRadicon : public TDevice ->
"Radicon-Zähler Bauart II"
-> die beiden Klassen impl. Methoden zur Benutzung der
entsprechenden Geräte;
ausserdem jeweils eigene Klassen
zur Einstellung von Parametern
- class TEncoder : public TDevice
-> auch eine Hardwareschnittstelle, aber zu welchem Gerät?
- class TCounterWindow : public TMDIWindow
- class TCounterShowParam : public TModalDlg
Implementationen in m_device.cpp
- class TCommonDevParam : public TModalDlg
- class TScsParameters : public TModalDlg
Implementationen in counters.cpp
Radikon-Funktionalität
(Copyrightvermerk vom Hersteller)
454 kisl1.c
gibt relativ abstraktes Modell der eigentlichen
Steuerkarte inkl. Testbetrieb ("Fakedevice")
498 kmpt1.c
8 prkmpt1.h
- Hilfsfunktionen für kisl1.c
- Kommunikation mit Controller
- 7 globale Funktionen; Definitionen + Implementation
38 dfkisl.h
36 radikon.h
- Header für Funktionen aus kisl1.c
- ca. 20 defines, ? messagecodes: ACK, NAK, ...
PSD-Funktionalität:
PSD = Positionsempfindlicher Detektor
784 braunpsd.cpp:
- implementiert TBraun_Psd
- erweitert class TPsd: public TDevice aus m_psd.h
210 m_psd.h:
- class TPsd: public TDevice -> in counters.cpp impl.
- class TStoe_Psd: public TPsd -> impl. in counters.cpp
"Hardware-spezifischer Teil"
- class TBraun_Psd: public TPsd -> impl. in braunpsd.cpp
- class TPsdParameters : public TModelessDlg
- Implementation in m_dlg.cpp
- Klasse, um Parameter für TPsd-Gerät zu setzen
- include stoe_psd.inc nicht gefunden
346 m_xscan.h:
- vor allem Fenster für Einstellungen
- class TScanParameters
- "Klasse Diffraktometrie"
- Satz von public data members
- Implementation m_scan.cpp (construktor)
- class TScan, public TScanParameters, public TPlotData
- keine public methoden (bis auf con- und destructor), aber 16 protected
und 10 private
- 5 friend classen (TSetScanParameters, TSteering, TScanCmd,TSetupScanCmd,TSaveDataCmd)
- Implementation m_scan.cpp
- class TAreaScanParameters
- Satz von public data members
- 1 public methode
- Implementation m_arscan.cpp
- class TAreaScan, public TAreaScanParameters, public TPlotData
- keine public methoden (bis auf con- und destructor), aber ca 20
protected und 6 private
- 8 friend classen (TSteering, TScanCmd, TChooseScan, TAquisition,
TSetupScanCmd,
TSaveDataCmd, TSetupAreaScanCmd)
- Implementation m_arscan.cpp
class TChooseScan : public TModelessDlg
class TSetupAreaScan : public TModalDlg
class TAquisition : public TModalDlg
class TSetupContinousScan : public TModalDlg
class TSetupScan : public TModalDlg
class TCalbratePsd : public TModalDlg
class TPsdRemoteSync : public TModalDlg
Implementation m_arscan.cpp
Anmerkung:
Ergänzungen zur bereits vorliegenden
Beschreibung des Modul "counters" die sich aus
der Sichtung der Quellen ergab:
->
Unterstützung eines zweiten PSD-Types, neben dem
BRAUN-PSD ist implementiert (in der Klasse TStoe_Psd) (?)