Co pewien czas różne osoby mnie naciskały aby skopiować a to jedną a to drugą funkcję z softu cleaflight. Niestety tak się czasami nie da, coś co wydaje się malutką funkcja używa funkcji i algorytmów które sa zakopane w całym sofcie. Ale jak to mówią "nie chce Mahomet przyjśc do góry..."
Przejrzałem ostatnie kody cleanflight i jego nową odnogę Betaflight prowadzonej przez Borisa B. i zacząłem analizować jak trudne będzie dopięcie ficzerów KFC32 do tego softu. I tak krok po kroczku i mamy status:
- to lata i to bardzo przyjemnie!
- czujniki ACC/BYRO/BARO działają - baro radzę nie używać, występuje problem jak zawsze - załączenie i kopter leci w górę.... więc najlepiej dać od razu
Kod: Zaznacz cały
set baro_hardware=0
- wbudowany eLeReS oczywiście
- wbudowane OSD
- ledy, pomiar napięcia, buzer itp.
Łatwiej chyba wymienić co nie działa:
- GPS - dorobię jeszcze ale on działa na uart4 którego inne płytki nie posiadają - dopiszę
- w/w BARO - czujnik ok ale coś znów jest raczej nie tak z fuzja ACC/BARO
- wyjścia IO
- muszę jeszcze ledy WS... przetestować, powinny działać tylko jakiś pin trzeba do tego wydelegować
..... i to chyba tyle
Firmware
Najnowszy:
betaflight_KFC32FR-3.0.1
betaflight_KFC32-2.8.1-beta-01
Starsze:
betaflight_KFC32-2.8.0-beta-01
betaflight_KFC32-2.3.0-beta-01
betaflight_KFC32-2.1.5-beta-01
- dodano obsługę płytek z MPU-6000 - kolejny prototyp
betaflight_KFC32-2.1.4-beta-01
betaflight_KFC32-2.1.3-beta-01
- poprawiono blackbox'a
- poprawki Borisa z filtrowaniem YAW
- Proszę ustawić dterm_cut_off = 80 - lepiej całość działa, dla 40 jest za duży lag.
betaflight_KFC32-2.1.2-beta-01
- poprawiłem działanie S.BUS+eleres mini dla NAZE32 - hex w środku
- działa już programowanie 1wire
betaflight_KFC32-2.1.1-beta-01
betaflight_KFC32-1.11.0-beta-01
Jak używać:
- wgrywamy firmware do płytki za pomocą KFC32-tool lub każdej innej metody ze zworką itp.
- lączymy się narzędziami od cleanfligh i tyle
Ładowanie firmware z poziomu aplikacji Cleanflight w Chrome
Aby CF konfigurator umiał ładować firmware do naszej płytki zmieniamy poniższe linie w pliku stm32.js - u mnie w lokalizacji
C:\Users\Marcin\AppData\Local\Google\Chrome\User Data\Default\Extensions\enacoimjcgeinfnnnpajinjgmkahmfgb\0.66.0_0\js\protocols\
Około linii 261 w pliku stm32.js poprawiamy case 0x414:
Kod: Zaznacz cały
case 0x414: // not tested
this.available_flash_size = 0x40000;
this.page_size = 2048;
console.log('Chip recognized as F1 High-density');
break;
W konsoli wydajemy następujące zaklęcia (częstotliwośc bazowa dla przykładu):
Kod: Zaznacz cały
feature rx_eleres
set eleres_freq=43500
save
//wracamy znów do konsoli i bindujemy poleceniem
eleres_bind
W konsoli dajemy:
Kod: Zaznacz cały
feature osd
save
Gaz na połowę i pitch w dół na 1s i mamy menu, poruszamy się pitch i roll i mamy konfigurację PID i inne funkcje w polu. poniżej 2 filmiki, ten z latania d... nie urywa bo to trzeci pakiet na tym sofcie i muszę się jeszcze przestawić.