Gehirn#

Einführung#

In VEX V5 C++ wird das Gehirn durch die Klasse brain repräsentiert. Sie erstellen ein Gehirnobjekt (oder verwenden das standardmäßig vom Projekt bereitgestellte) und greifen dann über dessen Memberobjekte auf die Gehirnfunktionen zu.

Abgeleitete Klassen#

Die Klasse brain dient als Basisklasse für die folgenden abgeleiteten Klassen:

  • Screen - Diese Klasse ermöglicht den Zugriff auf den eingebauten Farb-Touchscreen des Gehirns und erlaubt es Programmen, Text und Grafiken anzuzeigen sowie Berührungseingaben zu empfangen.

  • Timer - Diese Klasse bietet hochauflösende Zeitmessfunktionen zum Messen der verstrichenen Zeit und zum Steuern des zeitbasierten Verhaltens in Programmen.

  • Battery - Diese Klasse ermöglicht es Programmen, den Batteriestatus des Gehirns zu überwachen, einschließlich Spannung, Stromstärke, Kapazität und Temperatur.

  • ThreeWirePort (triport / 3-Wire Port) - Diese Klasse ermöglicht den Zugriff auf die 3-Wire-Anschlüsse des Brains zum Anschluss und zur Steuerung älterer Sensoren und Geräte wie Endschalter, Potentiometer und LEDs.

  • SDcard - Diese Klasse ermöglicht das Lesen und Schreiben auf die SD-Karte des Brains zum Speichern von Dateien, zur Datenprotokollierung und zum Laden externer Ressourcen.

Klassenkonstruktoren#

brain();

Parameter#

Der Konstruktor brain verwendet keine Parameter.

Anmerkungen#

  • In einem Projekt sollte nur ein einziges brain Objekt erstellt werden.

Beispiel#

// Create the V5 Brain
brain Brain = brain();

Mitgliedsfunktionen#

Die Klasse brain umfasst die folgenden Memberfunktionen:

  • programStop - Stoppt das aktuell laufende Projekt auf dem V5 Brain.

  • timer - Gibt den aktuellen Wert des internen Timers des Gehirns in den angegebenen Einheiten zurück.

  • resetTimer - Setzt den internen Timer des Gehirns auf Null zurück und startet die Zeitmessung neu.

  • setTimer - Setzt den internen Timer des Gehirns auf einen bestimmten Wert und eine bestimmte Zeiteinheit.

Bevor Funktionen des Typs brain aufgerufen werden können, muss eine Instanz des Typs brain erstellt werden, wie unten dargestellt:

// Create the V5 Brain
brain Brain = brain();

Programmstopp#

Stoppt das aktuell laufende Projekt auf dem V5 Brain.

Available Functions
void programStop();

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples
// Stop the project when the Brain screen is pressed
while (true) {
  if (Brain.Screen.pressing()) {
    Brain.programStop();
  }
  wait(20, msec);
}

Timer#

Gibt den aktuellen Wert des internen Timers des Gehirns in den angegebenen Einheiten zurück.

Available Functions
double timer(
  timeUnits units );

Parameters

Parameter

Typ

Beschreibung

units

timeUnits

Zeiteinheit für die Rückkehr:

  • seconds Sekunden sec
  • msec Millisekunden

Return Values

Gibt einen Wert vom Typ double zurück, der die seit dem Programmstart verstrichene Zeit in den angegebenen Einheiten darstellt.

Examples
  • Der Timer startet automatisch, sobald das Projekt beginnt.

  • Der Timer kann mit resetTimer zurückgesetzt werden.

Examples
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
  wait(20, msec);
}

Brain.programStop();

Timer zurücksetzen#

Setzt den internen Timer des Gehirns auf Null zurück. Anschließend beginnt der Timer sofort wieder von Null hochzuzählen.

Available Functions
void resetTimer();

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Der Timer beginnt unmittelbar nach dem Zurücksetzen wieder zu zählen.

  • Der Aufruf von resetTimer beeinflusst den Wert, der von nachfolgenden Aufrufen von timer zurückgegeben wird.

Examples
// Reset the timer and measure elapsed time
Brain.resetTimer();

while (Brain.timer(sec) < 5) {
  wait(20, msec);
}

// 5 seconds have elapsed since reset
Brain.Screen.print("5 seconds passed");

setTimer#

Stellt den internen Timer des Gehirns auf einen bestimmten Wert und eine bestimmte Zeiteinheit ein.

Available Functions
void setTimer(
  double value,
  timeUnits units );

Parameters

Parameter

Typ

Beschreibung

value

double

Die Zeit, auf die der Timer eingestellt werden soll, basierend auf den timeUnits die im Parameter units angegeben sind.

units

timeUnits

The unit used to interpret the value parameter:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Der Timer zählt nach dem Einstellen weiter vorwärts.

  • Der Aufruf von setTimer ändert sofort den von timer zurückgegebenen Wert.

Examples
// Set the timer to start at 10 seconds
Brain.setTimer(10, sec);

// Wait until the timer is at 3 seconds
while (Brain.timer(sec) < 3) {
  wait(20, msec);
}

// 5 seconds have elapsed since setTimer was called
Brain.Screen.print("5 seconds passed");