c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] Basic-Interpreter (für c't-Bot)

Absender: Timo Sandmann
Datum: Sa, 19.03.2011 19:11:14
In-reply-to: <C2269E6E-EBB2-40E9-B1EB-06984CD3ECDF@xxxxxxxxxxxxxxx>
References: <1ac236efdb2ae353dba0652e0009d0d7.squirrel@xxxxxxxxxxxxxxxxxxx> <BDD47587-412D-4D50-AC42-4B488A95575E@xxxxxxxxxxxxxxx> <4CF809BA.3070600@xxxxxxx> <B796DEF3-49CB-4F9A-B0AA-D42C7000926D@xxxxxxxxxxxxxxx> <20110309225657.432787bb.bergeruw@xxxxxxx> <4D19D5D5-4972-4D76-95F1-AFA65B36A076@xxxxxxxxxxxxxxx> <4D80E3E5.8050702@xxxxxxx> <C2269E6E-EBB2-40E9-B1EB-06984CD3ECDF@xxxxxxxxxxxxxxx>


Hallo, 

die neue uBasic-Version ist jetzt in den Bot-Code integriert und im SVN zu finden. Neu ist u.a. die Möglichkeit, von einem Programm aus, ein anderes (externes, also aus einer anderen Datei) zu starten. Die Ausführungsgeschwindigkeit hat sich zwar reduziert, dafür ist aber die Integration neuer Versionen einfacher.
Die Unterschiede der ct-Bot-Version gegenüber der originalen uBasic-Version sind als Patch im SVN (siehe http://www.heise.de/ct/projekte/machmit/ctbot/browser/devel/ct-Bot/contrib/avrbasic.diff ) zu finden. 

Btw: Die aktuelle uBasic-Version enthielt noch einen Bug im Zusammenhang mit der Ausführung eines externen Programms. Die direkt auf den GOSUB-Befehl folgende Programmzeile wurde (nach der Rückkehr zum Caller) übersprungen. Das ist in der im Bot-Code integrierten Version korrigiert.

Außerdem hat das Programm-Fenster des ct-Sim ein Bugfix bekommen (wichtig für das Übertragen von Basic-Programmen auf die SD-Karte des Bots). 

Wünsche noch ein schönes Wochenende,
Timo


Am 16.03.2011 um 19:42 schrieb Timo Sandmann:
> Hallo,
> 
> Am 16.03.2011 um 17:23 schrieb Uwe Berger:
>> MoinMoin,
>> 
>> Am 10.03.2011 15:40, schrieb Timo Sandmann:
>>> ja, genau deshalb würde ich ja auch gern darauf updaten. 
>>> Ich schaue es mir mal an, die beiden bekannten Bugs sind kein Problem denke ich.
>>> 
>> ich habe gerade die bekannten Bugs im Basic-Interpreter behoben und eine
>> neue Version ins SVN auf mikrocontroller.net eingespielt.
> 
> ich habe gerade mal mit der Integration in den ct-Bot-Code angefangen, mit dem Ziel, möglichst wenige Dinge am originalen uBasic-Code ändern zu müssen. Dabei ist mir aufgefallen, dass die Funktionen in ubasic_avr.c zwar von USE_AVR abhängen, aber nicht von den Schalter wie AVR_EPEEK, AVR_EPOKE usw. in ubasic_config.h. Das sieht für mich nach einem Bug aus, weil man so die Schalter in ubasic_config.h für einzelne Befehle gar nicht deaktivieren kann. 
> Oder interpretiere ich die Optionen falsch?
> 
> Eine andere Sache, die eine Integration in anderen Code ein wenig erschweren, sind solche includes wie in ubasic_avr.c:
> #if USE_AVR
> #include "../uart/usart.h"
> 
> Schöner wäre, wenn das auch von den Einstellungen in ubasic_config.h abhinge, so dass möglichst wenig an anderen Code-Dateien wie in ubasic_avr.c geändert werden müsste, wenn man den uBasic-Interpreter in ein anderes Projekt integrieren möchte. 
> 
> Grüße,
> Timo