Package org.deepjava.runtime.mpc555.demo
Class Robi2LedBlinkerDemo
- java.lang.Object
-
- org.deepjava.runtime.ppc32.Task
-
- org.deepjava.runtime.mpc555.demo.Robi2LedBlinkerDemo
-
- All Implemented Interfaces:
Ippc32
,Actionable
public class Robi2LedBlinkerDemo extends Task
Wenn der Roboter autonom betrieben werden soll, d.h. er ist nicht mehr an den PC angeschlossen, ist es nicht mehr möglich vom PC aus über einen Command etwas auszuführen. Daher ist es nötig, dass ein Programm eine Operation nacheinander immer wieder aufruft. Dazu gibt es den Treiber Task. Über diesen kann eine Methode definiert werden, welche nacheinander mit einer gewissen Unterbruchszeit (Periode) aufgerufen wird. Beschreibung: Damit die eigene Klasse eine Methode implementieren kann, welche immer wieder über das Task-System aufgerufen wird, muss sie die Klasse Task erweitern: public class Robi2LedBlinkerDemo extends Task Die Methode, welche periodisch aufgerufen werden soll muss action() genannt werden. Um das wiederholte Aufrufen der Methode zu starten, muss die eigene Klasse installiert werden:Robi2LedBlinkerDemo task = new LedBlinker(); task.period = 1000; // Periodenlänge des Tasks in ms Task.install(task);
Alle Initialisierungen und auch das Installieren der eigenen Klasse muss im Konstrukt static { ... } erfolgen. Dies ist ein statischer Konstruktor und wird beim ersten Benutzen der Klasse Robi2LedBlinkerDemo aufgerufen. Dementsprechend werden dabei auch die Initialisierungen und das Installieren ausgeführt. Dieses Programm erhält zusätzlich noch eine Methode static void toggleCenterLED () { ... }, welche wiederum von aussen aufgerufen werden kann. In dieser Methode wird die center Led entweder ein- oder ausgeschaltet. Die Methode public void action( ) { ... } wird jede Sekunde aufgerufen (task.period = 1000;). Dabei werden die Leds nacheinander ein- und ausgeschaltet. Die Variable static int zaehler = 0; ist eine globale Variable und kann vom PC aus abgefragt werden.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
col
(package private) static int
col1
(package private) static int
col2
(package private) static int
col3
(package private) static int
zaehler
-
Fields inherited from class org.deepjava.runtime.ppc32.Task
done, firstErr, maxNofTasks, nofActivations, period, safe, time
-
Fields inherited from interface org.deepjava.runtime.ppc32.Ippc32
CR, CTR, DAR, DEC, DSISR, FPR0, FPR1, FPR10, FPR11, FPR12, FPR13, FPR14, FPR15, FPR16, FPR17, FPR18, FPR19, FPR2, FPR20, FPR21, FPR22, FPR23, FPR24, FPR25, FPR26, FPR27, FPR28, FPR29, FPR3, FPR30, FPR31, FPR4, FPR5, FPR6, FPR7, FPR8, FPR9, FPSCR, LR, MSR, R0, R1, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R2, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R3, R30, R31, R4, R5, R6, R7, R8, R9, SPR1, SPR18, SPR19, SPR22, SPR26, SPR268, SPR269, SPR27, SPR272, SPR273, SPR274, SPR275, SPR287, SPR8, SPR9, SPRG0, SPRG1, SPRG2, SPRG3, SRR0, SRR1, TBLread, TBUread, XER
-
-
Constructor Summary
Constructors Constructor Description Robi2LedBlinkerDemo()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
action()
Action to be performed by the task(package private) static void
toggleCenterLED()
-
-
-
Method Detail
-
toggleCenterLED
static void toggleCenterLED()
-
action
public void action()
Description copied from class:Task
Action to be performed by the task- Specified by:
action
in interfaceActionable
- Overrides:
action
in classTask
-
-