Delay driving spindle_enable_pin until we get its polarity setting #136
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I happen to have an active low triggered relay for controlling the spindle. I found out that every time the board resets, the spindle gets turned on for about one second or so. Digging into the code, I was surprised to find out that all of the G2 pins are initialized in static object constructor! Will there be any safety concern, for example, the spindle enable pin here? I think at least we shall delay driving all output pins with configurable polarity until we get the settings.
Right now, Due doesn't have any persistent storage. So for things like spindle enable, I have to change the default settings and compile a customized image. But then, motate currently have no way to initialize output pin value before actually driving the output. I could have patched motate to add that functionality. But I think it is better to delay driving the output pin until we called config_init(), in case we add the persistent storage in the future.