Komentaras iš mano pusės apie cleanflight vs baseflight. Nuomonė - mano, galit nesutikt, bendraminčių abejuose frontuose daug atsiras ;-)
Nežinau ar kam teko girdėt "nepasaldintą" istoriją apie cleanflight - t.y. kaip jis atsirado, kodėl prasidėjo nesamoningi karai. Bet dėl visa ko - aš su baseflight nuo pirmų dienų (kai dar net naze32 nebuvo - t.y. ff board), nemažai prikišęs nagus prie to, kad BF būtų toks, koks yra dabar (tiek idėjomis, tiek testavimu, tiek, galų gale, mažais patch'ais kodui). Niekad nebūdavo problemų kažkokio funkcionalumo pridėjimu, kai tai realiai veikdavo ir būdavo parašyta "teisingai" (t.y. kodo prasme - "švariai"). Buvo keli atskiri forkai, egzistavę nepriklausomai (dėl to, kad funkcionalumas nelabai įsipaišė į FC darbą, pvz. multi-LED; ar tiesiog coding-style (harakiri su savo macaroni-code)). Visi buvo +/- patenkinti. Hydra (dabartinis cleanflight "autorius") prie komandos prisijungę savu laiku. Irgi palengva darė pakeitimus (beje, kaip ir kitiems commitinantiems šiam projektui - gavo donatinto hardware, etc), pakol vieną dieną, likęs be darbo sugalvojo kad reikia viską perdaryt iš naujo. Ne tai, kad "evoliucija", bet "revoliucija" - t.y. perdaryt kodo struktūrą. Palaikančių jį buvo nedaug - nes realiai tokia restruktūrizacija neatneša nieko gero (naujų feature neatsiras, kodo perrašyt reikia daug, priežiūra sudėtingesnė). Nuo pat pradžių buvo pasakyta - tokie pakeitimai niekad neateis į "mainstream baseflight" - t.y. jie bus geriausiu atveju kaip atskiras fork'as.
Ir kažkuriuo metu Hydra "trūko plionkė" - pasakė kad padarys viską kitaip ir dėjo ant kitų. Tame nėra nieko keisto - open source idėja tam ir yra - kiekvienas gali imt projektą, vystyti sava kryptimi, viskas čia puiku. Bet ne, tas buvo daroma pačiu kreiviausiu įmanomu būdu - buvo paskelbtas karas... IRC pasipylė Hydra'os klonai, kurie trollino apie CF, prasidėjo masiniai flood forumuose + kibirai kažkokių kreivų review, palyginimų (t.y. tipo xxx žmonių review'ina bf ir cf, vienas afygienas, kitas gaidys - nors iki tol naze32+bf buvo bet kurio acro flyerio pasirinkimas - kaip netikėta, ane?). Pridaryta ir kitų nesamonių - konfigūratoriaus "pasiėmimas" kaip sau (su visu copyrightintu artworku, tuo pačiu g store link), ko pasekoje . Klonų karai tebesitesia ir toliau - tiek IRC, tiek forume.
Viena, kai yra konkurencija. Nėr blogai, kai yra alternatyvos. Bet labai blogai (visiems), kai prasideda karai, su krūvomis klonų (yra žmonių, kurie asmeniškai su Hydra ne kartą aiškinosi - t.y. čia ne vien "elektroninis" info šaltinis) bei atviras šmeižtas - tai gaunasi tik stabdis progresui.
Kas įdomiausia - neaišku, ką iš tiesų cleanflight padarė naujo ir savo. LED - poros metų senumo cGiesen patch, autotune - 1:1 nelabai veikianti copy iš bradwii, papildomi aux - senas cGiesen patch; visokie alternate PID controllers - yra baseflight nuo priešistorinių laikų (fun fact - visokios smulkmenos, kurios nepateko į baseflight dėl coding guidelines - pilnai acceptintos į cleanflight, su visais kodo makaronais, va tau ir "clean" ;-). , ką gi cleanflight turi daugiau nei baseflight eiliniam useriui - ale daužtų fanboy daugiau nei reikia. Argumentai nereikalingi, kai galima oponentą tiesiog išvadint gaidžiu =) Developeriai ten irgi neblogi - po dviejų dienų pradeda aiškintis, kodėl PR sumaišytas "+" su "-" core algoritme, atsakymas mol "nelabai supratau ką čia daro". Eilinis race condition, su visokiais lockupais ore...
Tai dabar grįžtant prie BF/CF temos - asmeniškai aš siūlau nelyst prie CF, jei tik nereikia kažko labai specifinio, ko tikrai nėra kitur. Vien jau dėl visiškos nepagarbos kitiems (t.y. configurator => closed source, rekomenduojami visokie prastos kokybės klonai ir t.t.); dėl funkcionalumo galima ginčytis. Principas "duok durniui kelią" labai gerai veikia - dramos su klonais vieną dieną išsisems... Esminių pakeitimų, kurie tikrai būtų "game-changing" (EKF, GPS-functions, etc) CF vis tiek nėra - vat ir "soooo much improved"...
Dar viena tokia (gal bus naujiena kam) įdomi dalis - baseflight turi savo "bleeding edge" variantą - uberflight. Tai galima būtų pavadint forku, bet taip nėra - tai tiesiog "mažiau testuoti feature, prieš jiems pasirodant mainline". Ten galima rast visokiausių PID kontrolerių, blackbox ir kitų dalykų, ko nėra mainline. Tai jei ką domina, bei nebijot per daug rizikuot (nes ši versija nėra taip gerai ištestuota, kaip mainline baseflight) - precompiled binary yra čia: - imat naujausią hex, flashinat su konfigūratorium, done. Kas geriausia - nereikia rūpintis dėl bet kokių suderinamumų - baseflight <==> uberflight konfigūratorius yra vienas, konfigas turi tikt be jokių pakeitimų (išskyrus retus atvejus, kai uberflight jau turi kokį feature, ko dar nėra baseflight). Mainline tuo tarpu palaiko daug stable feature. Nuo šiandien - configuratorius pilnai palaiko airplane (t.y. flying_wing, airplane mixer konfigūraciją su servomis), visus ten "oneshot" ir kt. dalykus (apie kurių naudą galima ginčytis. Feature pridedami nuolat - tiesa, jie labiau orientuoti į smulkius pakeitimus, bet nereikia sukt galvos, kad atsinaujinus firmware reik skraidyt "lėtai ir pažemiui pirmas kelias dienas, nes FW gal dirbs nestabiliai".
TL;DR: palikit cloneflight ramybėje, tegu vaikai cackinasi savo smėlio dėžėje ;-)
_________________ Nerašykit man žinučių - čia nelabai būnu. Ieškokit kitais keliais...
|