gSender 1.4.7 - Rotary, grblHAL, Jobs Stats and more

gSender 1.4.7 is now released, officially supporting grblHAL, rotary cutting and much much more!

The official theme for this update was fundamentals, which means improving and iterating on existing features to address any shortcomings, reliability issues, or add long requested functionalities.

As always, thank you to everyone involved in using, testing and giving feedback on Edge releases over the past 4 months. We’ve been working hard to address your feedback and are excited to bring these new features over to the general userbase!

Without further ado, let’s get into this update!

A New Spin on Carving - Rotary Support

Turning to some positive news, we’re finally bringing support for Rotary axes on both grbl and grblHAL based controllers into gSender! Whether you own the Sienci Vortex or some other rotary solution, gSender has you covered in everything you might want to do.

Once enabled in preferences, the user is able to control, probe, surface and carve using the A axis!

image

We’ve also updated the visualizer to better show the final result - so you can see your A-axis carving in all it’s glory!

Pushing Your Buttons - Better Gamepad Functionality

We’ve expanded and changed how gamepad works to give the user a whole host of new options for controlling their machine.

Joysticks are now able to jog the machine along any axis with variable speeds based on how far you’re moving the joystick.

We’ve added a new MPG mode which will let the user jog in a specific direction by rotating the joystick similar to physical MPG units.

There is also new alt modifiers for gamepad buttons, letting you map multiple functionalities to a specific button. Users are also able to assign a lockout button, preventing any gamepad buttons from firing until it is unlocked again.

Finally, we’ve altered the workflow for setting up a gamepad, letting the user map an action to a button instead of the opposite. We hope this lets users set up their new controllers quickly and easily and get back to cutting.

What did I just do? In-depth Job Stats and Maintenance Reminders

We’ve greatly expanded the job stats section to give you even more information about past jobs. Not only do we now track time run per com port, there is more in-depth tracking of individual jobs and any problems encountered.

We’ve also added maintenance reminders to keep you on track for keeping your machine in tip-top shape. Reminders are set up with expected run time before needing completion, and once you’ve approached that warning you’ll start to get reminders. Maintenance reminders are entirely customizable - set up your own tasks to keep on top of anything personal to your workflow.

Some Old Favourites and New Favourites

We’ve brought back code blocks for tool change to much fanfare!

Remote mode has received a number of improvements, including workflow controls and unit selection on the remote interface on phone screen size and a QR code in-app for easier navigation on your handheld device.

We’ve also added an easier way to go to a specific location - clicking the Go To button will now let you select a incremental or absolute position to move your machine to.

image

Touch Wherever You Want - Multi-corner Probing

No longer a one-trick pony, gSender now supports probing off any corner of your workpiece using both standard and auto-zero touchplates!

Selecting which corner you want is as easy as clicking a button - simply press the corner selector and the probe routine will automatically update offsets to both run and set the zero correctly at the selected corner!

Technical Notes - 32 bit no longer supported

We are officially dropping support for 32bit versions of gSender. It was a hard decision but continuing to support 32bit was a security concern for several libraries we use and we can’t be shackled long term to out of date libraries without alternatives. Version 1.2.2 should continue to work fine for the small subset of users (sub 1%) that we show as using 32 bit operating systems.

image

Firmware options - grblHAL Firmware Support

Our first non-grbl firmware officially supported is grblHAL - an up-and-coming solution that works on a wide variety of hardware.

Firmware flavour is selectable in the connection dropdown - by default most users will continue to use grbl, but swapping controller types is a simple click away.

We’ve updated the UI in a number of places to support all the new functionality available in grblHAL - including single axis probing, ethernet connectivity and more.

image

USB is no longer the only way to interact with your machine using grblHAL - so we’ve added a way to connect and run jobs using ethernet, which is more reliable overall.

image

grblHAL is also a bit more fluid when it comes to EEPROM options - so the firmware tool has been rebuilt to dynamically support all options are reported by the firmware itself and rebuild the table so you’ll always be able to easily update your EEPROM configuration no matter which plugins you have installed.

This is just a taste of new updates we’ve added - for all the details and changes, full notes can be found below!

Release Notes

  • Added Rotary Mode
    • gSender is now able to run 2+1 axis files on grbl and 4 axis files on grblHAL
    • Visualizer updated to support 4 axis rotations
    • A-axis DRO and jogging
    • Rotary probing
  • Added grblHAL controller support
    • Connect to and run jobs as normal on any grblHAL device
    • Connect over ethernet where hardware is supported
    • New grblHAL specific firmware tool that is dynamically generated based on reported settings
    • New UI elements where appropriate to support new functionality such as single axis homing
  • Gamepad improvements
    • Restructured logic and mapping of buttons to actions
    • Add secondary functionality to buttons
    • Added joystick MPG mode
    • Added lockout button to deactivate gamepad when needed
  • Improved job time estimation
    • Significantly improved initial time estimation algorithm based on machine acceleration and max speeds
    • Mid-job estimation uses initial estimate per line for more accurate remaining duration
  • Multi-corner probing - touch off any corner using both standard and auto-zero touchplates
  • Added Go To UI button to quickly go to an absolute or relative workspace coordinate
  • Clearer distinction on planned lines vs cut lines - planned lines show up as a (customizable) yellow instead of the default cut gray
  • Remote mode improvements
    • Added QR code for easier navigation to remote address on phone
    • Added workflow controls and unit selection to remote mode UI
  • Added preference to prompt on Zero to prevent accidentally resetting zero on any axis
  • Code block toolchange again supported
  • Firmware active modals now displayed in diagnostic tab
  • PRB values available to use in macros
  • Files are now parsed once per run time
  • Fix for DRO precision in some situations
  • Improved job stats area - now tracks jobs per com port, more information about each job run and the number of problems encountered
  • Maintenance reminders - set up and customize maintenance reminders to prompt tasks after specific run time totals have occured
  • Improved alarm and error recording

1.4.1

  • Fix for black screen on application startup in some situations
  • Fix for jog buttons on UI not registering click events correctly on some operating systems
  • Strip comments sent to controller to prevent buffer overflow and better support Shapeoko
  • Fix issue with firmware tool not updating values correctly if settings limited by search bar
  • Handle missing file name in recent files
  • Updated EEPROM values for travel on multiple Sienci profiles
  • Fixed issue with surfacing tool crashing in some situations
  • Fixed several bugs with gamepad support

1.4.2

  • Added ability to assign macros to gamepad buttons
  • Controller type is now annotated in the Errors and Alarms report and diagnostic file
  • Go To function on UI now accounts for preferred units
  • Added spindle selector to Laser/Spindle tab when using grblHAL firmware
  • Unlock button now only shows 100% of the time when using grblHAL controller
  • Fixed machine profiles missing in some situations
  • Remote mode UI jog controls are once again properly contained within their widget container
  • Fix for remote mode settings crashing on Firefox
  • Fixed toggling laser offsets with inches enabled
  • Various improvements to time estimation
  • “Use Last Port” button in firmware tool should now properly connect when the last connection was over Ethernet
  • Alterations to outline behaviour - should move in a consistent direction and more accurately outline the toolpath
  • Fixed tool change offsets being concatenated as strings instead of added
  • Surfacing tool better handles extreme values by warning the user instead of exceeding the call stack
  • Various rotary fixes
  • Fix for pass-through toolchanging in macros
  • Fix for spindle delay being added when the line already had a delay from the post-processor
  • Start-From-Line should now better handle starting G2/G3 commands and clear errors on grblHAL controller
  • Fix for toolchange wizard not resuming correctly on grblHAL controller
  • Verify job should behave more consistently like grbl controller on grblHAL firmware

1.4.3

  • Fix for probe migration values not running
  • Fix for jog value migration not running
  • Spindles on HAL no longer duplicate when running the spindle command multiple times
  • Connection widget should no longer zero out selected controller in some situations
  • Toolchanger should no longer error out in situations when the user has connected then disconnected

1.4.4

General

  • Firmware selection hidden by default to avoid misclicks, and selected firmware reset to GRBL for all users.
  • Removed situations where no firmware option was selected on initial update of gSender
  • Fixed tabbed widget overlapping on some screen resolutions
  • Fixed issue with toolpath Z dimensions calculating incorrectly
  • Probe XYZ now goes to XY zero on completion of routine similar to prior behaviour
  • Errors from feeder are also now emitted to UI
  • Rotary axis toggle and other rotary tools now disabled in alarm state
  • Fixed situations where pausing and unpausing repeatedly could overflow firmware buffer
  • Fixed jog values reconverting and resetting on UI
  • Prevented warning appearing in movement calibration tool erroneously
  • Added A-axis limit pin indicator to diagnostics panel
  • Some tweaks to diagnostic report layout
  • Fixes for AutoZero probing routines with $13 enabled
  • Better error reporting on UI in general for macro and console errors
  • Renamed Mac build from Intel to Universal for clarification
  • Fixed some problematic shortcut behaviours on gamepad
  • Fixed issue with final Z on automatic tool change being off by the retract distance
  • Visualizer no longer displays miscalculated toolpath when loading the same file twice in a row

grblHAL

  • Fixed continuous jogging with soft limits enabled on some EEPROM configurations on HAL
  • HAL spindle selector now uses on-board EEPROM values for SLB_LASER option
  • HAL flashing should be usable on Electron as of latest version and board should be connectable without power cycling.
  • Repeated errors in HAL should be reported to the user less often
  • Spindle selector now uses reported current spindle
  • Fixed issue where spindle selector could get duplicate entries on ID change
  • Fixed toolchange program feedrate variable on HAL
  • Setting import in HAL firmware tool now correctly updates radio button options

1.4.5

General

  • Fix for jog shortcuts not sending short movement when quick pressed.
  • GRBL firmware tool correctly updates values when list shortened with search term
  • More rounding in tool changing values.
  • Various updates to diagnostic PDF to include more at-a-glance information.
  • Behaviour changes to planned lines visualization to make it more accurate.

grblHAL

  • HAL firmware categories loaded more consistently on connection
  • HAL errors/alarms list populates more consistently on connection
  • Renamed some firmware categories for clearer organization
  • Better handling of cycle start, pause, and halt macro button functionalities
  • Fixed choppiness in visualization in 4-axis mode.
  • A-axis continuous jogging works as expected with soft limits enabled in 4-axis mode
  • Feeder no longer pauses when setting EEPROM macro code block with a M0/M1 included.
  • Rotary mode status correctly set on connection.
  • Random errors no longer appear on connection
  • Error log cleared on job start to prevent errors from not sending a job aren’t included in the job error report.
  • Adjust HAL jogging values
  • Added ability to flash SLB already in DFU mode
  • Flashing UX improvements for HAL

1.4.6

General

  • Values properly convert in surfacing tool when swapping between metric and imperial preferred units
  • Fixed default UI value precision when swapping between metric and imperial preferred units
  • Handle error silently when checking for updates but no internet connection is available

grblHAL

  • Added default profiles for all machines when connected using grblHAL and using the ‘Restore Defaults’ functionality
  • No longer emit error 79 when connecting with e-stop enabled on SLB
  • Fixed issue with soft limit Z jogging when trying to jog from machine limits
  • Fixed status query mask when sending 0x87 complete status report vs ? partial status report to prevent alarm states from being slow to clear on UI

1.4.7

General

  • Tweaks to finish time estimation
  • Alterations to behaviour of planning line in visualizer
  • Fixed issue where error would prevent the file from resuming in some situations
  • Go to button default values are now current position if absolute movement and 0 if relative movement
  • GRBL controller now will always send $$ command eventually even if no startup message received

grblHAL

  • Rapid position buttons work as expected with A-axis invert enabled
  • Updated defaults for SLB homing speeds
  • Added setting highlight and restore individual defaults to HAL firmware tool
  • Fixed issue where SLB flashing could fail silently if connected before flashing
  • Firmware flavour for SLB now included in diagnostic file
  • Prevented soft reset on exiting check mode on SLB from getting the firmware not leaving check mode

Download gSender 1.4.7

As always, releases can be found on Github!

3 Likes

Wow! Now gSender is ahead of edge but I’m guessing not for long the way the Sienci Labs team keeps innovating.

Keep up the great work and thanks for doing it!

2 Likes

So we can just paste in @NeilFerreri toolchange code and away we go?

Hello - Tried gSender 1.4.0 on MAC Monterey 12.7.2 hoping it would fix issue with Probe setup and still stuck on Standard. I use a Z Probe and cannot save this setting in gSender other than an older version of Edge. I have force the setup to save (via display message) but find the Standard remaining when moving to a new option and/or exiting and re-entering setup. Very odd and have purged the “RC” files per other instructions to revert to different gSender versions. Have not tried Windows 10 or 11 but the issue was only on MAC and my Linux set up. thanks

I am confused. grbl is for Longboard (v1.2.2) and grbl/HAL is for the Super Longboard (v1.4.0)?? Or both can be ran on both boards?
BTW, thank you for the phone interface upgrades! This will really speed up the setup each time!

I just cut a lot of air, and the 1.4 ver. worked perfectly! I really like the spoilboard program. The new graphics are really nice. GOOD JOB Sienci Labs!! Thank you. Oh by the way I use Windows 11 on the MK1 LongMill.

1 Like

Hey @Condor00,

Great question! There are two flavours of firmware, grbl and grblHAL.

grbl - runs on the LongBoard and gSender version 1.2.2 and version 1.4.0
grblHAL - runs on the SuperLongBoard and gSender version 1.4.0

So you can run either board/firmware version with the updated gSender, but only grbl on gSender 1.2.2.

Cheers,
Stephen

1 Like

1.4.1 has been released, with a few small issues fixed that we wanted to get ahead of - specifically a fix that should make the UI jog buttons work in all situations and a couple other issues reported through customer support or Sentry:

1.4.1 Release Notes

  • Fixed issue with jog control buttons event not firing for some users - this will regress touchscreen support but we’ll have it back for the next release.
  • Fix for black screen on startup in some situations due to a internal state race condition
  • Fixed issue with EEPROM settings not being applied when updated in the firmware tool with search filter applied
  • Fixed several bugs with gamepad support
  • Fixed issue with surfacing causing gSender to crash when generating g-code given some inputs
  • Updated all LongMill profile travel distance values in machine profiles list

As always, gSender can be found on Github:

1 Like

I did find a problem with the phone use for a remote (1.4.0 and in 1.4.1). I am using mobile Firefox 122.0 on Android UI version 5.1.
The frames seem to be crossing over each other near the center. The Jog Control is covering up 1/2 of the Z Location Info.
In Chrome, everything is as it should be (well divided).
I do prefer Firefox. Can you fine a workaround or fix?
Thank You!

Is there no Macro action in the Gamepad mapping?

We will be adding this feature back soon. We rebuilt the gamepad functionality from the ground up and missed the macro shortcut feature, unfortunately.

1 Like

1.4.2 has been released with a number of fixes and improvements, including the ability to assign macros to gamepad buttons again!

  • Added ability to assign macros to gamepad buttons
  • Controller type is now annotated in the Errors and Alarms report and diagnostic file
  • Go To function on UI now accounts for preferred units
  • Added spindle selector to Laser/Spindle tab when using grblHAL firmware
  • Unlock button now only shows 100% of the time when using grblHAL controller
  • Fixed machine profiles missing in some situations
  • Remote mode UI jog controls are once again properly contained within their widget container
  • Fix for remote mode settings crashing on Firefox
  • Fixed toggling laser offsets with inches enabled
  • Various improvements to time estimation
  • “Use Last Port” button in firmware tool should now properly connect when the last connection was over Ethernet
  • Alterations to outline behaviour - should move in a consistent direction and more accurately outline the toolpath
  • Fixed tool change offsets being concatenated as strings instead of added
  • Surfacing tool better handles extreme values by warning the user instead of exceeding the call stack
  • Various rotary fixes
  • Fix for pass-through toolchanging in macros
  • Fix for spindle delay being added when the line already had a delay from the post-processor
  • Start-From-Line should now better handle starting G2/G3 commands and clear errors on grblHAL controller
  • Fix for toolchange wizard not resuming correctly on grblHAL controller
  • Verify job should behave more consistently like grbl controller on grblHAL firmware
2 Likes

1.4.3 has been released with some fixes to a missing data migration:

  • Fix for probe migration values not running
  • Fix for jog value migration not running
  • Spindles on HAL no longer duplicate when running the spindle command multiple times
  • Connection widget should no longer zero out selected controller in some situations
  • Toolchanger should no longer error out in situations when the user has connected then disconnected
4 Likes

I really like the job stats and the maintenance schedule with reminders! The reminders will help me keep my machine tip top, thank you very much!

1 Like

When a job finishes, the Job End window prompts, but the gSender automatically tries to start the job again (see the resume button). If I click resume, it just runs the job again.

I have to click resume and then quickly click stop to be able to continue to do other jobs.

I believe it’s interfering a M0 command in my Program Stop event.

It starts to do this from v1.4.2

Can you share your gcode?

(Program Ends)
M0 ;TURN OFF THE ROUTER
G90	;Absolute positioning
G53 G0 Z-0.039
G53 G0 Y-0.039

just simple pause for turning off the router and jog to the back

What’s the purpose of the M0 there?

prompt for turning off the router (by hand)

Gotcha. So you turn off the router, hit resume, and it runs the job again? Does it run your G53 G0 moves?