Hallo Sternthaler,
ok, Du hast gewonnen, Du bist länger im Forum drin als ich
.
Eigentlich wollte ich gar nicht lange drin sein. Dauert aber so verdammt lange einen Forum-Beitrag zu schreiben. Bin darüber jedes mal aufs Neue überrascht. Gehts Dir da ähnlich?
Ja, es kann zu "vernachlässigten Prozessen kommen". Aber, auch hier könnte man die Ansätze kombinieren. Wie gefällt Dir das Folgende (nur ca.):
Code:
/*----------------------------------------------------------------------
Daten sammeln
*/
void PROZESS_DatenSammeln(void) {
static int v_status=0;
static long v_pause_bis;
if (v_taster != T_1) return;
if (v_status == 0)
{
v_LED = RED; // User sieht rot
v_pause_bis = Gettime () + 1000; // Pausenzeit nach Taste losgelassen
//sens.aktiv |= SENS_RAD; // Rad-Sensoren starten
md.i [LINKS] = 0; // Die ersten N Messungen verwerfen
v_status++;
}
if (v_status == 1)
{
if (v_pause_bis < Gettime()) // Pausenzeit abwarten
{
v_LED = GREEN + BLINK; // User warnen: Asuro faehrt los
v_status++;
}
}
if (v_status == 2)
{
/* Motor starten und warten bis der MessDaten-Puffer voll ist */
drive (220, 220); // Geradeaus soll es gehen
md.i [LINKS] = 0; // Die ersten N Messungen verwerfen
v_status++;
}
if (v_status == 3)
{
PositionBerechnen=1; //PROZESS_PositionBerechnen: Macht nur Sinn, wenn die Messdatenaufnahme laeuft.
if (md.i [LINKS] == 20) // Kurve einleiten
{
drive (100, 160);
}
if (md.i [LINKS] == 30) // wieder geradeaus
{
drive (220, 220); // Geradeaus soll es gehen
}
if (md.i [LINKS] == 60) // Kurve einleiten
{
drive (250, 140);
}
if (md.i [LINKS] == 70) // wieder geradeaus
{
drive (220, 220); // Geradeaus soll es gehen
}
if (md.i [LINKS] >= MD_RECORD_ANZ - 1)
{
drive (0, 0); // Motor aus
//MotorDir (BREAK, BREAK);
//sens.aktiv &= ~SENS_RAD; // Rad-Sensoren stoppen
v_LED = RED + BLINK; // User ist wieder daran
v_status = 0;
PositionBerechnen=0;
v_taster=0;
}
}
}
Das ist wahr, "die Struktur der AktionsList" und damit das Subsumption Framework hat sich stark vereinfacht. War viel zu viel Balast für die mit dem ASURO möglichen Programmgrößen.
Gruß rossir
Lesezeichen