Recuperación y firmware de fábrica
Resultado: elija el procedimiento de recuperación correcto y verifique la configuración antes del movimiento. Comience con diagnóstico de conexión: un puerto o velocidad de baudios incorrectos no requiere recuperación del gestor de arranque.
Elige un procedimiento
| Situación | Procedimiento |
|---|---|
| El motor responde; restaurar su configuración guardada normal | Node.js settings restore usando la copia de seguridad de ese motor |
| El motor responde; volver deliberadamente al software de fábrica | Firmware del programa de fábrica, seguido de reparación/verificación de Python |
| La aplicación no responde después de una transferencia interrumpida; alimentación/cableado/ID/baudios comprobados | Cargador de arranque recover con un solo motor conectado |
| La calibración original se pierde y no existe una instantánea anterior | No sustituya el respaldo de otro motor; obtener ajustes para el modelo exacto y recalibrar |
Restauración de entornos ordinarios.
Aísle el motor, apoye el mecanismo, apague el torque, bloquee las escrituras y borre la causa de las alarmas. Utilice el JSON creado por npm run settings -- backup:
macOS / Linux
npm run settings -- restore --port "$SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
Windows PowerShell
npm.cmd run settings -- restore --port "$env:SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
--id y --baud describen la conexión actual, no necesariamente los valores respaldados. La herramienta verifica el modelo, escribe las configuraciones modificadas, sigue los cambios de ID/baudios y verifica la lectura. Nunca habilita torque ni envía comandos de movimiento. Después de un fallo pueden quedar cambios parciales; La restauración no es atómica.
Este comando no repara la plantilla de restablecimiento de fábrica y no acepta copias de seguridad de Python settings.py.
Volver al firmware de fábrica
Úselo únicamente para hardware SCServo21-GD32-TTL 3.10 compatible. La fuente incluye su imagen y manifiesto en tools/flash/factory/. Aísle el servo porque el inicio de fábrica puede cambiar su ID a 1 y provocar un conflicto en el bus.
macOS / Linux
tools/flash/.venv/bin/python tools/flash/flash.py flash --manifest tools/flash/factory/release.json --port "$SERVO_PORT" --id 1
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/flash.py flash --manifest tools/flash/factory/release.json --port "$env:SERVO_PORT" --id 1
Utilice el ID actual y confirme FLASH. Mantenga la energía conectada durante la transferencia normal. Luego, la herramienta verifica la conexión anterior, luego el ID 1 a 1.000.000 baudios si es necesario, e informa la conexión que funciona. El código de salida 2 significa que el firmware de fábrica respondió pero la configuración cambió.
Repare la configuración después de regresar al software de fábrica incluso si inicialmente parece correcta: el firmware puede usar valores predeterminados integrados cuando la configuración almacenada no es válida.
Recuperación del cargador de arranque
Conecte solo el servo deseado. La recuperación no se dirige por ID y no puede verificar el modelo actual ni hacer una copia de seguridad de la configuración antes de la carga. Este ejemplo recupera la fábrica coincidente 3.10:
macOS / Linux
tools/flash/.venv/bin/python tools/flash/flash.py recover --manifest tools/flash/factory/release.json --port "$SERVO_PORT" --id 1
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/flash.py recover --manifest tools/flash/factory/release.json --port "$env:SERVO_PORT" --id 1
Confirmar la operación. Apaga y enciende el servo solo cuando se te indique, dejando el adaptador USB conectado. La herramienta espera hasta 60 segundos por el gestor de arranque. Especifique el ID/baud esperado después de la recuperación. La recuperación no está garantizada; conserve la salida y verifique el hardware si el gestor de arranque no responde.
No aplique el paso de ciclo de energía de recuperación a la programación de firmware con dirección ordinaria.
Reparar y verificar la configuración de fábrica.
Después del firmware/recuperación del programa de fábrica, use una copia de seguridad de Python de ese mismo motor antes de que se perdieran las configuraciones, o un informe flash normal que contenga before_registers_hex. No se acepta el formato de copia de seguridad de Node.js. Este ejemplo supone que el ID actual es 1:
macOS / Linux
tools/flash/.venv/bin/python tools/flash/settings.py restore --port "$SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/settings.py restore --port "$env:SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
Escriba RESTORE cuando se le solicite. La herramienta es compatible con Factory 3.10 y rechaza el firmware personalizado detectado. Restaura la configuración, reemplaza la plantilla de reinicio, bloquea las escrituras y reinicia el motor. Sigue los cambios de ID/baud y verifica sin enviar comandos de movimiento.
Luego reinicie el servo y verifique usando el ID y los baudios restaurados:
macOS / Linux
tools/flash/.venv/bin/python tools/flash/settings.py verify --port "$SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/settings.py verify --port "$env:SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
Cambie --id 1 en ese último comando si la copia restaura otro ID. Los informes se guardan en backups/settings/. Mantenga el par desactivado después de un error: la reparación no revierte escrituras parciales ni vuelve a intentarlo automáticamente.
Comprobación de finalización: la aplicación responde, la configuración se verifica después del ciclo de energía y se han revisado el significado y los límites de compensación física. Una copia de seguridad realizada después de que se perdió la calibración no puede recuperar sus valores anteriores. La recalibración requiere nuevas grabaciones de poses y una validación renovada del modelo.
Inicio de la documentación · Revisión de la fuente: a995f77. Extensión 9.0.