feat(control_plane): apply light standby hardware policy
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user