# Face Servo UI

Run the desktop UI from the repository root:

```powershell
powershell -ExecutionPolicy Bypass -File .\run_ui.ps1
```

If you only changed Python/UI code and want to skip rebuilding `_s_curve_native`:

```powershell
powershell -ExecutionPolicy Bypass -File .\run_ui.ps1 -SkipBuild
```

If you need to override the Python path:

```powershell
powershell -ExecutionPolicy Bypass -File .\run_ui.ps1 -PythonExecutable "C:\Users\Administrator\miniconda3\envs\cmvr-head-client\python.exe"
```

Current UI scope includes:

- `servo_service` eRPC control
- single-servo / moveJ controls
- `SCurve` preview
- `SCurvePositionPlanner1D` preview

Default serial settings are `COM8` and `115200`.

The servo config uploader defaults to `config/servo_config.yaml`. It runs
`config/yaml_to_json.py` and uploads the generated JSON to
`config/servo_config.json` on the device. The converter requires PyYAML:

```powershell
python -m pip install PyYAML
```
