Duet Web Control wishlist notes and priorities

  • administrators

    @deckingman said in Duet Web Control wishlist notes and priorities:

    That is just seriously weird behaviour. So by deleting some files and moving some others into existing folders, I now have all my folders showing up. And the order they are displayed in, is as I would expect to see it - folders first then files, in alpha numeric order.

    All I did was the remove the SD card, create a new folder on my PC, copy everything from the root of the SD card to the root of the new folder on the PC. Then take a new SD card and copy everything from the root of the PC folder to the root of the new card. On my PC the card contents look identical. So for one card to work fine and the other to have issues unless files are moved or deleted, is just weird.

    It may seem weird, but when you copied the file to the new SD card (or form the old SD card to your PC), they were copied in a different order to the order in which they appeared in the directory of the old SD card. In particular, the folders have been copied earlier than some files that appear before them in the original directory.

    To guarantee that a subfolder will always be visible, after created the /gcodes folder on the new SD card, create a subfolder (or a few subfolders) in it before you copy any files to it. This those subfolders will be at the beginning of the directory, so they will always be visible to DWC.

  • @dc42 how are the plans for "pagination" of g-code file and folder listings coming along?
    I remember that you had to reduce the buffer size during the RTOS transition - and I was wondering if you spent any thoughts on improving the situation?
    DWC and PanelDue both suffer from this as far as I know...

  • administrators

    @resam said in Duet Web Control wishlist notes and priorities:

    @dc42 how are the plans for "pagination" of g-code file and folder listings coming along?
    I remember that you had to reduce the buffer size during the RTOS transition - and I was wondering if you spent any thoughts on improving the situation?
    DWC and PanelDue both suffer from this as far as I know...

    I suggested a possible fix to chrishamm, but he didn't like it. I'll liaise with him and see if we can find another solution.

    For the benefit of anyone who is already running their own version of DWC, my suggestion was to revert to using rr_files instead of rr_filelist to get the list of files. The rr_files call doesn't return the date stamp or file size (which rr_filelist does), but DWC already has to call rr_fileinfo on each file anyway, which provides that information. However, I'm not familiar with that area of DWC, so there might be a complication to this approach that I haven't thought of.

  • administrators

    Yes that is right, I did not like the idea of using rr_files because it is only a partial work-around and because it does not resolve the underlying problem. My original idea for a fix was to create a derived class of OutputBuffer which would allow sending a basically unlimited number of chunks of JSON to the web interface, but there were some complications during the implementation so I never finished this part.

    Also using rr_files for macros and sys files will not work without further complications because DWC does not use rr_fileinfo for those files and I don't want to send extra rr_fileinfo requests for those files. Anyway, I'll try to change DWC so that it uses rr_files instead of rr_filelist for G-Code files. This will at least improve things a bit.

  • administrators

    Chris, did you consider the other solution I offered, which was to add an extra "start from file #" field to the rr_filelist request, and in the response include an extra field to say whether there were any files left and the new "start from" number? That would work with gcode files, sys files and macros, and it would be backwards-compatible. It should be simpler in firmware than dividing the json response into fragments.

  • administrators

    Yes that would work. I already have the rr_files change working for the G-code directories, so I guess this is low-priority though.

    FYI I just added support for a new field to the rr_filelist responses to DWC, which could indicate if an overflow occurred and thus warn the user that not all the files are displayed. To get this working from RRF's side, you'd just have to append "truncated":1 to the filelist response when it overflows.

  • administrators

    @chrishamm, the response to rr_filelist already includes field "next":nn where nn is the number of the first file not returned, and 0 means the list is complete. Likewise it accepts a parameter "first" indicating the number of the first file that is wanted. I implemented this some time ago, but perhaps I forgot to tell you - I'm sorry if that is the case.

  • administrators

    @dc42 Dang, good to know, I wasn't aware this is already supported. I'll change the corresponding parts in the web interface so we don't need to worry about too long file lists any more. Thanks for the note!

  • I have two issues with DWC:

    • an old one, that controls for extrusion multiplier and speed multiplier are not working on iPhone (maybe iOS in general). If you click, sometimes the slider jumps to max, sometimes jumps to the position you clicked. Dragging does not work.
    • the down arrow history in G-code console was very handy for portable devices. The question mark for help, not so much 🙂

    LE: removed the rememberedGcodes.indexOf issue because I've read above about the wrong settings.

  • @chrishamm the webcam rotation is still not working properly...
    When I change it, it is rotated correctly.
    But once I close the browser tab or reload the page, the rotation setting is lost.

  • @chrishamm
    can't get around java script gcode is not a function/disconnect. Any entry in gcode field sets it off. I have performed a fresh boot load install 2.01 rtos and dwc 1.22. I erased gcode folder and am using a desktop that hasn't uploaded or connected to board in the past. It persist. I have separated every variable that could cause it on my end. It is something I can't figure out. My bl touch probe works some of the time, but not all and board will start a print via upload ignoring g28 altogether. I have no m code in my config.g to allow movement before printer is homed. Homing button indicate machine not homed but it just start run print. reset factory default,apply setting reflects not diff.

    RepRapFirmware for Duet 2 WiFi/Ethernet

    Firmware Electronics: Duet Ethernet 1.02 or later
    Firmware Version: 2.01(RTOS) (2018-07-26b2)
    Web Interface Version: 1.22

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare
    G31 X-52 Y50 Z.9 P25
    M208 X0 Y-21 Z0 S1 ; Set axis minima
    M208 X305 Y291 Z247 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 S1 ; Set active low endstops
    M574 Z0
    M558 P9 X0 Y0 Z1 H5 F100 T2000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
    G31 P600 X0 Y12 Z.96; Set Z probe trigger value, offset and trigger height
    M557 X52:300 Y60:335 S40 ; Define mesh grid

    M550 Pfamily's printer ; Set machine name
    M540 PBE:EF:DE:AD:FE:ED ; Set MAC address
    M552 P192.168.1.10 S1 ; Enable network and set IP address
    M553 P255.255.254.0 ; Set netmask
    M554 P73.214.152.1 ; Set gateway
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    I use netgear nighthawk 7800r router
    with ethernet connection speed 431 mb/sec speed test
    win 10/64 bit version 1709 build 16299.431
    amd fx 8320 8 core 3.5ghz

    no usb connection 24 v psu

  • administrators

    Do the same problems persist in DWC 1.22.1? It is part of David's latest firmware release.

  • @chrishamm I just tested your latest 1.22.2 release from an hour ago.
    Still the same issue. The webcam rotation gets reset to 0° after a page reload.

  • @chrishamm actually, I just checked the browser local storage, and it still shows the correct setting. But it seems it doesn't get loaded or applied to the iframe properly.

    0_1534324865710_Screen Shot 2018-08-15 at 11.19.42.png

    When I set the rotation to 180, and click "Apply Settings", the img tag gets a new class="rotate-180" option.
    When I reload the page, this is missing, although the localStorage contains a valid json setting.

    When I load the page, and use the dev tools in my browser at https://github.com/chrishamm/DuetWebControl/blob/a5a74e5335ff6a15279247dedf276ab2694a5d56/core/js/settings.js#L217
    settings.webcamRotation is 0,

    getLocalSetting("settings", null); returns the correct rotation setting.

    I think the issue is here: https://github.com/chrishamm/DuetWebControl/blob/a5a74e5335ff6a15279247dedf276ab2694a5d56/core/js/settings.js#L121

    >  settings["webcamRotation"].constructor
    <- ƒ Number() { [native code] }
    >  loadedSettings["webcamRotation"].constructor
    <- ƒ String() { [native code] }

    string vs. integer

    edit again:

    YES! I manually changed my localStorage settings from webcamRotation: "180" to "webcamRotation:180` and now it works.

  • @resam said in Duet Web Control wishlist notes and priorities:

    @chrishamm I just tested your latest 1.22.2 release from an hour ago.
    Still the same issue. The webcam rotation gets reset to 0° after a page reload.

    Where did you get the 1.22.2 release from? Could only find the 1.22.1?

  • @chrishamm
    I see new DWC but no download/upload button on mobile devices still.
    Is it that hard to get them enabled on mobile version as this is turning out to be major pain in the a..
    Anyway, any plans?

  • I can never remember the appropriate github page to check for new firmware.

    It would be great if in Webcontrol Settings/General/Software_Information there was a direct link to this page.

    (The page linked to would of course adapt according to the Firmware Electronics detected.)


  • administrators

    @Agniusm It's fixed now, please try out https://github.com/chrishamm/DuetWebControl/blob/dev/DuetWebControl-1.22.4-b1.zip To everyone else: This is still a BETA version so there may be some bugs in it! Use at your own risk!

    @resam Thanks for tracking it down. AFAIR I introduced a comparison of the constructors when the settings are loaded a while back, so could you check if this issue is resolved now? At least when testing on my machine it seems to be alright.

    @r123 Usually dc42 includes my latest stable DWC version in his firmware releases and in case you wish to get it from my own repository, I suggest you check the "Releases" tab. I publish my stable releases there, too. Clicking on my name on the Settings page of DWC will lead you to my GitHub page where you can find my DuetWebControl repo.

  • Would it be possible to add the possibility to select multiple files and move them? Right now you can achieve the same functionality by downloading to the PC, deleting the files on the duet and uploading to the desired folder. Since there is a workaround it's not a priority, but I think it would be a nice feature to have.

    And perhaps showing the free space of the SD card somewhere in the G-Code Files section? I know you can see it with M39.

    One small detail I found, in the Machine Properties section if you have a type 9 probe (BLTouch) it shows as Type "Unknown (9)", I am running version 1.22.3, in case you have already fixed it in a newer release.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.