Absender: Benjamin Benz
Datum: Mo, 15.05.2006 19:25:47
In-reply-to:
<000001c676c5$7fc0e260$fe78a8c0@mexpnew>
References:
<000001c676c5$7fc0e260$fe78a8c0@mexpnew>
Hallo, beim beim Einbauen Ihres Patches sind mir doch noch Bedenken gegen diese Lösung gekommen: > 201-255 -> Notfallverhalten, unsichtbar > 130-200 -> sichtbare, einfach aktivierbare, Verhalten > 3-129 -> unsichtbare Hilfsverhalten oder Verhalten, die nicht einfach > so aktiviert werden dürfen (wie bot_explore_behaviour) Auf diese Weise sind die Hilfsverhalten immer unwichtiger als die Hauptverhalten. Das ist aber unschön, da auf diese Weise kein Notverhalten ein Hilfsverhalten nutzen kann. Einen solchen Einschnitt möchte ich eigentlich nicht nur dem Display zu liebe vornehmen. Ich habe daher den Patch (noch) nicht eingebaut. Vielleicht findet sich ja eine andere Lösung, wie ein etwas engerer Bereich nur für sichtbare Verhalten, oder so. Der Rest der Struktur würde davon dann nicht so sehr betroffen, wie im aktuellen Vorschlag. Ich habe Ihnen meine aktuelle Version Ihres Patches angehängt. Er berücksichtigt auch den Vorschlag von Herrn Giesen, die Definiton der Bereichr über Konstanten zu regeln. Allerdings muss man auch da vielleicht nochmal anpassen. MfG Benjamin Benz Frank Menzel wrote: > Hallo Herr Benz, > > ich hab' mal alles hierzu verpatcht und angehangen. > > Mit freundlichen Grüßen > Frank Menzel > > -----Ursprüngliche Nachricht----- > Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx > [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von > Menzel, Frank IT-OO4 > Gesendet: Mittwoch, 10. Mai 2006 11:23 > An: Entwicklung rund um den c't-bot > Betreff: RE: [ct-bot] Verhalten > > > Vielleicht so: > Der jetzt sichtbare Bereich der Verhalten liegt bei Prio 3 - 200, der > generelle Wertebereich bis 255. Der Not-Aus Power Button deaktiviert > ebenfalls alle Verhalten in diesem Bereich. Es muß sichergestellt sein, > daß auch alle Hilfsverhalten bei PWR deaktiviert werden, welche aber > nicht sichtbar sein müssen. Die nicht sichtbaren Hilfsverhalten > überwiegen wohl mehr als die einfach zu aktivierenden Verhalten. > Könnte man vielleicht sagen: > > Not-Aus deaktiviert also alle von 3-200. > > Mein Vorschlag für die Prios der Verhalten nach obiger Logik, ohne daß > ich es so ausprobiert habe, wäre folgendermaßen... > > //unsichtbare Verhalten im Verhaltensscreen > > // Hoechste Prioritaet haben die Notfall Verhalten > // Verhalten zum Schutz des Bots, hohe Prioritaet, Aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(250, > bot_avoid_border_behaviour,ACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(249, > bot_avoid_col_behaviour,ACTIVE)); > > > //ab hier sichtbare und aktivierbare Verhalten im > Verhaltensscreen > > // Verhalten, um Hindnernisse besser zu erkennen, relativ hoe > Prioritaet, modifiziert nur > insert_behaviour_to_list(&behaviour, new_behaviour(200, > bot_glance_behaviour,ACTIVE)); > > // Demo-Verhalten, ganz einfach, inaktiv, sichtbar im > Verhaltensscreen > // Achtung, im Moment hat es eine hoehere Prioritaet als die > Gefahrenerkenner!!! > insert_behaviour_to_list(&behaviour, new_behaviour(198, > bot_simple_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(196, > bot_simple2_behaviour,INACTIVE)); > > > // Demo-Verhalten, etwas komplexer, inaktiv > insert_behaviour_to_list(&behaviour, new_behaviour(170, > bot_drive_square_behaviour,INACTIVE)); > // Demo-Verhalten fuer aufwendiges System, inaktiv > insert_behaviour_to_list(&behaviour, new_behaviour(158, > bot_olympic_behaviour,INACTIVE)); > > // Verhalten, um ein Labyrinth nach der Hoehlenforscher-Methode > loesen > insert_behaviour_to_list(&behaviour, new_behaviour(156, > bot_solve_maze_behaviour,INACTIVE)); > > // Hilfsverhalten kann auch aktiviert werden > insert_behaviour_to_list(&behaviour, new_behaviour( 154, > bot_do_slalom_behaviour,INACTIVE)); > > > > //ab hier nicht sichtbare Verhalten im Verhaltensscreen; > Hilfsverhalten oder nicht einfach so aktivierbare > > // Hilfsverhalten, um ein Labyrinth nach der > Hoehlenforscher-Methode loesen > insert_behaviour_to_list(&behaviour, new_behaviour(43, > bot_measure_angle_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(42, > bot_check_wall_behaviour,INACTIVE)); > > > // Alle Hilfsroutinen sind relativ wichtig, da sie auch von den > Notverhalten her genutzt werden > // Hilfsverhalten, die Befehle von Boten-Funktionen ausfuehren, > erst inaktiv, werden von Boten aktiviert > insert_behaviour_to_list(&behaviour, new_behaviour(99, > bot_turn_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(98, > bot_drive_distance_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(97, > bot_goto_behaviour,INACTIVE)); > > // unwichtigere Hilfsverhalten > insert_behaviour_to_list(&behaviour, new_behaviour(96, > bot_explore_behaviour,INACTIVE)); > > > > // Grundverhalten, setzt aeltere FB-Befehle um, aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(2, > bot_base_behaviour, ACTIVE)); > > > Mit freundlichem Gruß > Frank Menzel > > -----Original Message----- > From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx > [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of > Benjamin Benz > Sent: Wednesday, May 10, 2006 10:22 AM > To: Entwicklung rund um den c't-bot > Subject: Re: [ct-bot] Verhalten > > Menzel, Frank IT-OO4 wrote: >> Hallo, >> langsam wird es mit den Verhalten unübersichtlich bzgl. der Anzeige im > Display und dessen Aktivierung hierüber. Es werden ja alle Verhalten > angezeigt ab Prio 3 bis 200. Aber hier gibt es Hilfsverhalten, die > keinesfalls aktiviert werden dürfen wegen nicht init. Variablen und > sogar zum Absturz führen bzw. deren Aktivierung keinen Sinn macht. Die > Hauptverhalten hingegen können und dürfen hierüber aktiviert werden. > Vielleicht sollte man den Verhalten beim Einfügen in die Liste gleich > eine Kennung mitgeben, ob diese angezeigt und damit via Display > aktiviert werden dürfen oder nicht. Alternativ könnte man den nicht > anzuzeigenden Verhalten Prios von > 200 oder <= 2 geben... > > Ich habe Bedenken bei einer zusätzliche Kennung, da diese dann wieder > Resourcen (RAM) frisst und es sich bei der Aktivierung von Verhalten um > kein so zentrales Feature handelt. Die Hauptverhalten aber in einem > Prioritätsbereich zu sammeln klingt für mich sinnvoll. > > MfG Benjamin Benz > > -- > Benjamin Benz > Heise Zeitschriften Verlag > Redaktion c't > eMail: bbe@xxxxxxxx > WWW : http://www.heise.de > > > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler > > > Confidentiality note: > The information in this email and any attachment may contain > confidential and proprietary information of Heidelberger Druckmaschinen > AG and/or its affiliates and may be privileged or otherwise protected > from disclosure. If you are not the intended recipient, you are hereby > notified that any review, reliance or distribution by others or > forwarding without express permission is strictly prohibited and may > cause liability. In case you have received this message due to an error > in transmission, we kindly ask you to notify the sender immediately and > to delete this email and any attachment from your system. > > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler > > > ------------------------------------------------------------------------ > > Index: Changelog.txt > =================================================================== > RCS file: /ctbot/ct-Bot/Changelog.txt,v > retrieving revision 1.78 > diff -u -r1.78 Changelog.txt > --- Changelog.txt 10 May 2006 11:41:38 -0000 1.78 > +++ Changelog.txt 13 May 2006 21:06:59 -0000 > @@ -1,5 +1,7 @@ > CHANGELOG fuer c't-Bot > ====================== > +2006-05-11 Frank Menzel(menzelfr@xxxxxx) Verhalten in Priobereiche sortiert und Prios ab 130 erst angezeigt und damit selektierbar > + > 2006-05-10 Ralf Loehmer (rl@xxxxxxxxxx) maus_sens_write(); MSB > > 2006-05-10 Benjamin Benz (bbe@xxxxxxxx) UART-Baudrate-Formeln ueberarbeitet > > Index: bot-logik.c > =================================================================== > RCS file: /ctbot/ct-Bot/bot-logik.c,v > retrieving revision 1.39 > diff -u -r1.39 bot-logik.c > --- bot-logik.c 30 Apr 2006 10:03:36 -0000 1.39 > +++ bot-logik.c 13 May 2006 21:07:04 -0000 > @@ -1676,49 +1676,53 @@ > * Initialisert das ganze Verhalten > */ > void bot_behave_init(void){ > - // Demo-Verhalten, ganz einfach, inaktiv > - // Achtung, im Moment hat es eine hoehere Prioritaet als die Gefahrenerkenner!!! > - insert_behaviour_to_list(&behaviour, new_behaviour(252, bot_simple_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour(251, bot_simple2_behaviour,INACTIVE)); > - > - // Hoechste Prioritate haben die Notfall Verhalten > - > + // Hoechste Prioritaet haben die Notfall Verhalten > // Verhalten zum Schutz des Bots, hohe Prioritaet, Aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(250, bot_avoid_border_behaviour,ACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(249, bot_avoid_col_behaviour,ACTIVE)); > > > - // Verhalten, um Hidnernisse besser zu erkennen, relativ hoe Prioritaet, modifiziert nur > + //ab hier sichtbare und aktivierbare Verhalten im Verhaltensscreen > + > + // Verhalten, um Hindnernisse besser zu erkennen, relativ hoe Prioritaet, modifiziert nur > insert_behaviour_to_list(&behaviour, new_behaviour(200, bot_glance_behaviour,ACTIVE)); > > + // Demo-Verhalten, ganz einfach, inaktiv, sichtbar im Verhaltensscreen > + insert_behaviour_to_list(&behaviour, new_behaviour(198, bot_simple_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(196, bot_simple2_behaviour,INACTIVE)); > + > + > + // Demo-Verhalten, etwas komplexer, inaktiv > + insert_behaviour_to_list(&behaviour, new_behaviour(170, bot_drive_square_behaviour,INACTIVE)); > + // Demo-Verhalten fuer aufwendiges System, inaktiv > + insert_behaviour_to_list(&behaviour, new_behaviour(158, bot_olympic_behaviour,INACTIVE)); > + > // Verhalten, um ein Labyrinth nach der Hoehlenforscher-Methode loesen > - insert_behaviour_to_list(&behaviour, new_behaviour(150, bot_solve_maze_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(156, bot_solve_maze_behaviour,INACTIVE)); > + > + // Hilfsverhalten kann auch aktiviert werden > + insert_behaviour_to_list(&behaviour, new_behaviour( 154, bot_do_slalom_behaviour,INACTIVE)); > + > + > + //ab hier nicht sichtbare Verhalten im Verhaltensscreen; Hilfsverhalten oder nicht einfach so aktivierbare > + > + // Hilfsverhalten, um ein Labyrinth nach der Hoehlenforscher-Methode loesen > insert_behaviour_to_list(&behaviour, new_behaviour(43, bot_measure_angle_behaviour,INACTIVE)); > insert_behaviour_to_list(&behaviour, new_behaviour(42, bot_check_wall_behaviour,INACTIVE)); > > - > + > // Alle Hilfsroutinen sind relativ wichtig, da sie auch von den Notverhalten her genutzt werden > // Hilfsverhalten, die Befehle von Boten-Funktionen ausfuehren, erst inaktiv, werden von Boten aktiviert > - insert_behaviour_to_list(&behaviour, new_behaviour(150, bot_turn_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour(149, bot_drive_distance_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour(148, bot_goto_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(99, bot_turn_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(98, bot_drive_distance_behaviour,INACTIVE)); > + insert_behaviour_to_list(&behaviour, new_behaviour(97, bot_goto_behaviour,INACTIVE)); > > // unwichtigere Hilfsverhalten > - insert_behaviour_to_list(&behaviour, new_behaviour(100, bot_explore_behaviour,INACTIVE)); > - insert_behaviour_to_list(&behaviour, new_behaviour( 99, bot_do_slalom_behaviour,INACTIVE)); > - > - // Demo-Verhalten, etwas komplexer, inaktiv > - insert_behaviour_to_list(&behaviour, new_behaviour(51, bot_drive_square_behaviour,INACTIVE)); > - // Demo-Verhalten für aufwendiges System, inaktiv > - insert_behaviour_to_list(&behaviour, new_behaviour(52, bot_olympic_behaviour,INACTIVE)); > - > + insert_behaviour_to_list(&behaviour, new_behaviour(96, bot_explore_behaviour,INACTIVE)); > > // Grundverhalten, setzt aeltere FB-Befehle um, aktiv > insert_behaviour_to_list(&behaviour, new_behaviour(2, bot_base_behaviour, ACTIVE)); > > - // Um das Simple-Behaviour zu nutzen, die Kommentarzeichen vor der folgenden Zeile entfernen!!! > - // activateBehaviour(bot_simple_behaviour); > - // activateBehaviour(bot_simple2_behaviour); > > > #ifdef PC > @@ -1772,7 +1776,7 @@ > > // zuerst alle Verhalten ermitteln ausser Grundverhalten > while(ptr != NULL) { > - if ((ptr->priority > 2) &&(ptr->priority <= 200)) > + if ((ptr->priority > 129) &&(ptr->priority <= 200)) > max_behaviours++; > > ptr = ptr->next; > @@ -1801,7 +1805,7 @@ > > // durch die Liste gehen, bis wir den gewuenschten Index erreicht haben > for (job = behaviour; job; job = job->next) { > - if ((job->priority > 2) &&(job->priority <= 200)) { > + if ((job->priority > 129) &&(job->priority <= 200)) { > i++; > if (i == pos) { > job->active_new = !job->active_new; > Index: ct-Bot.c > =================================================================== > RCS file: /ctbot/ct-Bot/ct-Bot.c,v > retrieving revision 1.29 > diff -u -r1.29 ct-Bot.c > --- ct-Bot.c 28 Apr 2006 20:52:04 -0000 1.29 > +++ ct-Bot.c 13 May 2006 21:07:05 -0000 > @@ -228,7 +228,7 @@ > */ > while((ptr != NULL)&& (linecounter<5)) { > > - if ((ptr->priority > 2) &&(ptr->priority <= 200)) { > + if ((ptr->priority > 129) &&(ptr->priority <= 200)) { > if (colcounter >= firstcol) { > display_cursor(linecounter,((colcounter % 2)* 12)+1); > display_printf(" %3d,%2d",ptr->priority,ptr->active_new); -- Benjamin Benz Heise Zeitschriften Verlag Redaktion c't eMail: bbe@xxxxxxxx WWW : http://www.heise.de
Index: Changelog.txt =================================================================== RCS file: /ctbot/ct-Bot/Changelog.txt,v retrieving revision 1.78 diff -u -r1.78 Changelog.txt --- Changelog.txt 10 May 2006 11:41:38 -0000 1.78 +++ Changelog.txt 15 May 2006 18:52:03 -0000 @@ -1,5 +1,7 @@ CHANGELOG fuer c't-Bot ====================== +2006-05-15 Frank Menzel(menzelfr@xxxxxx) Verhalten in Priobereiche sortiert und Prios ab 130 erst angezeigt und damit selektierbar + 2006-05-10 Ralf Loehmer (rl@xxxxxxxxxx) maus_sens_write(); MSB 2006-05-10 Benjamin Benz (bbe@xxxxxxxx) UART-Baudrate-Formeln ueberarbeitet Index: bot-logik.c =================================================================== RCS file: /ctbot/ct-Bot/bot-logik.c,v retrieving revision 1.39 diff -u -r1.39 bot-logik.c --- bot-logik.c 30 Apr 2006 10:03:36 -0000 1.39 +++ bot-logik.c 15 May 2006 18:52:03 -0000 @@ -1676,49 +1676,60 @@ * Initialisert das ganze Verhalten */ void bot_behave_init(void){ - // Demo-Verhalten, ganz einfach, inaktiv - // Achtung, im Moment hat es eine hoehere Prioritaet als die Gefahrenerkenner!!! - insert_behaviour_to_list(&behaviour, new_behaviour(252, bot_simple_behaviour,INACTIVE)); - insert_behaviour_to_list(&behaviour, new_behaviour(251, bot_simple2_behaviour,INACTIVE)); - - // Hoechste Prioritate haben die Notfall Verhalten + /* Achtung, es gilt folgende Regelung: + * 0 < Prioritaet < PRIORITY_MAX + * PRIORITY_HELPER < Prioritaet < PRIORITY_VISIBLE sind Hilfsverhalten + * PRIORITY_VISIBLE < Prioritaet < PRIORITY_EMERGENCY sind Hauptverhalten + * PRIORITY_EMERGENCY < Prioritaet < PRIORITY_MAX sind Notfallverhalten und werden z.B. vom PWR-Knopf oder Not-Aus nicht beeinflusst + */ + // Hoechste Prioritaet haben die Notfall Verhalten // Verhalten zum Schutz des Bots, hohe Prioritaet, Aktiv insert_behaviour_to_list(&behaviour, new_behaviour(250, bot_avoid_border_behaviour,ACTIVE)); insert_behaviour_to_list(&behaviour, new_behaviour(249, bot_avoid_col_behaviour,ACTIVE)); - // Verhalten, um Hidnernisse besser zu erkennen, relativ hoe Prioritaet, modifiziert nur + //ab hier sichtbare und aktivierbare Verhalten im Verhaltensscreen + + // Verhalten, um Hindnernisse besser zu erkennen, relativ hoe Prioritaet, modifiziert nur insert_behaviour_to_list(&behaviour, new_behaviour(200, bot_glance_behaviour,ACTIVE)); + // Demo-Verhalten, ganz einfach, inaktiv, sichtbar im Verhaltensscreen + insert_behaviour_to_list(&behaviour, new_behaviour(198, bot_simple_behaviour,INACTIVE)); + insert_behaviour_to_list(&behaviour, new_behaviour(196, bot_simple2_behaviour,INACTIVE)); + + + // Demo-Verhalten, etwas komplexer, inaktiv + insert_behaviour_to_list(&behaviour, new_behaviour(170, bot_drive_square_behaviour,INACTIVE)); + // Demo-Verhalten fuer aufwendiges System, inaktiv + insert_behaviour_to_list(&behaviour, new_behaviour(158, bot_olympic_behaviour,INACTIVE)); + // Verhalten, um ein Labyrinth nach der Hoehlenforscher-Methode loesen - insert_behaviour_to_list(&behaviour, new_behaviour(150, bot_solve_maze_behaviour,INACTIVE)); + insert_behaviour_to_list(&behaviour, new_behaviour(156, bot_solve_maze_behaviour,INACTIVE)); + + // Hilfsverhalten kann auch aktiviert werden + insert_behaviour_to_list(&behaviour, new_behaviour( 154, bot_do_slalom_behaviour,INACTIVE)); + + + //ab hier nicht sichtbare Verhalten im Verhaltensscreen; Hilfsverhalten oder nicht einfach so aktivierbare + + // Hilfsverhalten, um ein Labyrinth nach der Hoehlenforscher-Methode loesen insert_behaviour_to_list(&behaviour, new_behaviour(43, bot_measure_angle_behaviour,INACTIVE)); insert_behaviour_to_list(&behaviour, new_behaviour(42, bot_check_wall_behaviour,INACTIVE)); - + // Alle Hilfsroutinen sind relativ wichtig, da sie auch von den Notverhalten her genutzt werden // Hilfsverhalten, die Befehle von Boten-Funktionen ausfuehren, erst inaktiv, werden von Boten aktiviert - insert_behaviour_to_list(&behaviour, new_behaviour(150, bot_turn_behaviour,INACTIVE)); - insert_behaviour_to_list(&behaviour, new_behaviour(149, bot_drive_distance_behaviour,INACTIVE)); - insert_behaviour_to_list(&behaviour, new_behaviour(148, bot_goto_behaviour,INACTIVE)); + insert_behaviour_to_list(&behaviour, new_behaviour(99, bot_turn_behaviour,INACTIVE)); + insert_behaviour_to_list(&behaviour, new_behaviour(98, bot_drive_distance_behaviour,INACTIVE)); + insert_behaviour_to_list(&behaviour, new_behaviour(97, bot_goto_behaviour,INACTIVE)); // unwichtigere Hilfsverhalten - insert_behaviour_to_list(&behaviour, new_behaviour(100, bot_explore_behaviour,INACTIVE)); - insert_behaviour_to_list(&behaviour, new_behaviour( 99, bot_do_slalom_behaviour,INACTIVE)); - - // Demo-Verhalten, etwas komplexer, inaktiv - insert_behaviour_to_list(&behaviour, new_behaviour(51, bot_drive_square_behaviour,INACTIVE)); - // Demo-Verhalten für aufwendiges System, inaktiv - insert_behaviour_to_list(&behaviour, new_behaviour(52, bot_olympic_behaviour,INACTIVE)); - + insert_behaviour_to_list(&behaviour, new_behaviour(96, bot_explore_behaviour,INACTIVE)); // Grundverhalten, setzt aeltere FB-Befehle um, aktiv insert_behaviour_to_list(&behaviour, new_behaviour(2, bot_base_behaviour, ACTIVE)); - // Um das Simple-Behaviour zu nutzen, die Kommentarzeichen vor der folgenden Zeile entfernen!!! - // activateBehaviour(bot_simple_behaviour); - // activateBehaviour(bot_simple2_behaviour); #ifdef PC @@ -1772,7 +1783,7 @@ // zuerst alle Verhalten ermitteln ausser Grundverhalten while(ptr != NULL) { - if ((ptr->priority > 2) &&(ptr->priority <= 200)) + if ((ptr->priority > PRIORITY_VISIBLE ) &&(ptr->priority <= PRIORITY_EMERGENCY)) max_behaviours++; ptr = ptr->next; @@ -1801,7 +1812,7 @@ // durch die Liste gehen, bis wir den gewuenschten Index erreicht haben for (job = behaviour; job; job = job->next) { - if ((job->priority > 2) &&(job->priority <= 200)) { + if ((job->priority > 129) &&(job->priority <= 200)) { i++; if (i == pos) { job->active_new = !job->active_new; Index: ct-Bot.c =================================================================== RCS file: /ctbot/ct-Bot/ct-Bot.c,v retrieving revision 1.29 diff -u -r1.29 ct-Bot.c --- ct-Bot.c 28 Apr 2006 20:52:04 -0000 1.29 +++ ct-Bot.c 15 May 2006 18:52:03 -0000 @@ -212,40 +212,34 @@ case 2: display_cursor(1,1); - #ifdef DISPLAY_BEHAVIOUR_AVAILABLE - /*! - * zeilenweise Anzeige der Verhalten - */ - display_printf("Verhalten (Pri/Akt)%d",behaviour_page); + #ifdef DISPLAY_BEHAVIOUR_AVAILABLE + // zeilenweise Anzeige der Verhalten + display_printf("Verhalten (Pri/Akt)%d",behaviour_page); + + colcounter = 0; linecounter = 2; + // je nach Seitenwahl die ersten Saetze ueberlesen bis richtige Seite + firstcol = (behaviour_page -1)*6; + + // max. 3 Zeilen mit 6 Verhalten anzeigbar wegen Ueberschrift + //Seitensteuerung bei mehr Verhalten + while((ptr != NULL)&& (linecounter<5)) { + if ((ptr->priority > PRIORITY_VISIBLE ) &&(ptr->priority <= PRIORITY_EMERGENCY)){ + if (colcounter >= firstcol) { + display_cursor(linecounter,((colcounter % 2)* 12)+1); + display_printf(" %3d,%2d",ptr->priority,ptr->active_new); + colcounter++; + + /* bei colcounter 0 neue Zeile */ + if (colcounter % 2 == 0) + linecounter++; + } + else + colcounter ++; + } + ptr = ptr->next; + } - colcounter = 0; linecounter = 2; - /* je nach Seitenwahl die ersten Saetze ueberlesen bis richtige Seite */ - firstcol = (behaviour_page -1)*6; - - /*! - * max. 3 Zeilen mit 6 Verhalten anzeigbar wegen Ueberschrift - * Seitensteuerung bei mehr Verhalten - */ - while((ptr != NULL)&& (linecounter<5)) { - - if ((ptr->priority > 2) &&(ptr->priority <= 200)) { - if (colcounter >= firstcol) { - display_cursor(linecounter,((colcounter % 2)* 12)+1); - display_printf(" %3d,%2d",ptr->priority,ptr->active_new); - colcounter++; - - /* bei colcounter 0 neue Zeile */ - if (colcounter % 2 == 0) - linecounter++; - - } - else - colcounter ++; - } - ptr = ptr->next; - } - - #endif + #endif #ifdef TEST_AVAILABLE_COUNTER Index: include/bot-logik.h =================================================================== RCS file: /ctbot/ct-Bot/include/bot-logik.h,v retrieving revision 1.17 diff -u -r1.17 bot-logik.h --- include/bot-logik.h 28 Apr 2006 13:58:29 -0000 1.17 +++ include/bot-logik.h 15 May 2006 18:52:03 -0000 @@ -29,6 +29,10 @@ #include "global.h" #include "ct-Bot.h" +#define PRIORITY_HELPER 3 /*!< Verhalten mit: PRIORITY_HELPER < Prioritaet < PRIORITY_VISIBLE sind Hilfsverhalten */ +#define PRIORITY_VISIBLE 130 /*!< Verhalten mit: PRIORITY_VISIBLE < Prioritaet < PRIORITY_EMERGENCY sind Hauptverhalten */ +#define PRIORITY_EMERGENCY 200 /*!< Verhalten mit: PRIORITY_EMERGENCY < Prioritaet < PRIORITY_MAX sind Notfallverhalten und werden z.B. vom PWR-Knopf oder Not-Aus nicht beeinflusst*/ +#define PRIORITY_MAX 255 /*!< Obergrenze der Prioritaeten */ /*! Verwaltungsstruktur fuer die Verhaltensroutinen */ typedef struct _Behaviour_t {