-
-
Notifications
You must be signed in to change notification settings - Fork 379
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
Problem: FluidNC blocks out pin usage based on restrictive assumptions #984
Comments
We have no experience with that chip. Is v3.6.1 fully functional? If so, we can consider updating the gpio checker. We have a lot of other priorities right now and you are the first to ask for this. It may take a while. Are you interested is writing the PR or sponsoring this work? |
I could certainly look at what it would take the make a change. My thought is the software should just check the chipset prior to restricting pins. If it sees WROOM, it should follow through on the check, anything else and it should skip.
I believe so.
My company (me) has sponsored since October 2021, with around $600 contributed. I had to lower my contribution given that COVID pretty much put us out of business... but would be happy to increase contributions should outlooks change. |
The restriction was added in response to #630. Making it configurable could be a can of worms due to the explosion of different ESP32 variants that we are starting to see. It seems like everybody and his brother wants to use something different, to the point where we are going crazy trying to keep up with the churn. I am looking for something that might make it possible to automatically configure the restrictions based on the chip, but so far I am not finding any UW4DH-specific documentation at all. A search for UW4DH on the Espressif website has no hits - https://www.espressif.com/en/advanced/search?search=uw4dh . The datasheet for that part at Digikey is just the generic ESP32 datasheet that doesn't say anything specific about UW4DH |
Perhaps it is more dependent on the module itself rather than which core is used. On the ESP32-WROOM this is stated:
On the ESP32-MINI:
What I'm finding is that on several of the Devkits or complete packages, the flash pins are actually fully accessible, which goes against what the datasheet above states. See page 22 of the ESP32 core datasheet. Basically there is a difference between the hardwiring between the D0WD and U4WDH and the flash on the module. |
My difficulty in finding info was partly due to mistyping U4WDH as UW4DH. Do you know of a way to detect whether the chip is a U4WDH? |
Checking. Apparently the information can be obtained by reading the fuses.
I'm seeing there might be a function called: In my case this is returned:
Or one of the following:
I believe FluidNC supported models would probably be:
The PICO like the U4WDH apparently restricts pins: 6-8, 11, 16, & 17. |
Nice! Some are single core....won't work. |
Trying to come up with a restricted list based on the datasheets: Restricted Pins
Pins 16 and 17 can be used on the WROOM, but not the WROVER with built in PSRAM. Pins 16 & 17 can't be used on the U4WDH, Pico or WROVER. Pins 9 & 10 are not accessible on the WROOM/WROVER (D0WD), but are accessible on the U4WDH and Pico. I'm not sure what would be the best way to handle the different chips. I think in the meantime this function should be modified to allow Pins 9 and 10 to be used. If you want to implement a check you would need to handle Pins 9, 10, 16 and 17 on a chip by chip basis.
Pin 9 & 10 restricted on all D0WD / WROVER / WROOM (your target audience), but not U4WDH & Pico. For identication's sake, the ESP32 with built-in PSRAM is ESP32-D0WDR2-V3. But that is not a guarantee as a module might have external PSRAM installed. |
Moves pins 9 and 10 to no longer be restricted due to being available on some ESP32 chips. Reference: bdring#984
Moves pins 9 and 10 to no longer be restricted due to being available on some ESP32 chips. Reference: bdring#984
Wiki Search Terms
ESP32 Pinout, Restricted, Mini, U4WDH
Controller Board
Custom
Machine Description
None
Input Circuits
No response
Configuration file
Startup Messages
User Interface Software
No response
What happened?
My custom board uses an ESP32-U4WDH, not a ESP32-WROOM-32.
These chips should be functionally identical, however between the two chips they have different restricted GPIO.
While the WROOM restricts pins 6-11 for the integrated flash, the U4WDH restricts pins 6-8, 11, 16 & 17 instead.
The restriction of pins is hard coded into FluidNC v3.6.2+
Unless I'm not seeing it, there should be spot to define your chipset in the config file or otherwise override the restrictions.
I'm having to revert to v3.6.1 to go back to before the restriction was imposed.
GCode File
No response
Other Information
No response
The text was updated successfully, but these errors were encountered: