1.1.0 (2024-10-14)
- List accessible ports in connection config dialog (8ae07db)
- Fix API calls failing after changing host details (386b063)
1.0.0 (2024-10-12)
- Add config editor (b851465), see readme
- In the web view, font size now scales smoothly with page size and button column count
- New
ui.textSize
option, which increases or decreases the size of text in buttons. Default is 1 (for 100%). - Show message when loading the web view if configuration cannot be found
- Web view now has a favicon
0.9.0 (2024-09-02)
- Add loading button overlay while outline is processing (566faaa)
0.8.0 (2024-09-01)
- Default absolute position display button to set instead of toggle in example config (63d45ee)
- Add outline action to example config (d032783)
Outline (c07a1b2)
The new outline
action does a rapid move around the perimeter of the currently loaded gcode. There is some path simplification done here, so smooth arcs in the original gcode are will be translated to a series of points, and will not be as smooth.
The default configuration included in the example config looks like this:
"outline": {
"actions": [
{
"action": "outline",
"event": "hold"
}
],
"disabled": "!gcode.gcode || !cnc.idle",
"bgColor": 5,
"icon": "default/perimeter.png"
}
Two new actions have been added absoluteMachinePosition
and absoluteWorkPosition
.
Previously in the example configuration, buttons like goZeroX
used a gcode
action with the argument G0 X0
. This gcode was executed as-is, and would do a rapid move to the coordinate, but only if the controller was already in the absolute (G90
) modal state. If the controller was in the incremental mode instead, these buttons would do nothing until the state was returned to absolute.
To fix this, the absoluteWorkPosition
action has been added. The argument for absoluteMachinePosition
is a string which will be used with a G0
rapid move, and will always run in absolute movement mode, regardless of the current modal state.
absoluteMachinePosition
has been added for symmetry, though its functionality was already available with the goto
action.
- Fixed low update frequency for spindle RPM and feedrate (7bd7b82)
- Fix potential error on button release (7cfe0fd)
- Fix outermost gcode line slightly out of frame (0b828a9)
- Fix axis-to-position actions not working in relative mode (cc163cb)
- Increase jog command frequency for streamdeck usage (cc4ed5a)
0.7.2 (2024-08-18)
- Fix render size being fixed at 72x72 (4828696)
- Fix icon rendering in multi column/row buttons (859066c)
- Fix transposed render location for multi row/column buttons (9f50a89)
0.7.0 (2024-08-15)
0.6.0 (2024-08-09)
- Add `secure` cncjs option for api and websocket connections (6af2bf2)
0.5.2 (2024-06-02)
- Fix errors when binding does not contain actions (069391f)
0.5.1 (2024-06-02)
- Exit with error when streamdeck is not found (c7f7ed0)
- Fix unconfigurable global font size (2704fac)
- Failed pointer release events in mobile browsers (84adb0d)
0.5.0 (2022-09-15)
- Make overall background color configurable (06f7921)
- Fix overall font size being ignored (2dfd088)
- Fix missing md5 dependency in packaged build (d468677)
0.4.3 (2022-08-27)
- Fix incorrect enabled test for down arrow (df84469)
- Fix button state caching causing stuck/incorrect buttons (9fa195f)
0.4.2 (2022-08-25)
- Fix sleep dimming resetting to full brightness (a8dec87)
0.4.1 (2022-08-25)
- Add missing loading module (556cc93)
0.4.0 (2022-08-25)
- Distinguish between unhold and start feed in default icon config (189c39c)
- Use different background for play button when it means 'unpause' in default config (4c6176d)
- Add default streamdeckUi section (4f7848c)
- Set state to disconnected when a connection error occurs (1bf77e7)
- Support custom user commands, loading animations (889ba37, #8)
- Fixed right-click triggering buttons, especially hold actions (1943880)
0.3.0 (2022-08-18)
Added streamdeckUi
configuration value to config. This allows ui
configuration to be overwritten with different
fonts, colors, etc. when using a Stream Deck, so that a single config.json file can be shared between web and Stream
Deck processes.
0.2.5 (2022-08-17)
- Fixed compilation error in templating library affecting web build
0.2.4 (2022-08-13)
- Fixed spindle/rapid/feedrate overrides being unavailable while job is running
0.2.3 (2022-08-07)
- Fixed issue where rapid jog actions could trigger an absolute position move instead, depending on latency
- [Stream Deck only] Updated stream deck library to add support for Stream Deck Mini
- Updated dependencies
0.2.2 (2022-08-06)
- Fix missing 100% height, causing squashed icons in some browsers
- Fix missing error class during connection failure
0.2.1 (2022-07-21)
- Fix Stream Deck connection failing before commandline arguments were parsed
- Fix incorrect default text line height
0.2.0 (2022-07-20)
Mostly focused on performance improvements on slower systems.
On a fast system, the initial processing for a large (180,000 line) gcode file was reduced from 5.5 seconds to 0.7 sec.
On a slow system (Raspberry Pi 3b+), reduced processing time from 43 seconds to about 10 sec.
- New option:
ui.throttle
- Limit the draw frequency for a given button (Stream Deck only) - New option:
ui.gcodeLimit
- Limit the number of lines of gcode that will be processed for slower systems, affecting both gcode rendering, and gcode dimension display (Stream Deck only)
- Commandline options for Stream Deck service now override config.json values
- Faster error when no streamdeck devices are connected (no longer waits for other initialization steps)
- Exit from service (quickly) if initial websocket connection to cncjs fails
- Updated socket-io.client
- Reduce data transferred from gcode processor
- Much faster, and less strict, gcode processing
- Cache images loaded from disk
- Fixed websocket connection ignoring configured socket port
- Fixed missing license and readme in web build
- Fixed incorrect dependency for canvas module
- Adding missing 'Home' workflow state
- When smooth jogging, fix soft limits generating a backlog of unacknowledged moves, resulting in unexpected movement later
- Reduced unnecessary re-rendering for some button states
- Fixed very small gcode files not rendering correctly