diff --git a/fw/bldc_servo.cc b/fw/bldc_servo.cc index 2aca4580..355aa4c1 100644 --- a/fw/bldc_servo.cc +++ b/fw/bldc_servo.cc @@ -1592,6 +1592,10 @@ class BldcServo::Impl { } else { status_.position = status_.position_unfilt; } + + if (config_.encoder_filter.debug_override >= 0) { + status_.position = config_.encoder_filter.debug_override; + } } void ISR_DoPositionCommon( diff --git a/fw/bldc_servo.h b/fw/bldc_servo.h index 83ab1c20..e8001f8a 100644 --- a/fw/bldc_servo.h +++ b/fw/bldc_servo.h @@ -197,12 +197,14 @@ class BldcServo { bool enabled = false; float kp = 0.0f; float ki = 0.0f; + int32_t debug_override = -1; template void Serialize(Archive* a) { a->Visit(MJ_NVP(enabled)); a->Visit(MJ_NVP(kp)); a->Visit(MJ_NVP(ki)); + a->Visit(MJ_NVP(debug_override)); } }; EncoderFilter encoder_filter;