diff --git a/esp32/include/motion.h b/esp32/include/motion.h index 3825573..7e76055 100644 --- a/esp32/include/motion.h +++ b/esp32/include/motion.h @@ -59,7 +59,6 @@ class MotionService { void handleInput(JsonVariant &root, int originId) { JsonArray array = root.as(); command.lx = array[1]; - command.lx = array[1]; command.ly = array[2]; command.rx = array[3]; command.ry = array[4]; @@ -123,7 +122,7 @@ class MotionService { return update_angles(new_angles, angles); } - bool update_angles(float new_angles[12], float angles[12], bool useLerp = true) { + bool update_angles(float new_angles[12], float angles[12], bool useLerp = false) { bool updated = false; for (int i = 0; i < 12; i++) { float new_angle = useLerp ? lerp(angles[i], new_angles[i] * dir[i], 0.3) : new_angles[i] * dir[i]; diff --git a/esp32/include/peripherals/servo_controller.h b/esp32/include/peripherals/servo_controller.h index 2ca4e21..760a534 100644 --- a/esp32/include/peripherals/servo_controller.h +++ b/esp32/include/peripherals/servo_controller.h @@ -98,7 +98,7 @@ class ServoController : public StatefulService { void calculatePWM() { uint16_t pwms[12]; for (int i = 0; i < 12; i++) { - angles[i] = lerp(angles[i], target_angles[i], 0.05); + angles[i] = lerp(angles[i], target_angles[i], 0.1); auto &servo = state().servos[i]; float angle = servo.direction * angles[i] + servo.centerAngle; uint16_t pwm = angle * servo.conversion + servo.centerPwm;