PLAY PODCASTS
Deep Dive w/Scott: USB Host API

Deep Dive w/Scott: USB Host API

Adafruit Industries

February 18, 20222h 3m

Audio is streamed directly from the publisher (adafruit-podcasts.s3.amazonaws.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

Join Scott as he answers questions and continues work on the USB Host API. Support Adafruit by purchasing hardware from https://adafruit.com Chat with me and a lot of others on the Adafruit Discord at https://adafru.it/discord. Deep Dive happens every week. Normally Fridays at 2pm Pacific. Typically goes for two hours or more. Questions are welcome. Next week is on Friday and is the second to last deep dive from me for a while. All notes are available on GitHub with links into the videos. Thanks to @askpatrickw and @dcd for making and maintaining the notes. https://github.com/adafruit/deep-dive-notes/ 0:00 Getting started and hellos 1:15 Cats in view (both Vin and Spook ) 3:10 Housekeeping 4:36 Discord adafru.it/discord 5:36 Next week also on Friday, then 2 more before 7:20 Questions 8:30 foamyguy’s plans for deep dives 10:37 USB Host / BLE stuff checked in / CP 7.2 release plan 12:00 Desktop / CP issues resolved on github 13:12 Click in ESP speaker 13:31 LED brightness crash issue/pr 6054 15:12 Dan’s fix for CP deep sleep / USB enumeration / 5 second delay concern (in 7.2) 18:00 Pressing ‘any’ key fixed on espressive 18:25 Is there a way we can hook into that? I have VBUS sense on my S3 boards, so I can bypass that is not VBUS is present. ( see pr 6051) 19:23 What about if I want BLE after sleeping? 20:05 for the nrf52, there is a register you can check to see if VUSB is on… 20:37 improved use of git describe https://git-scm.com/docs/git-describe 21:26 the new performance stuff from micropython (fast path & lookup cache) gives a 19% performance boost in the most contrived example - compared with 7.2.0-alpha.2, a loop that just accesses a member of an object -- more deets in my latest comment on the 1.18 merge PR. 22:20 1.19 will lead to CP 8.0 22:40 6038 merge pr - should be coming shortly 23:25 7.2 will be stable in a week or two 25:15 USB OTG ( on the go ) often available if ‘native usb’ 26:25 nRF52840 USB 2.0 / product brief 29:14 pio asm - format from c, converted to 30:57 USB ‘device’ explicitly called out in the nrf52840 datasheet - not a host 31:32 checking nrf 5340 32:02 S3 can to OTG 35:55 USB Host 36:50 Tiny USB also supported by Adafruit 37:25 https://github.com/sdima1357/esp32_usb_soft_host 37:40 Helper library support for Dual USB - pico PIO USB Repo https://github.com/sekigon-gonnoc/Pico-PIO-USB/ 38:55 USB stack licensing - triggered switch to Tiny USB ( tightly coupled with CP ok here :-) ) 41:15 Once we have USB host - what does it look like in CP (pyton API side ) 42:10 i.MX RT1060 teensy 4 (evk ) 43:00 wish the dev board had better labels 44:25 https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1060-evaluation-kit:MIMXRT1060-EVK 45:00 2 usb port with embedded physical interface high speed 47:00 FPGA topics - cortex a53 and a72 - what about a9 / next to xilinx 49:00 https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html 50:53 github SymbiFlow Project X-Ray 52:05 How does the Intel adoption of Risc-V afect the FPGA progression? 53:32 fabless / efabless.com open shuttle program 55:00 Open source fpga with dual core A9 with 2 USB blocks - like imx 57:47 wish pc companies would open up all their older components to allow hardware changes without major hacks and overhauls 58:00 AMD's acquisition of Xilinx may have some effect on FPGAs as well. 59:50 Digikey detour 410-351-10 isb-otg Zybo Z7 Board Reference Manualhttps://www.digikey.com/en/products/detail/digilent-inc/410-351-10/7652757 1:03:45 https://gowinsemi.com/en/support/devkits_detail/39 The GOWIN FPGA in the board has a USB PHY. 1:05:25 hoping I can use the ST dualsynopsys-usb-otg with CP host and device 1:05:50 Dialog https://www.dialog-semiconductor.com/products/greenpak/low-power-low-cost-forgefpga 1:06:15 support for hosts in tiny usb - see “only.txt” in tinyusb github 1:15:00 USB protocol https://www.youtube.com/watch?v=wdgULBpRoXk&ab_channel=BenEater 1:16:18 usb32-s3 tech ref manual 1:17:32 Would it be smart to implement Python classes that represent HID devices at the high level? 1:18:12 usb 2.0 bus topology 1:30:51 … gap - usb host continued 1:33:50 USB host for automation of CP testing 1:39:55 usb host endpoint in and out ( and buffers ) and bidirectional control 1:42:15 ellisys and beagle tools mentioned 1:43:15 rp2040 with wifi for $15 - rp2040 for pio - S3 if you don’t need PIO 1:45:58 HID Host over BLE? wait - my brain hurts - you mean connecting a BLE keyboard to a circuit python BLE board? 1:55:40 async usb host versions? 1:56:45 examples / useful for testing / import usb_host 2:00:00 https://www.wacom.com/en-us/products/pen-tablets/wacom-intuos 2:00:42 2 weeks left with Scott 2:01:35 CP dev channel on discord 2:02:15 https://github.com/adafruit/deep-dive-notes 2:02:41 pet the cats - have a great weekend 2:03:19 end of stream