Skip to content

Commit 707c34b

Browse files
committed
Add WebSocket SubProtocol per @terjeio suggestion
Add support for new ESP800 flags Add support of files hosted in subdirectory and/or SD card Add support of no FlashFileSystem (like for grblHal) Fix bug with routes broken when going to settings in recent releases Add more robust check of routes and do proper redirection if error Update Features.md Update README.md Bump preact version to 10.10.1 Bumb version to a12
1 parent 9ace008 commit 707c34b

File tree

51 files changed

+15738
-18273
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+15738
-18273
lines changed

Features.md

Lines changed: 66 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,75 @@
11
# V3 Features
22

33
## Global Features
4-
* Firmware update
5-
* WebUI update
6-
* List of enabled features /capabilities
7-
* Wifi configuration
8-
* Features configuration
9-
* WebUI features configuration
10-
* Haptic feedback
11-
* Audio feedback
12-
* Terminal commands
13-
* Emmergency stop
14-
* Pluggins support
15-
* Themes support (CSS)
16-
* Language packs support
17-
* Macro commands
18-
* Local FS listing / content management
19-
* External pages/panel support
20-
* PC / Tablet / phone UI
21-
* IP Camera & ESP32 Camera display support
22-
* Import / Export settings
23-
* Restart board support
24-
* Monolitic small footprint
25-
* Single user management support (auto close if not latest connected)
26-
* Authentication support (admin / user)
27-
* Configuration wizard (TBD)
28-
* Firmware supported (3DPrinter / CNC / SandTable):
29-
* ESP3D:
30-
* Marlin (1.x / 2.x)
31-
* Smoothieware (1.x / 2.x)
32-
* Repetier (1.x / 2.x)
33-
* GRBL (1.1h)
34-
* ESP3DLib
35-
* Marlin (2.x)
36-
* grblHal (ongoing)
37-
* Makerbase TFT (ESP3D)
38-
* Bigtreetech TFT (ESP3D)
39-
* Firmware NOT yet supported:
40-
* Reprap
41-
4+
5+
- Firmware update
6+
- WebUI update
7+
- List of enabled features /capabilities
8+
- Wifi configuration
9+
- Features configuration
10+
- WebUI features configuration
11+
- Haptic feedback
12+
- Audio feedback
13+
- Terminal commands
14+
- Emmergency stop
15+
- Pluggins support
16+
- Themes support (CSS)
17+
- Language packs support
18+
- Macro commands
19+
- Local FS listing / content management
20+
- External pages/panel support
21+
- PC / Tablet / phone UI
22+
- IP Camera & ESP32 Camera display support
23+
- Import / Export settings
24+
- Restart board support
25+
- Monolitic small footprint
26+
- Single user management support (auto close if not latest connected)
27+
- Authentication support (admin / user)
28+
- Configuration wizard (TBD)
29+
- Firmware supported (3DPrinter / CNC / SandTable):
30+
- ESP3D V3.x:
31+
- Marlin (1.x / 2.x)
32+
- Smoothieware (1.x / 2.x)
33+
- Repetier (1.x / 2.x)
34+
- GRBL (1.1h)
35+
- ESP3DLib
36+
- Marlin (2.x) - currently need custom version of Marlin : https://github.com/luc-github/Marlin/tree/ESP3DLibV3.0
37+
- grblHal (ongoing)
38+
- Makerbase TFT (ESP3D)
39+
- Bigtreetech TFT (ESP3D)
40+
- Firmware NOT yet supported:
41+
- Reprap
42+
4243
## 3D Printer Features
43-
* Target firmware configuration
44-
* Jog control / monitoring
45-
* Temperatures control / monitoring
46-
* Additionnal sensors support
47-
* Chart support for temperatures / sensors
48-
* Multiple extruder support
49-
* Target Firmware SD listing / content management (if supported)
50-
* TFT SD/USB listing / content management (if supported)
51-
* Fan control / monitoring (if supported)
52-
* Flow rate control / monitoring (if supported)
53-
* Feed rate control / monitoring (if supported)
54-
* Print control / monitoring
44+
45+
- Target firmware configuration
46+
- Jog control / monitoring
47+
- Temperatures control / monitoring
48+
- Additionnal sensors support
49+
- Chart support for temperatures / sensors
50+
- Multiple extruder support
51+
- Target Firmware SD listing / content management (if supported)
52+
- TFT SD/USB listing / content management (if supported)
53+
- Fan control / monitoring (if supported)
54+
- Flow rate control / monitoring (if supported)
55+
- Feed rate control / monitoring (if supported)
56+
- Print control / monitoring
57+
- More to come...
5558

5659
## CNC Features
57-
* Target firmware configuration
58-
* Jog control / monitoring
59-
* Laser control
60-
* Spindle control
61-
* Status monitoring
62-
* Probing control / monitoring
63-
* Code streaming using ESP3D V3
64-
* TBD...
6560

66-
## Sand Table Features
67-
* Target firmware configuration
68-
* Jog control / monitoring
69-
* Status monitoring
70-
* TBD...
61+
- Target firmware configuration
62+
- Jog control / monitoring
63+
- Laser control
64+
- Spindle control
65+
- Status monitoring
66+
- Probing control / monitoring
67+
- Code streaming using ESP3D V3
68+
- More to come...
7169

72-
73-
70+
## Sand Table Features
7471

72+
- Target firmware configuration
73+
- Jog control / monitoring
74+
- Status monitoring
75+
- More to come...

README.md

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
using Preact per @aganov suggestion
44
Rewrite per @alxblog suggestion to use proper Preactjs API and lighter code: use spectre.css instead of bootstrap 4.x
55

6-
## In development / pre-alpha stage - NOT ready to test...
6+
## In development / alpha stage / Ready to test
77

8-
Only compatible with [ESP3DLib v2](https://github.com/luc-github/ESP3DLib/tree/2-0) - which will be merged to [ESP3D 3.0](https://github.com/luc-github/ESP3D/tree/3.0) later
8+
Only compatible with [ESP3DLib v3](https://github.com/luc-github/ESP3DLib/tree/3.0) - which will be merged to [ESP3D 3.0](https://github.com/luc-github/ESP3D/tree/3.0) later
99

1010
[Latest development version ![Development Version](https://img.shields.io/badge/Devt-v3.0-yellow?style=plastic)](https://github.com/luc-github/ESP3D-WEBUI/tree/3.0) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/luc-github/ESP3D-WEBUI/3.0?style=plastic) [![Travis (.org) branch](https://img.shields.io/travis/luc-github/ESP3D-WEBUI/3.0?style=plastic)](https://travis-ci.org/github/luc-github/ESP3D-WEBUI)
1111

1212
### Setup development tools
1313

14-
1 - Install current nodejs LTS (currently using v14.16.1)
14+
1 - Install current nodejs LTS (currently using v16.14.2)
1515

1616
```
1717
node -v
18-
v14.16.1
18+
v16.14.2
1919
2020
npm -v
21-
6.14.12
21+
8.5.0
2222
```
2323

2424
2 - Download all necessary packages in ESP3D-WEBUI directory (repository root)
@@ -32,22 +32,36 @@ npm install
3232
in ESP3D-WEBUI directory (repository root)
3333

3434
```
35-
npm run dev
35+
npm run dev-<system>-<firmware>
3636
```
3737

38-
will open http://localhost:8088
38+
- where `<system>` is `cnc` (CNC system, laser, spindle..) , `printer` (3D printer), `sand` (Sand Table)
39+
- where `<firmware>` is :
40+
- `grbl`, `grblhal` for `cnc`
41+
- `marlin`, `marlin-embedded` (esp3dlib), `repetier`, `smoothieware` for `printer` \* `grbl` for `sand`
3942

40-
Back end query server is localhost:8080, websocket server is localhost:81
43+
will open http://localhost:8088 which display the webUI using a local test server
4144

4245
### Build index.html.gz to /dist folder
4346

4447
in ESP3D-WEBUI directory (repository root)
4548

4649
```
47-
npm run build
50+
npm run buildall
4851
```
4952

50-
Will generate production version
53+
Will generate production version for each target and firmware in dist directory
54+
55+
to build specific index.html.gz
56+
57+
```
58+
npm run <system>-<firmware>
59+
```
60+
61+
- where `<system>` is `cnc` (CNC system, laser, spindle..) , `printer` (3D printer), `sand` (Sand Table)
62+
- where `<firmware>` is :
63+
- `grbl`, `grblhal` for `cnc`
64+
- `marlin`, `marlin-embedded` (esp3dlib), `repetier`, `smoothieware` for `printer` \* `grbl` for `sand`
5165

5266
# Chat
5367

config/targets/CNC/GRBL/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,13 @@ const commandsQuery = (req, res, SendWS) => {
9595
Authentication: "Disabled",
9696
WebCommunication: "Synchronous",
9797
WebSocketIP: "localhost",
98+
WebSocketSubProtocol: "webui-V3",
9899
WebSocketPort: "81",
99100
Hostname: "esp3d",
100101
WiFiMode: "STA",
101102
WebUpdate: "Enabled",
102-
FileSystem: "LittleFS",
103+
FlashFileSystem: "LittleFS",
104+
HostPath: "/",
103105
Time: "none",
104106
CameraID: "4",
105107
CameraName: "ESP32 Cam",

config/targets/CNC/GRBLHal/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,13 @@ const commandsQuery = (req, res, SendWS) => {
9696
Authentication: "Disabled",
9797
WebCommunication: "Synchronous",
9898
WebSocketIP: "localhost",
99+
WebSocketSubProtocol: "webui-V3",
99100
WebSocketPort: "81",
100101
Hostname: "esp3d",
101102
WiFiMode: "STA",
102103
WebUpdate: "Enabled",
103-
FileSystem: "none",
104+
FlashFileSystem: "LittleFS",
105+
HostPath: "/www",
104106
Time: "none",
105107
CameraID: "4",
106108
CameraName: "ESP32 Cam",

config/targets/Printer3D/Marlin-embedded/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,11 +407,13 @@ const commandsQuery = (req, res, SendWS) => {
407407
Authentication: "Disabled",
408408
WebCommunication: "Synchronous",
409409
WebSocketIP: "localhost",
410+
WebSocketSubProtocol: "webui-V3",
410411
WebSocketPort: "81",
411412
Hostname: "esp3d",
412413
WiFiMode: "STA",
413414
WebUpdate: "Enabled",
414-
FileSystem: "LittleFS",
415+
FlashFileSystem: "LittleFS",
416+
HostPath: "/",
415417
Time: "none",
416418
},
417419
})

config/targets/Printer3D/Marlin/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ const commandsQuery = (req, res, SendWS) => {
322322
}
323323

324324
if (url.indexOf("M27") != -1) {
325-
SendWS("SD printing byte 100/1000\n")
325+
SendWS("SD printing byte 990/1000\n")
326326
res.send("")
327327
return
328328
}
@@ -420,11 +420,13 @@ const commandsQuery = (req, res, SendWS) => {
420420
Authentication: "Disabled",
421421
WebCommunication: "Synchronous",
422422
WebSocketIP: "localhost",
423+
WebSocketSubProtocol: "webui-V3",
423424
WebSocketPort: "81",
424425
Hostname: "esp3d",
425426
WiFiMode: "STA",
426427
WebUpdate: "Enabled",
427-
FileSystem: "LittleFS",
428+
FlashFileSystem: "LittleFS",
429+
HostPath: "/",
428430
Time: "none",
429431
CameraID: "4",
430432
CameraName: "ESP32 Cam",

config/targets/Printer3D/Repetier/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,11 +438,13 @@ const commandsQuery = (req, res, SendWS) => {
438438
Authentication: enableAuthentication ? "Enabled" : "Disabled",
439439
WebCommunication: "Synchronous",
440440
WebSocketIP: "localhost",
441+
WebSocketSubProtocol: "webui-V3",
441442
WebSocketPort: "81",
442443
Hostname: "esp3d",
443444
WiFiMode: "STA",
444445
WebUpdate: "Enabled",
445-
FileSystem: "LittleFS",
446+
FlashFileSystem: "LittleFS",
447+
HostPath: "/",
446448
Time: "none",
447449
CameraID: "4",
448450
CameraName: "ESP32 Cam",

config/targets/Printer3D/Smoothieware/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,11 +699,13 @@ const commandsQuery = (req, res, SendWS) => {
699699
Authentication: enableAuthentication ? "Enabled" : "Disabled",
700700
WebCommunication: "Synchronous",
701701
WebSocketIP: "localhost",
702+
WebSocketSubProtocol: "webui-V3",
702703
WebSocketPort: "81",
703704
Hostname: "smoothesp3d",
704705
WiFiMode: "STA",
705706
WebUpdate: "Enabled",
706-
FileSystem: "LittleFS",
707+
FlashFileSystem: "LittleFS",
708+
HostPath: "/",
707709
Time: "none",
708710
CameraID: "4",
709711
CameraName: "ESP32 Cam",

0 commit comments

Comments
 (0)