Myślę, że twoje życzenie się nie spełni. Mam na to nadzieję, ponieważ posiadanie tylko jednego miejsca dla wszystkich bibliotek Arduino, bez bibliotek nie byłoby dozwolone, a wszystkie te biblioteki byłyby zmuszone do przestrzegania wszystkich komercyjnych standardów jakości, testowania i dokumentacji (+ jakość kodu, skuteczność i czytelność) oznacza, że tylko profesjonaliści i podobne wykwalifikowane zespoły będą mogły publikować niektóre biblioteki Arduino, a wszystko to będzie zarządzane przez jeden podmiot, który wymusi usunięcie funkcjonalnie zduplikowanych lub podobnych bibliotek. I taki byt sonerował, a później stał się zły.
Lubię Arduino za to, że jestem wolny, a to oznacza również, że mogę pisać bibliotekę obsługującą niektóre funkcje (z których chcę korzystać) niektórych urządzeń (które mam, planuję kupić lub chcę zrobić sam - nawet bardzo eksperymentalne i może niestabilne, ale dla mnie zabawne).
Gdyby wasz Big Central Authority był skuteczny, wybrałbym inną darmową platformę, zamiast tego zostałem pozwany za mniej niż doskonały i certyfikowany komercyjnie wynik mojego hobby z elektroniką i zmuszony do pracy dla ich, a NIE moich celów w MOIM wolnym czasie.
A jeśli twój Big Central Athority nie zmusiłby mnie do przymusowej pracy dla nich, to co zrobiłbyś z moją biblioteką umożliwiającą jedno specjalne użycie jakiegoś wspólnego sprzętu i o tym, że udostępniam go każdemu, kto tego chce, nawet jeśli nie w pełni rozwiązuję całą funkcjonalność HW w profesjonalnej materii i udokumentuję tylko tyle, że będę mógł swobodnie spędzać wolny czas z dokumentacją. A co, jeśli powstałaby inna biblioteka dla tego samego sprzętu, która umożliwiłaby inną część funkcjonalności lub użyłaby innego API i innego podejścia do całej problematyki?
Mianowicie kupiłem moduł 7-segmentowy multi i była od niego „oficjalna biblioteka” od producenta. Zrobiłem inną bibliotekę dla tego samego modułu. Co teraz? Czy moja biblioteka powinna znajdować się w centralnym repozytorium jako „jedyna biblioteka dla tego sprzętu”, czy powinna być „oficjalna od producenta”? Zauważ, że gdyby były oba, zniszczyłbyś żądany „jeden i tylko jeden” punkt biblioteki. Jeśli odrzucisz producenta, to „jedynemu” brakowałoby wielu funkcji, takich jak zintegrowany bufor liczb, prosty interfejs obiektowy, prosty przykład, jak go używać, i istniałaby silna zależność od jednego określonego zegara i ogólnego nie-obiektowy, po prostu funkcjonalny interfejs API, który wymagałby od użytkownika podzielenia liczb całkowitych na pojedyncze cyfry - nie brzmi to zbyt dobrze. Jeśli nie wyłączysz mojej biblioteki, użytkownik będzie miał powyższe, ale jego wyświetlacz odświeży tylko 10x na sekundę z miganiem i pozostawianiem duchów innych cyfr w dowolnym miejscu, przy pełnym wykorzystaniu procesora, a dokumentacja będzie głównie w języku chińskim. A użytkownik przegapiłby częstotliwość odświeżania 100x na sekundę prawie bez użycia procesora, ładne czyste cyfry ORAZ znaki (potencjalnie również zdefiniowane przez użytkownika). - Też nie dobrze.
W obecnym stanie chaosu użytkownik (może ty lub ktokolwiek inny) może korzystać z biblioteki, która jest lepiej dostosowana do jego potrzeb (czy to prostota i natywna obsługa liczb całkowitych, czy to czyste szybkie odświeżanie i niskie zużycie procesora) lub połączyć oba te elementy razem, trzecie miejsce dzięki szybkiemu odświeżaniu ORAZ prostej manipulacji liczbami całkowitymi ORAZ zdefiniowanemu przez użytkownika zestawowi znaków, z ładnym API obiektu i bogatą dokumentacją. Potrzebuje tylko jednej osoby, która ma trochę czasu i poświęcenia, aby ułatwić początkującym, a niektóre umiejętności angielskiego i podstawową znajomość przedmiotów oraz sposób pakowania „oficjalnych bibliotek Arduino”, aby IDE mogło je łatwo zaimportować. (I taka osoba powinna to zrobić i wnieść do programu do tworzenia bibliotek Arduino).
Nie zrobiłbym tego - dla moich potrzeb funkcjonalny interfejs API jest o wiele lepszy i prostszy w użyciu, pobiera mniej bajtów z pamięci i mniej cykli procesora i nie mam potrzeby ulepszania biblioteki w sposób, którego nie używałbym. Nie używam również Arduino IDE, używam prostego Makefile do budowania i przesyłania programów, dzięki czemu mogę łatwo używać dobrego edytora tekstu (w moim przypadku vim) i nie muszę walczyć z parodią IDE-Notepad.
Pod Wielkim Urzędem Centralnym wzmacniającym twój model w ogóle nie dbam o używanie Arduino, a ty w ogóle utkniesz z chińską wersją (ponieważ nie byłoby jej tam z powodu braku dobrej angielskiej dokumentacji i odpowiedniego formatu pakietu) .