home *** CD-ROM | disk | FTP | other *** search
-
- MODULE TestPortIO;
-
- (* Testprozeduren, um die Fuktion des Moduls RightControlPortIO
- nachzuweisen
- *)
- FROM RightControlPortIO IMPORT
- CancelPotGoAccess, Level, WriteToPin6, ReadFromPin6,
- WriteToPotPin, ReadFromPotPin, PotPinNumbers,
- ReadJoystick, JoyPinNumbers, RightPotgoOpen;
- FROM Terminal IMPORT
- Read, WriteString;
-
-
- PROCEDURE TestPin6;
-
- VAR Count : CARDINAL;
-
- PROCEDURE LevelAusgeben;
- BEGIN
- IF ReadFromPin6() = High THEN
- WriteString("High")
- ELSE
- WriteString("Low")
- END
- END LevelAusgeben;
-
- BEGIN
- FOR Count := 1 TO 10 DO
- WriteToPin6(High);
- LevelAusgeben;
- WriteToPin6(Low);
- LevelAusgeben;
- END;
- END TestPin6;
-
- PROCEDURE PotGoTest;
- VAR Weiter : CHAR;
-
- BEGIN
- WriteToPotPin(R5, High);
- Read(Weiter);
- WriteToPotPin(R5, Low);
- Read(Weiter);
- (* fuer den weiteren Test ist Pin 5 ggf. mit Masse zu verbinden,
- da active low *)
- IF (ReadFromPotPin(R5) = High) THEN
- WriteString("High")
- ELSE
- WriteString("Low");
- END;
- END PotGoTest;
-
- PROCEDURE JoyTest;
- (* Abbruch mit CTRL-C waere auch moeglich *)
- BEGIN
- WriteString("Ausstieg mit FIRE BUTTON");
- LOOP
- IF (ReadJoystick(R1) = High) THEN
- WriteString("Forw ");
- END;
-
- IF (ReadJoystick(R2) = High) THEN
- WriteString("Back ")
- END;
-
- IF (ReadJoystick(R3) = High) THEN
- WriteString("Left ")
- END;
-
- IF (ReadJoystick(R4) = High) THEN
- WriteString("Right ")
- END;
- IF (ReadFromPin6() = Low) THEN
- EXIT
- END;
- END;
- END JoyTest;
-
- BEGIN
- CancelPotGoAccess;(* muss stets enthalten sein, um PotgoResource an
- das System zurueckzugeben *)
- JoyTest; (* Aufruf einer der Testprozeduren *)
- END TestPortIO.
-
-
- Listing 4