Erweiterung im Seriellen Monitor

kurzschuss

Administrator
Ich möchte ganze gerne eine eigene Ausgabe einrichten in der Seriellen Ausgabe Konsole, ähnlich dessen wies es bereits mit den Sensorwerten gemacht wird wo man über die V-Taste durchblättern kann.
Ich habe schon herumprobiert, habe es aber nicht hin bekommen
Ich möchte damit die Möglichkeit haben einige eigene Variabeln testweise zu kontrollieren und weiß nicht wie ich da vorgehen muss.

Gruß
Uwe
 
@Uwe: Das könnte man mit einer "Zustandsvariable" lösen (state variable). Die Zustandsvariable enthält die "Seite" welche in der Konsole angezeigt werden soll.

Beispiel:


Code:
// anzuzeigende/aktuelle Seite (0,1,2 usw.) - definiert in "robot.h"
byte consoleMode ;   

// Definiert Konstanten ("Konstanten") für die möglichen Seiten (0,1,2 usw.) - in "robot.h"
// Diese Konstanten repräsentieren die Zahlen 0,1,2 usw. und sind griffiger als Zahlen
enum { CONSOLE_SENSOR_COUNTERS, CONSOLE_SENSOR_VALUES, CONSOLE_PERIMETER, CONSOLE_OFF };

// Anzeige-Namen für alle Seiten - definiert in robot.cpp
char* consoleModeNames[]={"sen_counters", "sen_values", "perimeter"};

Das springen zur nächsten Seite passiert in Robot::readSerial():
  case 'v':   consoleMode = (consoleMode +1) % 4;    // plus 1 modulo 4 (dadurch wird 4 wieder zu 0)

Das Anzeigen von beliebigen Variablen passiert in "Robot::printInfo", 

z.B.

  int testVariable = 42;  

  if (consoleMode == CONSOLE_PERIMETER){
    // Variable anzeigen...
    Streamprint(s, "test %4d", (int)testVariable);
  }
 
Oben