Absender: Timo Sandmann
Datum: Di, 10.06.2008 17:14:39
In-reply-to:
<484CEA3E.6020704@xxxxxx>
References:
<4842DB09.5000809@xxxxxx> <F7F3EE9D-548E-4A57-B7BE-A75E393D6576@xxxxxxxxxxxxxxx> <48440C0A.4030502@xxxxxx> <C1BEF9B0-F554-4886-AB4F-CFE965C9760A@xxxxxxxxxxxxxxx> <4845516E.1080700@xxxxxx> <B96A3097-B5FE-4347-AD0A-44954325649D@xxxxxxxxxxxxxxx> <4845800B.1090905@xxxxxx> <484CEA3E.6020704@xxxxxx>
Hallo,der Patch ging bei mir nicht, ich hab den problematischen Teil aber jetzt manuell übernommen, unter Linux läuft's wieder. Die Semantik von -i ist unverändert, mit dem Datenaustausch über globale Variablen finde ich das eher unübersichtlich.
Langfristig wäre es am besten, wenn die EEPROM-Emulation einen Status hat (initialisiert oder nicht initialisiert), der von read_...() und write_...() abgefragt wird (so wie bei MMC). Falls noch nicht initialisiert, wird dann initialisiert, also immer on demand.
Gruß Timo Am 09.06.2008 um 10:30 schrieb Achim Pankalla:
hallo,anbei eine überarbeitete version meine patches bezüglich ticket 167. derangesprochene fehler wurden korregiert Mit freundlichen Grüßen achim Index: E:/eclipse/ct-bot orginal/ct-Bot/pc/cmd-tools_pc.c =================================================================== --- E:/eclipse/ct-bot orginal/ct-Bot/pc/cmd-tools_pc.c (revision 1442) +++ E:/eclipse/ct-bot orginal/ct-Bot/pc/cmd-tools_pc.c (working copy) @@ -37,6 +37,9 @@ #include "tcp.h" #include "command.h" +uint8_t opt_eeprom = 0; +int opt_bot_address = -1; + /*! * Zeigt Informationen zu den moeglichen Kommandozeilenargumenten an. */ @@ -109,12 +112,11 @@ case 'a': { /* Bot-Adresse wurde uebergeben */ - int addr = atoi(optarg); - if ((addr >= CMD_SIM_ADDR) && (addr != CMD_BROADCAST)) { + opt_bot_address = atoi(optarg);+ if ((opt_bot_address >= CMD_SIM_ADDR) && (opt_bot_address != CMD_BROADCAST)) {printf("Unzulaessige Bot-Adresse!\n"); exit(1); } - set_bot_address(addr); break; } @@ -224,12 +226,7 @@ case 'i': { /* EEPROM-Init */printf("EEPROM soll mit den Daten einer eep-Datei initialisiert werden.\n");- if (init_eeprom_man(1) != 0) { - printf("Fehler bei EEPROM-Initialisierung!\n"); - } else { - printf("done.\n"); - } - exit(0); + opt_eeprom = 1; } case 'h': Index: E:/eclipse/ct-bot orginal/ct-Bot/Changelog.txt =================================================================== --- E:/eclipse/ct-bot orginal/ct-Bot/Changelog.txt (revision 1442) +++ E:/eclipse/ct-bot orginal/ct-Bot/Changelog.txt (working copy) @@ -1,5 +1,8 @@ CHANGELOG fuer c't-Bot ======================+2008-06-09 Achim Pankalla [achim.pankalla@xxxxxx]: EEPROM Emulation (#167), Benutzung von EEPROM Variablen vor der Initialisierung des EEPROM-Emulators.+ Emulation geht nun wieder mit bot-adressierung. +2008-05-21 Timo Sandmann [mail@xxxxxxxxxxxxxxx]: TCP-Testserver / - Client debuggt (#161), funktioniert nun (wieder)2008-05-19 Timo Sandmann [mail@xxxxxxxxxxxxxxx]: 3. Version fuer catch_pillar(), aehnlich zu Version 2, berechnet die Entfernung zum Objekt aber anders. Einstellbar mit #define CATCH_PILLAR_VERSION in behaviour_catch_pillar.cIndex: E:/eclipse/ct-bot orginal/ct-Bot/ct-Bot.c =================================================================== --- E:/eclipse/ct-bot orginal/ct-Bot/ct-Bot.c (revision 1442) +++ E:/eclipse/ct-bot orginal/ct-Bot/ct-Bot.c (working copy) @@ -44,6 +44,9 @@ #include <stdio.h> #include <time.h> #include <sys/time.h> + +extern uint8_t opt_eeprom; +extern int opt_bot_address; #endif #include "global.h" @@ -125,11 +128,6 @@ #ifdef BOT_2_PC_AVAILABLE bot_2_pc_init(); #endif - #ifdef PC - if (init_eeprom_man(0) != 0) { - LOG_ERROR("EEPROM-Manager nicht korrekt initialisiert!"); - } - #endif #ifdef DISPLAY_AVAILABLE display_init(); #endif @@ -188,6 +186,13 @@ /* Kommandozeilen-Argumente auswerten */ hand_cmd_args(argc, argv); + if (init_eeprom_man(opt_eeprom) != 0) { + LOG_ERROR("EEPROM-Manager nicht korrekt initialisiert!"); + } + + if(opt_bot_address != -1) + set_bot_address((uint8_t)opt_bot_address); + printf("c't-Bot\n"); /* Bot-2-Sim-Kommunikation initialisieren */ _______________________________________________ ct-bot-entwickler Mailingliste ct-bot-entwickler@xxxxxxxxxxxxxxxxx http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler