feat(firmware): support rocking-horse workbench delivery

This commit is contained in:
Miayui
2026-09-22 11:15:13 +08:00
parent ba5dfcd6da
commit 4d99702acd
13 changed files with 250 additions and 29 deletions
@@ -5,6 +5,7 @@
#include "motor_control.h"
#include "seat_dynamic_mode_config.h"
#include "seat_feature_profile.h"
#include "seat_motor_manager.h"
#include "seat_move_config.h"
@@ -206,6 +207,12 @@ bool SeatDynamicMode_Start(uint8_t modeId, uint16_t commandSequence)
SeatDynamic_Definition(modeId);
uint8_t motor;
#if !SEAT_FEATURE_ROCKING_HORSE
if(modeId == SEAT_DYNAMIC_MODE_ROCKING_HORSE)
{
return false;
}
#endif
if((definition == NULL) || SeatDynamicMode_IsActive() ||
SeatMotorManager_IsAnyActive())
{
@@ -681,6 +681,13 @@ static bool SeatMove_ParametersValid(const seat_move_command_t *command,
*reject = SEAT_MOVE_REJECT_PARAM_RANGE;
return false;
}
#if !SEAT_FEATURE_ROCKING_HORSE
if(command->paramA == SEAT_DYNAMIC_MODE_ROCKING_HORSE)
{
*reject = SEAT_MOVE_REJECT_BAD_OPCODE;
return false;
}
#endif
break;
case SEAT_MOVE_OPCODE_STOP_DYNAMIC_MODE:
if((command->paramA != 0u) || (command->paramB != 0u))