Closed iosonopersia closed 6 years ago
I don't think we need separate files for each driver type if all it contains is min step pulse and max step frequency. This sounds a bit like it could be added to stepper_indirection
.
You also need to find the max value between all the configured drivers.
But overall as an idea I think it would be useful for Marlin to be aware of the driver types it is using. Even if they wouldn't require additional configuration and communication and other smart features.
I'll also post here what I said in the other thread about how the TMC drivers will be defined in the future:
Possibly related on driver types (coming soon): teemuatlut/Marlin@00d735e
Though not about timings but the TMC driver selection.
Ok, I mostly agree. Just as a recap, we now have these driver-specific values:
#define MINIMUM_STEPPER_DIR_DELAY
#define MINIMUM_STEPPER_PULSE
#define MAXIMUM_STEPPER_RATE
If I still had a different driver for E, I'd be screwed right now. Was going to buy only 3 TMC's too, there would be no way to fix it. A few weeks ago I installed 4th LV8729 by chance to play with E amperage so skated by pure chance.
I have no strong feelings how it should be implemented. From my (users) point of view, it should:
Configuration.h
since it became a relevant setting for the printer's operation similar to the board or end-stops@Sineos I think that playing with defines and #if defined(xx)
something may be done.
@teemuatlut I don't want to overwrite your work. I'll try to address this when you will release yours (or maybe if you think that this solution will destroy all your work, and you think to stop it, I'll start sooner)
It may take a while before I make the PR as it's not the first one in line that I have.
Move discussion to #11133
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
@thinkyhead , @MagoKimbra , @GMagician , @Sineos , @ejtagle This is an idea which was born in the discussion here: #11098
The suggestion made below comes from me and @GMagician :
I propose a different approach, define driver for every installed axis like
Configuration.h:
and each driver include may do something like...
supported_drivers.h:
drv8825.h
a4988.h
Drivers.h
This is more tedious for programmers but easier from user perspective. The user doesn't need to read datasheets to understand which is the slowest one.
Then, every file that will need to use driver-specific values (such as
MINIMUM_STEPPER_PULSE
), will need to include Drivers.hIf the idea is ok, we can open a PR to try implementing it. What do you think?