[FluidNC Issue#1544] Config sample for I2C Support

未分类 bolang 4个月前 (10-14) 38次浏览

Issue #1544 | 状态: 已关闭 | 作者: chrkir | 创建时间: 2025-08-11


Wiki Search Terms

Hi, I have build a HW-Board based on ESP32-wroom-32E, using SW FluidNC v3.9.8.
Pin-control for stepper motors enable and direction is based on a PCA9555, step controlled via direct i/o pis of the ESP.
For I2C setup and control I found some hints, but none of them is working, include them int my config.yaml and tested it with no success.
My question now is:
Is I2C supported in the actual release and if, is there any working sample I can use for implementation ?
Hint: the commented config items in the config.yaml file shows the various configurations I have tried.

Controller Board

6-pack

Machine Description

new designed hardware board

Input Circuits


Configuration file

board: None
name: Default (Test Drive no I/O)
meta: 
stepping:
  engine: RMT
  idle_ms: 255
  pulse_us: 4
  dirdelayus: 0
  disabledelayus: 0
  segments: 12

spi: misopin: NOPIN mosipin: NOPIN sckpin: NOPIN

i2c0: sda_pin: gpio.13 scl_pin: gpio.15 frequency: 250000

#pca9555:

address: 0x20:

pins:

0: input

1: input #inverted

2: input

3: input

4: input

8: otput

9: otput

10: otput

11: otput

12: otput

13: otput

14: otput

15: otput

#gpio_interrupt:

pin: 25 # FluidNC pin connected to PCA9555 INT pin

type: falling # Example interrupt type (falling edge)

handler: pca9555interrupthandler # Function to handle the interrupt

extenders: pinextender0: pca9555: interrupt0: gpio.5 #extenders:

i2c0:

i2c_extender:

device: pca9555

device_id: 0

interrupt: gpio.35

pinextender0:

i2c_extender:

device: pca9555

device_id: 0

interrupt: gpio.16

sdcard: cspin: NOPIN carddetectpin: NO_PIN frequency_hz: 8000000

kinematics: Cartesian:

axes: sharedstepperdisablepin: NOPIN sharedstepperresetpin: NOPIN homing_runs: 2 x: stepspermm: 80.000000 maxratemmpermin: 1000.000000 accelerationmmper_sec2: 25.000000 maxtravelmm: 1000.000000 soft_limits: false motor0: standard_stepper: step_pin: gpio.16 direction_pin: i2c0.12 disable_pin: i2c0.8

y: stepspermm: 80.000000 maxratemmpermin: 1000.000000 accelerationmmper_sec2: 25.000000 maxtravelmm: 1000.000000 soft_limits: false motor0: standard_stepper: step_pin: gpio.22 direction_pin: I2C0.13 disable_pin: I2C0.9

z: stepspermm: 80.000000 maxratemmpermin: 1000.000000 accelerationmmper_sec2: 25.000000 maxtravelmm: 1000.000000 soft_limits: false motor0: standard_stepper: step_pin: gpio.17 direction_pin: I2C0.14 disable_pin: I2C0.10

control: safetydoorpin: NO_PIN resetpin: NOPIN feedholdpin: NO_PIN cyclestartpin: NO_PIN macro0pin: NOPIN macro1pin: NOPIN macro2pin: NOPIN macro3pin: NOPIN faultpin: NOPIN estoppin: NOPIN

coolant: floodpin: NOPIN mistpin: NOPIN delay_ms: 0

probe: pin: NO_PIN toolsetterpin: NOPIN checkmodestart: true hard_stop: false

macros: startup_line0: startup_line1: Macro0: Macro1: Macro2: Macro3: after_homing: after_reset: after_unlock:

start: must_home: false deactivate_parking: false check_limits: true

parking: enable: false axis: Z targetmposmm: -5.000000 ratemmper_min: 800.000000 pulloutdistancemm: 5.000000 pulloutratemmpermin: 250.000000

user_outputs: analog0pin: NOPIN analog1pin: NOPIN analog2pin: NOPIN analog3pin: NOPIN analog0_hz: 5000 analog1_hz: 5000 analog2_hz: 5000 analog3_hz: 5000 digital0pin: NOPIN digital1pin: NOPIN digital2pin: NOPIN digital3pin: NOPIN digital4pin: NOPIN digital5pin: NOPIN digital6pin: NOPIN digital7pin: NOPIN

user_inputs: analog0pin: NOPIN analog1pin: NOPIN analog2pin: NOPIN analog3pin: NOPIN digital0pin: NOPIN digital1pin: NOPIN digital2pin: NOPIN digital3pin: NOPIN digital4pin: NOPIN digital5pin: NOPIN digital6pin: NOPIN digital7pin: NOPIN

arctolerancemm: 0.002000 junctiondeviationmm: 0.010000 verbose_errors: true report_inches: false enableparkingoverride_control: false uselinenumbers: false planner_blocks: 16

Startup Messages

rst:0x1 (POWERONRESET),boot:0x13 (SPIFASTFLASHBOOT)
configsip: 0, SPIWP:0xee
clkdrv:0x00,qdrv:0x00,ddrv:0x00,cs0drv:0x00,hddrv:0x00,wpdrv: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.7 https://github.com/bdring/FluidNC] [MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty] [MSG:INFO: Local filesystem type is spiffs] [MSG:INFO: Configuration file:config.yaml] [MSG:ERR: Ignored key extenders] [MSG:ERR: Skipping key pinextender0 indent 2 this indent 0] [MSG:ERR: Skipping key pca9555 indent 4 this indent 0] [MSG:ERR: Skipping key interrupt0 indent 6 this indent 0] [MSG:ERR: Validation error at /axes/x/motor0/standard_stepper: Step pin must be configured.] [MSG:ERR: Validation error at /axes/y/motor0/standard_stepper: Step pin must be configured.] [MSG:ERR: Validation error at /axes/z/motor0/standard_stepper: Step pin must be configured.] [MSG:INFO: Machine Default (Test Drive no I/O)] [MSG:INFO: Board None] [MSG:INFO: I2C SDA: gpio.13, SCL: gpio.15, Freq: 250000, Bus #: 0] [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: standardstepper Step:NOPIN Dir:NOPIN Disable:NOPIN] [MSG:INFO: Axis Y (-1000.000,0.000)] [MSG:INFO: Motor0] [MSG:INFO: standardstepper Step:NOPIN Dir:NOPIN Disable:NOPIN] [MSG:INFO: Axis Z (-1000.000,0.000)] [MSG:INFO: Motor0] [MSG:INFO: standardstepper Step:NOPIN Dir:NOPIN Disable:NOPIN] [MSG:INFO: Kinematic system: Cartesian] [MSG:INFO: Connecting to STA SSID:APK_5G] [MSG:INFO: Connecting.] [MSG:INFO: Connecting..] [MSG:INFO: Connected - IP is 192.168.50.56] [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.7 (wifi) '$' for help] [MSG:ERR: Configuration is invalid. Check boot messages for ERR's.]

User Interface Software

No response

What happened?

Ausgabe.pdf

GCode File

No response

Other Information

No response


评论 (1)

#1 – MitchBradley 于 2025-08-11

We do not support I2C for motor control pins. Step, direction, and enable must all be controlled either via direct GPIO pins or via I2S through shift registers. The only supported usage of I2C is for OLED displays, and we discourage even that because pendants through UART channels are much more flexible.


原始Issue: https://github.com/bdring/FluidNC/issues/1544

喜欢 (0)