## c't-Projekte - Mailinglisten

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

### [ct-bot] Updates

Absender: Timo Sandmann
Datum: Do, 11.11.2010 16:14:26

    Hallo,

    im Devel-Zweig des SVNs gibt es nun ein paar Neuerungen.
    ct-Bot:
    - uBasic-Verhalten von Frank Menzel (BEHAVIOUR_UBASIC_AVAILABLE)
    - Mini-Dateisystem für PC und SD-Karte (s.u.), wird für uBasic-Verhalten benötigt
    - RemoteCall-Display zur Verhaltenssteuerung (wie in http://www.heise.de/ct/projekte/machmit/ctbot/ticket/168 beschrieben), Anwendung s.u.

    ct-Sim:
    - Programmfenster für (Basic-) Programme
    - Fenster merken sich ihre letzte Position
    - Tastenkombinationen zum Schliessen von Fenstern und Bots

    How-Tos:

    1.)
    Benutzung RemoteCall-Display:
    Das Display zeigt eine Liste aller verfuegbaren Verhalten an, durch die mit den Tasten "Stopp" (nach unten) und "Pause" (nach oben) geblaettert werden kann. Das Zeichen ’>’ markiert dabei eine ausgewaehlte Zeile.
    Bei Verhalten ohne Parameter wird das ausgewaehlte Verhalten mit der Taste "Play" gestartet.
    Benoetigt ein Verhalten Parameter, waehlt "Play" das Verhalten aus und schaltet auf die Parametereingabe um. Ueber die Zifferntasten koennen nun alle Parameter eingegeben werden, die Taste "Play" schliesst dabei jeweils die Eingabe ab und schaltet zum naechsten Parameter weiter. Mit "Stopp" laesst sich die aktuelle Eingabe loeschen und korrigieren. Ein Minus-Zeichen (’-’) fuer negative Parameterwerte laesst sich mit der Taste "11" eingeben. Nach dem letzten Parameter startet "Play" das Verhalten.

    2.)
    Nötige Vorbereitungen für uBasic:
    * ct-Sim ab Version 2.8 verwenden, um Programme zum Bot senden zu können.
    * BOT_FS_AVAILABLE muss eingeschaltet sein. Hinweise zu BotFS (aus Doku):

    * PC:
    – Keine Vorbereitungen noetig, ist kein Volume vorhanden, wird es automatisch angelegt und dazu eine Datei mit dem in BOTFS_IMAGE_FILENAME festgeleten Namen angelegt. Achtung, dieses Volume hat dann nicht die fuer MCU benoetigte Groesse (s.u.). Moechte man Daten zwischen MCU und PC austauschen, kopiert man die Datei von der MMC / SD-Karte ins Bot-Verzeichnis und ueberschreibt eine evtl. automatisch angelegte Datei.

    • MCU:
    – Um BotFS auf MCU mit MMC / SD-Karte nutzen zu koennen, muss die Karte einmalig dafuer vorbereitet werden. Zunaechst legt man auf der Karte eine FAT16-Partition an, die maximal 32 MByte gross ist. Diese muss die erste Partition auf der Karte sein, weitere Partitionen koennen problemlos folgen. Auf der SD-Karte muss unbedingt eine MBR-Partitionstabelle verwendet werden, GPT wird nicht unterstuetzt! Um durch Rechenweise und Aufrundungen des verwendeten Partitionstools nicht die 32 MByte-Grenze zu ueberschreiten, empfiehlt es sich, eine Partition von 30 MByte anzulegen - wichtig ist, dass die Groesse der erzeugten Partition 32 MByte, also 32 * 2^20 Byte, nicht ueberschreitet.
    Anschliessend ermittelt man die exakte Groesse der Partition (je nach Betriebssystem findet sich diese in den Eigenschaften / Informationen des Laufwerks) in Byte und notiert sie. Auf der angelegten Partition muessen unbedingt alle Dateien (auch evtl. Versteckte) geloescht werden, so dass die gesamte Partitionsgroesse als freier Speicher verfuegbar ist. Die notierte Groesse teil man noch durch 1024 und erhaelt so die gewuenschte Image-Groesse in KByte. Nun startet man den fuer PC (mit BOT_FS_AVAILABLE) compilierten Bot-Code mit dem Parameter "-f", also "ct-Bot(.exe) -f", um die BotFS- Verwaltung aufzurufen. Dort gibt man "create volume" ein und bestaetigt das Kommando mit Enter. Als Dateinamen waehlt man anschliessend einen Namen wie "botfs.img", eine solche Datei darf aber noch nicht existieren. Eine komplette Pfadangabe ist auch moeglich, ansonsten wird die Datei im aktuellen Arbeitsverzeichnis erstellt. Als Volume-Name gibt man dann einen beliebigen ein, wie z.B. "BotFS-Volume", als Groesse danach die eben Ermittelte (in KByte). Jetzt kann die Verwaltung mit dem Kommando ’q’ beendet werden und die erzeugte Datei als "botfs.img" (wichtig - auf der SD-Karte muss die Datei unbedingt "botfs.img" heissen!) auf die SD-Karte (erste Partition) kopiert werden.
    Es bietet sich an, auf der SD-Karte auch eine zweite Partition (Groesse und Typ beliebig) anzulegen und dort eine Kopie dieser Datei zu speichern. Moechte man einmal das komplette Dateisystem fuer den Bot leeren oder wurde es durch einen Fehler beschaedigt, kopiert man einfach dieses Backup zurueck auf die erste Partition und muss die obigen Schritte nicht wiederholen.

    • Benutzung:
    – Der Map-Code ist jetzt (mit BOT_FS_AVAILABLE) nicht mehr darauf angewiesen, dass eine Map-Datei (MiniFAT) auf der SD-Karte bereits vorhanden ist. Sobald das BotFS-Volume einmal auf der SD-Karte eingerichtet ist (s.o.), regelt der Map-Code den Rest automatisch. Insbesondere das Loeschen einer alten Map (beim Start) geht mit BOT_FS_AVAILABLE dann auch deutlich schneller.
    – Moechte man Daten zwischen dem echten und einem simulierten Bot austauschen, kann man die "botfs.img"-Datei beliebig zwischen diesen kopieren, oder den simulierten Bot mit dem Parameter "-i" und der Image-Datei (z.B. auch direkt von der eingelegten SD-Karte) starten.
    – In der BotFS-Verwaltung (ueber ct-Bot(.exe) -f [Pfad zur Image-Datei] aufzurufen) zeigt das Kommando "help" eine Uebersicht aller verfuegbaren Tools an. Wird im Normalbetrieb aber eigentlich nicht benoetigt.

    Ich glaube, das ist erstmal alles. Ansonsten einfach nachfragen.

    Viel Spaß beim Testen,
    Timo

- Antworten:
  - Re: [ct-bot] Updates
    - From: Frank Menzel
  - Re: [ct-bot] Updates
    - From: Timo Sandmann

- Voriger (Datum): Re: [ct-bot] Basic-Interpreter fÃr den Bot, Timo Sandmann
- Nächster (Datum): Re: [ct-bot] Updates, Frank Menzel
- Voriger (Thread): [ct-bot] Updates, Timo Sandmann
- Nächster (Thread): Re: [ct-bot] Updates, Frank Menzel
- Indizes:
  - Datum
  - Thread