Skip to content

Releases: bdring/FluidNC

TestPullups

09 Sep 01:33
Compare
Choose a tag to compare
TestPullups Pre-release
Pre-release

This is a test release for a bug that only affects active-high limit pins with large-value/weak pulldowns. The problem is that the internal pullup resistor on limit pins was activated even if you did not say :pu in the config file. If there is a weak pulldown, the combination of the pullup and the weak pulldown can make the pin float at an intermediate voltage which could be interpreted as high even if the external switch is not active, so there would never be a low-to-high transition.

TestParking2

09 Sep 00:15
Compare
Choose a tag to compare
TestParking2 Pre-release
Pre-release

This is a test release for the newly-revised parking code, which is now configurable via the YAML file. Parking is a feature that works in conjunction with the safety door switch. If the safety door is opened and parking is enabled, the spindle will pull out in the +Z direction by "pullout_distance_mm" at rate "pullout_rate_mm_per_min" before stopping the spindle, then will move to the Z position "target_mpos_mm" in machine coordinates at rate "rate_mm_per_min". Normally that movement is in the Z axis, but the axis can be changed by "axis". Here is an example parking config section:

parking:
  enable: true
  axis: Z
  target_mpos_mm: -5.000
  pullout_distance_mm: 5.000
  rate_mm_per_min: 800.000
  pullout_rate_mm_per_min: 250.000

The machine needs to be homed, otherwise the "target_mpos_mm" position is ambiguous.

v3.6.0

06 Sep 17:53
0a78bbe
Compare
Choose a tag to compare

This release gets us back on track after the debacle that started with v3.4.5, where we switched over to the new versions of the Arduino Framework, ESP-IDF SDK, and C++ compiler. It has a few targeted fixes and one major shakeup of the code. The targeted fixes are

The major shakeup is #562 . It revamps the main protocol state machine to use an event queue instead of polling status variables, which allows limit switches and control pins to be handled with events. This resolves a longstanding problem with limits. Direct polling of limit switches is slow if you have a lot of switches (possibly several per axis), but handling switch changes in an interrupt routine can give incorrect results due to problems in the ESP32 edge detection circuit. In the new scheme, an event is issued as soon as a pin becomes active, then further pin state changes are locked out until later, after the main code has responded to the event and the pin has had time to stabilize.

This scheme works well with the testing that has been done so far, having resolved some problems reported by users.

As an adjunct to the new event/limit scheme, the homing code was rewritten to use an event driven model. In the process, some pulloff problems were resolved and single-axis/multi-axis homing for CoreXY machines is now supported.

It also fixes some control pin problems like delayed cycle start after feedhold and undesired auto-repeat of macro pins.

In summary, the revamp features:

  • Stable operation of limit switches
  • Homing pulls off initially-active limit switches on either end
  • Asymmetric final pulloffs work
  • Single/multi axis homing works in CoreXY
  • Cycle start after feedhold works right
  • Control pins like macros do not auto-repeat when held

EventQueue2-Test

27 Aug 21:43
Compare
Choose a tag to compare
EventQueue2-Test Pre-release
Pre-release

We have been working to stabilize FluidNC built on the new Espressif and Arduino core code. This is a test release for our latest work.

The main focus of this version is improvements to limits and homing. We think that we have fixed problems with noisy / bouncing limit switches. The homing code has been revamped to use an event-driven model and to combine Cartesian and CoreXY homing into a single framework. CoreXY now supports multi-axis and single-axis homing.

v3.5.1 (Use Stable Release 3.4.4)

04 Aug 18:34
6863256
Compare
Choose a tag to compare
  • Features
    • You can now use G53 in a probe command. This allows you to set the max travel point in machine coordinates. G38.2 G53 Z-40 F80 will stop at Z-40 in machine space.
    • Defining a motor1 without a motor0 is now flagged as an error.
  • Bugs
    • Fixed spindle override motion pause.
    • Fixed a bug where the motor was not enabling. This caused issues with homing and other gcode commands

v3.5.1-pre

29 Jul 21:35
5db1039
Compare
Choose a tag to compare
v3.5.1-pre Pre-release
Pre-release

Preview of 3.5.1.

What's Changed

  • Disable CR-adding when transferring files via XModem by @breiler in #528
  • #523 spindle override motion pause
  • #524 Inconsistent homing in I2S_STREAM mode
  • #530 OpenBuilds-CONTROL sender was not working due to a line ending problem
  • #541 bad reporting of G38 mode

New Contributors

v3.5.0

08 Jul 13:43
2adb1b8
Compare
Choose a tag to compare

Bug Fixes

ISR Issues Fixed ISR (Interrupt Service Routine) issues. Recent changes to the Espressif framework caused some of our code to not be safe to use in ISRs.

RC Servo Fixed Arduino framework bug. When multiple PWMs were used, they were not being given their own timers. This caused some config items to be ignored.

Homing Fixed multi-axis approach calculations. Fixed an issue with realtime characters in the WebUI during homing.

Enhancements

WebUI Refresh You are now blocked from refreshing the WebUI while running gcode. This pulls a lot of data from FLASH which negatively impacts the quality of the step generation. If you try to start or refresh the WebUI in run mode, the page will redirect to a simple page that allows you to feedhold and then refresh.

v3.5.0-pre5

03 Jul 04:00
Compare
Choose a tag to compare
v3.5.0-pre5 Pre-release
Pre-release
  • Fixes problem with WebUI realtime characters like status reports not working during homing
  • Better handling of the case where you try to reload WebUI during motion. It used to glitch the motion. An intermediate fix simply rejected the reload. The current version gives you the option of waiting then retrying, or issuing a feedhold to pause the motion then retrying.
  • Fixes a problem with multi-axis homing in which one axis might not move far enough.

v3.5.0-pre4

29 Jun 04:52
Compare
Choose a tag to compare
v3.5.0-pre4 Pre-release
Pre-release

Fixes the homing problem that crept in.

v3.5.0-pre3

28 Jun 18:58
Compare
Choose a tag to compare
v3.5.0-pre3 Pre-release
Pre-release

Still trying to fix the ISR crashes