Skip to content

Releases: Paciente8159/uCNC

µCNC v1.4.2

19 Apr 01:06
Compare
Choose a tag to compare

µCNC version 1.4.2 makes some changes to improve compatibility with Grbl software and patches some issues from the previous versions.

Changed

  • added option to accept G0 and G1 without explicit axis words to target (#169)
  • implemented Grbl report status mask (#170)
  • full Grbl welcome message emulation to fix recognition by PC softwares (#170)
  • modified startup blocks execution to match Grbl behavior (#170)

Fixed

  • fixed parser wrong coordinates after coordinate offset command changes axis followed by a motion command with implicit target coordinates modified by the previous command, resulting in unexpected motion path (#170)
  • forces run state flag during dwell (reported idle state) (#170)

µCNC v1.4.1

17 Apr 09:33
Compare
Choose a tag to compare

µCNC version 1.4.1 has an important bug fix regarding laser mode and M3 tool mode

Fixed

  • fixed laser not turning on with laser mode enabled and after new feed motion command is issued without S word update and M3 active and the machine starts the next motion from an Idle state (#168)

µCNC v1.4.0

16 Apr 04:30
Compare
Choose a tag to compare

µCNC version 1.4.0 packs lots of new features as well as the initial support for SMT32F4 core MCU's, Trinamic drivers, canned cycles, Linear delta robot kinematics and more.

A special thank you note to Alexandros Angelidis for all the time and effort spent on the testing of the delta kinematics HAL.

Added

  • added Inventables X-Controller board (#163)
  • added emergency stop logic invert option on main config file (#163)
  • added build info command $I (optional via config file) ($164)
  • added option to make homing has the machine origin (#162)

Changed

  • moved pin pullup configuration to HAL config file (#163)
  • modified DSS for 32bit bresenham to allow bigger division factors (allowing lower end speeds) (#165)

Fixed

  • fixed TMC soft uart input pins (#163)
  • fixed missing feedback message after settings reset command $RST ($164)
  • invalid eeprom reset and $RST=* now also clears N0 and N1 blocks as expected ($164)
  • forced control pin checking to prevent undesired motion unlock while control pin state still active ($164)
  • fixed tool length offset setting index
  • fixed rounding error when printing float numbers close to the next integer value (#166)
  • fixed homing when soft limits are enabled (#162)
  • fixed sticking jog command (#167)

µCNC v1.4.0-rc

09 Apr 20:21
Compare
Choose a tag to compare

µCNC version 1.4.0 packs lots of new features as well as the initial support for SMT32F4 core MCU's, Trinamic drivers, canned cycles and more.
Release candidate has a few important fixes from version beta2. Also it's possible to compile the project with PlatformIO.

Added

  • added platformIO.ini file the µCNC project (#161)

Changed

  • improved subsegment planner computations by skipping junction speed calculations after initial calculation for first subsegment (#160)
  • optimized the MKS DLC boardmap file to reuse UNO boardmap

Fixed

  • fixed random angle error calculation between planner line segments that cause random speed drops (#158)
  • fixed compilation errors for main config file options (#159)
  • fixed unit vector calculation in motion control line function (#160)

µCNC v1.4.0-beta2

31 Mar 21:37
Compare
Choose a tag to compare

µCNC version 1.4.0 packs lots of new features as well as the initial support for SMT32F4 core MCU's.
Beta2 adds a subset of canned cycles G codes to µCNC.
It also adds Trinamic driver support as well as RAMBO board hardware improvements.

Added

  • added canned cycles G81, G82, G83, G85, G86 and G89 to parser (enabled via config file) (#151)
  • added softuart (bit-banging) module (#152)
  • added TMC drivers integration. UART drivers are supported. SPI drivers are not tested. Optional M350, M906 and M920 commands available. (#155)
  • added digital MSTEP pin support (RAMBO board and similar). Optional M351 command available. (#156)
  • added digital potentiometer for stepper current regulationvia SPI driver support (RAMBO board and similar). Optional M907 command available. (#156)
  • added softspi (bit-banging) module (#156)

Changed

  • modified homing (each kinematic has a fully custom homing motion and coordinate set) (#154)
  • motion control modification to remove forward kinematic calculations from main motion pipeline (#154)
  • parser detects duplicated words in command (#156)
  • updated RAMPS and RAMBO boards pinout definitions with new features (#156)

Fixed

  • fixed dirmask bug introduced with #148 (#153)
  • fixed stepper enable bitmask and motor locking/unlocking
  • segmented motions for delta kinematics to improve non linearity of the towers motions (#154)
  • fixed delta errors cause by stepping optimizations for linear motion systems (#154)
  • fixed module ADDLISTENER macro. When adding multiple listeners to the same event only the last one was being called. (#155)
  • added missing pins control for new pins (16 to 31) code to io_control core (#156)

µCNC v1.4.0-beta

15 Mar 22:17
Compare
Choose a tag to compare

µCNC version 1.4.0 packs lots of new features as well as the initial support for SMT32F4 core MCU's.
Beta release fixes several issues detected in the alpha version. It also expans the generic pins capabilities for future expansions.

Added

  • Output steps count on $P command print (#150)

Changed

  • renamed PWM OCR to PWM CHANNEL and all boardmaps for AVR (#147)
  • modified UBRR calculation for AVR (match datasheet) (#147)
  • expanded generic input and output IO from 16 to 32 (#149)
  • added SPI pins definitions (SPI not implemented) (#149)

Fixed

  • added missing globals to init functions with FORCE_GLOBALS_TO_0 enabled (#147)
  • fixed PWM config macro (was unstable on Mega boards) (#147)
  • fixed set PWM macro for AVR (cause issues on Mega boards) (#148)
  • fixed several C99/GNU99 compliance warnings (#148)
  • fixed dir mask implementation ($2) (#148)
  • fixed settings crc calculation (without lookup table) (#148)
  • fixed output pin toggle macro for AVR (#148)
  • fixed AVR RX pin setup (#148)
  • fixed BYTE_OPS redefinition (#148)
  • fixed preprocessing checking for servo function definitions (#149)

µCNC v1.4.0-alpha

25 Feb 11:05
Compare
Choose a tag to compare

[1.4.0-alpha] - 2022-02-25

µCNC version 1.4.0 packs lots of new features as well as the initial support for SMT32F4 core MCU's. The features are:

Added

  • added pid_stop action and alarm checking (safety stop) (#108)
  • added new interpolator functions to be used by the PID module (#108)
  • added S-Curve acceleration by modifying the Riemann sum interpolator to scan acceleration in fixed sample frames. (#137)
  • added new SERVO pin type that ouputs a 50Hz type PWM. Up to 6 SERVO pins can be configured (#138) (#146)
  • added M10 mcode (set servo pin value) to core parser (#141)
  • partial implementation supporting STM32F4 core. Lacks Flash EEPROM and analog pin reading is untested. (#139)
  • experimental delta kinematics added to HAL (#142)
  • new probe deploy/stow hookable callbacks for probing motion (#143)
  • added initial implementation of bltouch module (#146)

Changed

  • redesigned µCNC modules for quick prototyping based on C# delegates, events and listeners. This allows adding hooks along the core code that call on modules sub-routines (#144)
  • redesigned/simplified tool declaration in cnc_hal_config (#145)

Fixed

  • fixed spelling on the README file (#140)

µCNC v1.3.8

12 Feb 17:59
Compare
Choose a tag to compare

µCNC version 1.3.8 fixes a few bugs for STM32F1 mcus regarding pin configuration, some serial port issues and Flash EEPROM emulation on that same chip. For AVR a configuration fix was added for boards with ATMEGA2560 that prevented correct communication.

Changed

  • modified STM32 file to be flash offset agnostic (Reset vectors and Flash EEPROM) (#133)
  • removed USB_VCP and COM macros and replaced by new configuration option INTERFACE (#134)
  • modified STM32 USART port configuration to check pin configurations and allow pin remapping (#134)
  • serial flush is non blocking (#134)

Fixed

  • fixed baudrate issue for USART (other than 1) by making APB1 and APB2 working frequency match (#132)
  • added clock configuration to mcu_init to set correct working speed (72MHz) when compiling via Arduino IDE. (#132)
  • fixed STM32 USART preprocessor condition that would not enable IRQ with both ISR TX and RX (#134)
  • fixed STM32 USB clock configuration caused by (#132) (#135)
  • fixed ATMega2560 boards USART ISR. In these boards the COM must be explicitly defined (#135)
  • fixed STM32 pin masking configuration that cause configuration issues in PINs 10,11,14 and 15 of each port (#135)

µCNC v1.3.7

19 Jan 00:21
Compare
Choose a tag to compare

µCNC version 1.3.7 fixes a small bug that prevented µCNC from sending status report with an alarm condition at startup and a couple of bugs with DSS and 16-bit bresenham mode.
Besides that the parser was modified and can now be extended in a modular way, allowing custom gcode to be parsed and executed.

Added

  • parser can be extended to in a modular way to include additional gcode commands (#130)
  • added example custom M42 (partial implementation of Marlin M42) (set pin state) (#130)
  • force ISR update with every new block (#131)

Changed

  • removed deprecated options USE_SPINDLE and USE_COOLANT (#129)
  • all headers are now included via cnc.h (#128)

Fixed

  • fixed tool initialization with FORCE_GLOBALS_TO_0 enabled (#129)
  • fixed blocked status report on startup with alarm condition
  • fixed planner bug that modified motion control feed rate for segmented motion lines (affected only 16-bit bresenham mode) (#131)
  • fixed compilation error with DSS disabled (#131)

µCNC v1.3.6

16 Jan 00:53
1b75d7b
Compare
Choose a tag to compare

µCNC version 1.3.6 fixes a bug that prevented the tool PWM from being correctly updated. This caused issues (artifacts) on laser engraving.

Fixed

  • modified interpolator to update the the tool inside the ISR call (not only when speed changed). The ISR was modified to carry segment information to the next generated step without before segment evaluation (#127)