CLI atsarginė kopija ir atkūrimas — diff all darbo eiga

Betaflight CLI — vienintelis tiesos šaltinis pilnai buildo konfigūracijai. Konfigūratoriaus tab'ai rodo daugumą nustatymų, bet CLI parodo viską — įskaitant numatytuosius, kuriuos GUI slepia. Prieš bet kokį derinimo eksperimentą pasidaryk atsarginę kopiją su diff all. Po sesijos — pasidaryk vėl. Patikėk — vieną kartą praradus gerą derinimą, šio žingsnio nebepamirši niekada.


Kodėl diff all, o ne dump

flowchart LR
    DUMP[dump] -->|All settings<br/>including defaults| LARGE[Large file<br/>Hard to read<br/>Contains noise]
    DIFF[diff all] -->|Only non-default<br/>settings| SMALL[Small file<br/>Easy to review<br/>Only what matters]
    DIFF2[diff] -->|Non-defaults for<br/>current profile only| PROFILE[Profile-specific<br/>Misses OSD and other global settings]
KomandaKą ji išsaugoKam geriausiai tinka
dumpViską, įskaitant numatytuosiusPilna gamyklinio lygio kopija
diff allTik tavo pakeitimusKasdienė derinimo kopija
diffPakeitimus dabartiniame profilyjeGreita profilio nuotrauka

Kiekvienai kopijai naudok diff all. Jis lengvai skaitomas, laisvai telpa į tekstinį failą ir švariai atsistato ant tos pačios Betaflight versijos. dump naudok tik tada, kai reikia byte-for-byte viso FC klono arba kai perkeli konfigūraciją į kitą to paties modelio FC.


Atsarginės kopijos darbo eiga

flowchart TD
    A([Open Betaflight<br/>Configurator]) --> B[Connect FC via USB]
    B --> C[Click CLI tab]
    C --> D["Type: diff all<br/>Press Enter"]
    D --> E[Wait for output to finish]
    E --> F["Click 'Save to File'<br/>or select all + copy"]
    F --> G[Name the file:<br/>build-name_date_purpose.txt]
    G --> H[Store in build folder<br/>or git repo]

CLI'e:

1# Generate the backup
2diff all
3
4# The output scrolls in the terminal.
5# Click "Save to File" in Configurator, OR:
6# Select all output text (Ctrl+A in the text area), copy, paste to a .txt file.

Failą pavadink su kontekstu — ne tiesiog backup.txt:

1pavo20_2026-07-13_pre-tune.txt
2pavo20_2026-07-13_post-pid-tune.txt
3freestyle5_2026-07-10_working-config.txt

Atkūrimo darbo eiga

1# In CLI tab, paste the diff all contents and press Enter
2# Or use "Load from File" button
3
4# After pasting, always end with:
5save
6
7# Then power cycle the FC (unplug USB, replug)

Betaflight apdoroja kiekvieną CLI komandą iš eilės. diff all failas — tai eilė set komandų plius profile ir rateprofile perjungimo komandos — tai galiojanti CLI įvestis.


Saugus derinimo eksperimentavimas

Naudok šį principą, kad išbandytum naują derinimą nebijodamas prarasti to, kas veikė:

flowchart TD
    A[Backup current config<br/>diff all → save file] --> B[Make PID changes<br/>in Configurator or CLI]
    B --> C[Fly and test]
    C --> D{Better or worse?}
    D -->|Better| E[Save new baseline<br/>diff all → new file]
    D -->|Worse| F["Paste old diff all<br/>→ save → power cycle<br/>Instant rollback"]
    F --> B
1# Before any tune experiment:
2diff all
3# → Save to file immediately
4
5# After a bad tune:
6# Open the saved file, paste all contents into CLI, press Enter, then:
7save
8# Done — you're back to the working tune.

diff all užfiksuoja

  • Visas PID reikšmes ir TPA nustatymus
  • Visus rate profilius (RC Rate, Super Rate, Expo visoms ašims)
  • Visas OSD elementų pozicijas
  • Failsafe konfigūraciją
  • ESC/motorų protokolo nustatymus
  • RPM filtro konfigūraciją
  • Visus mode'ų priskyrimus
  • Blackbox nustatymus
  • VTX galios lentelę
  • GPS nustatymus (jei sukonfigūruoti)

Ko jis NEUŽFIKSUOJA:

  • Imtuvo bind'o (saugoma pačiame RX)
  • VTX kanalo/galios dabartinio pasirinkimo (kanalas/galia — tai runtime būsena)
  • Motorų tvarkos/krypties (saugoma ESC firmware)

Konfigūracijų laikymas Git'e

Rimtiems buildams laikyk savo diff all failus git repozitorijoje (taip, dronų konfigai git'e — kam gi ne :)):

 1mkdir quad-configs && cd quad-configs
 2git init
 3cp pavo20_2026-07-13.txt .
 4git add .
 5git commit -m "Pavo20: pre-tune baseline"
 6
 7# After a tune session:
 8cp pavo20_2026-07-14_after-pid.txt .
 9git add .
10git commit -m "Pavo20: P/D tuned, filter lowpass moved to 150Hz"

git diff tarp dviejų konfigūracijų parodo tiksliai, kas pasikeitė — kiekvieną set eilutę, kuri pajudėjo. Dėl to labai lengva suprasti, ką derinimo sesija iš tikrųjų pakeitė.


Atsigavimas po „užmūrytos“ konfigūracijos

Jei FC neleidžia arm arba keistai elgiasi po įklijavimo:

1# In CLI:
2defaults nosave     # resets all settings but does NOT save — lets you verify first
3# Verify arming works in Configurator
4save
5# Now paste your last known-good diff all

defaults nosave yra atšaukiamas — save padaro jį galutiniu. Visada išbandyk prieš išsaugodamas.

Related Snippets