Machine Context
Any machine that has a cardDetect pin, make it more useful.
Currently the cardDetect pin is passed in sdmmcslotconfigt, but this is only used if you’re using the SDMMC driver through the espvfsfatsdmmc_mount() helper, which optionally uses the CD pin to detect card presence at mount time only.
It doesn’t poll the pin.
using $GD I was able to verify the IO for cardDetect is the IO pin I configured and is changing in response to the sdcard being in or out. But the firmware does nothing with it
Feature Description
On inserting a sdcard (ie cardDetect pin goes low) the sdcard should be initialized and the web interface notified to refresh the sdcard window and status.
On removing the sdcard (ie cardDetect pin goes high) the sdcard should be set as non initialized and the web interface notified to clear the sdcard window and update the status.
Other Approaches
Tried telekinesis, the API didn’t work. (joke)
No other approaches that I can think of.
How I Can Help
Asking for useful features is helping to improve FluidNC
评论 (4)
#2 – MitchBradley 于 2025-06-03
There are other states to consider, such as “card inserted but cannot be read correctly”. That adds additional user interface complexity.
#3 – ellensp 于 2025-06-04
After this response, am I no longer going to use FluidNC, as the developers seem to me to be incompatible with opensource philosophy.
Seem more like a Ferengi mindset. All about profit.
#4 – MitchBradley 于 2025-06-04
Actually, it is all about time management. If you add up all the revenue and divide by the number of hours spent developing and supporting FluidNC and various other ecosystem components like pendants and IO expanders, it comes out to much less that $1/hour. Since we have too few hours to do everything that people ask for, we choose to do things that, in our opinion, would have the most benefit to the most people, with as little as possible impact on our already-overwhelming support burden.
I have been involved in Open Source work since before it was called that. I would suggest that it is you who do not understand the philosophy. In the earliest days of the movement, the founding philosophers made it clear that free software is “free as in speech, not as in beer”. Read up on the history of Cygnus Solutions. Also consider that fact that the vast majority of Open Source projects are abandoned sooner or later, often as a result of developer burnout. We are trying to keep this one alive, maintaining the code and providing support, despite the fact that we could make a lot more money working for minimum wage at Starbucks. Doing so often requires saying no to features.
The final sentence of my reply above is an invitation to people whose cost/benefit analysis of this feature differs from mine to spend their time implementing it. I pointed out some of the factors that need to be considered, as a starting point.
#1 – MitchBradley 于 2025-06-03
“The web interface” is actually two versions, only one of which the FluidNC developers control. “Any machine that has a card detect pin” excludes all of the controller boards from FluidNC developers. To my knowledge, no controller board with a card detect comes from a vendor that supports the FluidNC project in any way, so supporting the feature would only increase our non-compensated costs in supporting products that are “free riding” on our development work and ongoing help for users.
There are many things to consider, including when it is safe to perform such a check. Doing it in the midst of sender activity could disrupt the running of a GCode program. There is a probably a way to do it safely, but finding all of the edge cases could take a long time, especially in light of the small percentage of boards with the capability.
My personal take is that the value of the feature across the user base is not worth the costs. If someone else is willing to undertake the project and see it through to completion, and offer ongoing support for it, I would be happy to consider PRs to implement it.