- 12V Akku mit 280 Ah bauen         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: ASURO programmieren mit AB++

  1. #11
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    Anzeige

    Powerstation Test
    hmm es sollte aber ien ä anzigen können. sonst musst du einen anderen zeichensatz wählen, oder das programm wechseln =)
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Zitat Zitat von robo.fr
    [EDIT 2] Ja, der Asuro kann im Viereck springen. äh fahren.
    Hast schon so ein Programm mit AB++ hingekriegt? Super
    Ähm (mit Ä), ich habe natürlich als erstes nur dein Beispiel ausprobiert.

    Ich vermute, das turn einen 90-Grad-turn machen soll.
    Super wäre noch eine Möglichkeit zum 'justieren' der Odo-Schwellwerte über Kommandos. (Später, später, später, reicht natürlich.)

    Danke für den Code. (Da kann man ja nun auch turn zu 90 Grad machen)
    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  3. #13
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    muss mal grad ne anmerkung machen... das ist keine esotherische programmiersprache! es ist einfach nur eine interpretierte, ungefähr so wie die alten basic-computer (c64, KC85 usw).

    eine esotherische sprache wäre zB ein brainfuck-interpreter... der sollte sich eigentlich recht leicht implementieren lassen denk ich. oder?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    12.02.2006
    Beiträge
    459
    Zugegebnermaßen ist AB++ im Vergleich zu Brainfuck wenig esoterisch. Bei der Beschäftigung damit geht es mir darum, etwas über Compiler- und Interpreterbau zu lernen. Esoterisch ist AB++ in dem Sinne, daß es wohl keinen Interpreter mit eigenem Syntax und mit quasi "eigenem" Betriebssystem auf einem Roboter mit so kleiner CPU gitbt.

    Vielleicht hat auch jemand eine lustige Idee und baut eigene Komandos ein. Ich habe schon einiges gelernt, nämich daß die Informatik auf dem Gebiet schon viel weiter ist. Heutzutage verwendet man dazu wohl Compiler Compiler. Gut geeignet scheint Yacc

    ein brainfuck-interpreter... der sollte sich eigentlich recht leicht implementieren lassen denk ich. oder?
    Es gibt nichts Gutes: außer man tut es! ( Erich Kästner )

  5. #15
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    ich denke da an den c64 =) der hatte zwar deutlich mehr ram, aber nur 1 mhz... das war ein ganz hübscher basic verschnitt.

    aber ansonsten: find ich ne tolle idee! das ist das zwischensstück zwischen easyasuro und C/Bascom.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    12.02.2006
    Beiträge
    459
    zwischensstück zwischen easyasuro und C/Bascom. Smile
    Zuviel der Ehre

    Der Speicher ist mittlerweile schon ganz schön eng geworden. Normalerweise kann ich bei meinen Programmen einem Atmega8 immer viel Platz mit der Compileroption "Os" schaffen.

    Hat jemand eine Ahnung, warum das mit der ASURO Lib 2.6.1 nicht geht?

  7. #17
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    das sollte wohl gehen... aber versuche mal die anderen optimierungsstufen. im allgemeinen macht Os die kleinsten ergebnisse, aber nicht zwingendermaßen!

    http://www.mikrocontroller.net/artic...timierungsgrad
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo robo.fr,
    Mit der Lib sollte eigendlich alles in Ordnung sein.
    Du nutzt so ziemlich die ganze Breitseite der in der Lib vorhandenen Befehle, so dass folgende Sourcen aus der Lib benutzt werden:
    - adc.c
    - asuro.c
    - encoder.c
    - encoder_low.c
    - leds.c
    - motor_low.c
    - print.c
    - time.c
    - uart.c

    Es bleiben nur ein paar 'Spezialisten' außen vor:
    - i2c.c
    - lcd.c
    - motor.c (Ist 'nur' leistungsgesteuertes Fahren von stochri drin)
    - rc5.c
    - sound.c <-- Hierzu wäre noch ein Kommando TUUUT oder FIEP bei dir denkbar P.S.: Mein Alias deutet heute Abend nicht auf eine Verwandschaft mit Erich hin
    - switches.c

    Trotzdem macht es Spaß, gerade weil es Groß ist.
    Gruß Sternthaler

    [EDIT]
    Oh je, ich bemerke gerade, dass du noch die Lib 2.6.1 einsetzt.
    Die ist sowieso noch nicht von m.a.r.v.i.n 'zerstückelt' worden. Hier wird immer der komplette Lib-Inhalt mit eingebunden.
    Erst ab Version 2.7 wurde zerhackt.
    Lieber Asuro programieren als arbeiten gehen.

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    12.02.2006
    Beiträge
    459
    Hallo Sternthaler,

    vielleicht erfreut es Dich, selbst einen Befehl an AB++ dranzubasteln. Das ist relativ einfach:

    1. Anzahl Keywords erhöhen hier MAX_KEYWORDS 11
    2. neues Token erzeugen z.B. "tuut". Also TOKEN_TUUT
    3. text für den Befehl in das Array keywords eintragen
    4. den Befehlscode in die case-Auswahliste eintragen

    Und schon hat man einen neuen Befehl

    ********************** 1 ***************************
    #define MAX_KEYWORDS 11
    ********************** 2 ***************************
    enum {
    TOKEN_TUUT,
    TOKEN_LIST,
    ....
    ********************** 3 ***************************
    static const struct word_token keywords[] =
    {
    {"tuut", TOKEN_TUUT},
    {"list", TOKEN_LIST},
    ...

    ********************** 4 ***************************
    ( findet sich in uint8_t exec_token(uint8_t token) )

    switch(token)
    {
    case TOKEN_TUUT:
    {
    sound(....);
    }break;


    case TOKEN_LIST:
    {
    list(); // list program
    }break;

  10. #20
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo robo.fr,
    danke für die schöne Bedienungsanleitung.
    Mal sehen, ob ich zum TuuuuT-en komme.

    Sieht im Innern von AB++ sieht es doch recht übersichtlich aus.
    Sollte also auch für viele andere TUUT-er, PIIEP-er und weiters nicht so schwierig sein.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test