Skip to content

Editar mapa

O comando map_edit gerencia o mapa de trajetória do robô: pontos com tempo, encoder, status de trilha e offset.

map_edit
  1. A CLI envia map_get(s,r);
  2. Aguarda linhas de resposta map_get(b,s,…) via BLE
  3. Após 3 segundos sem novas linhas, encerra a coleta
  4. Converte cada body em uma linha CSV e grava output/map.txt
output/map.txt → input/map.txt

Edite input/map.txt no editor de texto.

Cada linha representa um ponto do mapa:

index,time,encMedia,trackStatus,offset
0,100,50,1,0
1,200,55,1,10
2,300,60,0,20
ColunaSignificado
indexÍndice do ponto
timeTempo (unidade definida pelo firmware)
encMediaValor médio do encoder
trackStatusStatus da trilha
offsetDeslocamento

Todas as colunas devem ser inteiros. Linhas vazias são ignoradas.

Como em param_edit, a CLI pergunta se você terminou a edição e mostra o diff entre output/map.txt e input/map.txt.

Ao confirmar que as mudanças são intencionais, a CLI envia nesta ordem:

  1. map_clear — limpa o mapa atual no firmware
  2. map_add — uma requisição por linha do input/map.txt (em lotes com ACK)
  3. map_SaveRuntime — persiste o mapa na memória de execução

Se algum envio falhar, o fluxo interrompe e avisa no terminal.

ProblemaSolução
Nenhuma linha em 3 sVerifique conexão BLE e se o firmware responde a map_get
Linha CSV inválidaConfira 5 colunas inteiras por linha
Diff vazioNenhuma alteração em input/map.txt
Aplicação canceladaNada é enviado ao dispositivo
📤 Enviar: map_edit
[TamanduCLI] 💾 Salvo output/map.txt e copiado para input/map.txt — edite o arquivo em input/ e salve.
Terminou a edição? Continuar para ver diferenças e aplicar? [y/N]: y
...
Essas mudanças são intencionais? Serão enviados map_clear, map_add para cada linha de input/map.txt e depois map_SaveRuntime. [y/N]: y
[TamanduCLI] 📤 map_clear
[TamanduCLI] ✅ Enviados map_clear e 12 linha(s) map_add.
[TamanduCLI] 📤 map_SaveRuntime enviado.

Se quiser apenas baixar sem o fluxo de edição guiado, envie wire direto (quando o firmware suportar) ou use map_edit e cancele antes de aplicar — o arquivo em output/map.txt já terá sido gravado na coleta inicial.