feat(control_plane): apply light standby hardware policy

This commit is contained in:
chenjintao
2026-08-21 13:55:32 +08:00
parent 6a11aca835
commit baad9dcfa0
15 changed files with 405 additions and 41 deletions
@@ -404,18 +404,21 @@ esp_err_t platform_stepper_driver_rotate_angle_with_accel(float angle,
return err;
}
void platform_stepper_driver_power_off(void)
esp_err_t platform_stepper_driver_release_hold(int timeout_ms)
{
if (timeout_ms < 0) {
return ESP_ERR_INVALID_ARG;
}
if (!ensure_stepper_motion_mutex()) {
return;
return ESP_ERR_INVALID_STATE;
}
TickType_t lock_ticks = pdMS_TO_TICKS(PLATFORM_STEPPER_POWER_OFF_WAIT_MS);
if (lock_ticks == 0) {
TickType_t lock_ticks = pdMS_TO_TICKS(timeout_ms);
if (timeout_ms > 0 && lock_ticks == 0) {
lock_ticks = 1;
}
if (xSemaphoreTake(s_stepper_motion_mutex, lock_ticks) != pdTRUE) {
return;
return ESP_ERR_TIMEOUT;
}
portENTER_CRITICAL(&s_stepper_mux);
@@ -423,4 +426,10 @@ void platform_stepper_driver_power_off(void)
portEXIT_CRITICAL(&s_stepper_mux);
(void)xSemaphoreGive(s_stepper_motion_mutex);
return ESP_OK;
}
void platform_stepper_driver_power_off(void)
{
(void)platform_stepper_driver_release_hold(PLATFORM_STEPPER_POWER_OFF_WAIT_MS);
}