Idee für RoboPRO-Komaptibiltät/Import in der CFW

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Idee für RoboPRO-Komaptibiltät/Import in der CFW

Beitrag von richard.kunze » 18 Mai 2017, 22:01

Hallo zusammen,

Hier eine Idee, die mir seit ein paar Tagen im Kopf rumspukt: Der Sourcecode von RoboPRO-Programmen (also die *.rpp-Dateien) sind XML, und auch ohne Dokumentation des Formats halbwegs gut les- und verstehbar. Und die Struktur eines RoboPRO-Programms aus Funktionsblöcken und Verbindungen zwischen diesen Funktionsblöcken ist eigentlich identisch zu dem, was wir in Brickly haben (der einzige echte Unterschied ist, dass es in RoboPRO explizite "Kabel"-Elemente gibt, die den Ausgang eines Funktionsblocks mit dem Eingang des nächsten verbinden, während das in Brickly/Blockly implizit über die XML-Struktur vorgegeben ist).

Von daher sollte es eigentlich mit halbwegs überschaubarem Aufwand möglich sein, *.rpp-Programme automatisch in Brickly-Programme und/oder in CFW-Apps umzuwandeln.

Was haltet Ihr davon? Würde irgendwer sowas benutzen wollen wenn es in der CFW integriert wäre?

sven
Beiträge: 2750
Registriert: 18 Okt 2010, 18:13
Wohnort: Rahden
Kontaktdaten:

Re: Idee für RoboPRO-Komaptibiltät/Import in der CFW

Beitrag von sven » 18 Mai 2017, 22:09

Hallo!

Interessante Idee.
Aber wenn ich das mal richtig verstanden habe kann ich doch eh unter der cfw mit RoboPro arbeiten.
Oder habe ich das was falsch verstanden?
Wo ist dann der Sinn?

Gruß
Sven
Dieses Posting gibt ganz allein meine persönliche Meinung wieder!

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Idee für RoboPRO-Komaptibiltät/Import in der CFW

Beitrag von MasterOfGizmo » 18 Mai 2017, 22:23

Das ist mal eine schräge Idee. Gefällt mir sehr gut.

Aber es ist tatsächlich die Frage, ob es das wert ist. Wirklich lesbare Brickly-Programme dürften da kaum bei rauskommen. Aber wenn man gedanklich einen Schritt zurück geht könnte man zumindest einen eigenen rpp-Interpreter bauen. Das Protokoll für die Netzwerkommunikation fehlt dann noch. Aber die Ansteuerung der Motorplatine haben wir ja inzwischen auch direkt/nativ.

Aber ich muss zugeben, dass der Coolness-Faktor Deiner Idee um Faktoren größer ist.

Und zu Svens Frage: Sinn? Weil es geht :-)
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Idee für RoboPRO-Komaptibiltät/Import in der CFW

Beitrag von MasterOfGizmo » 18 Mai 2017, 22:25

Äh .... der TXT bekommt den XML-Code gar nicht, oder? Schade ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Idee für RoboPRO-Komaptibiltät/Import in der CFW

Beitrag von richard.kunze » 18 Mai 2017, 22:47

MasterOfGizmo hat geschrieben:Aber es ist tatsächlich die Frage, ob es das wert ist. Wirklich lesbare Brickly-Programme dürften da kaum bei rauskommen.
Das wäre auch nicht unbedingt das primäre Ziel (wobei ich da auch nicht so wirklich schwarz sehe - so arg schwer sollte es eigentlich nicht sein, die resultierenden Brickly-"Klötze" automatisch so hinzuschieben dass das halbwegs gut aussieht).

Aber man kann das Backend (also den "Funktionsblock-nach-Python"-Teil) von Brickly dafür wiederverwenden (bzw. zu einem gemeinsamen Backend für Brickly und RoboPRO ausbauen), und das wäre der eigentliche Clou.
sven hat geschrieben:Aber wenn ich das mal richtig verstanden habe kann ich doch eh unter der cfw mit RoboPro arbeiten. Oder habe ich das was falsch verstanden? Wo ist dann der Sinn?
Ja, kann man - aber weil wir dafür die Original-Software aus der Original-Firmware verwenden (und wohl auch weiterhin verwenden müssen, weil wir den Teil mit vertretbarem Aufwand wohl eher nicht reverse engineeren können), sind wir auch genau die Funktionen eingeschränkt, die RoboPRO mitbringt. Und RoboPRO ist nur zu sich selbst kompatibel, d.h. man kann nicht einfach z.B. aus einer in Python geschriebenen CFW-App heraus ein RoboPRO-Unterprogramm aufrufen (oder umgekehrt aus RoboPRO eine Python- oder C-Funktion)

Mit einem eigenen "Unterbau" für RoboPRO-Programme fällt diese Einschränkung weg: Mit einem "einfachen" Konverter (wie hier skizziert) kann man aus dem RoboPRO-Programm ein Python-Programm machen (das man dann natürlich in anderen Python-Programmen einbinden kann). Und mit etwas mehr Aufwand (sprich: Wenn wir auf diesem Unterbau auch noch einen eigenen RoboPRO-ähnlichen Editor aufsetzen) geht das auch andersrum - so einen RoboPRO-Clone könnten wir dann nämlich auch beliebig erweitern (das wäre also genau das, was Du Dir hier von Fischertechnik gewünscht hast).

richard.kunze
Administrator
Beiträge: 583
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: Idee für RoboPRO-Komaptibiltät/Import in der CFW

Beitrag von richard.kunze » 18 Mai 2017, 22:51

MasterOfGizmo hat geschrieben:Äh .... der TXT bekommt den XML-Code gar nicht, oder? Schade ...
Nee, über die RoboPRO-Netzwerkschnittstelle geht irgendwelcher Binärkram, zu dem es keinerlei offen zugängliche Doku gibt.

Das was mir vorschwebt wäre eher ein eigenständiger (oder ins Webinterface der CFW integrierter) RPP-nach-CFW-App/Brickly-Konverter.

Und längerfristig eventuell ein eigener Programme-als-Flowchart-Editor, der dann halt auch *.rpp importieren kann (wenn es für so was, das ähnlich wie RoboPRO funktioniert aber halt kein RoboPRO ist überhaupt Interesse gibt).

Antworten