Code Monkey home page Code Monkey logo

gsender's Introduction

gSender logogSender: connect to and control grbl-based CNCs

gSender is a feature-packed CNC interface software designed to be clean and easy to learn while retaining a depth of capabilities for advanced users. Its development was begun out of a passion for hobby CNC machines: an interface rebuilt to suit the needs of the at-home CNC user.

  • Accepts standard, grbl-compliant g-code and has been verified to work with many of the common CAM programs
  • Began development to bring new concepts to the existing landscape of grbl senders in an effort to advance functionality and ease-of-use
  • Javascript-based CNC interface software which leverages Electron for cross platform use
  • Is a branch off of the popular CNCjs CNC controller interface

Some things that we’re looking to accomplish with this sender:

  • Reliability of operation
  • Accommodates all ranges of computing systems (low-end PC to RasPi | ‘light mode’)
  • Clean and easy to use no matter your previous CNC experience
  • Makes available all normally expected functions
  • Addresses common error throwing conditions automatically
  • Built-in gadgets for surface probing, stock flattening, firmware editing, and g-code editing with syntax highlighting, command navigation, and more
  • 3D cutting visualization

gSender

💻 Download Github All Releases

gSender is available for the following systems and does not yet support headless Pi operation

Windows (x64) Mac (Universal) Linux (Intel) Linux (ARM) Pi (64 bit)
Available EXE Available DMG Available DEB Available DEB Available DEB

Check out the latest releases here.

📦 Current Features

  • Grbl and grblHAL controllers supported
  • Smart machine connection
  • 3-axis digital readout (DRO) with manual value entry
  • All-directional jogging with XY diagonals, jog presets, and incremental/continuous single-button handling
  • Zero-setting and gotos (independent and combined)
  • Probing in any direction plus safe continuity detection ensures no broken cutting toolsk
  • Full imperial/metric compatibility
  • Responsive screen design and workspace customizations including visualizer light and dark theme
  • 3D toolpath visualization (no machine connection required)
  • File insight on load (feed range, spindle range, tools used, estimated cutting time, and overall, max, and min dimensions)
  • Feed override and active job status indicators
  • Fully exposed keyboard shortcuts for external keyboard/keypad control
  • Joystick support built-in for a variety of controllers
  • Safe height movements - accommodates machines with or without endstops
  • Homing cycle and quick-movement locations available for machines with homing hardware
  • Full spindle/laser support via manual control widgets, active alerting, and live overrides
  • Full mist/flood coolant support via manual control widgets and active alerting
  • Macros buttons (rearrangeable) with enhanced macro variables and individually assignable keyboard shortcuts
  • Lightweight mode reduces processing intensity on less powerful hardware or when running larger files
  • Easy workspace swapping for more advanced jigging or alignment work
  • Optional automatic handling for common error throwing g-code
  • Firmware tool for easier grbl EEPROM changes, loading defaults, and grbl flashing
  • Surfacing tool auto-generates surfacing g-code based on machine cutting area and other preferences, ready to execute
  • Calibration tool for axis alignment - a step by step process to make sure your CNC is square
  • Movement tuning tool for calibrating motor axis movements
  • Tool change functionality - pause, ignore, or run code blocks on M6 commands
  • Start-from-line functionality to resume jobs part-way through in case of failure of abort
  • Outline functionality indicates the rough bounds of the job before cutting
  • Customizable g-code injection at job start & end
  • Tooltips for data entry points
  • Alarm warning explanations to better contextualize CNC errors
  • Sleep management to keep PC awake during g-code sending
  • Pre-built machine profiles, including:
    • LongMill
    • Shapeoko
    • X-carve
    • OpenBuilds CNCs
    • 3018 CNC & PROVer
    • BobsCNC CNCs
    • CNC4Newbie CNCs
    • Mill Right CNCs
    • Ooznest WorkBee
    • Nomad
    • Carvey
    • Mill One, and more...

🎓 Documentation

All up-to-date documentation on gSender can be found here: https://sienci.com/gsender-documentation/

If you encounter issues or would like to recommend improvements for gSender, there's a link for feedback submission on the documentation page. We also have a place for discussion on our forum: https://forum.sienci.com/c/gsender/

📃 Example Files

If you'd like to test gSender's capabilities, there are several gcode files in the examples directory that can be downloaded and run locally.

💼 License

gSender is free software, provided as-is and available under the GNU GPLv3 license.

👓 Further Use

gSender is also designed in a way that it can be run locally on your computer browser or otherwise compiled for use on other systems which aren't listed in the downloads. There will soon be documentation on how you can set this up yourself listed below once there's been a bit more testing completed.

🕣 Development History

1.4.7 (April 30, 2024)

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

1.4.6 (April 5, 2024)

  • 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
  • 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.5 (March 28, 2024)

  • 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.
  • 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.4 (March 15, 2024)

  • 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
  • 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.3 (February 22, 2024)

  • 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.2 (February 16, 2024)

  • 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.1 (January 26, 2024)

  • 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.0 (January 23, 2024)

  • 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.2.2 (Jul 6, 2023)

  • Fix for overrides leading to gcode errors
  • Override value correctly updates with keybind usage
  • Using override keybind should now display the override panel
  • Multiple tool changes in a single file now display the correct tool in the Wizard
  • Controller binds should work with tool change wizard active
  • Spindle RPM no longer incorrectly converting units
  • Spindle slider now reflects EEPROM values for min and max
  • Jog speed properly converts through preferred unit changes
  • Larger margin on shortcut printout
  • M0 in feeder macros now displays M0 pause dialog
  • Added missing outline keybinds
  • Unlock keybind should work in more situations where a soft reset was required

1.2.1 (Jun 22, 2023)

  • Fix for files not loading for some users
  • Tool change strategy missing units added
  • Controller functionality issues addressed
  • Calibration tools calculate correct values based on input
  • Surfacing unit conversion on RPM removed
  • Laser unit renamed to Power from RPM
  • Color theme loading no longer loads non-existent file

1.2.0 (Jun 19, 2023)

  • gSender runs noticeably faster and lighter!
    • There were multiple areas where we were able to make file processing on average 20% more efficient and reduce overall program memory usage by an average of 2/3rds due to an increased node sandbox memory size and improvements to multiple run times
    • On files that still take a while to load we’ve now added a loading bar window to show file loading progress
  • Added new job recovery functionality
    • In specific instances where your machine's USB port disconnects from gSender during a job it’ll be able to recommend where you should restart from
  • Updates to gamepad controller support
    • List of officially tested controllers if you’d like to select a gamepad that works more reliably with gSender
    • Tested controllers come with their own pre-loaded presets
    • Improved UI for creating controller profiles
  • Available PDF printout of shortcuts to hang up near your machine
  • Better support for Laser Diodes
    • Optional low-power laser enable on outlining
    • Laser-specific visualization: there’s a different style when laser mode is on and that colour can be customized
    • Bug fix: Laser offset now allows for negative offset values
  • New Diagnostic tab inside the Calibrate Tool
    • See at-a-glance information on whether your limit switches, touch probe, or other pins are activated
    • General summary on your CNCs firmware settings
    • The ability to generate a Diagnostic PDF file that includes information on your computer, CNC, recent alarms / errors, any currently loaded g-code file, and more! Very handy to share with our support team or other CNCers to help diagnose problems your CNC might be experiencing
  • Remote Mode, control your CNC remotely!
    • Connect to your CNC from a myriad of other internet-connected devices for loading files from other computers or jogging and zeroing from your phone
    • Easy to set up and configure
  • Tool changing is now more fully supported by our new Wizard
    • gSender already recognized M0 and M6 commands to initialize a pause in the middle of a file
    • New processes to support using the ‘paper method’, a touch plate, or a tool length sensor (choose based on your CNC setup) now allow more flexibility in handling tool changing and in some cases can pop up a Wizard to direct you through each step and without the need for custom macros
  • Other assorted features
    • Slider overrides for easier feed rate and spindle / laser adjustment on the fly
    • Ability to toggle between job overrides and file attributes before starting a job to fine-tune feed and speed overrides before starting a job
    • Get a top-down snapshot image of your job with the new SVG Visualizer that bridges the gap between a fully disabled visualizer or the full 3D one (useful for less powerful computers)
    • Colour coded Console on certain commands like alarms and errors that can also now pop-out
  • Assorted other settings
    • New safety tab for tracking alarms and errors and accessing safety settings
    • Soft limit warning on file load if machine has limit switches
    • Customizable probe fail distance in Z
    • More visualization theme customizations for ‘light’, ‘dark’, or your own fully custom design
    • New Shortcuts for controlling Probing, Visualization, and Macros and the ability to filter shortcuts by category to easily find and edit them
    • New stats tab for tracking jobs run on your CNC
    • Custom decimal places on the DRO
  • and other bug fixes for Linux auto updates, Settings exporting, Preferred units and file unit modals, Bounding box relative movement, Shortcut printing and more!

1.1.7 (Oct 26, 2022)

  • Fix for XYZ probe profile when $13 enabled
  • Fix for machine position overflowing bounds
  • Fix for some keybinds no longer recognizing when they were released

1.1.6 (Oct 19, 2022)

  • Improved surfacing tool - pattern now ramps in to support more surfacing bit types, cut direction is reversible, able to start from center, can copy gcode to clipboard for saving.
  • Major improvements to visualizer memory usage and parsing speed
  • Start from line should account for maximum file Z height when moving into position to account for situations where Z0 is set at the spoilboard.
  • Probe code should always return to the exact starting location instead of approximating it.
  • Improvements to firmware flashing UX - can now select profile and port inside tool.
  • Fix for auto-probe code movements being too small when "$13 report as inches" EEPROM value enabled
  • Go To buttons only use safe height if below that position when limit switches are enabled to avoid moving downwards.
  • Fixed values in some machine profiles.
  • Added machine state guards to some keyboard shortcuts.
  • UI Modals now more difficult to close accidentally.
  • Bracket Comments on M0/M1 now emitted to UI.
  • Laser offsets preferences allow negative values again
  • Bounding Box variables once again available to macros
  • Mac version now exits completely on close.
  • Higher UI clarity when connecting to board with invalid/unrecognizable firmware
  • Styling changes in Firmware Tool
  • Fixed overflow when OS had screen zoom above 100%.

1.1.4 (Aug 26, 2022)

  • Fixed firmware tool control for setting $23
  • Flashing again available without connecting to device
  • Improvements to continuous jogging (thanks @cotepat)
  • Fixed issue with some settings not properly persisting
  • Outline tool improvements - moved to worker thread, G0 movements included, tweaks to accuracy
  • More accurate file length estimates when connected - virtualizer now uses EEPROM acceleration values
  • Probe function now available in manual tool change
  • Better datafilter for invalid UTF8/UTF16 characters

1.1.3 (Aug 12, 2022)

  • Added profiles for Longmill extension kits
  • Machine profile removed from preferences and placed in firmware tool
  • Fixed incorrect default values in some machine profiles
  • Test mode now restores WCS after the soft reset performed while exiting check mode.
  • Fixed issue with test mode that would occasionally have it start running the file after test was complete
  • Fixed issue with continuous jog when soft limits were enabled and report in inches EEPROM value was enabled
  • Firmware tool improvements - new convenient profile selection, setting search, performance improvements, highlighted changed values
  • Improvements to value inputs - should no longer default to min value if there is too long a pause in typing
  • Surfacing labels changed to X/Y rather than length/width
  • Minor styling changes

1.1.2 (Jul 15, 2022)

  • Fix for start button sometimes not working when "Start Event" block enabled but empty
  • Laser offsets applied more intelligently
  • Fixed styling regression in probe widget height
  • Infrastructure for edge version

1.1.1 (Jul 4, 2022)

  • Reversion of electron 18 patch to fix issue where application would hang on splash screen
  • Patch notes now displayed in "About" section of preferences
  • Laser offsets no longer applied on laser mode toggle if set to 0.
  • Added new machine profiles for Bluecarve and Yorahome CNC.
  • Dependency updates

1.1.0 (Jun 24, 2022)

  • Fix for start g-code event not sending entire code block in some situations and make it more consistent in all situations
  • Firmware now highlights settings that are different from default for Sienci machines
  • Support for edge/beta channels for those who want to opt into new features for testing
  • Improvements to controller movement using joystick
  • Brighter cut lines in visualizer
  • More sensible timeout on fetching updates
  • MK2 12X30 configuration now properly selectable
  • Added Mist, flood, and stop coolant keyboard shortcuts
  • Fixed issue with surfacing spiral pattern where center strip could be missed with some parameters
  • Fixed issue in calibration where the direction it asked you to move gantries wasn't correct in some situations.
  • Laser offset no longer resets to previous value on toggle of laser mode
  • Numerous surfacing tooltip and unit conversion issues fixed
  • Surfacing now lets you select M3 or M4 movement
  • Rapid position buttons now use $27 pulloff value for determining final positions
  • Outline tool now stores and restores modals on completion
  • Improvements to settings storage and persistence
  • Migrated from Electron 10 to Electron 18

1.0.6 (Apr 14, 2022)

  • Fixed issue that could cause continuous jog to fail in some situations with soft limits enabled
  • Fixed issues with start probe and confirm probe keybinds
  • Laser offset now saved and applied correctly
  • Fixed mouse button combination that could crash visualizer
  • WCS is reset to current selection on job stop
  • Movement modal included in start-from-line functionality
  • Start-from-line should prefer selected WCS if different from default G54
  • Fixed issue with spindle max/min not saving in some situations
  • Disabled surfacing generation when job is running
  • Laser/Spindle EEPROM ($31) and spindle/laser min/max should more accurately be reflected in firmware UI
  • Macro movement and re-ordering should be easier and more consistent.
  • Start-from-line should use a more sane decimal place for position values
  • Rapid position buttons should now account for machines not running Sienci-specific firmware and offset position from 0.
  • Dependency updates

1.0.5 (Mar 4, 2022)

  • Tool commands now emitted to UI if they occur alongside M6 commands
  • Start from line should more consistently set feed rate and spindle speed
  • Fixed issue where laser min and laser max were reversed on initializing laser mode.
  • Rewrite of jog UI control to gain more consistent behaviour
  • Alterations to jog keybinds to gain more consistent behaviour
  • Added logic on tool change to prevent sender from starting before post hook is complete
  • Alterations to profile default spindle min and max and laser min and max values

1.0.4 (Feb 15, 2022)

  • Add support for distinct Spindle max and Spindle Min while in laser or spindle mode
  • "Pause" tool change workflow renamed to "Manual", and now allows jogging and macros to be run
  • Default feed rate in "start from line" now reflects file unit modal
  • Fixed issue where units weren't consistent on Go-To buttons leading to Z plunge
  • Tool diameter selection hidden on Z probe to prevent user confusion.
  • Lowered minimum resolution from 1280X960 to 1024X768 and added responsiveness to account for that.
  • Trimmed machine profile list to generic set and made it more obvious that machine dimensions are as reported from EEPROM.
  • Added MK2 machine profiles and support for default settings for new machines.
  • Updated firmware images for MK1 and MK2
  • Fixed regression where comments weren't properly stripped before sending to grbl
  • Corrections to Auto-diameter probe profiles
  • Fixed issue where T commands could cause errors when on a line with M6 commands
  • Stop job should now consistently reset board (0x18) as intended
  • Fixed various tooltip errors
  • Fixed issue where calibration tools weren't using correct jog controls

1.0.3 (Dec 22, 2021)

  • ; Comments are now emitted to UI on M0, M1, and M6 workflow stops
  • Fixed issue where jog cancel realtime command wasn't properly sent to controller
  • Fixed issue where default values instead of custom jog speeds weren't used on initial program load
  • Start from line now sends more modals to make sure IoT devices are enabled if that line is skipped
  • Improvements to outline feature - head should now return to original position, better support for disjointed/tiled carves
  • Fixed timestamps from causing UI elements to jump around
  • Fixed DRO being cut off on small resolutions or screen sizes
  • Fixed application not being full-screen on startup
  • Increases on movement limits for jog presets
  • UI fields should be more easily clearable and return to previous value if not changed
  • Workflow controls no longer disappear during jogging
  • Changes to updater to prevent 32 bit application updating to 64 bit
  • Added new laser support preferences with basic offset
  • Alarm 2 should now be unlockable
  • Fixed edge case where surfacing would leave an unfinished pass in the center
  • Updates to serial connection library and workflow
  • New touchplate images and support for upcoming auto-diameter touchplate

1.0.2 (Dec 3, 2021)

  • Fixed regression with XYZ probe
  • Fixed regression in probe preferences

1.0.1 (Nov 26, 2021)

  • Rapid position buttons now use EEPROM values for more accurate movements and machine profile limits should be set from EEPROM on connect
  • Spindle rate hidden by default - Spindle/Laser must be toggled on in machine profile to view overrides during job run
  • Surfacing tool now runs last pass in Zig-Zag pattern
  • Added support for $13 in feedrate reporting
  • Safe height should no longer send router to Z0
  • Added new machine profiles
  • Fix for F-key shortcuts not working
  • Added missing units
  • G28 commands no longer ignored
  • Alterations to XY probing
  • More accurate error line reporting
  • Various styling issue fixed

1.0.0 (Oct 29, 2021)

  • Unlock button on UI to avoid homing/unlock from M0 state
  • More user-friendly number inputs that allow clearing are more forgiving on changing value
  • Minimize Renders turned on by default when lite mode toggled on
  • Styling changes to probe widget
  • Various UI look and feel changes
  • New machine profiles
  • Slight alteration to colour of lines that have entered planner to make them more visible
  • Fixed issue with jog/play shortcuts
  • Fixed bug where homing using the visualizer Home button did not unlock rapid position buttons
  • Fixed issue where firmware settings could be sent when machine was locked/alarmed resulting in settings not updating
  • Fixed issue where M0 commands in tool change hooks would result in post hook not executing

Open Beta 0.7.5 (Oct 22, 2021)

  • Improvements to surfacing tool - new motions and layout
  • Improvements to pause commands (M0/M1) in macros
  • WCS dropdown now accurately reflects workspace modal
  • Improvements to flashing workflow and reduced situations where it's possible to fail
  • Improvements to probe settings
  • Fixed issue with quick movement buttons
  • Fixed issue with soft limit behaviour and continuous jogging if firmware flag to set machine 0,0,0 not set
  • Fixed issue with imperial units and continuous jogging with soft limits enabled
  • Fixed numerous UI inconsistencies and other styling issues

Open Beta 0.7.4 (Oct 08, 2021)

  • Minimize render mode for visualizer to improve performance
  • Visualizer improvements to render speed
  • Fix render worker being started if visualizer disabled
  • Probe dimensions correctly update if changed in preferences
  • Can once again copy from console
  • Redesigned probe module
  • Fix for quick-movement buttons if home set to back-left
  • Fix for T commands on the same line as M6 commands
  • Fixed firmware tool values occasionally not reflecting actual EEPROM settings
  • Style changes

Open Beta 0.7.3 (Sept 20, 2021)

  • Code signed! (this means security certification - i.e. no more firewall warnings)
  • New recognized CNCs added and unrecognized devices are now accessible from the connection widget
  • UI fixes for incorrect baud rate
  • New EEPROM categories for easier navigation
  • Clearer Help menu
  • More fixes and improvements to endstop-related functions
  • New LongMill default firmware that better supports endstops
  • Fix for jog not stopping immediately due to debounce
  • Various styling fixes

Open Beta 0.7.2 (Sept 10, 2021)

  • Manual value entry for X, Y, and Z locations by clicking on the location indicator
  • Re-designed job progress indicator that better shows operating time and path of current file
  • Now able to use variables in start/stop g-code blocks and tool changing
  • Ability to enable or disable start/stop g-code blocks without clearing code
  • Updates to included firmware image and Longmill default EEPROM settings in firmware tool to support endstops
  • Endstop buttons now appear automatically if homing is enabled, and the home button is available on machine connect
  • Rapid position buttons now available and updated to use new firmware settings
  • Individual X and Y axis Go To buttons now use safe height if set in preferences, GotoXYZ0 now changed to GotoXY0, and safe height now complies to endstop-enabled machines and doesn’t descend after movement
  • Better support of physical hold/unhold buttons on Longboard controller
  • Tweaks to Z jogging to reduce runaway issues
  • Fixed hard limit alarms to allow easier resuming of workflow
  • Fixed bug with Z movement at end of surfacing program in imperial units
  • Joystick jogging should now send jog cancel at direction control release
  • Fixed last line run to reset on job completion

Open Beta 0.7.1 (Aug 20, 2021)

  • Improvements to UI connection to CNC machine to prevent frequent disconnections during long job runs
  • Program will now prevent your computer from going into sleep mode during long jobs
  • Several styling fixes across the UI
  • Fixed issue with machine locking up after pressing the jog control buttons in some situations
  • Fixed issue with program freezing after a job has finished

Open Beta 0.7.0 (Aug 13, 2021)

  • Start from line feature
  • Sortable macros
  • Preliminary support for joystick control and keybinding
  • Improvements to outline tool to prevent moving below the Z 0 on completion
  • Fixed issue where file would be re-rendered or unloaded when connecting and disconnecting
  • Fixed issue where inch grid lines weren't aligned with zero point
  • Improvements to file loading speed
  • Improvements to visualization and rendering speed
  • Improvements to file parsing speed
  • Various library upgrades aimed at improving performance and preventing UI hanging

Open Beta 0.6.9 (Jul 23, 2021)

  • New outline tool which will generate and run a rough outline of a loaded project file
  • Fixes for load file window not appearing in rare circumstances, jogging runaway in rare circumstances, and probe settings not being reflected in probe module until restart
  • Fixed issue with surfacing tool limits and ease of changing inputs

Open Beta 0.6.8 (Jul 8, 2021)

  • Fix for duplicated keybinds
  • Fix for Carbide Create files and M0 commands
  • Fix for new macros not appearing as possible keybinds
  • Optional updates for future versions
  • New logging engine for electron app
  • Socket polling to help keep connection alive
  • PowerSaveBlock added to reduce cases of machine sleeping while running long jobs
  • Alterations to load file to hopefully reduces cases of the dialog appearing in some users

Open Beta 0.6.7 (Jul 1, 2021)

  • New Movement Tuning tool that can be used to calibrate motor axis movements
  • New feature for running G-code at program Start and Stop - enter and save your own commands in the settings
  • More exposed keyboard shortcut options and new categorization
  • Now able to assign shortcuts to macros!
  • Added coolant buttons and status indicator
  • Better M0/M1 command support - notification in the UI when command encountered and easier to resume the program
  • Clearer visualization due to reduced rapid line opacity
  • Improvements to the surfacing tool limits and settings persisting
  • Ability to reset gSender settings to default
  • Added reconnect logic to client to reduce instances of UI no longer updating on long jobs
  • Fixed an issue where the "Home machine" button wouldn't disappear on homing cycle
  • Fixed an issue where macro exports were unable to be re-imported
  • Fixed issue with jogging while $15 was enabled
  • Other minor bug fixes

Open Beta 0.6.6 (Jun 11, 2021)

  • Sticky folders! Load files from the last place you navigated to
  • New tool change functionality - can now pause, ignore, or run code blocks on M6 commands
  • Added a prototype Calibration tool for axis alignment - step by step process to make sure your CNC is square
  • Alarm warnings now show an explanation of what the alarm code means
  • Faster splash screen
  • Spindle/Laser ‘active’ state changes are now updated more quickly in the UI along with other Laser widget improvements
  • Copy and paste text from the terminal
  • Tweaks to handling correct units display in overrides and surfacing
  • Refactored file information to Redux
  • Loads of small bug fixes pertaining to keyboard shortcuts, jogging, probing, comment processing, and the firmware tool
  • Minor styling changes

Open Beta 0.6.5 (May 28, 2021)

  • New tool for surfacing
  • Moved most controllerEvent listeners to redux store to improve performance
  • Improved Job Time Estimation
  • Updates to Laser/Spindle widget to better track on/off state
  • New 'About' information
  • Fixed file units mismatch with preferred units

Open Beta 0.6.4 (May 14, 2021)

  • Improvements to job handling
  • Tooltips created for data entry points
  • Splash screen tweaks
  • Working PI build!?

Closed Beta 0.6.0 (May 7, 2021)

  • Altered how files are loaded to improve UI performance
  • Added estimated time to run calculation on file load
  • File attributes now persists on disconnect
  • Fixed issues with macro editing and adding

Closed Beta 0.5.8 (Apr 30, 2021)

  • New experimental Winx32 and RasPi builds
  • Firmware tool improvements and bug fixes
  • More accurate parsing of tool and spindle speeds
  • Various keybind bug fixes, addressing special characters
  • Added recent files button and file unloading
  • New 'Check mode' state for testing files before starting job
  • Verbose commands now in console
  • New macro behaviours and import/export
  • gSender now officially licensed under GPLv3
  • Homing state and other small bugs and styling fixes
  • New logo/branding throughout!

Closed Beta 0.5.6 (Apr 1, 2021)

  • Fixed jog stepping with keybindings, continuous jogging bugs, and other jogging unreliabilities
  • Added new keybindings for improved, keyboard-based actions (unsure if issues with particular symbols such as '*' have persisted)
  • Took another look through to ensure proper unit consistency and conversion
  • Repairs to probing
  • More work done on the Firmware tool for refined functions and display
  • Indication of current jog preset selected
  • New base modals created for use across tools and confirmations

Closed Beta 0.5.5 (Mar 26, 2021)

  • Added combo laser/spindle widget (toggleable in settings)
  • Re-designed location widget
  • Re-designed layout of job status information to include min and max extents for file dimensions
  • Added safe-height retraction settings for goto XYZ0 (accessible in settings)
  • Added splash screen on application load
  • Migration to most recent Electron release plus implemented logging

Closed Beta 0.5.4 (Mar 19, 2021)

  • Set up in-app feedback submission button
  • Better formatting and sizing of various gSender elements
  • New visualizer theme "light mode" available in settings
  • Experimental "lightweight" options to reduce visualizer rendering computation (meant for less powerful hardware)
  • Keybinding tweaks to prevent jogging runaway and other small bugs
  • New bottom, left-hand toast notifications for feedback on certain actions
  • Imperial / metric units should now extend to all aspects of the sender
  • Buttons to goto X, Y, and Z individually
  • Better handling of Alarm states with unlock
  • New g-code validation on file load and job run
  • New feature to automatically download updates for future gSender Windows versions
  • Better handling of movement cancel button so that all positioning-related movements should be able to be cancelled
  • Migration to most recent React
  • New in-app updating management prompted via server releases

Closed Beta 0.1 (Mar 5, 2021)

  • gSender decided as official name :D
  • Buttons added for homing, quick-travel, jog cancel, diagonal jog, and an awesome isocube!
  • New macros widget
  • New customizable settings: jogging presets, baud rate, and more.
  • Visual overhaul on settings, probing, file attributes, and visual consistency across entire program
  • Logo implemented and the loading of Louis
  • Responsiveness overhaul on entire program
  • Mac (intel) version released March 8

Closed Alpha 3.0 (Feb 19, 2021)

  • Continuous jogging!
  • Unit switching in settings (metric/imperial)
  • Keybinding functionality to jog and other key functions with keypresses (can change bindings in settings)
  • Probe returning to original position
  • New, separate settings files won't interfere with CNCjs
  • Small colour and styling changes to hopefully increase clarity of items on the screen
  • Some responsiveness addressed to help keep sender looking good across many screen sizes (though we still have a ways to go)
  • Fixes to excessive decimal places in some areas
  • New Firmware Tool in progress but will probably break your board right now

Closed Alpha 2.0 (Feb 5, 2021)

  • Resolved non-functional buttons, missing console, and some errors during sending
  • New jogging widget and jog presets
  • Improved probe function plus probe continuity checking
  • New file attributes on load
  • More visual improvements and a large buildout in new settings options

Closed Alpha 1.0 (Jan 29, 2021)

  • Still highly dependant on great infrastructure created by the CNCjs team
  • Established Electron installer, git, and certificates
  • Large visual overhaul in how widgets and displayed and operational flow of sender
  • New probing widget, machine profiles, settings, and visualizer

Notable features still in progress:

  • G-code editing
  • Pendant
  • Full 3D Visualization

gsender's People

Contributors

austinsaintaubin avatar cheton avatar cmsteinbr avatar corentinbrule avatar crpalmer avatar dependabot[bot] avatar dutchpatriot avatar gibst avatar hznupeter avatar jhaywood85 avatar johnboiles avatar justinwozniak avatar kglovern avatar maisim avatar marcbachmann avatar mbs38 avatar minithc avatar mitchbradley avatar neilferreri avatar siencilabs avatar sophiabeluli avatar ssamal2801 avatar symly avatar tawera avatar twintails avatar vince87 avatar walidkayhan avatar whimsycwd avatar wozniaksienci avatar yeyeto2788 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

gsender's Issues

Add support for FluidNC

Hello,

i am using FluidNC as GRBL controller because of the better hardware performance compared to an Atmega. I have some problems to use gsender together with FluidNC. For example if i hit my E-Stop button, it leads to a "Door Open" detection inside my GRBL controller. To get out of this state i have to be able to reset the GRBL controller. At CNCjs for example there is a "RESET" button. I think it sends ctrl + X to the controller. This button is missing at gsender and it would be needed to sync Gsender (because after sending ctrl + X FluidNC prints "Grbl xxxx") and FluidNC and to come back from a door open event.
Because of that i am asking you, would it be possible to support FluidNC (https://github.com/bdring/FluidNC) official by your software?
It would be great because your software looks pretty cool and has some nice features like the Jogging for example!

Console Window

(Win10 Laptop): Bottom text line and vertical scroll bar hidden under horizontal scroll bar. (why is there a horizontal scroll bar?)
(Win7 Laptop): Works better on my Win7 Laptop. On Win7 laptop there is no horizontal scroll bar but the bottom of the vertical scrollbar is still out of the window and hidden. (must have plenty of text in window log to see this issue)
scroll

Work Piece layout on stock within gsender

Layout of multiple pieces on keyed in stock size from within gsender.

Bantamtools cnc software has this option and example can be found https://youtu.be/fBpIwxwFgG4?t=1340.

I find this would this would save me time as I can measure the stock piece before running the job on the Longmill. I like using the surfacing feature since it has been added. These 2 items would complement each other making it easier to utilize the stock to it's full potential. If this can already be accomplished in another way I would love to learn more about it.

Z- Crash version 0.7.3 and 0.7.4

On two separate occasions when single-clicking Z-, the "Z move (mm)" was ignored and my spindle crashed into my spoil board requiring a hardware emergency stop interjection. This occurred at both Normal and Precise speeds. Environment variables:

  • OS = BigSur
  • GRBL = Longmill build Sept 8, 2021
  • gSender = v0.7.3 & 0.7.4
  • Machine = CNC4Newbie, New-Carve 4510
  • Controller = Demon Controller (Arduino UNO)
  • Keyboard = Logitech K400 Wireless Keyboard

RaspberryPi issues running gsender

I have tried two ways of running gsender on my Pi3 with Raspian Bullseye. Both failed.

  1. Using the AppImage.
  • I downloaded the AppImage file using the build in Chromium browser
  • Moved the downloaded file to a dedicated Applications directory in my home directory
  • Right-clicked the icon to view the properties
  • Changed the execute properties under the Permissions tab from Nobody to Everyone
  • When I double click the icon the OS dialogue asks me if I am sure I want to run this executable.
  • When I open it, for a while nothing happens but then the splash screen is shown.
  • The splash screen never disappears anymore and in the task bar a task is shown named 'Splashscreen.gif'
  1. Using the ARM64 deb package.
  • I downloaded the deb package.
  • Installed it using sudo dpkg -i gSender_1.0.7_amd64.deb
  • The gsender application appears under 'Utilities' in the app menu.
  • When I open it, for a while nothing happens but then the splash screen is shown.
  • The splash screen never disappears anymore and in the task bar a task is shown named 'Splashscreen.gif'

gSender-1.0.2-arm64.AppImage can not run

I use raspberry pi 4 64bit version.
I usually work by cncjs.
I try to use your gSender-1.0.2-arm64.AppImage.
But it can not run.
By terminal show
pi@raspberrypi:~/Downloads $ ./gSender-1.0.2-arm64.AppImage
08:36:46.159 › Error: /tmp/.mount_gSendedEMyvJ/resources/app/node_modules/@serialport/bindings/build/Release/bindings.node: cannot open shared object file: No such file or directory
at process.func [as dlopen] (electron/js2c/asar.js:140:31)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1196:18)
at Object.func [as .node] (electron/js2c/asar.js:140:31)
at Module.load (internal/modules/cjs/loader.js:981:32)
at Module._load (internal/modules/cjs/loader.js:881:14)
at Function.Module._load (electron/js2c/asar.js:779:28)
at Module.require (internal/modules/cjs/loader.js:1023:19)
at require (internal/modules/cjs/helpers.js:77:18)
at bindings (/tmp/.mount_gSendedEMyvJ/resources/app/node_modules/bindings/bindings.js:112:48)
at Object. (/tmp/.mount_gSendedEMyvJ/resources/app/node_modules/@serialport/bindings/lib/linux.js:2:36)
at Module._compile (internal/modules/cjs/loader.js:1145:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1166:10)
at Module.load (internal/modules/cjs/loader.js:981:32)
at Module._load (internal/modules/cjs/loader.js:881:14)
at Function.Module._load (electron/js2c/asar.js:779:28)
at Module.require (internal/modules/cjs/loader.js:1023:19)
(node:1726) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Checking for update
Update for version 1.0.2 is not available (latest version: 1.0.2, downgrade is disallowed).

What should I Do ?

1.0.6 Missing 32bit armv7I.deb build

It looks like the latest 1.0.6 release is missing the build for 32 bit Raspberry Pi (gSender_1.0.6_armv7I.deb). The links for the latest Pi build are pointing to this release but the links are dead, as the file does not seem to exist.

Thanks!

Workpiece autolevelling

It would be amazing to have workpiece autolevelling, like Candle or bCNC do to be able to cut PCBs at a consistent depth.

Feature Request: Macro calls a shell or script

Currently the Macro allow you set coolant for example to connect to an IOT relay. However this is limited to physical wires and number of elements. If the Macro could shell out to a python script for example, it could send an MQTT request to a home automation instance to set multiple automations (vacuum, router, ducting...).

Using the PRB message after probing in the injected tool change code?

Hello,

is it possible to use /access the distance information of the PRB message (e.g. [PRB:151.000,149.000,-137.505:1]) after a probing command (e.g. G38.2) in the injected tool change code?
Is it also possible to store variables global between macro code and the injected code at a tool change? This would made the usage of fixed tool length sensor possible.

Built in Outline function or homebrew Boundary Marco don't work.

gSender 1.1.4
Windows 10 Pro 64bit

As the title suggests, neither way of performing a quick bounding box trace will work on my Shapeoko. Below is my code to used in previous g-code Senders. I would guess that my installation is having issues with g-code variables. Any thoughts or other common experiences?

G90
G0 Z10
G0 X[xmin] Y[ymin]
G0 X[xmax]
G0 Y[ymax]
G0 X[xmin]
G0 Y[ymin]

Remaining issue with joystick movement

It seemed that for me, my joystick issues had gone away. I am running version 1.1.7 and with soft limits enabled if I am running at RAPID speed all works fine. However if I run at NORMAL or PRECISE speed it does not move or runs in small bursts.

If I disable soft limits all speeds work just fine.

"Start from Line" feature goes DOWN into work piece and breaks bits

I ruined two boards and busted two bits before I figured this one out. When I tell gsender to start at a line number that I have carefully chosen to be a Z move well above the work surface, the bit plunges into the workpiece and starts moving then pops up to the location I selected and proceeds as expected. I played with this feature without a bit and it would do it every time regardless of where I started.

The only thing unusual about this gcode is my zero reference is on the bottom corner of my workpiece. (this is because all my wood pieces are at a slightly different thickness.)

If, on the other hand, I use the start from Line feature on a project that has Z=0 on the top surface, of the work piece, the Z axis goes up jogs to the starting point and then comes back down and proceeds as expected.

It's as if your code always assumes a top Z=0 and and goes a fixed distance above Z=0 to move towards the starting point. If there is wood above Z=0 it goes right through the wood as in my case.

Below is the link to the file I had problems with today so you can see for yourself. It has been a bad day.

https://drive.google.com/file/d/1bQYR3vpehQv90_UQGlQspM1FWu4nzAlL/view?usp=sharing

DRO is too small

So far I really like everything about the software. Except for one issue. The DRO's are very small. The machine DRO is smaller yet and grayed out (or so it would appear). My favorite type of display shows machine and Works DRO's equal size, and a big size at that. Machine DRO's are just as important as Work DRO's especially when setting the machine.
Please make them bigger. Or make it an option to click on to go another tab that has bigger DRO's
Attached is my suggestion on how to size them up. Thanks for listening.
gsender-0 6 4-run-macro-progress-1024x542 (2)

FeedRate Override overflow

If the feedrate reaches its maximum override (255% in default LongMill?), another click of the increase will bring the feedrate down to just over zero. The same happens in reverse
feedRate_Issue
.

Found this small bug in the code....

In src/app/widgets/Visualizer/index.jsx

yMaxAccel shoud be $121, not $112... I do not know what is the impact though.

export default connect((store) => {
const settings = get(store, 'controller.settings');
const xMaxFeed = Number(get(settings.settings, '$110', 1500));
const yMaxFeed = Number(get(settings.settings, '$111', 1500));
const zMaxFeed = Number(get(settings.settings, '$112', 1500));
const xMaxAccel = Number(get(settings.settings, '$120', 1800000));
const yMaxAccel = Number(get(settings.settings, '$112', 1800000));
const zMaxAccel = Number(get(settings.settings, '$122', 1800000));

Ability to run server-only on Raspberry Pi, connect from remote client

I'm a LongMill owner using CNCjs with a Raspberry Pi for a few reasons:

  • If the RPi dies due to dust or something else, I'm out $35.
  • I can set up the USB connections, etc., one time and not disconnect/reconnect, so I know the setup is good - check connections are still up and go.
  • I can work on designs and other tasks using my expensive computer without worrying about the running LongMill program dying, hanging up, or failing due to computer sleep issues.

I'd love to be able to switch to gSender but the ability to run the UI separately from the server and connect from computer to RPi isn't there yet. I read on Facebook that this feature was on the way, but I don't see anywhere it's being tracked.

I'm not an experienced Electron developer, but I've done my share of JavaScript/TypeScript. Looking through the code, it appears the simplest way to get this to work would be:

  • Expose the ability to run the server at the CLI separately from the UI. The server-cli.js pretty much has this already, it's just not exposed through the main Electron app executable. There would probably need to be the ability to add a shared secret somewhere for remote access so you can ensure random things on the network aren't trying to control the CNC machine.
  • Allow the UI to configure a remote server endpoint. Ideally you could configure a list of them, so if you have multiple CNC machines, each with an RPi server, you could select the machine from the list. This would include the shared secret for remote access. "Local machine" could be a built-in option on the list.
  • Have some sort of persistent setting so when you start up the UI it will auto-select the last used server.

For the folks running only local, all of the above combined should be zero effect - they wouldn't need to configure anything, the "local" server would be the default, and things would continue working. For the folks wanting to connect remotely, some instructions on how to start the server as a service on RPi with the shared secret and then configure the UI to connect would cover it.

That said, maybe there are already things in the works here, so that's just an idea.

[Feature Request] Raise Z to safe height on pause

I was running a surfacing operation and had to pause it for some reason, and noticed when you hit pause it literally halts right in place. Needless to say, the 1-inch surfacing bit left a nice burn mark on the material. An option to set that height would be nice but just raising it past z zero would be good.

Feature Request: Surface Level Mapping

Sorry about my English.
It would be interesting and would make it much easier to use using surface level mapping for situations where it is machined on uneven surfaces such as circuit boards, tubes, deformed surfaces and others.

[Feature Request] Probe tab > Tools

Sorry about my English
In the settings, on the Probe > Tools tab:
The option to choose the drill or end mill tool type should be present. Only includes as end mill.

Zero point when using Z-Probe is too low

Adding this issue from my Reddit Comment

Z-Probing seems to be inaccurate. I set the depth to 14.09 (as measured by my calipers), run the homing, and then goto Z zero. The bit always digs into the material by about 0.8mm. This irregularity is not present when homing in UGS or Candle. Probably something I have misconfigured, but figured it was worth sharing.

This test was done on a SainSmart 3018 PROVer w/ grbl 1.1f and 1/8" flat nose end mill bit.

Happy to share any additional details.

$I
[VER:1.1f.20170801:]
[OPT:V,15,128]

$G
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]

$$
$0=10
$1=25
$2=0
$3=2
$4=0
$5=0
$6=0
$10=3
$11=0.010
$12=0.002
$13=0
$20=1
$21=1
$22=1
$23=3
$24=20.000
$25=500.000
$26=250
$27=1.000
$30=10000
$31=0
$32=0
$100=800.000
$101=800.000
$102=800.000
$110=2000.000
$111=2000.000
$112=600.000
$120=10.000
$121=10.000
$122=10.000
$130=500.000
$131=400.000
$132=100.000

image

3d surface probing

Would it be possible to add in a module to do 3d surface probing? When I was using Mach3 on my Avid machine I had a plugin called probe-it that could be used with a 3d touch probe to map a surface. The resulting point cloud could then be used to "wrap" a flat gcode to that surface.

Outline button does not work multiple times

  1. Center your file
  2. Run outline
  3. Run outline again - it will be offset based on the ending position of the previous outline operation

It should probably return to the same position when the Outline was called.

Test Run button resets workspace to G54

If I am in any workspace above G54 and I perform a "Test Run", the test run changes the workspace back to G54 after it completes. If I do not notice and reset it back to my intended workspace, my job starts in the wrong workspace. This is not good... I do not expect test run to change my workspace. This could cause a disaster with my material if I have a special JIG placement.

Also wondering why does Test Run operates at hyper speed? Took me a while to realize you were animating the test.

Add ramp to surfacing utility

The current surfacing utility implementation does a plunge to begin the operation, and between layer depths. This works fine for surfacing with square endmills, but won't work with common surfacing bits like this one from Whiteside, which requires a ramp-in if the bit can't start outside of the work piece, as is the case with most spoilboards.

Request - Add dwell after M3 command

Can a user adjustable or hard coded dwell of say 2 sec be added after a M3 command is issued? This would alleviate the issues with spindles not being at speed when using the surfacing command and after a program starts.

Probing settings won't update any more

Looking at the settings for Probe I noticed you supported Z only probes for touchplate type. So I changed type to Z probe. That change worked fine. Then I decided to change my slow find to 25 mm/min and my retraction to 2 mm.

I tried to perform the probing operation and I noticed that it still behaved the same. Went back to my probe settings and the values had reverted back to initial values with a slow find of 75 mm/min and retraction of 4 mm.

After several attempts to change with no luck I decided I would try going back to "Standard Block" touchplate type. So then it got stuck on Z probe even though the graphics for the probe show a touchplate. After fiddling around it finally changed to standard block and I cannot get it to change back to Z probe type. Not sure what I did differently.

So with all the strange issues I can always change the Z-thickness and the change always takes hold and works fine. I really like the connectivity test.

I looked but I did not see this as a reported issue.

Outline feature moves out of limits (Program runs ok)

Grbl router, short facing program (attached).

This program draws correctly in the visualizer and runs as expected.

When running outline, it moves to XY+ extent, then takes off on a diagonal in X-/Y+ direction until out of limit.

Is reproducible.

1001.txt

Control over color palette

Is there a way to give the customer control over the colors used in the display area. I would like to be able to select the colors of the cut lines, lead in and lead outs etc. The colors that exist are very low contrast and hard to distinguish. UGS has this feature where you can customize the background, grid and path line colors to your liking. The dark or light settings that are there give some control but not individual control over each color.
Overall I am very much liking the product, I would just like to tweak its appearance to my preferences.
Thanks

Travel exceeded when soft limits on

It looks like on machines of different sizes the jogging feature of the program is calling for metric incremental move at -1250mm statically at whatever feed rate is set and cancels the command when you let off the button (hotkey or on screen). This poses a problem as it falls outside of the limits essentially every time with soft limits enabled. eg. G21G90 X-1250 Y-1250 F10000

I don't see a scenario where soft limits can be used at all with jogging, as -1250 in any direction at any time will fall outside the soft limits on around 99.99% of machines. The only thing I can think of to rectify that is to have the machine firmware queried, subtract the limit from the current location, and the command to jog based on that. I realize that diagonal movements would be slightly more complicated as the equation would have to find out the max travel distance in 2 directions.

For instance, if $130 (X-axis maximum travel) is set to 1000 and the machine is currently at X-200 and you want to jog in the positive it would be 1000-200=800. 800 would be the max distance you can call the machine to jog with the command without triggering the travel exceeded error. The same would work in reverse altho would just use the current location as you are working back to 0

Alternatively, if you wanted to travel diagonally in the positive direction, you would have to calculate $130 and $131 which is X max travel and Y max travel respectively. So if the machine is currently at X-200 and Y-300 the jog command would be G21G90 X-800 Y-700 F[whatever].

That should theoretically solve the TRAVEL EXCEEDED error thrown by every machine and resolve the issue completely.

With that being said, hopefully, someone has the time to implement it because gsender is absolutely the best software I have used to control desktop CNC's. I'm currently using it on a shapeoko 3 XXL and it works pretty flawlessly with the exception of the soft limits and another issue with the tool change settings
AnyDesk_WkECL7kNTk
.

Settings not being saved

When configuring for use with shapeoko HDM, min / max spindle speeds aren't retained after closing and reopening.

Z axis crashes into table during squaring operation

While doing the squaring operation contained in G sender, I used the jogging keys to get to a position. When I tried to lower the Z axis by tapping once on the down jog key, it kept going and crashed Z in the waste board. I hit the EMO at the same time it hit the waste board, so not much damage was done. Foolishly I tried the same operation again and the same thing happened. There seems to be an issue when jogging Z while doing the squaring operation.

Reordering of macros isn't persistent

I modified MacroItem.js to include macro.rowIndex in addition to macro.name in the display to see what is happening (or not happening). If I start with no macros in gSender (manually deleted all of them) and then import a set of macros I have this macro list:

macro-ordering-1

I then grab the Probe Edge Top (2) macro to the top of the column as so:

macro-ordering-2

it looks like it reordered the macros. However, if I reload the page the list of identical to the first image. After the proposed change, making the same reordering results in:

macro-ordering-3

both immediately and after reloading the web page.

Enhancement, support for embroidery resume function for thread break

Hello,

i use gcode for embroidery, is it possible to have a step backwards button after a pause command is issued ?
this would help positioning back the needle where the missing stitches begin after a thread break,

we would need to do something like:

1 machine gets paused (grbl feed hold)

2 home z (to lift the needle)

3 at each "step back" button press just move X and Y and dont move Z since we dont want to stitch yet, but keep track of Z position value on gcode

4 on resume do the following set Z to 0 by G92Z0, then executhe the on resume code (need configuration for this), basically it will do 3 or 4 stitches without moving, then set Z to whathever value ir required to continue the code at that point (previous Z value using G92ZXXX, and continue running code, this feature will probably ONLY ve of value for embroidery machines runing gcode,

hope this can be done

Thanks in advance
Edward

Firmware tool has missing GRBL options for machines with more than 3 axes

Hello,

I'm using grbl-mega-5x on my 4-axis machine (cloned X and Y, that is, two motors for X and two motors for Y).
The axes are defined as follows:
AXIS_1_NAME 'X'
AXIS_2_NAME 'Y'
AXIS_3_NAME 'X'
AXIS_4_NAME 'Y'

In the Firmware tool window, I set the "Generic CNC" profile.
However, the firmware tool only shows settings for machines with X,Y and Z axes.
I understand the program is only conceived for 3-axis machines at the moment.

What's interesting is that the exported json settings file does save my 4th axis settings, but unfortunately after importing this file and applying the settings, the 4th-axis settings are not applied in the grbl console. I think that's an inconsistency.

Great program, by the way!

Variable list?

Where can one find the list of variables available in a macro?

Does it work with a touchscreen (on a Raspberry Pi)

I’m considering using a Raspberry Pi to control my LongMill router, so that I don’t have to expose a more expensive computer to the dust generated. However, I’m wondering if I would need to connect it to a mouse and keyboard or if a touchscreen will work.
Also, if it doesn’t work currently, are there plans to make it work in the future?

Lightweight Mode

Just downloaded gSender v6.5 from GitHub and installed. Connected to LongMill controller no issues yet. Turned on Lightweight mode switch before loading a gcode file. When turned on gSender acted like I had loaded a gcode file. The load file icon does not show a file (X) loaded but the "Test Run" and "Start Job" icons appear. I selected both and they switch to the "Pause" and "Stop" icons with no movement of the tool and the visualizer is blank. I have previously loaded a file as it shows in the "Previous" window. Also every once in testing it was posting values in the X, Y and Z (not zero) positions even though no file loaded. See pictures below. Picture 1 connecting to controller. Picture 2 after connecting to controller and selecting "Lightweight Mode".

Before No Connect

After Connected

DRO report Rotary axis if one exists

Feature Enhancement Request: If GRBL/GRBL-HAL reports 'A' or 'B' or both axes (Rotary naming convention), display the additional DRO coordinates in addition to X/Y/Z.
Additional Feature Request: If Rotary axis is reported, add Rotary Jog control in the style of Z axis

connect via network connection

ioSender allows to connect via network.

Screenshot 2022-09-26 at 00 13 17

Would be great to connect to some boards that feature an ethernet connection (that is often more reliable than USB).

Are there any plans to also support a network connection?

[Feature Request] Machine profile setting adjustment

Sorry about my English
In the settings, on the General tab > Machine Profile > Presset:
When choosing "Generic CNC" you should release the With, Depth and Height fields for manual filling in "Cutting Area from EEPROM"

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.