Absender: Achim Pankalla
Datum: Fr, 30.03.2007 09:54:48
In-reply-to:
<FB69CB24-398E-4A0D-A099-3E8751094F34@xxxxxxxxxxxxxxx>
References:
<460BFC4D.5030809@xxxxxx> <03FA8E8E-224D-4E27-A1A6-2899A0C20B7B@xxxxxxxxxxxxxxx> <460C243C.907@xxxxxx> <FB69CB24-398E-4A0D-A099-3E8751094F34@xxxxxxxxxxxxxxx>
hallo timo, Timo Sandmann schrieb:
ich schätze mit übersetzen meinst du, das der compiler nicht meckert und der sim-bot im labyrinth normal durchläuft?! übersetzen kann ich auch ohne probleme und wenn ich die typendefinitionen in global.h im orginal lasse läufts auch ohne probleme mit dem simulierten eeprom!!!Hi, Am 29.03.2007 um 22:40 schrieb Achim Pankalla:also das Problem mit bot_turn() kann ich so nicht nachvollziehen, außerdem rechnet das doch mit signed-ints?!das macht mich ja auch stutzig, habe ganze zeit gesucht, worans liegen könnte, habe aber so nichts gefunden, vielleicht bin ich auch betriebsblind und kann es deshalb nicht finden. deshalb ja auch dieser hilferuf....also ich habe gerade mal nachgeschaut, bei mir übersetzt der gcc den Code von bot_turn() wie gewünscht in 16-Bit-Instruktionen. Ich glaube das Problem liegt eher woanders. Vielleicht weil err15 bis err_big dann mit falschen Werten gefütttert werden?
nur wenn ich die global.h wie folgt ändere:typedef unsigned char uint8; /*!< vorzeichenlose 8-Bit-Zahl */ typedef unsigned short uint16; /*!< vorzeichenlose 16-Bit-Zahl */ // typedef unsigned int word; /*!< vorzeichenlose 16-Bit-Zahl */ typedef signed char int8; /*!< vorzeichenbehaftete 8-Bit-Zahl */ typedef short int int16; /*!< vorzeichenbehaftete 16-Bit-Zahl */
typedef unsigned long uint32; /*!< vorzeichenlose 32-Bit-Zahl */typedef signed long int32; /*!< vorzeichenbehaftete 32-Bit-Zahl */
// #define uint16 word /*!< Int mit 16 Bit */ dann gehts vielleicht ein paar schritte gut und dann dreht der bot sich nur noch. die werte die er aus den eeprom@pc holt logge ich mit, da kann ich nichts auffälliges erkennen. die einzige änderung ist wirklich die obige in global.h (und die habe ich eigentlich nur gemacht, damit die kalibrierwerte nur 16bit integer werden und nicht 32bit, damit es wie auf dem realen bot ist). hat noch jemand weitere ideen??? bin dankbar für jede weitere frage oder hinweis! nur noch so am rande, ich arbeite (noch) unter winxp. gcc --version -> 3.4.2 (mingw special) habe gerade auch mal eine frisch runtergeladene version nur in global.h wie ober verändert. auch dort läuft das bot_maze mit bot_turn nicht mehr. auch hier dreht sich der bot nur noch.
gruss achim
Gruß Timo _______________________________________________ ct-bot-entwickler Mailingliste ct-bot-entwickler@xxxxxxxxxxxxxxxxx http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler