Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Ideas for a successor of DWC

    Scheduled Pinned Locked Moved
    Duet Web Control wishlist
    16
    40
    4.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • brunofportoundefined
      brunofporto
      last edited by

      Idea:

      Show commands that are registered but not executed yet due to the printer been busy!

      For example, my end gcode commands the bed to go to 50C and wait, then play the buzzer so I know when the bed is cool enough to get parts out of it.

      While I was waiting I sent some commands (heat the bed to 100C and start a simulation). As expected it will execute those commands but there is no indication that they are at the "queue" for execution...

      Another suggestion is to show the Macro's list (like the one that exists in Machine Control) besides the gcode console.

      Thanks!

      chrishammundefined 1 Reply Last reply Reply Quote 0
      • chrishammundefined
        chrishamm administrators @brunofporto
        last edited by

        @brunofporto Thanks for the proposal, I'll consider it! Perhaps it would make sense to disable the G-code inputs temporarily until the firmware indicates a response?

        Meanwhile I've made some more progress and got a big part of the backend working. By that I mean the responsive grid that will allow you to customise the pages as you like. If anyone wants to play with it, check out the demo sandbox here. The source code of the component can be found here even though it is still a first version.

        Nevertheless I guess it will give you an idea about what the upcoming UI designer will look like. Because the original vue-grid-layout component isn't nearly as flexible as I hoped I had to add a whole bunch of features but I'm quite happy with it so far. And don't be surprised about the poor looks of the demo page, that is just a sandbox with plain HTML and JavaScript 🙂

        Duet software engineer

        sonderzugundefined brunofportoundefined 2 Replies Last reply Reply Quote 1
        • brunofportoundefined
          brunofporto
          last edited by

          @chrishamm said in Ideas for a successor of DWC:

          Perhaps it would make sense to disable the G-code inputs temporarily until the firmware indicates a response?

          Show them at the terminal with a different color, marking it as halted, until executed than the color changes to indicate it was executed.

          chrishammundefined 1 Reply Last reply Reply Quote 0
          • TLASundefined
            TLAS
            last edited by

            Not sure if you’re familiar with AngularJS, but it’s an awesome architecture. Whatever you come up with, I’d like to see the core functions as disconnected from the UI as possible (Angular does great with this). This allows UI changes very easily. Especially with the move to SBCs on the Duet 3, a main-stream web architecture would be great.

            The SBC shift also opens up a large potential for server based operations. I dare to even suggest it, but a ‘Duet Reliability Initative” sounds feasible. Essentially have the web interface / SBC send information to a central server about errors, failed / cancelled prints, config setup / firmware feature use, bed compensation deviations, heater Calibrations, laser filament results, etc. You could do a lot of cool stuff with that data. Map out the most successful filaments / printer configurations, Recommend heater calibration changes, auto-notify errors for error message improvements, Of course have the opt-in / out options for privacy.

            Just some thoughts.

            1 Reply Last reply Reply Quote 1
            • chrishammundefined
              chrishamm administrators @brunofporto
              last edited by

              @brunofporto Or perhaps even a "loading" icon in the right corner of the G-code input, I think Element-UI provides some nice templates for that. I'll check it out.

              @TLAS I looked into Angular and Ember before I started development with Vue, see here for a comparison. Separation of view and model and reusability are the main goals of the upcoming DWC rewrite and this already worked quite decently in the config tool rewrite. AFAIK this idea is a core concept of Angular too.

              A Duet Reliability Initative could be an option but this would introduce privacy aspects which I didn't want to touch before. However I expect the new UI will be a lot more robust anyway and I'm still considering the introduction of unit tests too.

              Duet software engineer

              1 Reply Last reply Reply Quote 0
              • sonderzugundefined
                sonderzug @chrishamm
                last edited by

                @chrishamm who remembers all the hate M$ received when releasing Windows 8 in 2012... however much sense it makes to build a desktop OS around this kind of UI is debatable at best, imo it's still a very good design approach and I'm very excited to play around with this once it takes shape.

                what's it gonna be called, btw? DWC2? DDWC (dynamic duet web Control)?

                chrishammundefined 1 Reply Last reply Reply Quote 0
                • chrishammundefined
                  chrishamm administrators @sonderzug
                  last edited by

                  @sonderzug Since it will be a NodeJS app it will be possible to turn it into desktop app will without much trouble, I think. I'll call it DWC2, which is why there is no DWC 2.0 release yet.

                  Duet software engineer

                  1 Reply Last reply Reply Quote 0
                  • brunofportoundefined
                    brunofporto @chrishamm
                    last edited by

                    @chrishamm said in Ideas for a successor of DWC:

                    By that I mean the responsive grid that will allow you to customise the pages as you like

                    Idea: Be able to SAVE, and maybe in a way that is shareable, the customization. 😄

                    chrishammundefined 1 Reply Last reply Reply Quote 0
                    • chrishammundefined
                      chrishamm administrators @brunofporto
                      last edited by

                      @brunofporto Yep, that is going to be possible - OEMs will need this feature, too. I doubt it will be feasible to implement dynamic menus right in the first DWC2 version but I'll keep an eye on it while porting everything over to the new framework.

                      I've got the first draft of the file structure ready but I decided to stop using Element-UI because it violates so many design rules that would enable theme support (e.g. colour keys in layout/HTML files instead of CSS). Instead I will focus on Vuetify, iziToast and vue-chartjs. Vuetify also provides light+dark themes out of the box and I'm sure many users will want to see that when upgrading to a newer DWC version.

                      Duet software engineer

                      brunofportoundefined 1 Reply Last reply Reply Quote 2
                      • brunofportoundefined
                        brunofporto @chrishamm
                        last edited by

                        @chrishamm

                        One thing:

                        When I send a command from the top "send" area there is no indication that it was sent or executed!!! If at least the text box was cleared was a nice indication. But it does not even do that 😄 So sometimes I execute more than once the same command.

                        So another suggestion is to always have clues that something was executed! Like a color quick change at a Macro's button holding it like that until it finishes execution, for example, the text box been cleaned after pressing enter and the queued indicator mentioned earlier.

                        chrishammundefined 1 Reply Last reply Reply Quote 0
                        • SupraGuyundefined
                          SupraGuy
                          last edited by

                          Hmmm. I see in the history box below the GCode box that it shows that it's sent it, even if I can't see that it's executed.

                          Personally, I'd like a better history on the GCode box. Sometimes, I want to send the same sequence of commands. Kind of like with a linux bash shell. That way, I can send a sequence of commands easily without typing it out again, or stuff like redefining my Z probe between manual and having the piezo probe quickly.

                          (Yes, I could just define these in macros, but for whatever reason, I don't.)

                          Lead screw driven printer, powered by Duet 2 Wifi
                          MPCNC powered by Duet 2 Wifi
                          CoreXY printer driven by Duet 3 6HC
                          LowRider CNC powered by Duet 2 Wifi

                          1 Reply Last reply Reply Quote 0
                          • fmaundefined
                            fma
                            last edited by

                            I second this.

                            Frédéric

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by dc42

                              Me too. Perhaps we could have a drop down list giving the last 8 or so commands sent, after removing duplicates?

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              fmaundefined 1 Reply Last reply Reply Quote 1
                              • dragonnundefined
                                dragonn
                                last edited by

                                It would be nice to have a search future in the history.
                                Like a fish shell on linux. I think the history could be nicely saved in localStorage, it can store much data.

                                1 Reply Last reply Reply Quote 0
                                • fmaundefined
                                  fma @dc42
                                  last edited by

                                  @dc42 said in Ideas for a successor of DWC:

                                  Me too. Perhaps we could have a drop down list giving the last 8 or so commands sent, after removing duplicates?

                                  When using DWC on a desktop computer, with a keyboard, using the up arrow key to select previous commands, like in linux shell, is much better. But it does not work with a tablet, with only touch screen... So, both systems should be implemented (with more than 8 commands in the history for keyboard usage).

                                  And for keyboard usage, history search should take care of the first chars entered (if I start writing G1, using the up arrow key should only show me commands in the history starting with G1).

                                  Frédéric

                                  dc42undefined 1 Reply Last reply Reply Quote 1
                                  • dc42undefined
                                    dc42 administrators @fma
                                    last edited by

                                    @fma said in Ideas for a successor of DWC:

                                    @dc42 said in Ideas for a successor of DWC:

                                    Me too. Perhaps we could have a drop down list giving the last 8 or so commands sent, after removing duplicates?

                                    When using DWC on a desktop computer, with a keyboard, using the up arrow key to select previous commands, like in linux shell, is much better. But it does not work with a tablet, with only touch screen... So, both systems should be implemented (with more than 8 commands in the history for keyboard usage).

                                    Surely a drop down list would work for tablets too? Touch a down-arrow button to popup the list, then touch the entry in the list that you want. But DON'T then require Enter to be pressed, have a Send button instead.

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                                    1 Reply Last reply Reply Quote 0
                                    • fmaundefined
                                      fma
                                      last edited by

                                      Yes, I think the drop-down is mandatory for tablets, but for desktop computers, linux shell history, only using keyboard, is much better.

                                      I only use the console when I need to tune things, and I often repeat commands without changing them, or changing a char or two. So hitting arrow up key, then enter, is very nice (this mean focus should stay on the line edit widget). Using the mouse is not that fast.

                                      Frédéric

                                      1 Reply Last reply Reply Quote 1
                                      • chrishammundefined
                                        chrishamm administrators @brunofporto
                                        last edited by

                                        @brunofporto The new web interface will block as long as pending G-codes have not been confirmed by the firmware so I could put the Send button into a loading state and disallow sending of more codes until the last code has been confirmed. This will be a relatively big change compared to DWC1 but it will make use-cases like this way easier.

                                        @SupraGuy @dc42 @fma This is already on my list - in fact I think it would be even better to clean up the codes before they are stored in the local cache, i.e. to remove comments as well as duplicate spaces. Also I've been thinking about integrating a short dictionary for every supported code so that you could actually search by keywords for a code. That way you would not have to look up codes every time on the Wiki when you want to do something special.

                                        I'm happy to report I've been making progress and if everything goes well, I hope I can present a first beta by the end of this week. We'll see 🙂

                                        Duet software engineer

                                        Danalundefined 1 Reply Last reply Reply Quote 2
                                        • SupraGuyundefined
                                          SupraGuy
                                          last edited by

                                          That's great news.

                                          FWIW, though I like the "up arrow" history, and is what I'm used to with Linux shells, a drop down box is perfectly acceptable. It's a web interface, I don't expect that you're going to check what browser/client I'm using and provide different interfaces. (Arrow keys usually work on drop-down boxes anyway.)

                                          I use a desktop PC with full mouse/keyboard, a desktop PC connected to my TV with a trackball, no keyboard, my phone, or one of a couple of tablets, and just to make things interesting, sometimes the tablet will have a bluetooth keyboard and mouse. Probably the only consistent thing is that I'm most likely using Chrome/Chromium, but I won't guarantee that. 😉

                                          I like the dictionary idea, though it being a web browser interface, that feature could be offloaded to an Internet service, to reduce demand on the control board processor. Since browsers all support tabs now, it's easy enough to keep a wiki page open, and bookmark it. (I regularly cache the one from here, and the one on RRF anyway, so it's on my local NAS, that way I can use it even if Internet is down.)

                                          Lead screw driven printer, powered by Duet 2 Wifi
                                          MPCNC powered by Duet 2 Wifi
                                          CoreXY printer driven by Duet 3 6HC
                                          LowRider CNC powered by Duet 2 Wifi

                                          dc42undefined 1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators @SupraGuy
                                            last edited by

                                            @supraguy said in Ideas for a successor of DWC:

                                            FWIW, though I like the "up arrow" history, and is what I'm used to with Linux shells, a drop down box is perfectly acceptable. It's a web interface, I don't expect that you're going to check what browser/client I'm using and provide different interfaces. (Arrow keys usually work on drop-down boxes anyway.)

                                            That's OK (and more or less what PanelDue does); but when using a browser I am so used to the focus not being where I want it to be that I always use the mouse. What I don't want to do is use the mouse to select the command I want, and then have to switch to the keyboard to press Enter.

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA