fix: end the positioning when the lift reaches its target

Arriving at a lift target never cleared settingPos (the tilt arrival
clears settingTiltPos), so the next step or group move also sent a stop
when it arrived. A stop to a motor that has already stopped is a My,
which sends it to its favorite. Reconcile Q18 in SHADE_BEHAVIOUR_PLAN.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cjkas 2026-10-16 22:39:02 +02:00
parent 4f8eac03ac
commit 9e519d4d5f
3 changed files with 30 additions and 8 deletions

View file

@ -135,6 +135,7 @@ void ShadeBehaviour::tick(uint32_t now) {
}
}
this->p_direction(0);
this->settingPos = false;
this->tiltStart = curTime;
this->startTiltPos = this->s.currentTiltPos;
if(this->isAtTarget()) this->commitShadePosition();
@ -161,6 +162,7 @@ void ShadeBehaviour::tick(uint32_t now) {
}
}
this->p_direction(0);
this->settingPos = false;
this->tiltStart = curTime;
this->startTiltPos = this->s.currentTiltPos;
if(this->isAtTarget()) this->commitShadePosition();