Ilmunen TinyUSB 0.19 projekti, mis arendab platvormideĂŒlest USB-puhvrit sisseehitatud sĂŒsteemidele. Pakutakse USB-puhvri komponente USB-hostidele (USB Host) ja ĂŒhendatud seadmetele (USB Device). Projekti kood on kirjutatud C keeles ja see levitatakse MIT litsentsi alusel.
TinyUSB-s ei kasutata mĂ€ludĂŒnaamilisi eraldamisoperatsioone, et suurendada turvalisust. Toetatakse kasutamist mitme lĂ”imega rakendustes. KĂ”iki katkestuste (ISR) sĂŒndmusi ei töödeldakse kohe, vaid need asetatakse jĂ€rjekorda, mis töödeldakse rakenduse tĂ€itmise konteksti, mitte katkestuste töötleja konteksti. Ăhiste ressursside, nagu FIFO CDC (Communication Device Class) kasutamisel, rakendatakse semafore ja mutex'e.
Puhver on iseseisev komponent, mis ei ole seotud operatsioonisĂŒsteemide funktsionaalsusega. Samuti on saadaval moodulid TinyUSB integreerimiseks FreeRTOS, RT-Thread ja Apache Mynewt-iga. Toetatakse energiatĂ”hususe vĂ”imalusi, nagu unereĆŸiimi ĂŒleminek ja Ă€rkamine aktiivsuse ilmumisel. Olemas on esialgne rakendus PD 3.0 (Power Delivery) protokollist elektrienergia edastamise haldamiseks USB Type-C kaudu.

TinyUSB vÔimaldab lisada toe oma USB-seadmeliikidele ja hostidele ilma USB-puhvrit muutmata. TinyUSB-s toetatakse juba jÀrgmisi seadmelikke klasse:
- UAC2 â Audio Class 2.0;
- BTH HCI â Bluetooth Host Controller Interface;
- CDC â Communication Device Class;
- DFU â Device Firmware Update;
- HID â Human Interface Device (klaviatuur, hiir, mĂ€ngupulti);
- MSC â Mass Storage Class (sealhulgas mitme loogilise seadmega mĂ€luseadmed);
- MIDI â Musical Instrument Digital Interface;
- MTP/PTP â Media Transfer Protocol;
- RNDIS, ECM (Ethernet Control Model) ja NCM (Network Control Model) â vĂ”rgusuhtlus lĂ€bi USB;
- USBTMC â Test and Measurement Class;
- UVC â Video class 1.5;
- WebUSB.
Toetatud USB-hostide klassid:
- HID â Human Interface Device;
- MSC â Mass Storage Class;
- CDC-ACM â Communication Device Class;
- FTDI, CP210x, CH34x, PL2303 â USB ĂŒle jĂ€rjestikuse sadama edastamine;
- USB Hub.
Uues vÀljaandes on laienenud seadmete ja hostide API. USB-hosti rakenduses on lisatud tugi mitme konfiguratsiooniga seadmete jaoks. Toetatakse mikrokontrollerite ja plaatide lisamist:
- ESP32-H4, ESP32-C5, ESP32-C61;
- STM32U0, STM32WBA, STM32N6;
- AT32F405, AT32F403A, AT32F415, AT32F423;
- CH32V305 ja CH32V20x (USB host);
- MCXA156 SDK 2.16 ja FRDM-MCXA156.
Allikas: opennet.ru
