Skip to content

Releases: Paciente8159/uCNC

µCNC v1.12.1

01 Apr 15:12
Compare
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
Compare
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)

µCNC v1.12.0-rc

03 Mar 10:31
Compare
Choose a tag to compare
µCNC v1.12.0-rc Pre-release
Pre-release

This is the release candidate for version 1.12.0 that has the following major features:

  • Added initial support for the STM32H7 single core family
  • Complete redesign of the ESP8266 core
  • Replaced the 74HC595 (extended ouputs) module by the shift register module that also adds support for the 74HC165 (extended inputs)

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 like analog pins, SPI DMA and EEPROM emulation (#837)

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)

Fixed

  • fixed softspi speed and mode functions to force settings update on hardware ports (#838)

µCNC v1.11.2

25 Jan 10:46
Compare
Choose a tag to compare

These are the changes in version 1.11.2

Added

  • added option to allow rotational axis to ignore limits after homing (#803)
  • added option to use HW SPI on digipot module (#808)

Changed

  • improved settings variable types code readability (#821)
  • improved homing error codes output/logic (#804)
  • modified ESP8266 to use direct GPIO registers (#800)

Fixed

  • fixed var type in some homing settings that caused incorrect value report/storing (#819)
  • fixed SPI typo on ESP8266 bulk send (#800)
  • fixed compilation error with TOOL_COUNT set to 0 (#814)
  • fixed parsing validation for extended commands with axis words (#809)
  • fixed 74hc595 module to get pin value mask (#797)
  • fixed kinematics default settings values for DELTA types (switched) (#796)

µCNC v1.11.1

13 Dec 15:12
Compare
Choose a tag to compare

This release fixes some issues introduced by the changes made in version 1.11.

Contributors

@tomjnixon

  • fixed ignored G53 introduced by #791 (#793)
  • fixed status report mask setting introduced in v1.11 (#789)

What changed

Changed

  • minor improvements the the AVR ini file and better comments (#784)
  • change to the parser to unify G92 and G10 processing path (#791)

Fixed

  • fixed M2/M30 command behavior to match LinuxCNC (#786)
  • fixed status report Tool info (#787)
  • fixed status report mask setting introduced in v1.11 (#789)
  • fixed G10 L20 behavior when the current modal distance mode is in incremental mode (#791)
  • fixed cycle feed and spindle update in a canned cycle (#788)
  • fixed/improved motion mode validation (#792)
  • fixed ignored G53 introduced by #791 (#793)
  • fixed step generation ISR algorithm for LPC17XX (#794)

µCNC v1.11.0

20 Nov 17:05
Compare
Choose a tag to compare

This is the release of version 1.11.
This version got an overall interface/streaming code refactoring. This lead to several improvements and enhancements for modules development, regarding printing and message streaming.
Settings storage code was also refactored, to increase settings security. This ensures that when using external storage media, a setting loading error/missing settings lock the machine in a safe way preventing any commands until the user fixes the machine settings.
Additionally O-Codes/subrotines were added to the parser, now allowing to run complex subrotines and codes from media files.
Initial support to RP2350 is also available (still experimental). The Arduino framework is also a bit green so beware that this may is running with some functionalities missing (like emulated EEPROM and Multicore mode) and may not be fully stable.

And Happy Birthday Duarte 😍 11. This is also your day today 👦

The full changelog for version 1.11 is:

Contributors
@ricochet1k - fixed warning on LPC17XX I2C via Arduino Library (#783)
- fixed debug stream print overflow (#779)
- added missing checks for ENABLE_NAMED_PARAMETERS (#774)

Added

  • added support for printing values of numbered and via messages
  • added support for read-only predifined named parameters. Parameters can also be printed via $# command followed by the parameter number or parameter name (#767)
  • added support for O-Codes similar to LinuxCNC. O-Codes or subrotines runs custom GCode code and perform conditional logic and complex loops. O-Codes run from media storage .nc files thus each subrotine is self contained and it's not necessary to declare the SUB and ENDSUB O-Codes. The O-Codes must reside in the root system file of a pre-configured FS (C for MCU Flash FS or D for SD card FS). (#765) (#769)
  • settings hardened safety features. On settings loading if an error is detected the machine enters locked mode and requires a full setting reset from the user before allowing unlock. This using the machine if the settings are not correctly loaded preventing failures when using settings from movable media sources like SD cards. Also on settings saving error the system will keep retrying to save the setting in case a write error occurs but allows the program to continue flowing. This option can be turned off by enabling ´DISABLE_SAFE_SETTINGS´ in the cnc_config.h file (#761) (#762)
  • self implemented subset/custom of stdio printf helpers. It's now possible to print formated messages via protocol. No need to do specific calls to print variables like numbers, strings, char, ip addresse, bytes, etc... (#760)
  • Debug messages now have an intermediate buffer that stores the output before printing it to prevent outputing debug messages in the middle of onging protocol messages (#760)
  • SPI with DMA support for RP2040 (#713)
  • Added initial support for RP2350 (#770)

Changed

  • all communications calls to output messages now are done via the proto_xxx calls in grbl_protocol.h. No more calls to serial stream directly mixed with protocol calls (#760)
  • improvements to the debug message system. Now a single call to DBGMSG macro is used. The same principle of formated messages is applied (#760)
  • modified/fixed emulated ONEWIRE transmission to use active output on low level logic (#778)
  • improved timeout block macro (#779)(#780)

Fixed

  • added custom MCU build option to fix PIO build errors using overrides (#764)
  • fixed/moved all custom PIO configurations generated in the web config builder to the platformio.ini file (fixes custom builds) (#766)
  • added missing checks for ENABLE_NAMED_PARAMETERS (#774)
  • fix parser backtracking char cleaning (#775)
  • several custom printf function fixes (#776)
  • fixed softuart module getc that prevented correct transmission start bit detection(#777)
  • fixed debug stream print overflow and print guard causing issues when the debug stream was not the default stream (#779)(#781)
  • fixed warning on LPC17XX I2C via Arduino Library (#783)

µCNC v1.11.0-rc

25 Oct 13:52
Compare
Choose a tag to compare

This is the release candidate for version 1.11.
This version got an overall interface/streaming code refactoring. This lead to several improvements and enhancements for modules development, regarding printing and message streaming.
Settings storage code was also refactored, to increase settings security. This ensures that when using external storage media, a setting loading error/missing settings lock the machine in a safe way preventing any commands until the user fixes the machine settings.
Additionally O-Codes/subrotines were added to the parser, now allowing to run complex subrotines and codes from media files.

Added

  • added support for printing values of numbered and via messages
  • added support for read-only predefined named parameters. Parameters can also be printed via $# command followed by the parameter number or parameter name (#767)
  • added support for O-Codes similar to LinuxCNC. O-Codes or subrotines runs custom GCode code and perform conditional logic and complex loops. O-Codes run from media storage .nc files thus each subrotine is self contained and it's not necessary to declare the SUB and ENDSUB O-Codes. The O-Codes must reside in the root system file of a pre-configured FS (C for MCU Flash FS or D for SD card FS). (#765) (#769)
  • settings hardened safety features. On settings loading if an error is detected the machine enters locked mode and requires a full setting reset from the user before allowing unlock. This using the machine if the settings are not correctly loaded preventing failures when using settings from movable media sources like SD cards. Also on settings saving error the system will keep retrying to save the setting in case a write error occurs but allows the program to continue flowing. This option can be turned off by enabling ´DISABLE_SAFE_SETTINGS´ in the cnc_config.h file (#761) (#762)
  • self implemented subset/custom of stdio printf helpers. It's now possible to print formatted messages via protocol. No need to do specific calls to print variables like numbers, strings, char, ip addresses, bytes, etc... (#760)
  • Debug messages now have an intermediate buffer that stores the output before printing it to prevent outputting debug messages in the middle of ongoing protocol messages (#760)

Changed

  • all communications calls to output messages now are done via the proto_xxx calls in grbl_protocol.h. No more calls to serial stream directly mixed with protocol calls (#760)
  • improvements to the debug message system. Now a single call to DBGMSG macro is used. The same principle of formatted messages is applied (#760)

Fixed

  • added custom MCU build option to fix PIO build errors using overrides (#764)
  • fixed/moved all custom PIO configurations generated in the web config builder to the platformio.ini file (fixes custom builds) (#766)

µCNC v1.10.2

07 Oct 11:29
Compare
Choose a tag to compare

This is minor release with the all the fixes and changes made before the new upcoming v1.11

Contributors
@ademenev - new alternative axis configurations for CoreXY kinematics (#750)
@ricochet1k - fixed STM32 prescaller calculations (#757)

Added

  • new custom PIO scripts to allow automated module download and configuration (#754)
  • new alternative axis configurations for CoreXY kinematics (#750)

Fixed

  • fixed STM32 I2C IO alternate function configurations (#755)
  • fixed debug stream configuration (#756)
  • fixed STM32 prescaller calculations (#757)
  • fixed STM32 SPI transmit function (#758)
  • several platform/framework version errors and Arduino IDE build errors fixed

µCNC v1.10.1

12 Sep 19:07
Compare
Choose a tag to compare

Besides several bug and issues fixed this version improves integration with the web builder and allows for creation of configurations for custom boards and MCU variants of the supported architectures.

CONTRIBUTORS
@patryk3211 - modified system menu jog parameters to be globally accessible (#740)
@etet100 - fixed typo on steppers timeout sleep build flag

Added

  • new overridable PIO configuration ini file to integrate with the Web Builder and allow configuration customizations (#746)
  • added boardmap for AVR Melzi v1.1.4 board (#749)
  • added several PIO environment, one for each architecture to allow compilation for custom boards generated via Web Builder (#752)
  • added new option to force HAL to set the IO pin direction every time there is a request to change the pin value. This is now the default for ESP32 to fix GPIO configuration lost mid execution (on resets, drivers reconfigurations, etc..) (#753)

Changed

  • modified system menu jog parameters to be globally accessible (#740)
  • several modifications to PIO ini files, boardmaps and configurations to improve board customization via Web Builder (#752)

Fixed

  • locked RP2040 build platform version to prevent compilation issues to breaking changes (#739)
  • fixed STM32F4 APB2 configuration macros that could try to use invalid values (#738)
  • fixed ESP32 mcumap typos and bugs (#741) (#744)
  • fixed software SPI resource locking bug (#743)
  • fixed ESP32 SPI initialization functions that cause system crashes (#745)
  • fixed issue with ESP32 were GPIO would loose the initial configuration and returned to the state at boot time (#747) (#753)
  • fixed typo on steppers timeout sleep build flag
  • fixed ESP32 software generated signals for IO extenders (#748)(#753)
  • fixed query status response when sender uses a carriage return/linefeed char after the question mark making the firmware respond with an OK before the status (UGS for example) and make the sender fail to recogize the response (#751)

µCNC v1.10.0

16 Aug 10:51
Compare
Choose a tag to compare

This release comes introduces several improvements in the SPI interface, generic IO and system menu to allow more and better module expansion capabilities.

A special thank you to @patryk3211 for the amount of work put in this version.

CONTRIBUTORS

@patryk3211 - added DMA supported SPI bulk transfers for all STM32 architectures and SAMD21 (#700) (#714)
- system_menu_goto is now a global function (#730)
- added extra pre-built actions to system menu and added friendly macros to menu pages number system (#718)
- additional system menu language strings (#735)
@fooker - fixed servo pen tool speed range calculation callback (#733)

Added

  • added general support for SPI bulk transfers and modified SPI and SoftSPI HAL. (#701)(#712)
  • added DMA supported SPI bulk transfers for all STM32 architectures and SAMD21. (#700) (#714)
  • new module resource guard to allow access locks to shared hardware and software resources. simplified/removed soft/hard SPI config struck and lock flags(#716)
  • new pin mapping helper that allow an easier pin mapping definition/setup for boardmaps (#722)
  • extended generic IO pin range from 32 to 50 (#725)
  • new module event listeners with resource sharing lock guard (#728)
  • new MKS Robin Nano v3.1 boardmap (#729)
  • added support for the SPI2 port on all architectures that support it (#724)
  • added extra pre-built actions to system menu and added friendly macros to menu pages number system (#718)
  • additional system menu language strings (#735)
  • added stepper idle timeout functionality via $1 parameter (#734)

Changed

  • better SPI sharing by separation of hardware and software configurations and settings, and better busy state keeping (#715)
  • added function to be able to modify a renderer/action callback for any system menu page and added extensible action code handler (#717)
  • locked STM32 framework locking to prevent incorrect PIO configuration errors (#726)
  • system_menu_goto is now a global function. It also makes the function set action timeout and redraw flags to make sure the new screen gets shown even if it's not called from system_menu_action (#730)
  • modified configurable STM32F4 and STM32F1 system clocks configuration (#732)

Fixed

  • fixed file system system commands to match #696. This was preventing commands from propagating (#705)
  • fixed ESP8266 calls to get mcu time in microseconds and SPI transfer start (#707)
  • fixed activity pin declaration on SKR Pro V1.2 board (#723)
  • fixed typos (#731)
  • fixed missing generic IO pins value reading and status print (#736) (#737)
  • fixed servo pen tool speed range calculation callback (#733)