v1
setup
factory
Configure System Component
Configure a specific system component with hardware-specific settings.
FACTORY USE ONLY - This endpoint configures critical system hardware and should only be used during factory setup.
This endpoint allows configuration of individual system components by:
- Specifying component hardware type - Select from available driver implementations
- Applying component-specific settings - Configure hardware parameters and options
- Validating configuration - Ensure settings are compatible with system requirements
- Tracking setup progress - Update configuration state and remaining tasks
Configuration Process
1. Component Identification
The component_id path parameter specifies which component to configure:
- Must match a component listed in "unconfigured_components" from setup status
- Component must be present in the system manifest
- Invalid component IDs will result in configuration failure
2. Hardware Type Selection
The type field in settings specifies the hardware driver/implementation:
- motor_driver: roboclaw, motoron, null (testing)
- cable_encoder: roboclaw, qsb, null (no encoder)
- motor_encoder: roboclaw, null (no motor encoder)
- physical_control: pendant, null (API-only control)
- reed_switch: gpio, null (no reed switch)
- estop: gpio, null (no emergency stop)
- status_rgb_led: gpio, null (no status LED)
3. Additional Settings
Component-specific configuration parameters (optional):
- Hardware addresses, pin assignments, communication settings
- Calibration values, thresholds, operational parameters
- Safety settings, timing configurations
Factory Workflow
- Get setup status to identify pending components
- Configure each component with appropriate hardware type
- Verify successful configuration from response
- Continue until all components configured
- Exit setup mode to enable normal operations
Security Note
This endpoint can modify critical system hardware configuration and should be restricted to authorized factory personnel only.
post/api/v1/setup/configure/{component_id}
Path parameters
component_idstring required
Request body
Example request
{
"description": "Configure Roboclaw motor driver with address",
"summary": "Motor Driver Configuration",
"value": {
"settings": {
"address": "0x80",
"baud_rate": 38400,
"type": "roboclaw"
}
}
}Response
Component configuration result with remaining setup tasks
Example response
{
"description": "Component configured with remaining tasks",
"summary": "Successful Configuration",
"value": {
"component_id": "motor_driver",
"remaining_components": [
"cable_encoder"
],
"success": true
}
}