Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can not change configuration on hard limit errors #1411

Open
breiler opened this issue Dec 22, 2024 · 0 comments
Open

Can not change configuration on hard limit errors #1411

breiler opened this issue Dec 22, 2024 · 0 comments

Comments

@breiler
Copy link
Contributor

breiler commented Dec 22, 2024

Wiki Search Terms

N/A

Controller Board

A plain ESP32-WROOM-32 devboard

Machine Description

No periphials connected, just a plain devboard

Input Circuits

Nothing connected

Configuration file

name: New configuration
axes:
  x:
    steps_per_mm: 80
    max_rate_mm_per_min: 1000
    acceleration_mm_per_sec2: 25
    max_travel_mm: 1000
    motor0:
      limit_all_pin: gpio.13:low
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      hard_limits: true
      pulloff_mm: 1
      standard_stepper:
        step_pin: gpio.16
        direction_pin: gpio.17
        disable_pin: gpio.18

Startup Messages

ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13260
load:0x40080400,len:3028
entry 0x400805e4
[MSG:INFO: uart_channel0 created]
[MSG:RST]
[MSG:INFO: FluidNC v3.9.3 https://github.com/bdring/FluidNC]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine New configuration]
[MSG:INFO: Board None]
[MSG:INFO: Stepping:RMT Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:255ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-1000.000,0.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     standard_stepper Step:gpio.16 Dir:gpio.17 Disable:gpio.18]
[MSG:INFO:  X All Limit gpio.13:low]
[MSG:INFO: Axis Y (-1000.000,0.000)]
[MSG:INFO:   Motor0]
[MSG:INFO: Axis Z (-1000.000,0.000)]
[MSG:INFO:   Motor0]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Connecting to STA SSID:Murkelslottet]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: Connecting...]
[MSG:INFO: Connecting....]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: Connected - IP is 192.168.1.30]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://fluidnc.local/]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]

Grbl 3.9 [FluidNC v3.9.3 (wifi) '$' for help]
[MSG:WARN: Active limit switch on X axis motor 0]
[MSG:INFO: ALARM: Hard Limit]
ALARM:1
[MSG:ERR: Reset to continue]

User Interface Software

fluid-installer

What happened?

When trying to investigate an issue, I took a config from another users machine which revealed a terrible user experience flaw in the fluid-installer.

The config expected the limit inputs to be configured in a specific way and had hard limits activated. This made the controller end up in the alarm state shown in the log above when booting.

In order to fix the problem I wanted to upload a new configuration. But since we are in an alarm state there are several commands that are not permitted. Neither Reset (0x18) or Unlock ($X) will clear the alarm.

These are the commands that are needed to make file handling possible by the installer today.

  • $Build/Info is needed on startup to determine if the controller is running FluidNC. When we are in this error state we get the response error:8 [MSG:ERR: Command requires idle state]

  • $LocalFS/List to be able to list the available files is needed to list the configuration file we want to change which will result in error:120 [MSG:ERR: Another interface is busy]

  • $Config/Filename=test.yaml to work around the problem by pointing to another config file results in error:8 [MSG:ERR: Command requires idle state].

So if the user ends up in this state there is no other way than to reflash the controller and start over or use Fluidterm.

I think that this is very hard to work around this in the fluid-installer since we need alot of information from the controller in order know what features to show. For instance, there is no point showing the file browser if the controller is crash-looping.

The quickest solution is maybe to allow clearing the hard limit alarm even if the input is triggered. Another solution would be to allow the commands needed to query information about the controller such as $Build/Info and $LocalFS/List even if the controller is in an error state.

GCode File

No response

Other Information

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant