Community-Firmware für den TXT

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 21 Sep 2016, 21:36

Die Buttons sind mir egal. Wenn man eun RoBoPro-Programm ausführt, welches auf das Display zugreift, sieht es schrecklich azs.

Raphael
Zuletzt geändert von ski7777 am 21 Sep 2016, 21:57, insgesamt 1-mal geändert.

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 21 Sep 2016, 21:57

ski7777 hat geschrieben:Die Buttons sind mir egal. Wenn man eun RoBoPro-Programm ausführt, welches azf das Displa zugreift, sieht es schrecklich azs.
Aha. Stand in Deinem Bug-Report aber gar nicht drin.

Aber da ist es wie immer: Die Einbindung der Original-GUI ist eh nur ein dreckiger Hack, den ich lieber heute als morgen loswerden würde. Von daher halte ich solche Artefakte für absolut unproblemaisch.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

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

Sudo/SSH bestätigen via Touchscreen

Beitrag von richard.kunze » 22 Sep 2016, 00:55

Hallo zusammen,

mit https://github.com/ftCommunity/ftcommun ... 84886d2819 wird jetzt bei nicht gesetztem Passwort für ftc bei SSH/sudo per Touchscreen-Dialog nachgefragt ob die Aktion erlaubt werden soll. Besten Dank an MoG für den Bestätigungsdialog!

@MoG: Beim Testen ist mir dabei noch eine Nickligkeit aufgefallen. Mir passiert es relativ oft, dass der Druck auf OK oder Cancel auch auf den darunterliegenden Launcher "durchschlägt" (d.h. dann gleich eine App gestartet wird). Damit das nicht passiert, muss man den Finger genau zum richtigen Zeitpunkt wieder vom Touchscreen nehmen, und das klappt zumindest mit meinen Wurstfingern nur so ca. bei jedem zweiten Versuch :-)

Kann man da noch irgendwas machen?

Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 22 Sep 2016, 06:33

Ich konnte das Phänomen bei meinen Trockenübungen auch feststellen. Da wir sowohl button_clicked als auch button_released abfragen können, würde ich button_released vorziehen und zur Sicherheit noch ein time.sleep(0.5) einbauen.

Raphael

P.S. Dan kann ich jetzt meiner Update App den letzten Schliff verleihen. :D

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

Re: Sudo/SSH bestätigen via Touchscreen

Beitrag von MasterOfGizmo » 22 Sep 2016, 08:49

richard.kunze hat geschrieben: Kann man da noch irgendwas machen?
Interessant. Der eigentliche erste Event sollte ja vom Window-Management nur an des TopLevel-Window (in dem Fall der Dialog) gesendet werden. Ich nehme an, dass Du da mehrfach drückst und ein Event noch kommt, wenn der eigentliche Dialog schon weg ist. Ich könnte ein leichtes Delay einbauen, so dass der Dialog nicht sofort schließt, sondern z.B. für einen kurzen Moment die Busy-Animation kommt oder so. Ich überlege mir mal was ...
ftDuino, der Arduino für fischertechnik: http://ftduino.de

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

Fehler mit neuer TouchUI: Dialoge lassen sich nicht schliess

Beitrag von richard.kunze » 23 Sep 2016, 02:03

@MoG: Beim Testen für das neue Release bin ich über folgenden Fehler gestolpert: In manchen Apps lassen sich Unterdialoge nicht mehr schliessen. Beim Versuch gibt es den folgenden Fehler auf der Konsole:

Code: Alles auswählen

Traceback (most recent call last):
  File "/opt/ftc/TouchStyle.py", line 155, in close
    for i in self.subdialogs: i.close()
  File "/opt/ftc/TouchStyle.py", line 245, in close
    self.parent.unregister(self)
AttributeError: 'builtin_function_or_method' object has no attribute 'unregister'
Beispiele für betroffene Dialoge sind z.B. die "Versions"-Liste in der "About"-App und die Schlüsseleingabe in der Wifi-App.

Kannst Du auf Anhieb sagen was da schiefläuft? Beziehungsweise (wenn ich die Fehlermeldung und den Code für TouchDialog richtig interpretiere) hast Du eine Ahnung, wie in "parent" etwas anderes als ein TouchDialog oder TouchBaseWidget landen kann?

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

Re: Fehler mit neuer TouchUI: Dialoge lassen sich nicht schl

Beitrag von MasterOfGizmo » 23 Sep 2016, 10:19

richard.kunze hat geschrieben:@MoG: Beim Testen für das neue Release bin ich über folgenden Fehler gestolpert:
Da zeigt Python seine hässliche Fratze :-) Einmal beim Einrücken was übersehen und schon geht was kaputt ... sollte jetzt gefixt sein.

Außerdem habe ich ein Delay von einer Sekunde nach dem Klicken des Confirm-Buttons eingeaut. Und es gibt ein kleines Plugin, das anzeigt, ob eine USB-Tastatur erkannt wurde (funktionieren tut sie aber dennoch nicht mehr).
ftDuino, der Arduino für fischertechnik: http://ftduino.de

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

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 23 Sep 2016, 22:15

MasterOfGizmo hat geschrieben: Da zeigt Python seine hässliche Fratze :-) Einmal beim Einrücken was übersehen und schon geht was kaputt ... sollte jetzt gefixt sein.
Argh - jetzt wo ich den Commit sehe ist es offensichtlich. War wohl doch etwas zu spät gestern Abend - das hätte mir eigentlich auch auffallen können :oops:

Jetzt funktioniert alles wieder, danke!
MasterOfGizmo hat geschrieben:Außerdem habe ich ein Delay von einer Sekunde nach dem Klicken des Confirm-Buttons eingeaut.
Klappt ebenfalls prima.

Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 23 Sep 2016, 22:18

@Richard:
Bist du am releasen? Wird das noch so, dass ich Morgen um &.30 im Auto testen kann?

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 23 Sep 2016, 22:34

ski7777 hat geschrieben:@Richard:
Bist du am releasen? Wird das noch so, dass ich Morgen um &.30 im Auto testen kann?
Ist gerade fertig geworden: https://github.com/ftCommunity/ftcommun ... ses/latest

Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 23 Sep 2016, 23:15

Läuft rund!
Außer: https://github.com/ftCommunity/ftcommun ... /issues/52 (Das muss aber schon früher gewesen sein)

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 06 Okt 2016, 10:07

Wie ich gerade drüben im Fragen-an-FT-Forum lese wird das nächste Firmware-Update den SD-Karten-Boot erlauben.

Das ist wirklich prima. Damit kann jeder die Community-Firmware einfach nutzen, indem er einfach eine SD-Karte mit den passenden drei Dateien drauf in seinen TXT einlegt. Damit ist kein riskantes umkonfigurieren des Bootloaders mehr nötig. Mit etwas Glück beschwert das der Community-Firmware einen kleine Schub.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 06 Okt 2016, 10:47

So einfach wirds leider nicht.
Herr Burkhardt hat mir gesagt, dass sie die Freischaltung des Bootloaders über ein fertiges Kommando bereitstellen wollen. Dafür ist natürlich erstmal das root-Passwort erforderlich und ob man dann das fertige Kommando nutzt, oder schnell mit fw_setenv arbeitet ist eigentlich egal. :(

Raphael

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 06 Okt 2016, 11:22

ski7777 hat geschrieben:So einfach wirds leider nicht
Wenn es eine offizielle Anleitung von FT gibt ist das schon einmal ein erster Schritt. Das senkt die Hürde deutlich. Als FT-Kunde folge ich einer Anleitung von FT eher als der Anleitung irgendwelcher fremden Leute aus dem Internet.

Es wäre allerdings schade, wenn es hier eine neue und eigentlich unnötige Hürde gäbe. Aber warten wir mal ab. Noch gibt es ja nur das Statement im anderen Forum und das klingt m.E. sehr vielversprechend.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Markus Burkhardt
Beiträge: 171
Registriert: 12 Jan 2016, 09:13

Re: Community-Firmware für den TXT

Beitrag von Markus Burkhardt » 07 Okt 2016, 17:02

ski7777 hat geschrieben:So einfach wirds leider nicht.
Herr Burkhardt hat mir gesagt, dass sie die Freischaltung des Bootloaders über ein fertiges Kommando bereitstellen wollen. Dafür ist natürlich erstmal das root-Passwort erforderlich und ob man dann das fertige Kommando nutzt, oder schnell mit fw_setenv arbeitet ist eigentlich egal. :(

Raphael
Hallo Raphael,

da hast du mir nicht genau zugehört. Es wird sudo-Befehle geben, die der Nutzer mit dem User ROBOPro ausführen kann, geben. Dafür muss er nicht root sein.

Viele Grüße
Markus

Benutzeravatar
ski7777
Beiträge: 832
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Community-Firmware für den TXT

Beitrag von ski7777 » 07 Okt 2016, 19:39

Markus Burkhardt hat geschrieben:Es wird sudo-Befehle geben, die der Nutzer mit dem User ROBOPro ausführen kann, geben. Dafür muss er nicht root sein.

Viele Grüße
Markus
Oh, pardon. Das ist für uns dann noch leichter. Ich hoffe es ist dann bald soweit.

Raphael

jomapapa
Beiträge: 7
Registriert: 24 Apr 2016, 22:33

Re: Community-Firmware für den TXT

Beitrag von jomapapa » 10 Okt 2016, 22:13

Hallo Community!

Ich hoffe, ich bin hier im richtigen Thread gelandet - ansonsten Verzeihung, ich poste hier zum ersten Mal!

Ich programmiere schon eine Weile mit C++ und dem TXT von FT, genauergesagt mit dem TXT-Programming KIT (4.1.6). Das klappte auch einigermaßen, nur die Kamera machte mir Ärger - hin und wieder stellte sie ihren Dienst ein, und es half nur ein Reboot des TXT. Ich beschloss, der Community Firmware eine Chance zu geben, da von FT wenig bis gar nichts neues kommt.

Im Prinzip klappt sie auch gut, die WLAN Verbindung steht, die Ansteuerung über die C++ API über WLAN kann wunderbar die Motoren und Schalter steuern (die Ziel-IP musste ich natürlich ändern), und die Kamera ist von RoboPro aus erreichbar - nur über die API geht es jetzt überhaupt nicht mehr, genau an dieser Stelle:

StartCamera(...)
...
if( !SendCommand( m_socket, &command, sizeof(command), ftIF2013ResponseId_StartCameraOnline, &response, sizeof(response) ) )

geht es niemals weiter (Return -1). Nachdem alle anderen Commands gehen, scheint der Socket zumindest nicht das Problem zu sein...

Ich habe den Verdacht, dass die API nicht aktuell genug ist, finde aber im gesamten I-Net nichts neueres als das Zeug von 2015.

Hat jemand eine Idee, und sei es nur eine Adresse, wo ich nachfrage könnte?

Gruss
Michael

p.s. Für die, den es interessiert: Ich habe einen Plotter gebaut, der mit Kamera Unterstützung auf einem Tic-Tac-Toe Feld meine Spielzüge scannt, und entsprechend gegen mich eigene schlaue Spielzüge zeichnet, und hoffentlich niemals verliert :geek: .

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

Re: Community-Firmware für den TXT

Beitrag von richard.kunze » 10 Okt 2016, 23:42

Hallo Michael,
jomapapa hat geschrieben: Ich programmiere schon eine Weile mit C++ und dem TXT von FT, genauergesagt mit dem TXT-Programming KIT (4.1.6). Das klappte auch einigermaßen, nur die Kamera machte mir Ärger - hin und wieder stellte sie ihren Dienst ein, und es half nur ein Reboot des TXT. Ich beschloss, der Community Firmware eine Chance zu geben, da von FT wenig bis gar nichts neues kommt.

Im Prinzip klappt sie auch gut, die WLAN Verbindung steht, die Ansteuerung über die C++ API über WLAN kann wunderbar die Motoren und Schalter steuern (die Ziel-IP musste ich natürlich ändern), und die Kamera ist von RoboPro aus erreichbar - nur über die API geht es jetzt überhaupt nicht mehr,
Wenn Du die API aus dem TXT-Programming-Kit benutzt, hilft Dir die Community-Firmware leider auch nicht viel weiter. Diese API benutzt das Online-Protokoll von RoboPro, und das wird (zumindest im Moment noch) auch in der Community-Firmware über die Originalsoftware von Fischertechnik abgewickelt.

Du kannst die Kamera allerdings auch direkt ansteuern, ohne die Fischertechnik-API zu verwenden. In der Community-Firmware empfiehlt sich dafür Open CV, das ist da schon installiert und liefert eine Menge netter Funktionen zur Bildverarbeitung.

Dazu musst Du allerdings Deine Software direkt auf dem TXT laufen lassen, d.h. Du brauchst erstmal einen passenden C++-Crosscompiler (den gibts als Binary z.B. hier bei http://linaro.org/, Du brauchst Variante, die Binaries für arm-linux-gnueabihf erzeugt), musst Dein Buildsystem entsprechend anpassen und die fertige Software dann auf den TXT kopieren. Und für die Ansteuerung von Motoren und Eingängen brauchst Du weiterhin die Fischertechnik-API, das geht (noch) nicht direkt (aber immerhin ohne ein echtes Netzwerk, wenn die Software auf dem TXT läuft kannst Du die IP 127.0.0.1 benutzen).

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 11 Okt 2016, 10:38

3D-Drucker und TXT:

Bild
Bild
Bild
ftDuino, der Arduino für fischertechnik: http://ftduino.de

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

Re: Community-Firmware für den TXT

Beitrag von MasterOfGizmo » 11 Okt 2016, 10:53

richard.kunze hat geschrieben:Hallo Michael,
...
Dazu musst Du allerdings Deine Software direkt auf dem TXT laufen lassen, d.h. Du brauchst erstmal einen passenden C++-Crosscompiler (den gibts als Binary z.B. hier bei http://linaro.org/, Du brauchst Variante, die Binaries für arm-linux-gnueabihf erzeugt), musst Dein Buildsystem entsprechend anpassen und die fertige Software dann auf den TXT kopieren. Und für die Ansteuerung von Motoren und Eingängen brauchst Du weiterhin die Fischertechnik-API, das geht (noch) nicht direkt (aber immerhin ohne ein echtes Netzwerk, wenn die Software auf dem TXT läuft kannst Du die IP 127.0.0.1 benutzen).
Den TXT auf einem Windows-PC in C++ zu programmieren ist nicht ganz trivial. Neben dem Crosscompiler brauchst Du auch alle Bibliotheken auf dem PC im passenden Format. Die einfachste Methode, an alle nötigen Tools zu kommen ist, tatsächlich die Entwicklungsumgebung der Community-Firmware auf einem Linux-PC zu installieren. Das ist im Wiki bechrieben: https://github.com/ftCommunity/ftcommun ... e-firmware

Ich hoffe nach wie vor, dass wir irgendwann an alle nötigen Unterlagen rankommen, um die Community-Firmware abzurunden. Es fehlen uns nach wie vor der Sourcecode der RoboPro- und FT-IO-spezifischen Komponenten des TXT. Wenn wir die hätten, dann könnten wir sowas wie Deine Kamera-Probleme debuggen. Zur Zeit haben wir aber die nötien Unterlagen nicht und binden mehr oder weniger blind Teile der Originalfirmware an der Stelle ein. Das führt leider an mehreren Stellen zu Problemen. Wenn wir diese Unterlagen hätten, dann wäre die Community-Firmware in kurzer Zeit ein vollwertiger Ersatz für die Originalfirmware and FT selbst könnte sich entspannt zurück lehnen und die Community die letzten Probleme des TXT fixen lassen.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Antworten