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 den Bot

Absender: Menzel, Frank IT-OS
Datum: Mi, 07.07.2010 12:35:19
In-reply-to: <D4B13581-6274-4860-8882-50FFC14EDA10@xxxxxxxxxxxxxxx>
References: <000001cb1c4f$a2fa5520$0400a8c0@mexpnew> <D4B13581-6274-4860-8882-50FFC14EDA10@xxxxxxxxxxxxxxx>


Hallo Timo,
zu dem Punkt:
"Bekommst Du irgendeine Fehlermeldung oder einen Speicherüberlauf oder warum stürzt es (der Botcode nehme ich mal an?) ab? Das scheint mir dann eher ein Bug im Command-Code zu sein."

Wenn ich via dem neuen Button irgendwas als Script hochlade, dann kommen massenweise diese Meldungen:
[7 Jul 10 12:29:57.800] WARNING: Bot-Steuercode hat unerwartete lastTransmitted-Zeit gesendet (erwartet: 7410, tatsächlich: 7310); dies deutet darauf hin, dass der Steuercode Simschritte verschlafen hat [ctSim.model.bots.components.Sensors.warning() Thread AWT-EventQueue-0 (15)]

Und zum Schluss diese:
[7 Jul 10 12:29:58.322] WARNING: Bot-Probleme: Ein oder mehrere Bots waren viel zu langsam (>500 ms) [ctSim.controller.warn() Thread AWT-Shutdown (11)]

An diesem Punkt geht dann gar nichts mehr, Simfenster hat sich aufgehangen...

Gruß, Frank

-----Original Message-----
From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Timo Sandmann
Sent: Monday, July 05, 2010 9:28 PM
To: Entwicklung rund um den c't-bot
Subject: Re: [ct-bot] Basic-Interpreter für den Bot

Hallo Frank,

das Ganze funktioniert natürlich nicht, weil beim Bot-Code der Interpreter fehlt, mit dem ich damals nicht so richtig fertig geworden bin. Abstürzen sollte allerdings trotzdem nichts, der Bot bekommt dann einfach ein Kommando, mit dem er nichts anfangen kann und das er daher ignorieren sollte. Bekommst Du irgendeine Fehlermeldung oder einen Speicherüberlauf oder warum stürzt es (der Botcode nehme ich mal an?) ab? Das scheint mir dann eher ein Bug im Command-Code zu sein.

Ich meinte das in der Tat als Beispiel für eine Eingabemöglichkeit beliebiger, auf dem Bot interpretierter Programme. Das Prozedere ist ja eigentlich immer gleich und dem Sim ist es völlig egal, ob du Basic oder sonst etwas in das Textfenster tippst und anschließend zum Bot überträgst. Da können wir auf jeden Fall die vorhandene "Infrastruktur" nutzen. Erstmal am besten für deinen Basic-Interpreter, weil der vermutlich am weitesten fortgeschritten ist und außerdem mehr kann. Eventuell kann man ja später trotzdem noch eine Mini-Scriptsprache hinzufügen, für alle, die gar nicht "richtig" programmieren wollen, sondern "nur" Verhalten bedingt ausführen. Daten vom Sim empfangen, auf SD-Karte speichern, von dort laden usw. sind universelle Dinge, die wir nicht doppelt erfinden müssen, sondern mehrfach verwenden können.

Die Ausführung hatte ich damals so vorgesehen, dass der Sim den Fernbedienungscode für die Taste Play (macht irgendwie Sinn für "Programm starten" und war noch nicht anderweitig belegt) sendet und der Bot beim Empfang dieser Taste das zuletzt übertragene Programm ausführt. Per RemoteCall lässt sich ja beim derzeitigen Design leider kein Verhalten starten, das selbst RemoteCalls ausführen will. Daher der Umweg über den Fernbedienungscode. Alternativ könnte man natürlich auch ein neues Kommando für diesen Zweck einführen, das der Sim dann sendet. Über die Fernbedienung war aber erstmal der einfachere Weg.

Grüße,
Timo

Am 05.07.2010 um 16:37 schrieb Frank Menzel:
> Hallo Timo,
> sollte da noch was für den bot aktiviert werden, damit das Hochladen und
> Ausführen des Beispielscriptes funktioniert? So stürzt er nämlich bei
> mir gleich ab:-( Oder dachtest Du dies bloß als Beispiel dafür, wie dann
> mein Basic-Prog auf den bot hochgeladen werden kann? Aber wie wäre dann
> der Weg der Scriptausführung?
>
> Gruß, Frank

_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler

Confidentiality note:
The information in this email and any attachment may contain confidential and proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates and may be privileged or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any review, reliance or distribution by others or forwarding without express permission is strictly prohibited and may cause liability. In case you have received this message due to an error in transmission, we kindly ask you to notify the sender immediately and to delete this email and any attachment from your system.