UCNC Versions Save

µCNC - Universal CNC firmware for microcontrollers

v1.9.1

1 week ago

This version adds a new (still experimental) option to run the step generator on an ISR/task.

Added

  • added new option to run the step generator interpolator in an ISR task and outside of the main loop. This should ensures the interpolator and the step ISR never gets starved and might aid to future code simplification (#685)

Changed

  • modified platformIO configuration files to include common libraries via the main platform.ini file (like u8g2)

Fixed

  • fixed G39/Height map clearing calls (#683)
  • fixed file system typo that caused to build errors (#682)

v1.9.0

4 weeks ago

Version 1.9.0 adds core support to STM32F0. It also introduces RP2040 support for multicore mode. Additionally a new file system wrapper module was added to provide unified access to different media supports and file systems (MCU flash and external flash drives like SD cards)

Added

  • added support for STM32F0 core (#681)
  • new file system module. A C wrapper to work with files (in Flash or external memories) (#674)
  • new generic, customizable ring buffer for communications (#676)
  • new option to run RP2040 in multicore mode (experimental) (#677)

Changed

  • force DSS mode in THC tool mode (#625)
  • decouple step encoder position from the interpolator step position (#630)

Fixed

  • fix systems sync after HMap generation and retration motions between probes (#680)

v1.9.0-beta

1 month ago

Version 1.9 is a new major version that implements a new C wrapper module that allows a more uniform usage/integration of several file systems used in both internal flash emulated disk as well as external memories like SD cards. Coupled with that then new module is fully integrated with the endpoint module and the system menu module. This means that navigation through the file system is fully integrated. Examples of this are the web pendant and the graphic display modules. Additionally this allows to create modules in full C to implement custom endpoints and create complex web services.

It also introduces some changes to the ring buffer util used in communications that allow for a more flexible configuration. This implementation aided the introduction of a multicore mode for RP2040 MCU that is in now available (still experimental)

Added

  • new file system module. A C wrapper to work with files (in Flash or external memories) (#674)
  • new generic, customizable ring buffer for communications (#676)
  • new option to run RP2040 in multicore mode (experimental) (#677)

Changed

  • force DSS mode in THC tool mode (#625)
  • decouple step encoder position from the interpolator step position (#630)

Fixed

  • fix systems sync after HMap generation and retration motions between probes (#680)

v1.8.11

1 month ago

This release addresses a bug in the interpolator that would lead in some cases start deacceleation ahead of time on a constant speed line.

Fixed

  • fixed interpolator deacceleation steps calculations if time slices are less then 1 (#678)

v1.8.10

1 month ago

This release addresses a bug in the interpolator that would lead in some extreme cases to calculate incorrect speeds during acceleration and deacceleration

Fixed

  • prevent floating point round errors in speed calculations when time slices a too small (#673)

v1.8.9

1 month ago

This release comes with the following changes:

Contributors

@lonelycorn - fixed DEBUG_STREAM when only one stream available (#664) @kunikonno - fixed WiFi settings loading at initialization (#659)(#660)

Added

  • new flash files JSON API (RP2040, ESP32 and ESP8266) (#663)

Changed

  • clamp DSS_CUTOFF_FREQ in the sanity check (#670)
  • added custom function to allow predefining IO state at startup (#669)
  • added spindle relay tool speed range function (#658)

Fixed

  • prevent DEBUG_STREAM printing before initialization (#666)
  • fixed DEBUG_STREAM when only one stream available (#664)
  • fixed ESP8266 EEPROM WiFi saved settings not loaded at initialization (#660)
  • fixed RP2040 EEPROM WiFi saved settings not loaded at initialization (#659)

v1.8.8

2 months ago

Version 1.8.8 as the following changes

Contributors

@lonelycorn - modified mcumap macros of ESP32 to improve support for ESP32 family (#649) and removed duplicated servo variables for ESP32 (#648) @ademenev - added kinematics option for MP Scara (#645)

Added

  • Fs page update endpoint (#612)
  • added option for rotational axis work always in relative distances (#624)
  • STM32 NucleoF411RE boardmap with CNC Shield V3 (#628)
  • added option to enable translated pins names status print (#634)
  • added kinematics option for MP Scara (#645)
  • added aditional Grbl emulation level to prevent miss detection of senders (#650)
  • added option to do limit detection at the step ISR (#652)

Changed

  • allow execution of main loop events with HOLD condition active (#633)
  • modified extended settings event hooks to be separated from other overriding events and propagations methods (#635) (#637) (#641)
  • allow detached ports to keep or not an internal buffer (#639)
  • cross architecture definition of NVM_STORAGE_SIZE and setting (#643)
  • moved spindle restore logic to planner override (#647)
  • modified mcumap macros of ESP32 to improve support for ESP32 family (#649) (#654)
  • modified endpoints to support handling of wildcard terminators (#655)
  • on command error now also the parser is forced to sync with other sub-systems (#657)
  • modified behavior of Cycle Start/Resume button to execute only once per press (#657)

Fixed

  • fixed extensions settings event handling that prevented extended settings to be saved (#615)
  • fixed STM32F4 compilation error when I2C HW was defined (#615)
  • fixed program stall while waiting for timeout condition inside an ISR (#619)
  • fixed STM32F4 SPI configuration AFIO fixed (#622)
  • fixed range function for Plasma THC (#627)
  • fixed STM32F4 APB registers of timers in the mcumap (#629)
  • fixed compilation error when tool count was set to 0 (#632)
  • fixed realtime command spindle toggle control over the tool (#631)
  • fixed spindle restart message spawning (#636)
  • fixed uart2 detach from main protocol typo in multiple boards (#638)
  • fixed reset command parsing and early execution (#642)
  • fixed spindle stop/restore after cancel a jog (#644)
  • fixed dwell/delay execute even after a reset occured (#646)
  • removed duplicated servo variables for ESP32 (#648)
  • fixed low speed clock options for STM32F1 (#653)
  • fixed STM32 I2C stop bit logic to prevent trail of pulses at the end of a read operation (#656)
  • fixed pending jog motions after jog cancel (#657)
  • fixed interpolator acceleration calculations to prevent ultra thin time sampling windows (#657)

v1.8.7

3 months ago

This version brings lots of new features, improvements, and fixes:

Contributors

@patryk3211 - fixed PID calculations (#604) @jarney - fixed LIMIT_C mask inverting (#603)

Added

  • added boardmap for ESP32 Wemos D1 R32 with Shield V3 (#610)
  • added initial implementation of websocket support (for ESP32, ESP8266 and RP2040) (#608)
  • added software emulated serial one-wire (#600)
  • added option to enable multistream guard (prevents serial stream to switch until line complete) (#596)
  • added direct motion control incremental jog function (#594)
  • added ESP32 DMA support via I2S to 74HC595 extender (#584)
  • added ESP8266 servo pin support (#584)
  • ESP8266 and ESP32 now use step aliasing in step generation to produce smoother speed increments at higher step rates (#584)

Changed

  • ESP32 web server and web socket server running on CPU0 (#608)
  • modified module default handler macro to improve event calling rotation (#606)
  • removed all TMC driver support to external module (#599)
  • minor changes to reduce code compilation size for UNO board (#593)
  • cleaned code for CNC internal states (homing, jog and hold) (#590)

Fixed

  • fixed PID sample period calculation and prevent divide by zero operations (#604)
  • fixed LIMIT_C mask inverting option typo (#603)
  • fixed ESP8266 wifi listening to the wrong buffer (#601)
  • fixed softuart reading failure and potential lock (#600)
  • fixed AVR UART ISR macro (for multi and single UART MCUs) (#598)
  • fixed tool speed report message (#592)

v1.8.6

3 months ago

[1.8.6] - 17-01-2024

Contributors

@patryk3211 - fix STM32F4x PWM configuration macro (#585). @patryk3211 also contributed with a new module to play tones with PWM using M300

Changed

  • modified emulator stepping timings (more stable and linear) (#587)
  • modified probe command. Now with option to do realtime (in step ISR) checking. Also modified probe to do a controlled stop on contact (HOLD) to avoid step loss if probing too fast (#586)

Fixed

  • fix home motion flush after soft reset (#583)
  • fix STM32F4x PWM configuration macro (#585)
  • fixed G38.x command to allow only defined mantissas (#589)

v1.8.5

5 months ago

This release has some small improvements to ESP32 and fixes the Laser PPI tool/mode.

Added

  • added option to allow software homing (#572)

Changed

  • prevent module and main loop reentrancy to allow cnc main loop recall (inside waits and delays) (#576)
  • better ESP software delays (#575)
  • improved software generated PWM over 74HC595 for ESP32 (#574)

Fixed

  • fix jog flag being incorrectly cleared (#573)
  • fix Laser PPI tool and incorrect speed calculations in motion control with Laser PPI option enabled (#578)