|
|
@@ -17,16 +17,16 @@ static void limiter_init(void) {
|
|
|
motor_temp_lim[i].enter_pointer = limiter->motor[i].enter_pointer;
|
|
|
motor_temp_lim[i].exit_pointer = limiter->motor[i].exit_pointer;
|
|
|
motor_temp_lim[i].limit_value = limiter->motor[i].limit_value;
|
|
|
- //sys_debug("%d-%d-%d\n", motor_temp_lim[i].enter_pointer, motor_temp_lim[i].exit_pointer, motor_temp_lim[i].limit_value);
|
|
|
+ sys_debug("%d-%d-%d\n", motor_temp_lim[i].enter_pointer, motor_temp_lim[i].exit_pointer, motor_temp_lim[i].limit_value);
|
|
|
mos_temp_lim[i].enter_pointer = limiter->mos[i].enter_pointer;
|
|
|
mos_temp_lim[i].exit_pointer = limiter->mos[i].exit_pointer;
|
|
|
mos_temp_lim[i].limit_value = limiter->mos[i].limit_value;
|
|
|
- //sys_debug("%d-%d-%d\n", mos_temp_lim[i].enter_pointer, mos_temp_lim[i].exit_pointer, mos_temp_lim[i].limit_value);
|
|
|
+ sys_debug("%d-%d-%d\n", mos_temp_lim[i].enter_pointer, mos_temp_lim[i].exit_pointer, mos_temp_lim[i].limit_value);
|
|
|
}
|
|
|
vol_under_lim[0].enter_pointer = limiter->vbus.enter_pointer;
|
|
|
vol_under_lim[0].exit_pointer = limiter->vbus.exit_pointer;
|
|
|
vol_under_lim[0].limit_value = limiter->vbus.limit_value;
|
|
|
- sys_debug("%d-%d-%d\n", vol_under_lim[0].enter_pointer, vol_under_lim[0].exit_pointer, vol_under_lim[0].limit_value);
|
|
|
+ //sys_debug("%d-%d-%d\n", vol_under_lim[0].enter_pointer, vol_under_lim[0].exit_pointer, vol_under_lim[0].limit_value);
|
|
|
}
|
|
|
|
|
|
static u16 _temp_limiter(s16 temp, limter_t *lim) {
|
|
|
@@ -37,7 +37,7 @@ static u16 _temp_limiter(s16 temp, limter_t *lim) {
|
|
|
}
|
|
|
if (lim->ticks == 0) {
|
|
|
lim->ticks = get_tick_ms();
|
|
|
- }else if (get_delta_ms(lim->ticks) >= 5000){
|
|
|
+ }else if (get_delta_ms(lim->ticks) >= 500){
|
|
|
lim->is_limit = true;
|
|
|
lim->ticks = 0;
|
|
|
return lim->limit_value;
|
|
|
@@ -50,7 +50,7 @@ static u16 _temp_limiter(s16 temp, limter_t *lim) {
|
|
|
}
|
|
|
if (lim->ticks == 0) {
|
|
|
lim->ticks = get_tick_ms();
|
|
|
- }else if (get_delta_ms(lim->ticks) >= 5000) {
|
|
|
+ }else if (get_delta_ms(lim->ticks) >= 500) {
|
|
|
lim->is_limit = false;
|
|
|
lim->ticks = 0;
|
|
|
return HW_LIMIT_NONE;
|
|
|
@@ -67,7 +67,7 @@ static u16 _vol_limiter(s16 vol, limter_t *lim) {
|
|
|
}
|
|
|
if (lim->ticks == 0) {
|
|
|
lim->ticks = get_tick_ms();
|
|
|
- }else if (get_delta_ms(lim->ticks) >= 1000){
|
|
|
+ }else if (get_delta_ms(lim->ticks) >= 100){
|
|
|
lim->is_limit = true;
|
|
|
lim->ticks = 0;
|
|
|
return lim->limit_value;
|
|
|
@@ -80,7 +80,7 @@ static u16 _vol_limiter(s16 vol, limter_t *lim) {
|
|
|
}
|
|
|
if (lim->ticks == 0) {
|
|
|
lim->ticks = get_tick_ms();
|
|
|
- }else if (get_delta_ms(lim->ticks) >= 1000) {
|
|
|
+ }else if (get_delta_ms(lim->ticks) >= 100) {
|
|
|
lim->is_limit = false;
|
|
|
lim->ticks = 0;
|
|
|
return HW_LIMIT_NONE;
|
|
|
@@ -97,12 +97,14 @@ static u16 _motor_limit(void) {
|
|
|
if (lim_value != HW_LIMIT_NONE) {
|
|
|
if (lim_value == 0) {
|
|
|
mc_set_critical_error(FOC_CRIT_MOTOR_TEMP_Err);
|
|
|
+ }else {
|
|
|
+ mc_clr_critical_error(FOC_CRIT_MOTOR_TEMP_Err);
|
|
|
}
|
|
|
err_add_record(FOC_CRIT_MOTOR_TEMP_Err, temp);
|
|
|
return lim_value;
|
|
|
}
|
|
|
}
|
|
|
- mc_clr_critical_error(FOC_CRIT_MOTOR_TEMP_Err);
|
|
|
+
|
|
|
return HW_LIMIT_NONE;
|
|
|
}
|
|
|
|
|
|
@@ -114,12 +116,14 @@ static u16 _mos_limit(void) {
|
|
|
if (lim_value != HW_LIMIT_NONE) {
|
|
|
if (lim_value == 0) {
|
|
|
mc_set_critical_error(FOC_CRIT_MOS_TEMP_Err);
|
|
|
+ }else {
|
|
|
+ mc_clr_critical_error(FOC_CRIT_MOS_TEMP_Err);
|
|
|
}
|
|
|
err_add_record(FOC_CRIT_MOS_TEMP_Err, temp);
|
|
|
return lim_value;
|
|
|
}
|
|
|
}
|
|
|
- mc_clr_critical_error(FOC_CRIT_MOS_TEMP_Err);
|
|
|
+
|
|
|
return HW_LIMIT_NONE;
|
|
|
}
|
|
|
|