Absender: Achim Pankalla
Datum: Mo, 14.01.2008 17:24:06
In-reply-to:
<720D4F87-FE85-4A2D-90DB-8F6EF51904F6@xxxxxxxxxxxxxxx>
References:
<812F86EC9E1A96489D5E83C2AB7D688601840BB4@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx><4783393B.6080509@xxxxxxxx><3120C42F-80C5-4B99-BEF3-01701FB061F6@xxxxxxxxxxxxxxx><812F86EC9E1A96489D5E83C2AB7D68860187CBE4@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx><4C01C5F0-0E82-4F02-9EB5-62F4B77DEC2C@xxxxxxxxxxxxxxx><812F86EC9E1A96489D5E83C2AB7D68860187CD65@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <6372270E-C039-4B07-8178-A5E89BE5D8A1@xxxxxxxxxxxxxxx> <812F86EC9E1A96489D5E83C2AB7D68860187D9C7@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <720D4F87-FE85-4A2D-90DB-8F6EF51904F6@xxxxxxxxxxxxxxx>
hallo,anbei eine schnelle korrektur des problems von ticket 159 (fehler eeprom-emulation). das problem ist, das einige variablen plötzlich nicht mehr im eeprom abgelegt werden. als ursache habe ich entdeckt, das in global.h einige defines abgefragt werden, die erst später in ct-bot.h gesetzt werden. dadurch wird EEPROM nicht gesetzt und 5 eeprom-variablen bekommen nicht das entsprechende attribut. dadurch werden sie auch nicht im emulierten eeprom abgebildet.
der patch setzt das include von global.h in ct-bot.h ans ende.damit ist das problem wohl erst mal behoben. weder bei generierung von pc noch bei mcu kode werden vom compiler fehler generiert. der kode im pc geht wieder. dieser patch ist aber, glaub ich, nur eine schnelle lösung ;-) . es sollte verifiziert werden, warum einige vars im eeprom landen und andere nicht und die entsprechenden massnahmen ergriffen werden. vielleich finde ich dafür die tage noch die zeit, oder jemand anderes.
gruss achim
Index: E:/eclipse/ct-bot devel/ct-Bot/Changelog.txt =================================================================== --- E:/eclipse/ct-bot devel/ct-Bot/Changelog.txt (revision 1332) +++ E:/eclipse/ct-bot devel/ct-Bot/Changelog.txt (working copy) @@ -1,5 +1,7 @@ CHANGELOG fuer c't-Bot ====================== +2008-01-14 Achim Pankalla [achim.pankalla@xxxxxx] : Ticket #159 Fehler bei eeprom-emulation behoben. Position von include global.h geaendert. + 2008-01-10 Timo Sandmann [mail@xxxxxxxxxxxxxxx]: bot_goto_pos und bot_turn optimiert 2008-01-10 Timo Sandmann [mail@xxxxxxxxxxxxxxx]: TWI-Treiberdateien an Namenskonvention angepasst Index: E:/eclipse/ct-bot devel/ct-Bot/ct-Bot.h =================================================================== --- E:/eclipse/ct-bot devel/ct-Bot/ct-Bot.h (revision 1332) +++ E:/eclipse/ct-bot devel/ct-Bot/ct-Bot.h (working copy) @@ -26,7 +26,7 @@ #ifndef CT_BOT_H_DEF #define CT_BOT_H_DEF -#include "global.h" +//#include "global.h" /************************************************************ * Module switches, to make code smaller if features are not needed @@ -85,7 +85,7 @@ //#define MMC_VM_AVAILABLE /*!< Virtual Memory Management mit MMC / SD-Card oder PC-Emulation */ //#define OS_AVAILABLE /*!< Aktiviert BotOS fuer Threads und Scheduling */ -//#define EEPROM_EMU_AVAILABLE /*!< Aktiviert die EEPROM-Emulation fuer PC */ +#define EEPROM_EMU_AVAILABLE /*!< Aktiviert die EEPROM-Emulation fuer PC */ // Achtung, Linkereinstellungen anpassen !!!!! (siehe Documentation/Bootloader.html)! //#define BOOTLOADER_AVAILABLE /*!< Aktiviert den Bootloadercode - das ist nur noetig fuer die einmalige "Installation" des Bootloaders. Achtung, Linkereinstellungen anpassen (siehe mcu/bootloader.c)! */ @@ -312,3 +312,5 @@ #endif #endif + +#include "global.h"