Recuperação e firmware de fábrica
Resultado : escolha o procedimento de recuperação correto e verifique as configurações antes do movimento. Comece com o diagnóstico de conexão : uma porta ou taxa de transmissão errada não requer recuperação do bootloader.
Escolha um procedimento
| Situação | Procedimento |
|---|---|
| O motor responde; restaurar suas configurações salvas normais | Node.js settings restore usando o backup desse motor |
| O motor responde; retornar deliberadamente ao software de fábrica | Flash de fábrica, seguido de reparo/verificação do Python |
| O aplicativo não responde após interrupção da transferência; alimentação/fiação/ID/baud verificado | Bootloader recover com apenas um motor conectado |
| A calibração original foi perdida e não existe nenhum instantâneo anterior | Não substitua o backup de outro motor; obter configurações para o modelo exato e recalibrar |
Restauração de configurações normais
Isole o motor, apoie o mecanismo, desligue o torque, bloqueie as gravações e elimine a causa dos alarmes. Use o JSON criado 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 e --baud descrevem a conexão atual , não necessariamente os valores de backup. A ferramenta verifica o modelo, grava as configurações alteradas, segue as alterações de ID/baud e verifica o readback. Ele nunca ativa o torque ou envia comandos de movimento. Alterações parciais podem permanecer após uma falha; a restauração não é atômica.
Este comando não repara o modelo de redefinição de fábrica e não aceita backups Python settings.py.
Retornar ao firmware de fábrica
Use-o apenas para combinar o hardware SCServo21-GD32-TTL 3.10 . A fonte inclui sua imagem e manifesto em tools/flash/factory/ . Isole o servo porque a inicialização de fábrica pode alterar seu ID para 1 e causar um conflito de barramento.
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
Use o ID atual e confirme FLASH. Mantenha a alimentação conectada durante a transferência normal. Posteriormente, a ferramenta verifica a conexão anterior, identifica 1 em 1,000,000 baud, se necessário, e relata a conexão em funcionamento. Código de saída 2 significa que o firmware de fábrica respondeu, mas as configurações foram alteradas.
Repare as configurações após retornar ao software de fábrica , mesmo que inicialmente pareçam corretas : o firmware pode usar padrões integrados quando as configurações armazenadas são inválidas.
Recuperação do bootloader
Conecte apenas ao servo pretendido. A recuperação não é feita por ID e não pode verificar o modelo atual ou fazer backup das configurações antes do upload. Este exemplo recupera a fábrica correspondente 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
Confirme a operação. Desligue e ligue o servo somente quando solicitado , deixando o adaptador USB conectado. A ferramenta aguarda até 60 segundos pelo bootloader. Especifique o ID/baud esperado após a recuperação. A recuperação não é garantida; preserve a saída e verifique o hardware se o bootloader não responder.
Não aplique a etapa de ciclo de energia de recuperação à atualização endereçada comum.
Repare e verifique as configurações de fábrica
Após o flash/recuperação de fábrica, use um backup Python de do mesmo motor antes das configurações serem perdidas ou um relatório flash normal contendo before_registers_hex . O formato de backup do Node.js não é aceito. Este exemplo pressupõe que o ID atual seja 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
Digite RESTORE quando solicitado. A ferramenta oferece suporte ao 3.10 de fábrica e rejeita firmware personalizado detectado. Ele restaura as configurações, substitui o modelo de reset, bloqueia gravações e reinicia o motor. Ele segue alterações de ID/baud e verifica sem enviar comandos de movimento.
Em seguida, desligue e ligue o servo e verifique usando o ID e baud restaurados do :
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
Altere --id 1 no último comando se o backup restaurar outro ID. Os relatórios ficam em backups/settings/. Mantenha o torque desativado após um erro: o reparo não desfaz gravações parciais nem tenta novamente de forma automática.
Verificação de conclusão: o aplicativo responde, as configurações são verificadas após desligar e ligar a alimentação e o significado e os limites do deslocamento físico foram revisados. Um backup feito após a perda da calibração não pode recuperar seus valores anteriores. A recalibração requer novas gravações de pose e validação renovada do modelo.
Início da documentação · Revisão de origem: a995f77 . Extension 9.0 .