Seite 1 von 1

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

Verfasst: 18 Mai 2017, 22:01
von richard.kunze
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?

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

Verfasst: 18 Mai 2017, 22:09
von sven
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

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

Verfasst: 18 Mai 2017, 22:23
von MasterOfGizmo
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 :-)

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

Verfasst: 18 Mai 2017, 22:25
von MasterOfGizmo
Äh .... der TXT bekommt den XML-Code gar nicht, oder? Schade ...

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

Verfasst: 18 Mai 2017, 22:47
von richard.kunze
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).

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

Verfasst: 18 Mai 2017, 22:51
von richard.kunze
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).