Programming user interface
-
Hello,
I want to write a user guided menu statement with the Duet3D mainboard and the Duet3D display.
I know the M291 displays something on the display but how do I get feedback back?
My example,
Filament roll is at the end.
User is asked if he should change the roll or use the 2 roll.
Then the diameter is queried.
And the material.
Which temperature should be heated.
....How do I implement such an operator guided instruction in the Duet?
How do I get the input from the display?
Can the inputs be saved?
Can anyone help me?Translated with www.DeepL.com/Translator (free version)
Hallo,
ich möchte mit dem Duet3D Mainboard und dem Duet3D Display eine Benutzer geführte Menü anweisung schreiben.
Ich kenne den M291 der etwas am display anzeigt aber wie bekomme ich ein feedback wieder?
Mein Beispiel,
Filamentrolle ist am ende.
Benutzer wird gefragt ob er die Rolle wechseln soll oder die 2 Rolle nutzen muss.
Dann wird der Druchmesser abgefragt.
Und das Materiel.
Welche Temperatur erhitzt werden soll.
....Wie setzt ich so eine Bediener geführte anleitung im Duet um?
Wie bekomme ich den Input vom Display?
Können die Eingaben gespeichert werden?
Kann mir da jemand weiter helfen? -
@UserXY
Hallo, wenn Du RRF3.5 oder höher nutzt, kannst Du das mit M291 und M292 umsetzen.
Um die Daten zu nutzen/speichern kannst Du mit den meta commands arbeiten. -
Please read the gcode dictionary page on M291 to see the how to send a message that will display with several buttons that you can label, and also how to read the answer the user provided. There are also modes where the user gets to enter a number or a string. If you have not written macros for RRF yet, you will want to read the meta commands page to see the programming syntax.
Also definitely get the 3.5.0.beta4 firmware for your duet board and also the latest fw for the display if you are using a PanelDue. The older RRF and PanelDue fw does not support those the newmodes.
GOogle translation:
Bitte lesen Sie die Gcode-Wörterbuchseite auf M291, um zu erfahren, wie Sie eine Nachricht senden, die mehrere Schaltflächen enthält, die Sie beschriften können, und wie Sie die Antwort des Benutzers lesen. Es gibt auch Modi, in denen der Benutzer eine Zahl oder eine Zeichenfolge eingeben kann. Wenn Sie noch keine Makros für RRF geschrieben haben, sollten Sie die Seite mit den Metabefehlen lesen, um die Programmiersyntax zu sehen.Besorgen Sie sich außerdem unbedingt die Firmware 3.5.0.beta4 für Ihr Duet-Board und auch die neueste Firmware für das Display, wenn Sie ein PanelDue verwenden. Die ältere RRF- und PanelDue-Firmware unterstützt diese neuen Modi nicht.
-
Vielen Dank @mikeabuilder das hat mir schon sehr weitergeholfen.
Ich habe mich schon vorher mit den Meta- Befehlen befasst.
Hatte aber noch die alte Firmware drauf 3.4.5.
Jetzt kann ich das umsetzten.Mal eine Frage ich möchte auch weiter Bildschirme erstellen mit meinen eigenen menu.
Habe auf der SD Karte keine "0:/menu" und kann auch keine Verzeichnis anlegen.Wie erstelle ich ein eigenes Display screen?
Thank you @mikeabuilder that has already helped me a lot.
I have already dealt with the meta commands.
But I still had the old firmware 3.4.5.
Now I can convert that.I have a question I would like to continue to create screens with my own menu.
I have no "0:/menu" on the SD card and can not create a directory.How do I create my own display screen?
-
@UserXY
Um eigene Menus zu erstellen kannst das PlugIn Btn_Cmd nutzen. Damit kannst Du relativ einfach eigene "screens" entwerfen. -
@cosmowave Danke für die Info.
Wo bekomme ich das Plugin "Btn_Cmd" ?
Das ist nicht im Github hinterlegt.@cosmowave Thanks for the info.
Where can I get the plugin "Btn_Cmd" ?
It's not deposited in the github. -
@UserXY
Sorry, hab es falsch geschrieben. Wäre ohne Unterstrich!
https://forum.duet3d.com/topic/22776/btncmd-dwc-plugin-customise-dwc-v01-02-04-15-04-23/2
https://github.com/MintyTrebor/BtnCmd/releases -
@UserXY Moin, aus Ihrer Frage wird nicht hinreichend klar, worum es geht. Die Controller der Firma Duet3D werden über ein Web-Interface (Duet Web Control bzw. DWC) gesteuert. DWC läuft im Browser eines per WiFi oder Ethernet verbundenen PC. Zusätzlich gibt es die Möglichkeit, ein Touch-Display anzuschliessen, das PanelDue. In einer dritten Variante wird der Duet Controller mit einem Rasberry PI gekoppelt - das trifft bei Ihnen vermutlich nicht zu.
Wenn Sie von einem User Interface sprechen, ist die Frage, vom welchem: DWC oder PanelDue? Und was meinen Sie mit Menüs? In Ihrem Beispiel geht es nicht um ein Menü, sondern um einen Dialog. @cosmowave hat Ihnen die Gcodes genannt, mit denen man Dialoge erstellt, speziell M291, und @mikeabuilder verwies Sie auf die entsprechende Dokumentation, hier zu Gcodes, hier zu den Metabefehlen.
Mal eine Frage ich möchte auch weiter Bildschirme erstellen mit meinen eigenen menu.
Kurze Antwort: mit dem PanelDue geht das nicht, ohne den Controller umzuprogrammieren. Für DWC gibt es ein schönes Plugin von @Mintytrebor, zwar ohne echte Menüs, aber mit der Möglichkeit, sie über Buttons zu emulieren.
Die lange Antwort beginnt mit einer Gegenfrage: Wollen Sie ein Menü oder einen Dialog? „Echte“ Menüs erfordern eine aufwendige Programmierung mit Eingriffen in den Quellcode von PanelDue und/oder DWC. Mit dem BtnCmd Plugin (hier das Wiki) können Sie in DWC zumindest eine ähnliche Funktionalität erreichen. Auf dem PanelDue: nicht.
Ein Dialog besteht aus Gcodes, die man in Makros packt. Sie werden auf dem Duet Controller ausgeführt und können auf dem PanelDue und/oder in DWC erscheinen. Dafür müssen Sie lernen, wie Gcodes funktionieren und wie man Makros schreibt. Links: siehe oben. Für Anregungen und Beispiele suchen Sie einfach mal im Forum nach „M291“.
Habe auf der SD Karte keine "0:/menu" und kann auch keine Verzeichnis anlegen.
So funktioniert das nicht. Das Plugin für DWC gehört auf den PC, auf dem das Web-Interface läuft. Dialoge für PanelDue und DWC erstellen Sie in Makros. Diese sollten auf der SD-Card in 0/macros abgelegt werden.
Translation:
Hello, it is not sufficiently clear from your question what this is about. The Duet3D controllers are operated via a web interface (Duet Web Control or DWC). DWC runs in the browser of a PC connected via WiFi or Ethernet. In addition, there is the option of connecting a touch display, the PanelDue. In a third variant, the Duet Controller is coupled with a Rasberry PI - this probably does not apply to you.
When you talk about a user interface, the question is which one: DWC or PanelDue? And what do you mean by menus? Your example is not about a menu, but a dialogue. @cosmowave told you about the Gcodes used to create dialogues, specifically M291, and @mikeabuilder referred you to the relevant documentation, here on Gcodes, here on meta commands.
A question: I would like to continue creating screens with my own menu.
Short answer: with PanelDue it is not possible unless you reprogram the controller. For DWC there is a nice plugin by @Mintytrebor, without real menus, but with the possibility to emulate them via buttons.
The long answer starts with a counter question: do you want a menu or a dialogue? True menus require complex programming with interventions in the source code of PanelDue and/or DWC. With the BtnCmd plugin (here the wiki) you can at least achieve similar functionality in DWC. On PanelDue: not.
A dialogue consists of gcodes that you put into macros. They are executed on the Duet Controller and can appear on the PanelDue and/or in DWC. For this you need to learn how Gcodes work and how to write macros. Links: see above. For suggestions and examples, just search the forum for "M291".
Don't have "0:/menu" on the SD card and can't create a directory.
That's not how it works. The plugin for DWC belongs on the PC running the web interface. Dialogues for PanelDue and DWC are created in macros. These should be stored on the SD card in 0/macros.
-
@ Infinite-Schleife Vielen Dank für die ausführliche Antwort.
Ja du gehst richtig in der Annahme das ich ein PanelDue habe, ich habe das PanelDue 7i von Duet.
Ich möchte meine eigenes User Interface generieren.
Ich möchte weg von dem Duet Standard Screen das gefällt mir nicht ich möchte mit C++ oder den GCode meine eigene Menu Steuerung erstellen.
Mein eigene User Interface das mit dem Duet Mainboard Kommuniziert 6HC.Ich weiß nur nicht wie.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Display_12864_menu
Ich habe diese Seite bei Duet gefunden in der ganz oben steht das man eigene Display Seiten erstellen kann.Wie funktioniert das mit dem SBC Modus ich habe ein Rasbarry Pi den ich auch gerne an meine Drucker anschließen möchte. Als Steuerung alternative.
@ Infinite loop Thank you for the detailed reply.
Yes you are correct in assuming that I have a PanelDue, I have the PanelDue 7i from Duet.
I want to generate my own user interface.
I want to get away from the Duet standard screen I don't like it I want to create my own menu control with C++ or the GCode.
My own user interface that communicates with the Duet mainboard 6HC.I just don't know how.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Display_12864_menu
I found this page on Duet that says at the top that you can create your own display pages.How does this work with the SBC mode I have a Rasbarry Pi that I would also like to connect to my printer. As a control alternative.
Translated with www.DeepL.com/Translator (free version)
-
ich habe das PanelDue 7i von Duet. Ich möchte meine eigenes User Interface generieren. Ich weiß nur nicht wie.
Moin, Ihr Link bezieht sich auf andere Hardware. Hier ist der Link zur PanelDue Firmware auf github. Wenn Sie den Code verstehen, könne Sie Ihr eigenes User Interface schreiben. Viel Spaß dabei!
Wie funktioniert das mit dem SBC Modus
So: Single Board Computer (SBC) setup for Duet 3
Translation:
I have the PanelDue 7i from Duet. I want to generate my own user interface. I just don't know how.
Hello, your link refers to different hardware. Here is the link to the PanelDue firmware on github. If you understand the code, you can write your own user interface. Have fun with it!
How does the SBC mode work
Like this: Single Board Computer (SBC) setup for Duet 3
-
Mion, alles klar danke für die Hilfe.
Habe den SBC mal mit dem Rasbarry Pi ausprobiert.
Ist nicht schlecht da alles über den Microcontroller läuft.
Muss mich noch mal damit beschäftigen kenn mich noch nicht gut genug mit dem Micro Controller aus.Noch mal zu dem PanelDue - Firmaware ich Programmiere schon einiger zeit in C++ aber ein binäre Compiler ist mir nicht untergekommen.
Das C++ Programm so anzupassen wie ich es mir vorstelle ist nicht meine Schwierigkeit sondern es als
.bin Datei in das Panel zu laden so das es auch angezeigt werden kann.Kennt jemand da ein Weg?
Kann ich das über die SD Karte aktivieren?Ich Programmiere im Visual Studio C++ GUI auf Windows Basis.
Da ist das komplett anders weil dies alles schon fertig ist. Ich muss nichts weiter mehr Kompilieren / Umwandeln.
Brauche nur Start drücken und ich sehe was ich Programmiert habe.Beim Duet verstehe ich die Kompilierung nicht.
Sie ist rein Binär.Hat das schon jemand gemacht?
Vielen Danke für die Hilfe
Mion, all right thanks for the help.
I tried the SBC with the Rasbarry Pi.
Is not bad since everything runs on the microcontroller.
Must me again deal with it kenn me not yet well enough with the Micro Controller.Again to the PanelDue - Firmaware I am programming for some time in C++ but a binary compiler I have not come across.
To adapt the C++ program as I imagine it is not my difficulty but to load it as a
.bin file into the panel so that it can be displayed.Does anyone know a way?
Can I activate this via the SD card?I program in Visual Studio C++ GUI on Windows basis.
This is completely different because everything is already done. I don't have to compile / convert anything else.
I only need to press Start and I see what I have programmed.With Duet I don't understand the compilation.
It is pure binary.Has anyone done this before?
Thanks for the help