TinyUSB 0.19, multiplatformní USB stack pro vestavěné systémy, je nyní k dispozici. Poskytuje komponenty USB stacku pro USB hostitele (USB Host) i USB zařízení (USB Device). Kód projektu je napsán v jazyce C a distribuován pod licencí MIT.
Pro zvýšení bezpečnosti TinyUSB nepoužívá dynamickou alokaci paměti. Jsou podporovány vícevláknové aplikace. Pro zajištění bezpečného vícevláknového provozu nejsou všechny události přerušení zpracovávány okamžitě po přijetí ISR (Interrupt Service Request), ale jsou umístěny do fronty, která je analyzována a zpracovávána v kontextu aplikace, nikoli v obslužné rutině přerušení. Semafory a mutexy se používají při přístupu ke sdíleným zdrojům, jako je například FIFO CDC (Communication Device Class).
Zásobník je abstrahován z operačního systému a lze jej použít jako samostatnou komponentu, nevázanou na funkce operačního systému. K dispozici jsou moduly pro integraci TinyUSB s FreeRTOS, RT-Thread a Apache Mynewt. Jsou podporovány funkce pro úsporu energie, jako je režim spánku a probuzení při aktivitě. Součástí je i počáteční implementace protokolu PD 3.0 (Power Delivery) pro správu přenosu energie přes USB Type-C.

TinyUSB vám umožňuje přidat podporu pro vaše vlastní USB zařízení a hostitelské třídy bez nutnosti úpravy USB stacku. Mezi třídy zařízení, které TinyUSB již podporuje, patří:
- UAC2 — Zvuková třída 2.0;
- BTH HCI - Rozhraní hostitelského řadiče Bluetooth;
- CDC - Třída komunikačního zařízení;
- DFU - aktualizace firmwaru zařízení;
- HID — Zařízení lidského rozhraní (klávesnice, myš, gamepad);
- MSC — třída velkokapacitních úložišť (včetně disků s více logickými jednotkami);
- MIDI - Digitální rozhraní pro hudební nástroje;
- MTP/PTP - protokol pro přenos médií;
- RNDIS, ECM (Ethernet Control Model) a NCM (Network Control Model) – síťová interakce přes USB;
- USBTMC - Třída testování a měření;
- UVC — třída videa 1.5;
- WebUSB.
Podporované třídy USB hostitelů:
- HID - Zařízení s rozhraním pro osoby;
- MSC — třída velkokapacitního úložiště;
- CDC-ACM - Třída komunikačního zařízení;
- FTDI, CP210x, CH34x, PL2303 - sériový port přes USB;
- USB Hub.
Nová verze rozšiřuje API pro zařízení a hostitele. Implementace USB hostitele nyní podporuje zařízení s více konfiguracemi. Byla přidána podpora pro mikrokontroléry a desky:
- ESP32-H4, ESP32-C5, ESP32-C61;
- STM32U0, STM32WBA, STM32N6;
- AT32F405, AT32F403A, AT32F415, AT32F423;
- CH32V305 a CH32V20x (USB hostitel);
- MCXA156 SDK 2.16 a FRDM-MCXA156.
Zdroj: opennet.ru
