Jump to content
Ingenieur

C/C++ Schnittstelle (Logik ohne Pi und RED Brick)

Recommended Posts

Hallo Tinkerforge,

 

ich habe einen Vorschlag für die Erweiterung der C/C++ Schnittstelle bzw. für die Erstellung einer neuen Implementierung. Diese Implementierung soll die Ausführung einer einfachen Logik auf dem Master Brick gewährleisten. Meiner Meinung nach wäre es für die ganz einfache Projekte, die auch robust seien sollen, sehr nutzbar.

 

Ich habe z.B. zwei Pumpen, die in der Abhängigkeit der gemessenen Temperatur eingeschaltet oder ausgeschaltet werden (Aufbau der Steuerungseinheit siehe auf den Bildern unten). Eine Raspberry Pi oder einen RED Brick zu nehmen, wäre für das Problem ein Overkill. Aus diesen Gedanken habe ich die Generatoren der C/C++ Schnittstelle modifiziert, um die Abhängigkeit von dem ip_connection.h zu eliminieren. Die generierten Dateien erhalten somit nur die Strukturdefinitionen und die FIDs und lassen sich in das Projekt des Master Bricks einkompilieren. Zusätzlich sollte die Brickletslogik für die Ausführung auf dem Master Brick programmiert werden.

 

Als letztes kam die Kapselung der Anwendungslogik in einem FreeRTOS Task.

 

Die Frage ist, ob man von euch solche Implementierung erwarten könnte? Auch wäre interessant einen bestimmten Speicherblock für die Anwendungslogik zu reservieren. So könnte man die Logik dem Master Brick aus dem Brickv flashen.

 

Gruß,

Kirill

705_reduced.thumb.png.46f6db2b0ecddb9052cdf165eb63db88.png

690_reduced.thumb.png.d7b40dab38b87675445bbaef5ce6e5af.png

Share this post


Link to post
Share on other sites

Die Idee hatten wir natürlich auch bereits. Ich kann mir gut vorstellen das sowas auch mittelfristig von uns offiziell kommen wird.

 

Anstatt dem "alten" Master Brick dafür Support beizubringen würde ich es allerdings eher vorziehen entweder dafür ein komplett neues Brick zu machen welches auch reichlich mehr Speicher hat und neben C vielleicht auch sowas wie Micropython ausführen kann.

 

Alternativ könnte man jetzt mit den neuen Bricklets auch ein Arduino Shield mit den neuen Bricklet-Steckern und Bindings machen die sich in das Arduino-Ökosystem integrieren.

 

Wir haben allerdings aktuell eine volle Roadmap mit neuem Kram. Eine "Embedded-API" wird es daher erst mittelfristig geben (nicht in den nächsten Monaten).

Share this post


Link to post
Share on other sites

Danke für die schnelle Antwort. Wie gesagt, ich benutze aktuell meine Lösung. Somit ist die Frage erstmal nicht akut. Theoretisch könnte man einen Extension Brick auf der Basis eines Omega2 bauen (in der konstruktiven Ausführung ähnlich zu der WiFi Erweiterung). Bei der Omega2 hat man Linux + WiFi. Falls ich mich richtig erinnere: alles circa für 15 Euro bei Amazon.

 

Ist die Roadmap irgendwo veröffentlich? Da ich manchmal die Sachen, die mir bei den bestehenden Bricklets und Schnittstellen fehlen, selbst implementiere, wäre es für mich sinnvoll im Sinne den Rad nicht neue zu entwickelt. Z.B. zurzeit baue ich mir auf der Basis des Silent Stepper Bricks einen Silent Stepper Bricklet. Falls ihr es im kurzfristigen Plan habt, ist die Arbeit dann überflüssig  :).

 

Gruß,

Kirill

Share this post


Link to post
Share on other sites

Z.B. zurzeit baue ich mir auf der Basis des Silent Stepper Bricks einen Silent Stepper Bricklet. Falls ihr es im kurzfristigen Plan habt, ist die Arbeit dann überflüssig  :).

 

Uhm... Wir planen aktuell damit alle Bricks (bis auf den Master Brick) auf Bricklets umzustellen. Diese neuen "Bricklet-Bricks" werden aber wahrscheinlich zusätzlich einen USB-Stecker haben, sodass man sie weiterhin einzeln per USB benutzen kann, zusätzlich aber z.B. über das neue RPi HAT per Bricklet Kabel oder auch am Master Brick im Stapel.

 

Das ist allerdings noch reine Planung, wir haben noch keine Prototypen dafür hier. Wird also noch ein paar Monate dauern bis es ein "Silent Stepper Bricklet" gibt.

Share this post


Link to post
Share on other sites

Ich habe mir bereits einen Silent Stepper Bricklet zusammengelötet. Die Ausführung ist dem Silent Stepper Brick ähnlich. Als das MCU habe ich den XMC1400 genommen. Aktuell programmiere ich die für mich passende Schnittstelle. Die ersten Tests habe ich schon hinter mir und der Stepper dreht sich.

 

Diesbezüglich habe ich dann eine nächste Frage  :). Für meine Ziele möchte ich das auf zwei oder mehrehren Silent Stepper Bricklets die Aufgaben scheduled synchron ablaufen. Dafür sollen die Uhr auf allen Bricklets auch synchron ticken. Hast du eine Idee wie man so was realisieren könnte?

Share this post


Link to post
Share on other sites

Zeitsynchronisation zwischen zwei Microcontrollern ist nicht so einfach. Du könntest versuchen sowas wie NTP/PTP über SPI zu implementieren oder einen Sync Ein-/Ausgang bei den Bricklets haben. Wenn einer der Stepper den zieht führt der andere den letzten Befehl aus den er bekommen hat.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...