|
|
@@ -156,7 +156,7 @@ static __INLINE float _eccentricity_compensation(int cnt) {
|
|
|
u32 enc_pwm_err_ms = 0;
|
|
|
s16 enc_delta_err1 = 0;
|
|
|
s16 enc_delta_err2 = 0;
|
|
|
-static s16 enc_r = 0;
|
|
|
+static float enc_r = 0;
|
|
|
static s16 enc_cnt = 0;
|
|
|
static s16 enc_last_cnt = 0;
|
|
|
static s16 enc_test1 = 0;
|
|
|
@@ -243,9 +243,9 @@ static void encoder_detect_error(s16 cnt) {
|
|
|
g_encoder.enc_maybe_err = ENCODER_AB_ERR;
|
|
|
enc_delta_err1 = g_encoder.last_delta_cnt;
|
|
|
enc_delta_err2 = (s16)((g_encoder.est_vel_counts/g_encoder.cpr) * 60.0f);
|
|
|
- enc_r = r*100;
|
|
|
- enc_cnt = cnt;
|
|
|
- enc_last_cnt = g_encoder.last_cnt;
|
|
|
+ enc_r = r;
|
|
|
+ enc_cnt = delta_cnt;
|
|
|
+ enc_last_cnt = _mayerr_cnt;
|
|
|
}
|
|
|
}else {
|
|
|
_mayerr_cnt = 0;
|
|
|
@@ -503,6 +503,7 @@ void encoder_log(void) {
|
|
|
sys_debug("pwm count %d, I count %d,%d,%d\n", g_encoder.pwm_count, abi_I_delta, g_encoder.z_index_cnt, abi_z_count);
|
|
|
sys_debug("pwm freq %f, err %d, %f, %f\n", enc_get_pwm_freq(), pwm_duty_err, pwm_err_min, pwm_err_max);
|
|
|
if (g_encoder.enc_maybe_err) {
|
|
|
- sys_debug("E:%d,%d,%d,%d,%d,%d, %d\n", enc_test1, enc_test2, enc_test3, enc_r, enc_cnt, enc_last_cnt, enc_test4);
|
|
|
+ sys_debug("E:%d,%d,%d,%d,%d,%d\n", enc_test1, enc_test2, enc_test3, enc_cnt, enc_last_cnt, enc_test4);
|
|
|
+ sys_debug("E:%d, %d, %f, %d\n", enc_delta_err1, enc_delta_err2, enc_r, g_encoder.enc_maybe_err);
|
|
|
}
|
|
|
}
|