Skip to content

Releases: Paciente8159/uCNC

µCNC v1.15.0

20 Jan 12:37
c694f9e

Choose a tag to compare

Version 1.15.0 adds a new tool mode and makes available an embroidery tool controlled via stepper motor.
It also adds enhancements in the encoder module as well as new hooks/callbacks that allow implementation of automatic tool changers.
An automatic tool changer module is also available as a new module that allows the creation of GCode scripts to run custom tool changing actions. You can check it out in the modules repo.

Here is the full list of changes

Added

  • added new embroidery tool mode (#) and new embroidery tool based on a stepper motor to control the needle (#897)
  • added new encoder module enhancements with support for I2C and SSI encoders (#848)
  • added new tool hooks callback to allow implementation of custom ATC (automatic tool changer) modules (#905)
  • added new planner event that allows modification of the current motion block before being sent to step generation (#904)

Changed

  • dropped STEP_ISR_SKIP_MAIN and STEP_ISR_SKIP_IDLE options and removed code from interpolator (#904)

Fixed

  • fixed system menu position reporting to match encoders position (#904)
  • fixed compilation error with option DISABLE_SAFE_SETTINGS (#903)

µCNC v1.14.0

07 Jan 14:53
5bfa2d9

Choose a tag to compare

Version 1.14.0 is another major release with broad spectrum changes to the project (as it was with version 1.8.0), targeting multitasking/multicore ready environments. This focus on synchronization primitives and separation of the main running loop, modules tasks and step generation execution paths to better support concurrency.

This paves the way for future features to be integrated (of which a generic network infrastructure is already being developed).

Also an extra compatibility level was added to make µCNC less safety strict and hopefully allow it to play along better with some Grbl GUI apps that have trouble connecting to µCNC.

Added

  • added new atomic primitives (similar to C11) including atomic CAS and basic semaphores (#885)
  • added ring buffer non-blocking methods (#885)
  • added ISR context aware mcu calls (#885)
  • added new Grbl compatibility level (now can be raised to level 3 - less safety strick) (#885)

Changed

  • modified ring buffer to be MPMC-Multi producer/Multi consumer safe (#885)
  • removed rtc_tick event (#885)
  • interpolator now runs on the RTC ISR/thread by default if ENABLE_MAIN_LOOP_MODULES is enabled(#885)

Fixed

  • fixed RP2040/2350 multicore (#885)
  • fixed ITP timer prescaller calculation (#885)
  • fixed general alarm handler to prevent missing alarms that about to trigger (#885)
  • fixed ESP32 WiFi (#885)
  • fixed ESP32-C3 ITP timer (#885)

µCNC v1.13.1

28 Nov 13:49
6713c5e

Choose a tag to compare

This release fixes some issues with PIO configuration file for all ESP32 MCU's that caused WiFi issues:

Added

  • added ABC axis speed profile decoupling option to fix incorrect speed profiles with rotational axis via ABC_INDEP_FEED_CALC (#892)

Fixed

  • fixed ESP32 PIO configuration that lead to several WiFi issues (#899)
  • fixed some redefinition warnings while compiling code for ESP32(#896)

µCNC v1.13.0

07 Nov 11:10

Choose a tag to compare

This is the release of version 1.13.0 now with support for I2S custom driver to control a IO extender based on a 74HC595 chain.
Some other bug fixes and changes were added also to the ESP8266 MCU.

Contributions:
@reinforce - fix compilation errors on RP2040 and 2350 (#894) and fixed file name typo on ESP32 (#889)

Added

  • added support for 74HC595 custom I2S driver for ESP32-S3 and ESP32-C3 (#895)

Changed

  • redesigned ESP32 I2S driver for the 74HC595. It now uses the the DMA ISR instead of the built in generic driver and thread to keep the buffer fill and switch modes (#895)
  • redesigned ESP8266 outputs signal generation based on the new timer struct used on ESP32 (#895)

Fixed

  • fixed compilation errors on RP2040 and RP2350 (#894)
  • fixed timer configurations for ESP32 (#893)
  • fixed setting $11 (G64 factor) to accept negative values (#891)
  • fixed file name typo on ESP32 (#889)
  • implemented missing get and set servo values on RPi MCU's (#890)
  • fixed interpolation bug on ESP8266 (#887)

µCNC v1.13.rc

06 Oct 13:27

Choose a tag to compare

This release adds basic core support for ESP32-S3 and ESP32-C3 MCU's.
Some features are not yet available or have not been tested, like Bluetooth or I2S.

Added

  • added basic core support for ESP32-S3 and ESP32-C3 MCU's (#881)

Changed

  • cycle loops modified to improve loop precision, based on inline assembly instructions or running free CPU cycle counters. These are CPU cycle loops that are used for very small (usually less then 2 or microseconds) (#884)

µCNC v1.12.4

07 Aug 15:29

Choose a tag to compare

Here are the changes to this release:

Added

  • added boardmap settings to use the shield v3 on Arduino Mega (#876)
  • added multiline startup blocks support (#877)
  • added sequential settings modification command with support for multivalue (array of values) (#878)

Fixed

  • fixed/improved stream overflow detection and handling (#875)

µCNC v1.12.3

26 Jun 17:21

Choose a tag to compare

This version is mainly intended to fix a bug in the feed calculations in the interpolator/planner core code.
These are the changes:

Added

  • allow storing HMapping (G39) in non volatile memory (Grbl settings) (#865)

Fixed

  • fixed block speed synchronization in the interpolator after (planner block transition speed synchronization) (#873)

µCNC v1.12.2

05 May 19:41

Choose a tag to compare

The following changes were made to µCNC v1.12.2

Added

  • added boardmap support for Fysetc Cheetah v2 (#856)
  • added new logic IO conditions macros. This allows users to define custom logic for limits, control and probe pins (#863)

Changed

  • disable softlimits checking for dimensions set to 0/infinit limit (#860)

Fixed

  • fixed status report format when tool count is set to 0 (#859)
  • fixed status report format print for axis count lower then 3 (#861) (#862)

µCNC v1.12.1

01 Apr 15:12

Choose a tag to compare

Version 1.12.1 has the following changes:

Added

  • added DISABLE_EEPROM_EMULATION option on STM32 to allow EEPROM emulation disabling while allowing to add an external settings NVM support like SD card or external Flash/EEPROM (#849)
  • added support for STM32H723 chip (and SKR3 board - untested) (#853)
  • added new probing override callback that allows to add and remove custom probing methods besides the PROBE pin input (#855)
  • added Plasma THC tool M101 (THC enable) and M102 (THC disable) commands (#855)

Changed

  • modified Plasma THC tool to become independent of the M62-M65 module command (#855)

Fixed

  • fixed parser position update after G28/G30 command (#847)
  • fixed limits inversion mask to match limits masking when custom masks are used (#850)
  • fixed settings print of integer array values (#854)

µCNC v1.12.0

10 Mar 09:34

Choose a tag to compare

Version 1.12 adds initial support to the STM32H7 family. This is still missing some features like DMA support for SPI and does not have EEPROM emulation. For now it was only tested on STM32H750 so some support limitations are expected.
ESP8266 had a complete core refactoring, allowing to make use of SPI to extend IO via the new shift register (74HC595/74HC165).

Thanks to @DevanshGarg31 for adding RTheta kinematics support (yet untested)

The full change log is the following:

@DevanshGarg31 - added RTheta kinematics (#839)

Added

  • new shift register module that allows not only to add output IO extensions via 74HC595 but also input IO extensions via 74HC165 (#831)
  • added initial support for STM32H7 single core family. This core is still incomplete and is missing some features, SPI DMA and EEPROM emulation (#837) (#846)
  • added RTheta kinematics (#839) (#845)

Changed

  • re-introduced boards friendly names for configuration via Arduino IDE and make files (#834)
  • ESP8266 full core code refactoring with a new custom integration for the new shift register via SPI allowing for mor IO on this MCU (#835)
  • improved loop cycle macro (#799)
  • modified Kinematics settings to be able to define custom settings for kinematics in the kinematics definition file, without the need to change several files (#840)

Fixed

  • fixed softspi speed and mode functions to force settings update on hardware ports (#838)
  • fixed integration of G28.1/G30.1 module and G28/G30 parser execution (#843) (#844)
  • fixed integer array formatted print (#842)