-
-
Notifications
You must be signed in to change notification settings - Fork 309
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## What's Changed * Complete refactoring using spectre.css and correct Preact API per @alexblog suggestion * Smaller footprint * Add support for extensions/pluggins * Add theme support by using external css * Remove banner as unnecessary * Remove information bar and put information to separate page and respective panel * Add audio and haptic feedback * Add Repetier / ESP3DLib V2 / Smoothieware / GRBL support * Split code for 3DPrinter / CNC / Sand Table ## Limitations * CNC / Sand Table specific UI is still not defined * Wizard is not implemented yet * Works with ESP3D 3.0- alpha-2 - no backward compatibility * Language packs are not ready to be translated yet as UI is not finished ## Discussion / status [Discussion](#94) ## New Contributors @alexblog made several contributions like #236
- Loading branch information
1 parent
c55bd56
commit d9ad884
Showing
515 changed files
with
68,739 additions
and
32,945 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,4 @@ | ||
|
||
node_modules | ||
dist/images/jogdial.svg | ||
dist/images/jogdial1.svg | ||
dist/images/jogdial2.svg | ||
dist/images/printer.tpl.htm | ||
dist/images/repetier.htm | ||
dist/index.html | ||
.vscode | ||
build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
14.16.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,7 +11,7 @@ | |
}, | ||
{"files": "*.scss", | ||
"options": { | ||
"parser": "scss" | ||
"parser": "css" | ||
} | ||
} | ||
] | ||
|
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# V3 Features | ||
|
||
## Global Features | ||
* Firmware update | ||
* WebUI update | ||
* List of enabled features /capabilities | ||
* Wifi configuration | ||
* Features configuration | ||
* WebUI features configuration | ||
* Haptic feedback | ||
* Audio feedback | ||
* Terminal commands | ||
* Emmergency stop | ||
* Pluggins support | ||
* Themes support (CSS) | ||
* Language packs support | ||
* Macro commands | ||
* Local FS listing / content management | ||
* External pages/panel support | ||
* PC / Tablet / phone UI | ||
* IP Camera & ESP32 Camera display support | ||
* Import / Export settings | ||
* Restart board support | ||
* Monolitic small footprint | ||
* Single user management support (auto close if not latest connected) | ||
* Authentication support (admin / user) | ||
* Configuration wizard (TBD) | ||
* Firmware supported (3DPrinter / CNC / SandTable): | ||
* ESP3D: | ||
* Marlin (1.x / 2.x) | ||
* Smoothieware (1.x / 2.x) | ||
* Repetier (1.x / 2.x) | ||
* GRBL (TBD) | ||
* ESP3DLib | ||
* Marlin (2.x) | ||
* GRBL_ESP32 (TBD) | ||
* FluidNC (TBD) | ||
* Makerbase TFT (ESP3D) | ||
* Bigtreetech TFT (ESP3D) | ||
* Firmware NOT yet supported: | ||
* Reprap | ||
|
||
## 3D Printer Features | ||
* Target firmware configuration | ||
* Jog control / monitoring | ||
* Temperatures control / monitoring | ||
* Additionnal sensors support | ||
* Chart support for temperatures / sensors | ||
* Multiple extruder support | ||
* Target Firmware SD listing / content management (if supported) | ||
* TFT SD/USB listing / content management (if supported) | ||
* Fan control / monitoring (if supported) | ||
* Flow rate control / monitoring (if supported) | ||
* Feed rate control / monitoring (if supported) | ||
* Print control / monitoring | ||
|
||
## CNC Features | ||
* Target firmware configuration | ||
* Jog control / monitoring | ||
* Job control / monitoring | ||
* Status monitoring | ||
* TBD... | ||
|
||
## Sand Table Features | ||
* Target firmware configuration | ||
* Jog control / monitoring | ||
* Job control / monitoring | ||
* Status monitoring | ||
* TBD... | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
ESP3D [ESP400] format: | ||
{"Settings":[ | ||
{"F":"network/network","P":"130","T":"S","V":"esp3d","H":"hostname","S":"32","M":"1"}, | ||
{"F":"network/network","P":"0","T":"B","V":"1","H":"radio mode","O":[{"none":"0"}, | ||
{"sta":"1"}, | ||
{"ap":"2"}]}, | ||
{"F":"network/sta","P":"1","T":"S","V":"WIFI_OFFICE_B2G","S":"32","H":"SSID","M":"1"}, | ||
{"F":"network/sta","P":"34","T":"S","N":"1","V":"********","S":"64","H":"pwd","M":"8"}, | ||
{"F":"network/sta","P":"99","T":"B","V":"1","H":"ip mode","O":[{"dhcp":"1"}, | ||
{"static":"0"}]}, | ||
{"F":"network/sta","P":"100","T":"A","V":"192.168.0.1","H":"ip"}, | ||
{"F":"network/sta","P":"108","T":"A","V":"192.168.0.1","H":"gw"}, | ||
{"F":"network/sta","P":"104","T":"A","V":"255.255.255.0","H":"msk"}, | ||
{"F":"network/ap","P":"218","T":"S","V":"ESP3D","S":"32","H":"SSID","M":"1"}, | ||
{"F":"network/ap","P":"251","T":"S","N":"1","V":"********","S":"64","H":"pwd","M":"8"}, | ||
{"F":"network/ap","P":"316","T":"A","V":"192.168.0.1","H":"ip"}, | ||
{"F":"network/ap","P":"118","T":"B","V":"11","H":"channel","O":[{"1":"1"}, | ||
{"2":"2"}, | ||
{"3":"3"}, | ||
{"4":"4"}, | ||
{"5":"5"}, | ||
{"6":"6"}, | ||
{"7":"7"}, | ||
{"8":"8"}, | ||
{"9":"9"}, | ||
{"10":"10"}, | ||
{"11":"11"}, | ||
{"12":"12"}, | ||
{"13":"13"}, | ||
{"14":"14"}]}, | ||
{"F":"service/http","P":"328","T":"B","V":"1","H":"enable","O":[{"no":"0"}, | ||
{"yes":"1"}]}, | ||
{"F":"service/http","P":"121","T":"I","V":"80","H":"port","S":"65001","M":"1"}, | ||
{"F":"service/telnetp","P":"329","T":"B","V":"1","H":"enable","O":[{"no":"0"}, | ||
{"yes":"1"}]}, | ||
{"F":"service/telnetp","P":"125","T":"I","V":"23","H":"port","S":"65001","M":"1"}, | ||
{"F":"service/ftp","P":"1021","T":"B","V":"1","H":"enable","O":[{"no":"0"}, | ||
{"yes":"1"}]}, | ||
{"F":"service/ftp","P":"1009","T":"I","V":"21","H":"control port","S":"65001","M":"1"}, | ||
{"F":"service/ftp","P":"1013","T":"I","V":"20","H":"active port","S":"65001","M":"1"}, | ||
{"F":"service/ftp","P":"1017","T":"I","V":"55600","H":"passive port","S":"65001","M":"1"}, | ||
{"F":"service/notification","P":"1004","T":"B","V":"1","H":"auto notif","O":[{"no":"0"}, | ||
{"yes":"1"}]}, | ||
{"F":"service/notification","P":"116","T":"B","V":"0","H":"notification","O":[{"none":"0"}, | ||
{"pushover":"1"}, | ||
{"email":"2"}, | ||
{"line":"3"}]}, | ||
{"F":"service/notification","P":"332","T":"S","V":"********","S":"63","H":"t1","M":"0"}, | ||
{"F":"service/notification","P":"396","T":"S","V":"********","S":"63","H":"t2","M":"0"}, | ||
{"F":"service/notification","P":"855","T":"S","V":" ","S":"127","H":"ts","M":"0"}, | ||
{"F":"system/system","P":"461","T":"B","V":"40","H":"targetfw","O":[{"repetier":"50"}, | ||
{"marlin":"20"}, | ||
{"smoothieware":"40"}, | ||
{"grbl":"10"}, | ||
{"unknown":"0"}]}, | ||
{"F":"system/system","P":"112","T":"I","V":"115200","H":"baud","O":[{"9600":"9600"}, | ||
{"19200":"19200"}, | ||
{"38400":"38400"}, | ||
{"57600":"57600"}, | ||
{"74880":"74880"}, | ||
{"115200":"115200"}, | ||
{"230400":"230400"}, | ||
{"250000":"250000"}, | ||
{"500000":"500000"}, | ||
{"921600":"921600"}]}, | ||
{"F":"system/system","P":"320","T":"I","V":"10000","H":"bootdelay","S":"40000","M":"0"}, | ||
]} | ||
|
||
1 - key : Settings | ||
2 - value: array of data formated like this | ||
{"F":"network/network","P":"130","T":"S","V":"esp3d","H":"hostname","S":"32","M":"1"} | ||
or | ||
{"F":"service/notification","P":"1004","T":"B","V":"1","H":"auto notif","O":[{"no":"0"},{"yes":"1"}]} | ||
|
||
F: is filter formated as section/sub-section, if section is same as sub-section, it means no sub-section | ||
P: is id (also position reference so it is unique) | ||
T: is type of data which can be: | ||
S: for string | ||
I: for integer | ||
T: for Byte | ||
A: for IP address / Mask | ||
V: is current value, if type is string and value is ********, (8 stars)then it is a password | ||
H: is label of value | ||
S: is max size if type is string, and max possible value if value is number (byte, integer) | ||
M: is min size if type is string, and min possible value if value is number (byte, integer) | ||
MS: is additionnal min size if type is string (e.g for password can be 0 or 8, so need additional min size), M should be the more minimal value | ||
so MS value must be between M and S | ||
O: is an array of {label:value} | ||
R: need restart to be applied | ||
|
||
Note: currently there is no float value so far, if needed a new type will be added in futur - TBD, | ||
Note2 : the 2.1 Flag type is no more used, several entries are used instead grouped by sub-section |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
fluidnc: 60 | ||
repetier: 50 | ||
smoothieware: 40 | ||
marlin_embedded: 30 | ||
marlin: 20 | ||
grbl: 10 | ||
unknown: 0 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
0x18 (ctrl-x) : Soft-Reset : #SOFTRESET# | ||
0x84 : Safety Door #SAFETYDOOR# | ||
0x85 : Jog Cancel #JOGCANCEL# | ||
|
||
Feed Overrides | ||
0x90 : Set 100% of programmed rate. #FO100# | ||
0x91 : Increase 10% #FO+10# | ||
0x92 : Decrease 10% #FO-10# | ||
0x93 : Increase 1% #FO+1# | ||
0x94 : Decrease 1% #FO-1# | ||
|
||
Rapid Overrides | ||
0x95 : Set to 100% full rapid rate. #RO100# | ||
0x96 : Set to 50% of rapid rate. #RO50# | ||
0x97 : Set to 25% of rapid rate. #RO25# | ||
|
||
Spindle Speed Overrides 10%->200% | ||
0x99 : Set 100% of programmed spindle speed #SSO100# | ||
0x9A : Increase 10% #SSO+10# | ||
0x9B : Decrease 10% #SSO-10# | ||
0x9C : Increase 1% #SSO+1# | ||
0x9D : Decrease 1% #SSO-1# | ||
|
||
0x9E : Toggle Spindle Stop #T-SPINDLESTOP# | ||
0xA0 : Toggle Flood Coolant #T-FLOODCOOLANT# | ||
0xA1 : Toggle Mist Coolant #T-MISTCOOLANT# | ||
|
||
[{name:"#SOFTRESET#", value:"\x18"}, | ||
{name:"#SAFETYDOOR#", value:"\x84"}, | ||
{name:"#JOGCANCEL#", value:"\x85"}, | ||
{name:"#FO100#", value:"\x90"}, | ||
{name:"#FO+10#", value:"\x91"}, | ||
{name:"#FO-10#", value:"\x92"}, | ||
{name:"#FO+1#", value:"\x93"}, | ||
{name:"#FO-1#", value:"\x94"}, | ||
{name:"#RO100#", value:"\x95"}, | ||
{name:"#RO50#", value:"\x96"}, | ||
{name:"#RO25#", value:"\x97"}, | ||
{name:"#SSO100#", value:"\x99"}, | ||
{name:"#SSO+10#", value:"\x9A"}, | ||
{name:"#SSO-10#", value:"\x9B"}, | ||
{name:"#SSO+1#", value:"\x9C"}, | ||
{name:"#SSO-1#", value:"\x9D"}, | ||
{name:"#T-SPINDLESTOP#", value:"\x9E"}, | ||
{name:"#T-FLOODCOOLANT#", value:"\xA0"}, | ||
{name:"#T-FLOODCOOLANT#", value:"\xA1"} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
* Fix dev websocket server cannot work under Linux | ||
> sudo apt-get install libcap2-bin | ||
> sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\`` | ||
|
||
* Fix ‘ and “ need space to be displayed under Linux | ||
> setxkbmap -layout us | ||
|
||
* Fix for sass div warning | ||
>npm install -g sass-migrator | ||
>sass-migrator division **/*.scss | ||
Note: | ||
on windows need change script policy first: | ||
> Get-ExecutionPolicy -List | ||
>Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser | ||
then when done, put back default (the one got by initial Get-ExecutionPolicy -List) | ||
>Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,54 @@ | ||
# ESP3D-WEBUI 3.0 | ||
using Preact per @aganov suggestion | ||
|
||
## In alpha stage - ready to test... but be noted it will soon be replaced by rewrited version : https://github.com/luc-github/ESP3D-WEBUI/tree/3.0-rewrite | ||
using Preact per @aganov suggestion | ||
Rewrite per @alxblog suggestion to use proper Preactjs API and lighter code: use spectre.css instead of bootstrap 4.x | ||
|
||
## In development / pre-alpha stage - NOT ready to test... | ||
|
||
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 | ||
|
||
[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-rewrite) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/luc-github/ESP3D-WEBUI/3.0-rewrite?style=plastic) [![Travis (.org) branch](https://img.shields.io/travis/luc-github/ESP3D-WEBUI/3.0-rewrite?style=plastic)](https://travis-ci.org/github/luc-github/ESP3D-WEBUI) | ||
|
||
[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) | ||
|
||
### Setup development tools | ||
|
||
1 - Install current nodejs LTS (currently using v12.18.3) | ||
1 - Install current nodejs LTS (currently using v14.16.1) | ||
|
||
``` | ||
node -v | ||
v12.18.3 | ||
v14.16.1 | ||
npm -v | ||
6.14.6 | ||
6.14.12 | ||
``` | ||
|
||
2 - Download all necessary packages in ESP3D-WEBUI directory (repository root) | ||
``` | ||
npm install | ||
``` | ||
|
||
### Start dev server | ||
in ESP3D-WEBUI directory (repository root) | ||
``` | ||
npm run dev | ||
npm install | ||
``` | ||
will open http://localhost:3000 | ||
Back end query server is localhost:8080, websocket server is localhost:81 | ||
|
||
### Build index.html.gz to /dist folder | ||
in ESP3D-WEBUI directory (repository root) | ||
``` | ||
npm run build | ||
``` | ||
Will generate production and debug versions for grbl and printer | ||
### Start dev server | ||
|
||
in ESP3D-WEBUI directory (repository root) | ||
|
||
``` | ||
npm run build-debug | ||
npm run dev | ||
``` | ||
Will generate debug versions for grbl and printer, which contain all console.log message. | ||
|
||
will open http://localhost:8088 | ||
|
||
``` | ||
npm run build-prod | ||
``` | ||
Will generate production versions for grbl and printer, cleaned from all `console.log` messages. | ||
|
||
you can even go to more atomic level with : `npm run build-printer`, `npm run build-grbl`, `npm run build-printer-debug`, `npm run build-grbl-debug`, `npm run build-lang` | ||
Back end query server is localhost:8080, websocket server is localhost:81 | ||
|
||
### Build index.html.gz to /dist folder | ||
|
||
### Code beautify with prettier | ||
use pluggin or cli | ||
in ESP3D-WEBUI directory (repository root) | ||
|
||
``` | ||
npm install --global prettier | ||
npm run build | ||
``` | ||
|
||
the config file is .prettierrc | ||
a batch is available if you need : prettyfiles.bat, it is just automating the following commands: | ||
prettier --config .prettierrc --write "{src/**/,webpack/**/}*.js" | ||
prettier --config .prettierrc --write src/**/*.html" | ||
Will generate production version | ||
|
||
# Chat | ||
ESP3D is now on [![Discord server](https://img.shields.io/discord/752822148795596940?color=blue&label=discord&logo=discord)](https://discord.gg/Z4ujTwE) | ||
|
||
ESP3D is now on discord https://discord.gg/Z4ujTwE |
Oops, something went wrong.