CAP1Sup / Intellistep

A rework of the terribly coded firmware from the BTT S42B v2 boards
GNU General Public License v3.0
45 stars 10 forks source link

Microsteps set through LCD forgotten after the reset #91

Closed IhorNehrutsa closed 3 years ago

IhorNehrutsa commented 3 years ago

After the reset, the DIP microsteps are setted again. Original BT code saves menu microsteps after a reset.

IhorNehrutsa commented 3 years ago

The solution is to save the DIP state in flash and set new microsteps if DIP state is changed (even if DIP changed when driver was powered off). Save microsteps in flash after menu or after M350 command or after DIP state is changed. Read microsteps from flash after a reset. If flash is unprogrammed, then use DIP microsteps.

CAP1Sup commented 3 years ago

That's essentially what it does now, it's just that the settings need to be saved in order to persist. The flash values should override any DIP values. I think it's best to leave the saving to the user as it will prevent the accidental saving of unwanted settings

IhorNehrutsa commented 3 years ago

The flash values should override any DIP values.

Disagree. The last changed value is the right value. If the user changes the DIP( even if DIP changed when the driver was powered off or after the menu or after M350), he wants that and expects that. The latest value is right.

CAP1Sup commented 3 years ago

The flash values should override any DIP values.

Disagree. The last changed value is the right value. If the user changes the DIP( even if DIP changed when the driver was powered off or after the menu or after M350), he wants that and expects that.

The latest value is right.

Ok. Open a PR, we can add the checks so that the DIPs will be handled properly

CAP1Sup commented 3 years ago

I think this is done, so I'm going to close it for now. Let me know if you don't see it as done.