PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BrickPi3: Raspi-Shield für Lego-Sensoren + Encodermotoren: stapelbar, u. a. C++



HaWe
29.04.2017, 21:02
Dexter Industries hat jetzt die Firmware und die Treiber für Ihr BrickPi3 Raspi-Shield für Lego-Sensoren & Encodermotoren erweitert:
sie sind jetzt stapelbar,
arbeiten über SPI (MISO, MOSI, SCK, CE1), Shields einzeln adressierbar,
die übrigen Raspi-Pins und Ports bleiben bis auf weitere 4 GPIOs unbeeinflusst.
Sie haben intern je einen ARM Prozessor (ATSAMD21J), sowie
je 4 Ports für Lego-Sensoren & Encodermotoren (NXT und EV3) mit 4 H-Brücken, zusätzlich je 1 Stecker für Grove I2C-Sensoren.
Jeder einzelne der je 4 Sensorports lässt sich dabei individuell auf Lego-kompatible analoge (12-bit ADC), Touch-, I2C- oder UART-Sensoren konfigurieren.
Da die Raspi-eigenen i2c-1 (und i2c-0) sowie UART GPIOs frei sind, lassen sich natürlich weitere Standard-Sensoren, Muxer und HATs etc. anschließen.

Neben Python und Scratch wird jetzt endlich (!!) auch eine C++ API angeboten,
alles voll kompatibel zum Standard- Raspbian Jessie.

Installation der BrickPi3-Treiber etc. für C++ innerhalb von 10 Minuten möglich, sogar noch viel einfacher und schneller als für Python, und es müssen für g++ noch nicht einmal besondere Compiler- oder Linker-Flags gesetzt werden: es reicht ein #include im jeweiligen Programm.

Mit ein wenig Erfahrung ist auch Multithreading z.B. über pthread möglich, evtl. müsssen BrickPi3-System-Variablen mit SPI-Zugriffen auf die einzelnen Boards bei kritischen Schreib-/Leseoperationen über Mutexe abgesichert werden. Ggf. muss man auch für Multithreading im Falle eines Programmabbruchs (ctrl+c) eine signal() Routine überarbeiten (bin ich schon dabei).

Die Firmware und Treiber sind noch recht neu und noch in Entwicklung, laut Dexter wurden 3 gestapelte Shields ohne technische oder Timing-Probleme erfolgreich getestet; sicherlich ist jetzt noch das eine oder andere anzupassen.

Der Link zur Hersteller-Seite: https://www.dexterindustries.com/BrickPi/
und ein kurzer Übersichts-Blog mit "Quick Guide" hier: http://www.mindstormsforum.de/viewtopic.php?f=78&p=70964#p70941