Coder Social home page Coder Social logo

duet3d / duetwebcontrol Goto Github PK

View Code? Open in Web Editor NEW
404.0 64.0 228.0 36.54 MB

A completely new web interface for the Duet electronics

License: GNU General Public License v3.0

HTML 0.08% JavaScript 6.05% Vue 65.67% CSS 0.07% SCSS 0.13% TypeScript 28.01%

duetwebcontrol's Introduction

Duet Web Control

Duet Web Control is a fully-responsive HTML5-based web interface for RepRapFirmware which utilizes the Bootstrap framework, JQuery and a few other libraries to allow easy control of Duet-based 3D printer electronics.

It is designed to communicate with RepRapFirmware using WebSockets and RESTful HTTP requests. One goal of the core application is to keep things compact, so a good loading speed can be achieved even on slow networks. Another one is to communicate to the firmware using only AJAX calls, which either return JSON objects, plain texts or binary blobs.

Duet Web Control is free software; it is licensed under the terms of the GNU Public License v3.

Supported electronics

At this time the following platforms are officially supported:

  • Duet 2 Maestro
  • Duet 2 WiFi
  • Duet 2 Ethernet
  • Duet 3 MB 6HC
  • Duet 3 MB 6XD
  • Duet 3 Mini 5+ Ethernet
  • Duet 3 Mini 5+ WiFi

Build variants

There are two build variants available:

  • DuetWebControl-SD for Duet Maestro, Duet 2 series, and Duet 3 series in standalone mode
  • DuetWebControl-SBC for Duet 3 series in SBC mode

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

In order to use the local development setup with software versions >= 3.2.0, it is possible to add M586 C"*" to your config.g. However, this is a potential security issue because it permits cross-origin requests from ALL foreign sites.

Compiles and minifies for production

npm run build

duetwebcontrol's People

Contributors

ajtudela avatar cd54 avatar chrishamm avatar ctaras avatar dc42 avatar dependabot[bot] avatar droftarts avatar easytarget avatar garethky avatar gonalonso avatar idevelouk avatar jaysuk avatar mak0t0san avatar mbgroot avatar mfs12 avatar mintytrebor avatar mogatek avatar mzachmann avatar nicholasfeldman avatar ningjiazun avatar nyarurato avatar peterwilli avatar pfn avatar sindarius avatar t3p3 avatar whosrdaddy avatar wilriker avatar x-dron avatar x0rtrunks avatar zombiron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

duetwebcontrol's Issues

Inaccurate reading of KISSlicer gcode file

Hi,

It processes a gcode file generated by KISSlicer. It handles all gcode commands that prints the model but the Estimations are blank, the current layer always remains at zero on the progressive bar.

Comma in .gcode filename causes error

screenshot 60

Issue description:

.gcode file list parsing does not complete. (See Stars before names in attachment)

Steps to replicate:

Upload .gcode file with ' symbol in filename.

Variations to issue:

Navigate to System Editor, wait a minute, and return to .gcode list, and all files, except the one with the bad filename are parsed.

Not sure how to delete the file, as the relevant button doesn't appear until parsing is complete.

Error notifications still pop up after clearing initial error.

I've noticed that after I get a Heater Fault on my printer, the web interface will continue to pop up the Heater Fault warning everytime I reload the web interface and on every device that I load the web interface. It does not matter if I clear the fault or not, once the message arrives on one browser, it will load on every browser every time the page is loaded / reloaded. This is annoying for the most part, but when I stream the printer, I have no way of clearing the error on the OBS built-in browser, so the printer interface is greyed out when viewed in OBS.

Webcam as stream not sized

The new option to embed a webcam as a stream is nice but don't works really.
Not because of the disabled updating, that's fine and I think that was the problem before but because you switch to an iFrame and load the stream in there.
The problem I have is that my webcam image is too huge and I get scroll bars which is annoying.
I had a little look at it and you have limited the size in the css but unfortunately this has no effect on the iFrame. It seems to be a technical limitation, this is not possible AFAIK.
So why not embed the stream just like a normal picture without the iFrame and just disable the updates completely?

DWC only showing 43 files on G-Code files

On my Duet 0.8.5 with RepRapFirmware 1.16 (2016-11-08) (DC42) and DWC 1.13, the G-Code files section is only showing 43 gcode files. On the PanelDue, it shows all the files for print. If delete some of the files from the DWC G-Code Files area, it still shows 43 files, but is now showing some of the newer files that were recently uploaded via DWC.

Is the 43 file limit for DWC intended despite the PanelDue being capable of showing all files?

The machine in question currently has 47 files in the gcodes folder viewing through the FTP client.

Control All - Turn Everything Off - A Bug

I'm using the latest web version 1.11 and firmware 1.11-ch (2016-04-08) upon my duel extruder ormerod 2 printer.
In the heater temperatures box, at the far right is a control all link,
within in that there is a turn off everything, which when clicked would turn off hot ends and bed and show the state as off from showing active/standby
Upon the previous version, this would turn off all items (T0,T1 and bed)
In this version it only turns off T1 and the bed, T0 remains active

3D grid view Z value direction

I just realized that the whole display of the bed is flipped at least for my setup.
Is that by intention?
I mean when I look at the 3D representation I expect to see how my bed is but in reality it is just the other way. What is too hight in the picture is actually too low and vice versa...

How to edit?

I am building a printer for a customer and I want to make a cut-down version of the web interface. Right now I just want to remove the auto bed compensation section, because the printer needs to use grid calibration and lower the probe first.
If the customer presses auto bed compensation, the printer will headcrash because the probe is not down.

So I downloaded 1.15c and changed reprap.htm (adding style="display: none;") and build it.

But nothing changes.

How can I edit reprap.htm and upload it to the printer easily? - can I access the version that has been copied to the wifi card? - Can I upload only reprap.htm and have it copied to where it needs to be?

Thanks and sorry for being a pain.

Languages.xml problem

Hi Chrishamm,
I would like to translate you UI to different languages, but I've found it impossible. The point is, I modified your original languages.xml to fit Spanish location, but when I update it to the Duet, it doesn't show any languaje. Is it possible to add another languaje to this file?
Besides, it the UI takes XML files as system files, it's uploaded to /sys instead to /www
Thank you for this fantastic UI!

fan numbers

1st Fan on duet boards is named Fan0, but in web interface it is Fan1. It might be less confusing to use same convention.

rtsp stream

Hi,
Is it possible to show rtsp stream from my IP webcam? I can't make it generate a jpg image.
Thanks!

[Feature] Print History

A tab with print history would be nice. Maybe its possible to keep a print history on sdcard?

Support for embedded VLC

Would it be possible to allow for embedded VLC player, to display webcam output via rtsp, I have got it to work by hacking the page so that the panel_webcam looks like below. it would just need a small change in the interface section to say "use vlc2"
and allow a rtsp URL in the address input.

(image not available)
									<div id="div_ifm_webcam" class="embed-responsive embed-responsive-16by9"><embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2" target="rtsp://User:[email protected]:554/videoMain " id="vlc" height="240" width="230">

DWC retries all XHR requests

When the "Maximum number of AJAX retries" setting is greater than zero, DWC retries all XHR requests. Retrying passive things like status updates is fine, but it also retries [c]rr_gcode[/c], for example, which can result in the code being executed several times (if the request arrives on the Duet side, but the response isn't delivered successfully). Under unfavourable circumstances, this could lead to the head crashing into the bed, for example.

Dark Theme and System Editor font color

When using the dark theme for the user interface there is a issue with the font color when trying to edit files from the system editor. When you use the 'edit this file' icon the window/GUI that opens the text is displayed in a light grey that is only a few shades darker than the white background.

The file data is there. And can be edited but to see changes or review setting you have to highlight the text to see it.

BTW, this is a great addition to the web interface.

Here are some screen captures of what I am seeing:
http://imgur.com/a/5RLG6

Flatten the UI

Would you like me to go through and remove all the shadowing and make the UI flat?

Screen resizing priorities

Hi Christian,

This is a small issue but annoying.
When I resize the webpage, while I am in the Machine Control page, the Home All button is not visible.
The title bar Head Movement gets priority over the Home All button. This should be the other way around.

Quite often I have the screen relatively small on my monitor as I am doing other stuff but I still want to keep an eye on it. If something goes wrong, I can Cancel but not Home All.

Thanks
Lykle

Ajax Error - Communication Error

An AJAX error has been reported, so the current session has been terminated.
Please check if your printer is still on and try to connect again.
Error reason: Not authorized.

Others have tried to resolve this no progress. Ideas?

Display heater names instead of "Heater 1"

Using the M305 command in RepRapFirmware i have named my heaters for the left and right extruder. I would like it if the Duet Web Interface would display those names to make it more descriptive.

My current command is M305 P2 S"Left Extruder" X205 H0 L0 for an FDM extruder using a PT100 on channel 205. It would be nice if the web interface could pull the heater names into the web interface.

Help system for DWC

Hello Christian, I left you a message a week ago in the RepRap forum private box about an help system for DWC that I am developing, but this message is still unread after one week, could you please have a look and tell me how to proceed?

Regards, Pierre

Finding supported webcams

Hi Chris

Are there any specifics we need to know when trying to find a suitable webcam?

Cheers
Brian

Layer time.

Would it be possible to have the layer time graph keep a track of the times without the web page being open?

Change the range of extrusion factors

For a special printer, I need to change the range of the extrusion factor sliders to go from 20 to 500%

How can I do this? - Do I need to recompile or are the factors read from another file?

Thank you.

[Feature] Automatic reconnect

It would be nice if DWC would try to automatically reconnect (after a timeout).

Every time I put my notebook to sleep, and wake it up again, DWC complains about loosing the connection. Having it reconnect automatically would give a more streamlined experience.
Doesn't have to be on-by-default, an options / checkbox would be nice though!

JavaScript Error in DWC 1.15b

So I just ran into this error. It's not a make or break issue, but is still an issue. I was setting the temperature for the heater 1 in the Active box to 200. I press tab (assuming to be able to do this and change from box to box to box), and all of a sudden I'm disconnected with the following error message popup in a red box.

JavaScript Error

A JavaScript error has occurred so the web interface has closed the connection to your board. It is recommended to reload the web interface now. If this happens again, please contact the author and share this error message:

Message: Uncaught ReferenceError: windowXsSm is not defined
URL: http://192.168.2.242/js/dwc.js
Line: 4361:38
Error object: {}

This is on a Duet 0.8.5 running DC42's firmware 1.18.1 (2017-04-09) with Web Interface Version 1.15a

Tabbing Between Fields in DWC Causes an Error

I am currently running DWC 1.15b but I believe this started on 1.15a. I get the below error when I tab between fields (ie temperature inputs) in the DWC. Currently running FW 1.18.1 and server 1.03(ch fork) I am using Chrome Version 57.0.2987.133

I did not have this issue until I upgraded to 1.15a.

JavaScript Error
A JavaScript error has occurred so the web interface has closed the connection to your board. It is recommended to reload the web interface now. If this happens again, please contact the author and share this error message:
Message:
Uncaught ReferenceError: windowXsSm is not defined
URL: http://10.0.0.57/js/dwc.js
Line: 74187:38
Error object: {}

Build Instructions

So the build script reads the following:

It then puts all the css into one file and minifys it. Why does reprap.htm not contain the non min version of the stylesheets? I would have presumed you would edit bootstrap-theme.css, bootstrap.css etc and then let the script do it's work?

What is your editing process? are you using the supplied build script?

G-Code console log messages weird

Hi,
I have no idea when this started, currently I am on version 1.17+2.
The issue is that the console always repeast previous log messages and does not show message for commands I enter.
This works for the first ocmmand, but later when I send other ocmmands I always get the result of earlier commands printed...

10:01:56 M307 H1
Auto tuning heater 2 using target temperature 240.0C and PWM 1.00 - do not leave printer unattended
Auto tune phase 1, heater on
Auto tune phase 2, heater off
Auto tune phase 3, peak temperature was 245.1
09:59:26 Auto tuning heater 2 using target temperature 240.0C and PWM 1.00 - do not leave printer unattended
Auto tune phase 1, heater on
Auto tune phase 2, heater off
Auto tune phase 3, peak temperature was 245.1
09:59:20 M303 H0 S90
Auto tuning heater 2 using target temperature 240.0C and PWM 1.00 - do not leave printer unattended
Auto tune phase 1, heater on
Auto tune phase 2, heater off
Auto tune phase 3, peak temperature was 245.1
09:58:18 M307 H1
Auto tuning heater 2 using target temperature 240.0C and PWM 1.00 - do not leave printer unattended
Auto tune phase 1, heater on
Auto tune phase 2, heater off
Auto tune phase 3, peak temperature was 245.1
09:58:17Message Log cleared!

In the above log I wanted to read PID paramters but I can't...

Move API calls to Duet Wiki

Thanks for the great project!

I was playing around with the Duet RepRap firmware API calls in the last days, and always had to read the actual C++ implementation to figure out how the HTTP API is supposed to work.
Now I finally stumbled across the documentation I was looking for the whole time in the README here: https://github.com/chrishamm/DuetWebControl/blob/742fa9138ff4fb32be068b1172535678c1d85fa5/README.md#list-of-http-requests

IMHO this section should be moved to the Duet Wiki: https://duet3d.com/wiki/Duet_Wiki, since the code is actually part of RRF and not DWC. DWC is "just a client" using it.

Thanks for documenting it! I was about to write a wiki page myself, but now I think @dc42 could just cut & paste it.

[Request] Custom Macro Buttons

I'm poking through the code trying to add it myself, but I think it'd be nice to have some "hot buttons" like right below the heater controls to run macros. Just bind a button to a macro to be able to run it from any screen.

Fan control?

Just wondering if there is a a reason there isn't currently any fan controls?

Based on other software I've used it seems like it would make sense to have controls on the "Machine Control" section to control them outright, and in "Print Status" as overridable factors.

Download all config files with one click?

Great software! I thought I'd be missing Octoprint but I'm quite happy with DuetWebControl so far.

One suggestion though. I'm trying to backup all my .g files, and the process takes a lot of clicks... Maybe there's an easier way that I haven't discovered, but here's how I'm doing it now:

  • Click on Settings
  • Click on System Editor
  • Click download for the file I want to download
  • Right click "Save As"
  • Change "Save as type" to "All Files" (prevents .txt appending to filename)
  • Replace "rr_download.txt" with correct filename (like "homex.g")
  • Click Save
  • Click on back button in browser, which takes you back to the main Machine Control page, so I have to go through all 8 of these steps again for each of the files I want to download.

Is there a chance you could simplify this in a future release? One click for all files might not be possible, but if I could just see a "directory" of all the files and then right click&Save As for each file (with no name/extension changing and no going back to Machine Control), that would be much faster.

Thanks again.

Grid visualization wierd (1.16)

Hi,
after trying 1.15a and 1.15c where it was wierd too I updated to 1.16 because I though you changed something to the visualization and somehow it looks different than before but still it is not correct.
I probe 400 point, 25 in X and 16 in Y.
This is my heightmap.csv:

RepRapFirmware height map file v1 generated at 2017-05-01 18:31, mean error 0.00, deviation 0.07
xmin,xmax,ymin,ymax,radius,spacing,xnum,ynum
8.00,296.00,18.00,198.00,-1.00,12.00,25,16
  0.000,  0.006, -0.013, -0.049, -0.054, -0.072, -0.094, -0.092, -0.097, -0.127, -0.086, -0.127, -0.071, -0.117, -0.125, -0.069, -0.071, -0.081, -0.112, -0.066, -0.051, -0.032, -0.002,  0.002,  0.056
  0.040,  0.024,  0.056,  0.051, -0.004,  0.011, -0.016, -0.061, -0.009, -0.003, -0.009, -0.022, -0.043, -0.049, -0.023, -0.038, -0.024, -0.027, -0.007, -0.020, -0.016,  0.034,  0.036,  0.006,  0.054
  0.059,  0.087,  0.045,  0.040,  0.002,  0.044,  0.007, -0.003, -0.007, -0.009, -0.024, -0.009,  0.006, -0.019,  0.021, -0.008,  0.041,  0.008,  0.006,  0.025,  0.044,  0.038,  0.066,  0.053,  0.065
  0.107,  0.116,  0.073,  0.054,  0.044,  0.027,  0.059,  0.009,  0.026, -0.013,  0.021,  0.001,  0.032, -0.016,  0.043,  0.019,  0.021,  0.023,  0.034,  0.063,  0.066,  0.068,  0.106,  0.134,  0.119
  0.122,  0.120,  0.073,  0.021,  0.061,  0.069,  0.034, -0.004,  0.058, -0.039,  0.051, -0.002,  0.055, -0.019,  0.005, -0.025,  0.052,  0.078,  0.055,  0.074,  0.059,  0.063,  0.083,  0.126,  0.141
  0.120,  0.101,  0.115,  0.039,  0.058,  0.049,  0.071,  0.056,  0.049, -0.024, -0.012, -0.019,  0.048,  0.073,  0.062,  0.056,  0.042,  0.069,  0.049,  0.090,  0.109,  0.083,  0.131,  0.138,  0.174
  0.166,  0.108,  0.095,  0.022,  0.060,  0.032,  0.002,  0.040,  0.021, -0.101,  0.049,  0.054, -0.025,  0.024,  0.004, -0.016,  0.042,  0.055,  0.023,  0.079,  0.087,  0.087,  0.132,  0.140,  0.188
  0.082,  0.065,  0.021, -0.020,  0.038,  0.024,  0.012,  0.020,  0.021, -0.016, -0.033, -0.041,  0.043, -0.037, -0.029, -0.069,  0.019,  0.043,  0.016,  0.025,  0.056,  0.082,  0.094,  0.114,  0.142
  0.084,  0.072,  0.040, -0.002, -0.004, -0.025, -0.015, -0.058, -0.021, -0.058, -0.084, -0.082, -0.047, -0.023, -0.055, -0.054, -0.011,  0.015,  0.012,  0.027,  0.043,  0.084,  0.106,  0.084,  0.119
  0.020,  0.029,  0.023, -0.036,  0.022, -0.014, -0.007, -0.007, -0.014, -0.049, -0.072, -0.011, -0.102, -0.039, -0.006, -0.041, -0.035, -0.002,  0.048,  0.029,  0.079,  0.056,  0.104,  0.089,  0.127
  0.005, -0.012, -0.013, -0.056, -0.018, -0.046, -0.078, -0.061, -0.068, -0.079, -0.059, -0.053, -0.064, -0.025, -0.089, -0.051, -0.056, -0.046,  0.007, -0.014, -0.001,  0.039,  0.057,  0.088,  0.078
 -0.007, -0.014, -0.039, -0.089, -0.049, -0.063, -0.101, -0.077, -0.079, -0.082, -0.079, -0.099, -0.112, -0.074, -0.053, -0.112, -0.052, -0.032, -0.022, -0.017, -0.010,  0.034,  0.046,  0.046,  0.066
  0.029,  0.004, -0.023, -0.086, -0.038, -0.049, -0.056, -0.086, -0.097, -0.094, -0.084, -0.093, -0.084, -0.089, -0.038, -0.064, -0.062, -0.032, -0.023, -0.003,  0.011,  0.038,  0.071,  0.044,  0.088
  0.031,  0.018, -0.005, -0.091, -0.034, -0.094, -0.089, -0.059, -0.040, -0.112, -0.051, -0.109, -0.109, -0.109, -0.070, -0.083, -0.047, -0.057, -0.034, -0.019, -0.004, -0.011,  0.057,  0.044,  0.074
 -0.002,  0.007, -0.026, -0.096, -0.034, -0.118, -0.069, -0.064, -0.095, -0.127, -0.100, -0.129, -0.120, -0.124, -0.102, -0.066, -0.102, -0.097, -0.034, -0.051, -0.034,  0.023,  0.036,  0.045,  0.156
  0.046,  0.017, -0.029, -0.059, -0.004, -0.078, -0.059, -0.039, -0.087, -0.097, -0.072, -0.102, -0.058, -0.062, -0.064, -0.092, -0.041, -0.041, -0.002, -0.010,  0.029,  0.043,  0.047,  0.073,  0.177

But the visualization does not display all values.
The corner spot near the coordinate system tripod says: X8, Y18, Z0.107
in Y direction they are as follows:
X8 Y30 Z0.107
X8 Y42 Z0.122
X8 Y54 Z0.120
X8 Y66 Z0.120
X8 Y78 Z0.166
X8 Y90 Z0.082
and so on. Some values are skipped, some doubled...

Not updating

When I upload the DuetWebControl-1.16.zip file to my Duet wifi, it does not update, but stays at version 1.15c. Am I doing it wrong, or is there something else I need to do?

To upload it, I press "upload file" inside the webpage. A popup window shows unzipping each file and then the duet seems to reboot. But after, it's still at 1.15c

User-Defined Macros Not updated

When I first connect to my Duet Wifi, the User-Defined Macros are empty until I visit the Macros page.

Firmware Name:RepRapFirmware for Duet WiFi
Firmware Electronics: Duet WiFi 1.0 + DueX5
Firmware Version: 1.18.1 (2017-04-09)
WiFi Server Version: 1.03 (ch fork)
Web Interface Version: 1.15a

Blob fix in #17

Chris - Re the fix for issue #17. You left out the file.name line in 1.13rc-1. That's breaking the config.g reboot test. A javascript file must have the name attribute so this needs adding to the blob.

file.name = filename;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.