c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Achim Pankalla
Datum: Di, 03.06.2008 19:32:05
In-reply-to:
<B96A3097-B5FE-4347-AD0A-44954325649D@xxxxxxxxxxxxxxx>
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>
hallo,
Timo Sandmann schrieb:
> na ja es war bisher so, dass danach Ende ist, warum sollte man es
> jetzt ändern?
kann ja so bleiben.
mein gedanke war damals...
das init brauch man ja nur, wenn man das eeprom mit den standartwerten
neu belegen möchte (urzustand). dann startet man eben mit ct-bot -i.
wird das prg. danach beendet, muss man ihn nochmal starten, weil man ja
zb testen möchte.
sicher gibts auch anwendungen, wo es praktischer ist, wenn der bot sich
nach dem init beendet.
(in einer der ersten versionen, wurde auch nach -i nicht der bot
beendet, sondern eine globale variable eeprom_init gesetzt.)
> Ich versteh auch immer noch nicht, wo da in der bisherigen Version ein
> Fehler ist.
was verstehst du nicht???
1)warum ich die optionen auswertung geändert habe?
a)
weil ich ehrlich gesagt das exit() übersehen hatte :-[ und eine
doppelte initialisierung der eeprom-emu bei der option -i vermeiden
wollte. (diese änderung kann man vergessen, wenn das exit() bleibt!)
b)
der andere grund ist die option -a für die bot-addresse. hier wird
set_bot_address() benutzt. nutzt man die eeprom-emu, darf die funkltion
erst nach dem starten der emu benutzt werden, sonst wird das nächste
get_bot_address() nicht den wert liefern der mit -a übergeben wurde
(sondern den aus der unveränderten eeprom-datei). deshalb die variable
opt_baddress. mit dieser variable wird nach dem starten der emulation
die bot_adresse gesetzt.
2)warum der patch den fehler 167 beheben sollte?
bisher wurde die eeprom-emu erst in init() gestartet, also nach
command_init() in bot_2_sim_init(). get_bot_address() liefert dann in
command_init() 0 und damit gibts anscheinend probleme!
deshalb findet jetzt die eeprom-emu initialisierung nach der options
auswertung und vor bot_2_sim_init() statt. aus init() wurde sie entfernt.
nach der änderung läufts bei mir jedenfalls genauso, als wenn man die
emulation nicht nutzt.
aber wie gesagt, das sollte verifiziert werden, da ich nicht so tief in
der bot-kommunikation drin stecke....
Mit freundlichen Grüßen
achim