Deep Dive w/Scott: USB Host Featherwing + PyCascades practice #adafruit
Channel: Adafruit Industries
Date: 2024-04-06

Join Scott as he continues working on USB Host Featherwing support, practices his PyCascades talk and answers questions.

Visit the Adafruit shop online - http://www.adafruit.com

https://2024.pycascades.com/
https://github.com/tannewt/presentations/tree/main/20240407-pycascades

0:00 getting started
1:40 USB Host Feathgerwing today
2:09 Hello - start from the beginnng
4:13 Py Cascades this weekend
12:09 Cutting the USB cord
13:00 Clue CircuitPython board introduction
13:40 circuitpython.org
14:12 Download .uf2 file to the Clue as a usb drive
15:30 boot CP to see code.py
16:06 open and edit code.py
16:28 dev serial by id and tio to 
17:10 press control-c and any key - to get to repl
18:00 What makes a workflow
19:00 Connectivity USB, Bluetooth (BLD) and WiFi
20:39 Workflow status and decoder icons
21:50 Still need a usb cable to program bootloaders
22:49 use circuitpython.org and use open installer
24:04 full install with usb serial
25:35 add wifi credentials
26:39 http :// circuitpython.local 
27:18 redirect to device specific browser
28:56 eject to leave USB
29:17 editing via code.circuitpython.org 
30:48 File Glider - basic editing Android and iOS
32:30 pairing
33:08 Bluefruit Connect - serial connection Android and iOS
33:56 PyLeap - install whole project on device
34:34 Behind the scenes - Workflow Documentation  MDNS / HTTP API 
35:47 App source links 
36:00 Status
37:23 Links
43:56 USB Host featherwing MAX3421E - adding CP support
46:23 TinyUSB and Arduino supported already
47:06 SparkFun USB-C Host Shield - MAX3421E
48:53 SPI bus hoops to jump through
49:47 CP code example
51:00 tinyusb 'tuh' is Tiny Usb Host
52:17 tinyusb board support tinyusb/hw/bsp/rp2040/family.c
54:41 setting chip select line
55:00 disable / enable interrupt pin
55:10 SPI transfer
1:00:15 Learn guide may exist - 
1:01:01 differenced from USB-Host Feather 
1:02:32 target: RP2040 DVI output with USB featherwing
1:05:53 bus locking issues
1:10:00 background tasks
1:11:56 using separate task to supliment smaller interrupt handler stack
1:15:00 RTOS / ~zephyr diversion for thread/background support
1:21:55 factor out the delayed interrupt handler call - needed in all the ports
1:30:00 if you want multiple devices, just use a HUB
1:37:47 test with test keyboard
1:44:10 checkpoint on success or when about to leave :-)
1:45:25 push to github
1:59:09 wrap up / last minute

-----------------------------------------
LIVE CHAT IS HERE! http://adafru.it/discord
Subscribe to Adafruit on YouTube: http://adafru.it/subscribe
New tutorials on the Adafruit Learning System: http://learn.adafruit.com/
-----------------------------------------