⚡️ Removes unnecessary lerp
This commit is contained in:
@@ -59,7 +59,6 @@ class MotionService {
|
|||||||
void handleInput(JsonVariant &root, int originId) {
|
void handleInput(JsonVariant &root, int originId) {
|
||||||
JsonArray array = root.as<JsonArray>();
|
JsonArray array = root.as<JsonArray>();
|
||||||
command.lx = array[1];
|
command.lx = array[1];
|
||||||
command.lx = array[1];
|
|
||||||
command.ly = array[2];
|
command.ly = array[2];
|
||||||
command.rx = array[3];
|
command.rx = array[3];
|
||||||
command.ry = array[4];
|
command.ry = array[4];
|
||||||
@@ -123,7 +122,7 @@ class MotionService {
|
|||||||
return update_angles(new_angles, angles);
|
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;
|
bool updated = false;
|
||||||
for (int i = 0; i < 12; i++) {
|
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];
|
float new_angle = useLerp ? lerp(angles[i], new_angles[i] * dir[i], 0.3) : new_angles[i] * dir[i];
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class ServoController : public StatefulService<ServoSettings> {
|
|||||||
void calculatePWM() {
|
void calculatePWM() {
|
||||||
uint16_t pwms[12];
|
uint16_t pwms[12];
|
||||||
for (int i = 0; i < 12; i++) {
|
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];
|
auto &servo = state().servos[i];
|
||||||
float angle = servo.direction * angles[i] + servo.centerAngle;
|
float angle = servo.direction * angles[i] + servo.centerAngle;
|
||||||
uint16_t pwm = angle * servo.conversion + servo.centerPwm;
|
uint16_t pwm = angle * servo.conversion + servo.centerPwm;
|
||||||
|
|||||||
Reference in New Issue
Block a user