feat: handle remove of target properly
This commit is contained in:
@@ -51,10 +51,11 @@ class WallE:
|
||||
self.servo_positions[channel] = min_max.restval
|
||||
|
||||
def tick(self):
|
||||
remove = {}
|
||||
for channel, target in self.servo_targets.items():
|
||||
current_value = self.servo_positions[channel]
|
||||
if target == current_value:
|
||||
del self.servo_targets[channel]
|
||||
remove[channel] = target
|
||||
continue
|
||||
try:
|
||||
servo_min_max = SERVO_MIN_MAX[channel]
|
||||
@@ -65,6 +66,9 @@ class WallE:
|
||||
new_val = current_value + step_size if target > current_value else current_value - step_size
|
||||
self.servo_controller.write(channel, new_val)
|
||||
self.servo_positions[channel] = new_val
|
||||
for channel, target in remove.items():
|
||||
if self.servo_targets[channel] == target:
|
||||
del self.servo_targets[channel]
|
||||
|
||||
def set_servo(self, channel, value):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user