Makrodefinitionen | |
#define | START_PHASE_1 254 |
Gerüst des Roboterhauptprogramms. | |
#define | START_PHASE_2 253 |
#define | ABBRUCH 255 |
#define | ROBOTERBEFEHL 252 |
#define | MASZGESCHNEIDERTER_BEFEHL 251 |
#define | FATALER_FEHLER 666 |
#define | EMPFANGSLISTE_ANFANG 300 |
#define | EMPFANGSLISTE_ENDE 303 |
#define | AUSFUEHRUNGSPROTOKOLL_ANFANG 400 |
#define | AUSFUEHRUNGSPROTOKOLL_ENDE 405 |
#define | BEFEHL_VERWEIGERT 969 |
#define | UNGUELTIGER_BEFEHL 777 |
#define | BATTERIESPANNUNG 888 |
#define | SENSOR_1_AN 1011 |
#define | SENSOR_1_AUS 1001 |
#define | SENSOR_2_AN 1012 |
#define | SENSOR_2_AUS 1002 |
#define | SENSOR_3_AN 1013 |
#define | SENSOR_3_AUS 1003 |
#define | METERZEIT 1/((1/80000)*(0-309305/10000+(1453/100000)*p_0)) |
#define | PERIODENDAUER 1/((1/(360*800))*(0-246128/10000+(5352/100000)*p_0)) |
#define | GENAUIGKEIT 10 |
#define | MAX_ANZAHL_BEFEHLE 20 |
#define | VORWAERTS 221 |
#define | RUECKWAERTS 122 |
#define | RECHTS 112 |
#define | LINKS 211 |
#define | MOZART 222 |
#define | RECHTS90 129 |
#define | LINKS90 219 |
#define | NIKOLAUS 126 |
#define | GEHFAKTOR 47 |
#define | DREHFAKTOR 20 |
#define | DREHFAKTOR90 1776 |
#define | DATALOG 78 |
#define | BEFEHLUHR 0 |
Funktionen | |
task | main () |
Hauptprozeß mit dem auf ,,nqc -Susb -run" hin gestartet wird:. | |
task | procura_nuntios () |
task | procura_regenerationem () |
Notfallprozeß, der den Roboter auf Befehl komplett in den Anfangszustand versetzt:. | |
task | procura_sensus () |
task | obsequere_iusso () |
void | DO_VORWAERTS (int p_0) |
void | DO_RUECKWAERTS (int p_0) |
void | DO_RECHTS (int p_0) |
void | DO_LINKS (int p_0) |
void | DO_MOZART () |
void | DO_RECHTS90 () |
void | DO_LINKS90 () |
void | DO_NIKOLAUS (int p_0) |
Variablen | |
int | occupatio_praesens = 0 |
Zeigt stets die gerade laufende Tätigkeit des Roboters an. (0 für Bereitschaft). | |
int | nuntius = 0 |
Das Signal, das als nächstes zu bearbeiten ist. Gepuffert im Prozeß procura_nuntios. |
#define ABBRUCH 255 |
#define AUSFUEHRUNGSPROTOKOLL_ANFANG 400 |
#define AUSFUEHRUNGSPROTOKOLL_ENDE 405 |
#define BATTERIESPANNUNG 888 |
#define BEFEHL_VERWEIGERT 969 |
#define BEFEHLUHR 0 |
#define DATALOG 78 |
#define DREHFAKTOR 20 |
#define DREHFAKTOR90 1776 |
#define EMPFANGSLISTE_ANFANG 300 |
#define EMPFANGSLISTE_ENDE 303 |
#define FATALER_FEHLER 666 |
#define GEHFAKTOR 47 |
#define GENAUIGKEIT 10 |
#define LINKS 211 |
#define LINKS90 219 |
#define MASZGESCHNEIDERTER_BEFEHL 251 |
#define MAX_ANZAHL_BEFEHLE 20 |
#define METERZEIT 1/((1/80000)*(0-309305/10000+(1453/100000)*p_0)) |
#define MOZART 222 |
#define NIKOLAUS 126 |
#define PERIODENDAUER 1/((1/(360*800))*(0-246128/10000+(5352/100000)*p_0)) |
#define RECHTS 112 |
#define RECHTS90 129 |
#define ROBOTERBEFEHL 252 |
#define RUECKWAERTS 122 |
#define SENSOR_1_AN 1011 |
#define SENSOR_1_AUS 1001 |
#define SENSOR_2_AN 1012 |
#define SENSOR_2_AUS 1002 |
#define SENSOR_3_AN 1013 |
#define SENSOR_3_AUS 1003 |
#define START_PHASE_1 254 |
Gerüst des Roboterhauptprogramms.
#define START_PHASE_2 253 |
#define UNGUELTIGER_BEFEHL 777 |
#define VORWAERTS 221 |
void DO_LINKS | ( | int | p_0 | ) |
void DO_LINKS90 | ( | ) |
void DO_MOZART | ( | ) |
void DO_NIKOLAUS | ( | int | p_0 | ) |
void DO_RECHTS | ( | int | p_0 | ) |
void DO_RECHTS90 | ( | ) |
void DO_RUECKWAERTS | ( | int | p_0 | ) |
void DO_VORWAERTS | ( | int | p_0 | ) |
task main | ( | void | ) |
Hauptprozeß mit dem auf ,,nqc -Susb -run" hin gestartet wird:.
<Sorgt dafür, daß man stets abschalten kann.
<Puffert den Nachrichtenempfang.
<Ueberwacht die Sensoren.
task obsequere_iusso | ( | ) |
Prozeß, der Befehle ausfhrt:
temp | Puffer für Befehle |
<Funktioniert nicht auf alten RCX (Version < 2)
task procura_nuntios | ( | ) |
Prozeß zum Nachrichtenempfang:
temp | Nachrichtenpuffer |
task procura_regenerationem | ( | ) |
Notfallprozeß, der den Roboter auf Befehl komplett in den Anfangszustand versetzt:.
task procura_sensus | ( | ) |
Dieser Prozeß überwacht die Sensoren (nur Tastsensoren implementiert) und bricht etwaige Befehlausführungen ab, sobald ein Sensor etwas empfaengt.
status_1 | Aktueller Zustand von SENSOR_1 | |
status_2 | Aktueller Zustand von SENSOR_2 | |
status_3 | Aktueller Zustand von SENSOR_3 |
int nuntius = 0 |
Das Signal, das als nächstes zu bearbeiten ist. Gepuffert im Prozeß procura_nuntios.
int occupatio_praesens = 0 |
Zeigt stets die gerade laufende Tätigkeit des Roboters an. (0 für Bereitschaft).