TinyUSB 0.19, një platformë USB ndër-platformë për sisteme të integruara, është tani në dispozicion. Ai ofron komponentë të platformës USB si për hostet USB (Host USB) ashtu edhe për pajisjet USB (Pajisje USB). Kodi i projektit është shkruar në C dhe shpërndahet sipas licencës MIT.
Për të rritur sigurinë, TinyUSB nuk përdor alokim dinamik të memories. Mbështeten aplikacionet me shumë fije. Për të siguruar funksionim të sigurt me shumë fije, të gjitha ngjarjet e ndërprerjes nuk përpunohen menjëherë pas marrjes së një ISR (Kërkesë për Shërbimin e Ndërprerjes), por vendosen në një radhë, e cila analizohet dhe përpunohet brenda kontekstit të aplikacionit, jo të trajtuesit të ndërprerjeve. Semaforët dhe mutekset përdoren kur aksesohen burime të përbashkëta, siç është FIFO CDC (Klasa e Pajisjeve të Komunikimit).
Stiva është e shkëputur nga sistemi operativ dhe mund të përdoret si një komponent i pavarur, i palidhur nga funksionaliteti i sistemit operativ. Modulet janë të disponueshme për integrimin e TinyUSB me FreeRTOS, RT-Thread dhe Apache Mynewt. Mbështeten veçoritë e kursimit të energjisë, të tilla si modaliteti i gjumit dhe zgjimi pas aktivitetit. Përfshihet një implementim fillestar i protokollit PD 3.0 (Power Delivery) për menaxhimin e transferimit të energjisë përmes USB Type-C.

TinyUSB ju lejon të shtoni mbështetje për pajisjen tuaj USB dhe klasat pritëse pa modifikuar pirgun USB. Klasat e pajisjeve që mbështeten tashmë nga TinyUSB përfshijnë:
- UAC2 â Klasa e audios 2.0;
- BTH HCI - Ndërfaqja e Kontrolluesit të Pritësit Bluetooth;
- CDC - Klasa e Pajisjeve të Komunikimit;
- DFU - Përditësimi i Firmware-it të Pajisjes;
- HID â Pajisje NdĂ«rfaqĂ«sore NjerĂ«zore (tastierĂ«, maus, gamepad);
- MSC â Klasa e ruajtjes masive (duke pĂ«rfshirĂ« disqet me njĂ«si tĂ« shumĂ«fishta logjike);
- MIDI - Ndërfaqe Dixhitale për Instrumente Muzikore;
- MTP/PTP - Protokolli i Transferimit të Medias;
- RNDIS, ECM (Modeli i Kontrollit tĂ« Ethernetit) dhe NCM (Modeli i Kontrollit tĂ« Rrjetit) â bashkĂ«veprimi me rrjetin nĂ«pĂ«rmjet USB-sĂ«;
- USBTMC - Klasa e Testimit dhe Matjes;
- UVC â Klasa e videos 1.5;
- WebUSB.
Klasat e mbështetura të hostit USB:
- HID - Pajisje Ndërfaqësore Njerëzore;
- MSC â Klasa e Magazinimit Masiv;
- CDC-ACM - Klasa e Pajisjeve të Komunikimit;
- FTDI, CP210x, CH34x, PL2303 - port serial mbi USB;
- Hub USB.
Versioni i ri zgjeron API-n pĂ«r pajisjet dhe hostet. Implementimi i hostit USB tani mbĂ«shtet pajisje me konfigurime tĂ« shumĂ«fishta. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r mikrokontrolluesit dhe pllakat:
- ESP32-H4, ESP32-C5, ESP32-C61;
- STM32U0, STM32WBA, STM32N6;
- AT32F405, AT32F403A, AT32F415, AT32F423;
- CH32V305 dhe CH32V20x (host USB);
- MCXA156 SDK 2.16 dhe FRDM-MCXA156.
Burimi: opennet.ru
