- 3D-Druck Einstieg und Tipps    Werbung      
Ergebnis 1 bis 10 von 18

Thema: RP6 ArduIO Board - Software

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    auch wenn es jetzt ein Doppel-Post ist...

    Bleibt die Frage der Programmierbarkeit mit Sketch
    - hier meine ich...:
    wie man die neuen Ports über die Programmierung des Arduino anspricht. Ideal wäre es, wenn die "remote"-Muxerpins mit Nummern angesprochen werden könnten z.B. ab 100 oder 128 aufwärts), die sich dann im Arduino-Sketch-Programm genauso verwalten lassen wir die lokalen Arduino-Pins.
    Also z.B.:

    uint8_t ISRab |= (digitalRead(2) << 1) | digitalRead(3); // liest die lokalen Dpins 2 und 3 für einen Motorencoder
    // während
    uint8_t ISRab |= (digitalRead(102) << 1) | digitalRead(103) // die 2. und 3. Dpins auf dem Muxer-Board liest.

    Wie das ganze über I2C ausgeführt wird, müsste dann ein Wrap um eine I2C-Funktion leisten können.
    Da das ganze zeitkritisch ist, müssten alle 24 DPins für Encoder (4 lokal, 8 auf dem Board) mindestens alle 250-500µs über IRQs (IRQ1 per DueTimer) ausgelesen werden können.

    Denkst du, das Board bzw. der i2c-Bus für die ganzen Pins ist dazu schnell genug? Es sind zwar nur 4kHz für die Encoder-Pins. aber der ganze Rest an Daten hängt ja auch noch dran.

    ps,
    auch für alle übrigen pins wäre so eine remote-zu-lokal-Transcodierung ideal: alle lokalen inputs nummeriert wie gehabt, aber die auf dem Board ("remote") genau wie die lokalen zu handhaben - nur über eine Art Offset für das Muxer-Board.
    lokal: pinMode(A0, OUTPUT); digitalWrite(A0, HIGH); int x=analogRead(A0);
    Muxer: pinMode(A100, OUTPUT); digitalWrite(A100, HIGH); int x=analogRead(A100);


    edit:
    Möglicherweise über eine Routine (Endlos-loop als eigener Task per DueTimer.h und Scheduler.h), die einfach nur alle Werte zwischen Mux-Board unf Arduino so schnell wie möglich hin- und her schaufelt, und dann alle Mux-Sensor-Werte in globalen Variablen abspeichert (die dann ähnlichwie die lokalen gepollt werden können):
    So ähnlich, wie ich es hier zwischen NXT und Mega gemacht habe, nur eben schneller, in Echtzeit:
    http://www.mindstormsforum.de/viewto...&t=8302#p65015
    Geändert von HaWe (27.11.2014 um 22:20 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi HaWe,

    schau mal da rein.
    Da gibt es schon den Header der zukünftigen Arduino Lib für das ArduIO Board.
    Du kannst an den (geplanten) Funktionsdeklarationen schon erkennen, wie die Portpins abgefragt oder als Ausgänge angesprochen werden sollen.

    Bis zur fertigen Lib braucht es noch etwas Zeit.
    Gruß
    Dirk

  3. #3
    HaWe
    Gast
    Änderungswunsch:
    gerade für den Due ist es wichtig, die alten Variablen-Typen durch eindeutig definierte neue zu ersetzen:
    also bitte
    uint8_t statt byte
    und
    int8_t stat char !

    Ansonsten vllt doch eine überarbeitete API wie ich sie beschrieben habe für remote-zu-lokal ...?
    Oder man schreibt für jeden existierenden digital/analog-Read- oder Write-befehl ein entsprechendes Pendant als remotedigital/ remoteanalog-Read/Write.

    Macht die Sache 100000x einfacher!

    edit: Das mit der Echtzeitfähig auch für IRQs ist allerdings Hauptbedingung für meine persönlichen Anwendungsbereich, denn es müssen die Encoder jederzeit fehlerfrei gelesen werden können, z.B. für ständig laufende exakte PID-Steuerungen und sonstige 1°-genaue Encoder-Messungen im 4kHz-Takt.
    Geändert von HaWe (28.11.2014 um 08:35 Uhr)

Ähnliche Themen

  1. RP6 + M256 + PC-Software
    Von markus788 im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 01.12.2013, 13:04
  2. RP6 Akkustand abfrage per Software
    Von o.g.1985 im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 15.07.2011, 15:52
  3. Board und Software verbinden (r232)
    Von Thomas Glas im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 21.04.2011, 07:41
  4. RP6 Software (Library und Demos)
    Von Dirk im Forum Robby RP6
    Antworten: 53
    Letzter Beitrag: 19.04.2009, 16:36
  5. Linuxinstallation der RP6-Software
    Von rp6flash im Forum Robby RP6
    Antworten: 16
    Letzter Beitrag: 30.03.2009, 18:24

Berechtigungen

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

    Werbung      fchao-Sinus-Wechselrichter AliExpress