RoboPro mit neuen Fähigkeiten ausstatten

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Andy42
Beiträge: 20
Registriert: 05 Apr 2014, 18:42

RoboPro mit neuen Fähigkeiten ausstatten

Beitrag von Andy42 » 04 Jun 2018, 22:02

Hallo Robo TXT Controller Freunde!

FRAGESTELLUNG
Ein Robo TXT Controller (RTXTC) soll mit einem RoboPro Programm selbstständig laufen, d.h. ohne Verbindung zu einem PC. Das RoboPro Programm soll in der Lage sein, Fotos der fischertechnik-Camera, die über USB angeschlossen ist, aufzunehmen und selbstständig auf eine eingesteckte Speicherkarte zu schreiben.

Gibt es dafür eine Problemlösung?

LÖSUNGSANSATZ
Hat schon mal jemand versucht mithilfe von RoboPro I2C-Kommandos an den I2C-Master zu senden (d.h. den RTXTC selbst) damit ein dort verknüpftes Programm auf dem RTXTC ausgeführt wird, welches zuvor z.B. unter python dort eingespielt wurde.
Eine vermutlich recht abgefahrene Idee, so aber könnte man dem doch recht anschaulichen RoboPro eine ganze Reihe neuer Fähigkeiten verleihen, ohne in die RoboPro-Entwicklungsumgebung selbst eingreifen zu müssen.

Andy42

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: RoboPro mit neuen Fähigkeiten ausstatten

Beitrag von Lars » 04 Jun 2018, 22:53

Hallo Andy42,
Andy42 hat geschrieben:LÖSUNGSANSATZ
Hat schon mal jemand versucht mithilfe von RoboPro I2C-Kommandos an den I2C-Master zu senden (d.h. den RTXTC selbst) damit ein dort verknüpftes Programm auf dem RTXTC ausgeführt wird, welches zuvor z.B. unter python dort eingespielt wurde.
wenn ich es richtig verstanden habe, läuft auf einem TXT entweder ein Interpretierer aus dem ftcommunity- bzw. Linux-Umfeld oder die ft-Firmware. Damit kann man mit Python keine Erweiterungen einspielen, die sich auf den ROBOPro-Interpretierer auswirken können. Anders nur, wenn es für die Community-Firmware einen ROBOPro-Interpretierer gäbe, der sich dann auch gegenüber der PC-Software von ft exakt wie die ft-Firmware verhält.
Andy42 hat geschrieben:Eine vermutlich recht abgefahrene Idee, so aber könnte man dem doch recht anschaulichen RoboPro eine ganze Reihe neuer Fähigkeiten verleihen, ohne in die RoboPro-Entwicklungsumgebung selbst eingreifen zu müssen.
Man kann ROBOPro immerhin mit Unterprogrammen erweitern, die im Hinblick auf die Steuerung von Hardware auch als Treiber bezeichnet werden. ROBOPro hat aber auch große Schwächen, die sich so nicht beheben lassen. Es fehlt beispielsweise an der Fähigkeit, arithmetische Ausdrücke zu verarbeiten; der Aufbau aus graphischen Elementen ist doch mitunter recht zeit- und auch platzraubend. Solange ft solche Unzulänglichkeiten nicht abstellt, finde ich eine entsprechende Erweiterung von ROBOPro nicht allzu lohnend.

Wenn aus einer Programmiermöglichkeit ein mächtiger Hebel werden soll, benötigt man Abstraktion. Die erreicht man durch einen sorgfältig geschichteten Aufbau wiederverwendbarer Bestandteile. Hat man einen derartigen Unterbau, ist eine textuelle Programmierung nicht mehr so viel unübersichtlicher als eine graphische. Vielleicht bietet Brickly hier einen guten Kompromiß, zumindestens als graphisch-textuelle Programmiermöglichkeit. Dieses oder wenigstens einige Artverwandte können anders als die closed source ROBOPro auch ohne Klimmzug erweitert werden.

Mit freundlichen Grüßen
Lars

Torsten
Beiträge: 308
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: RoboPro mit neuen Fähigkeiten ausstatten

Beitrag von Torsten » 05 Jun 2018, 22:49

Hallo Andy, hallo Lars,
Andy42 hat geschrieben:Hat schon mal jemand versucht mithilfe von RoboPro I2C-Kommandos an den I2C-Master zu senden (d.h. den RTXTC selbst) damit ein dort verknüpftes Programm auf dem RTXTC ausgeführt wird, welches zuvor z.B. unter python dort eingespielt wurde.
Hmmmm ... da kommt mir gerade so eine Idee ... ROBOPro hat doch eine recht universelle I2C-Schnittstelle: es könnte evtl. möglich sein, ROBOPro über I2C zu erweitern und zwar nicht mit I2C-Hardware, sondern mit Software, die die I2C-Schnittstelle emuliert und damit so tut als sei sie I2C-Hardware. Damit könnte man im Prinzip beliebige Funktionen bei ROBOPro nachrüsten. Z.B. auch das Speichern von bel. Daten auf die SD-Karte aus ROBOPro heraus ...
Lars hat geschrieben:wenn ich es richtig verstanden habe, läuft auf einem TXT entweder ein Interpretierer aus dem ftcommunity- bzw. Linux-Umfeld oder die ft-Firmware. Damit kann man mit Python keine Erweiterungen einspielen, die sich auf den ROBOPro-Interpretierer auswirken können. Anders nur, wenn es für die Community-Firmware einen ROBOPro-Interpretierer gäbe, der sich dann auch gegenüber der PC-Software von ft exakt wie die ft-Firmware verhält.
Der original ft "ROBOPro-Interpretierer" kann ja auch unter der community-firmware gestartet werden. Mischen beider Systeme ist also schon möglich ... wie oben erwähnt, könnte die I2C-API von ROBOPro ein Einfallstor für Erweiterungen darstellen ... ich sollte da mal intensiver drüber nachdenken ...
Andy42 hat geschrieben:Eine vermutlich recht abgefahrene Idee, so aber könnte man dem doch recht anschaulichen RoboPro eine ganze Reihe neuer Fähigkeiten verleihen, ohne in die RoboPro-Entwicklungsumgebung selbst eingreifen zu müssen.
*grübel*, *nachdenk* ...
Andy42 hat geschrieben:Vielleicht bietet Brickly hier einen guten Kompromiß, zumindestens als graphisch-textuelle Programmiermöglichkeit. Dieses oder wenigstens einige Artverwandte können anders als die closed source ROBOPro auch ohne Klimmzug erweitert werden.
Diese Lösung ist sicherlich die sauberere. Aber die Erweiterung von ROBOPro über I2C ist noch nicht vom Tisch :D

Gruss
Torsten

Antworten