Ivobot
Robotics in der BU2 der Kantonsschule am Burggraben
Öffentliche Methoden | Aufstellung aller Elemente
Motors Klassenreferenz

#include <motors.h>

Öffentliche Methoden

void begin ()
 
void setPower (int lr, int power)
 
void setPowers (int leftPower, int rightPower)
 
long getTicks (int lr)
 
long getDt (int lr)
 
long getLastTicks (int lr)
 
long * getTicksArray ()
 
long * getDtArray ()
 
long * getLastTicksArray ()
 
void resetCounters ()
 

Ausführliche Beschreibung

Motorensteuerung.

Dokumentation der Elementfunktionen

void Motors::begin ( )

Initialisierung (wird von der Robot-Klasse aufgerufen).

long Motors::getDt ( int  lr)

Liefert die Anzahl Microsekunden eines Motors (0=links, 1=rechts) zwischen den beiden letzten Ticks zurück. Achtung: Das Resultat macht erst dann Sinn, wenn die Anzahl Ticks>=2.

Parameter
lr0 (links) oder 1 (rechts)
Rückgabe
Anzahl Microsekunden.
long * Motors::getDtArray ( )

Liefert einen Pointer auf ein long-Array mit 2 Einträgen (links / rechts) zurück. Dieses Array wird überschrieben. Damit kann die Zeit zwischen zwei Ticks ausgelesen werden, ohne die Funktion

getDt(int)

aufzurufen. Siehe auch getTicksArray().

Rückgabe
Pointer auf long-Array mit 2 Einträgen.
long Motors::getLastTicks ( int  lr)

Liefert den Zeitpunkt des letzten Ticks als Systemzeit in Microsekunden eines Motors (0=links, 1=rechts) zwischen den beiden letzten Ticks zurück.

Parameter
lr0 (links) oder 1 (rechts)
Rückgabe
Zeitpunkt in Microsekunden Systemzeit.
long * Motors::getLastTicksArray ( )

Liefert einen Pointer auf ein long-Array mit 2 Einträgen (links / rechts) zurück. Dieses Array wird überschrieben. Damit kann die Systemzeit der letzten Ticks ausgelesen werden, ohne die Funktion

aufzurufen. Siehe auch getTicksArray().

Rückgabe
Pointer auf long-Array mit 2 Einträgen.
long Motors::getTicks ( int  lr)

Liefert die Anzahl Ticks eines Motors 0=links, 1=rechts zurück.

Parameter
lr0 (links) oder 1 (rechts)
Rückgabe
Anzahl Ticks
long * Motors::getTicksArray ( )

Liefert einen Pointer auf ein long-Array mit 2 Einträgen (links / rechts) zurück. Dieses Array wird überschrieben. Damit können die Anzahl Ticks ausgelesen werden, ohne die Funktion

getTicks(int)

aufzurufen.

Beispiel:

long* ticks = robot.motors.getTicksArray();
// Fortan steht in ticks[0] und ticks[1] die Anzahl Ticks vom linken und rechten Motor.
if (ticks[0]>10) { // Wenn linker Motor mehr als halbe Umdrehung
// Tu was
}
Rückgabe
Pointer auf long-Array mit 2 Einträgen.
void Motors::resetCounters ( )

Setzt die Ticks Zähler auf Null. Eine direkte Manipulation ist auch über die Arrays möglich.

void Motors::setPower ( int  lr,
int  power 
)

Legt die Leistung eines Motors fest.

Parameter
lrlinks 0 oder rechts 1.
powerWert zwischen -799 und +799
void Motors::setPowers ( int  leftPower,
int  rightPower 
)

Legt die Leistung beider Motoren fest.

Parameter
leftPowerWert zwischen -799 und +799
rightPowerWert zwischen -799 und +799

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: