File: INCLUDE\WORKFLOW\TGotoIntensityCmd.h
1 #ifndef _TGOTOINTENSITYCMD_H
2 #define _TGOTOINTENSITYCMD_H
3
4 #include "workflow\TCmd.h"
5
6 /** Externe Variable, um auf Methoden aus TSteering zugreifen zu können.
7 */
8 extern TSteering Steering;
9
10 /** @file TGotoIntensityCmd.h
11 * Intensität anfahren.
12 * Bewegt den aktuellen Antrieb zur gewünschten Zielintensität.
13 */
14
15 /** Kommando, um eine bestimmte Intensität anzufahren.
16 *
17 * @author David Damm
18 * @date 04.07.2004
19 * @version 0.1
20 * Doxygen-Kommentare hinzugefügt.
21 */
22 class TGotoIntensityCmd : public TCmd
23 {
24
25 public:
26
27 /** Konstruktor.
28 * Berechnet Zielintensität und bewegt den Motor um zwei Schritte
29 * nach links bzw. rechts.
30 * @param ct Das eingelesene Kommando mit Parametern.
31 */
32 TGotoIntensityCmd ( TCmdTag ct );
33
34 /** Destruktor.
35 */
36 virtual ~TGotoIntensityCmd ();
37
38 // Fortschritt- Kommandoinformtionen
39 public:
40
41 //* @copydoc TCmd::GetShowData()
42 virtual bool GetShowData ( LPSTR );
43
44 //* @copydoc TCmd::GetName()
45 virtual void GetName ( LPSTR aName )
46 {
47 strcpy( aName, "GotoIntensity" );
48 } // ! neu Kullmann+Reinecker
49
50 // Schritte der Kommandoverarbeitung
51 public:
52
53 //* @copydoc TCmd::FirstStep()
54 ECmdCode FirstStep ( void );
55
56 //* @copydoc TCmd::ControlStep()
57 ECmdCode ControlStep ( void );
58
59 //* //* @copydoc TCmd::ReadyStep()
60 ECmdCode ReadyStep ( void );
61
62 // Attribute
63 private:
64
65 int nMotor;
66
67 BOOL bSmallAngleSide;
68
69 float fSearchIntensity;
70
71 double *dDistance;
72
73 float *fIntensity;
74
75 ECmdParam nReadyAction;
76
77 static const UINT nLifo;
78 };
79
80 #endif
81