User Tools

Site Tools


en:pfw:usb_cdc_driver_for_rp2040

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:pfw:usb_cdc_driver_for_rp2040 [2025-12-02 13:34] willemen:pfw:usb_cdc_driver_for_rp2040 [2025-12-02 14:50] (current) – [Pseudo code] willem
Line 1: Line 1:
 ====== USB CDC driver for RP2040 ====== ====== USB CDC driver for RP2040 ======
  
-===== The idea=====+===== The idea =====
  
 This is a compact and universal MSP430 USB CDC driver. This is a compact and universal MSP430 USB CDC driver.
 Every effort has been made to make it portable. Every effort has been made to make it portable.
 +
 +===== What we need to do in short =====
 +
 +  * Initialising the USB hardware on the RP2040.
 +  * Receiving and responding to setup packets from the host (PC). This determines which driver the OS will load.
 +  * If the host is satisfied with the setup, then sending and receiving data packets may start.
 +
 +
 +===== Pseudo code =====
 +
 +<code>
 +hex
 +Function DEVICE-DECRIPTOR \ 18 bytes
 +12 c, 01 c, 10 c, 01 c, ( 1.10 ) EF c, 02 c, 01 c, 40 c, 66 c, 66 c, ( 6666 )
 +10 c, 66 c, ( 6610 ) 00 c, 01 c, ( vsn 1.00 ) 00 c, 02 c, 00 c, 01 c,  align
 +
 +Function CONFIGURATION-DESCRIPTOR \ 9 or 75 bytes
 +9 c,  2 c,  4B c,  0 c,  2 c,  1 c,  0 c,  80 c,  FA c, \ Maximum power = 500mA
 +8 c,  0B c,  0 c,  2 c,  2 c,  2 c,  1 c,  0 c,         \ Interface Association Descriptor - CDC 0
 +9 c,  4 c,  0 c,  0 c,  1 c,  2 c,  2 c,  1 c,  0 c,    \ Interface 1: Control - 1 - 0 -
 +5 c,  24 c,  0 c,  10 c,  1 c, ( CDC vsn 1.10 )         \ CDC Header functional
 +5 c,  24 c,  1 c,  0 c,  1 c,                           \ CDC Call management functional
 +4 c,  24 c,  2 c,  2 c,                                 \ CDC ACM functional ( two commands )
 +5 c,  24 c,  6 c,  0 c,  1 c,                           \ CDC Union functional ( one interface )
 +7 c,  5 c,  81 c,  3 c,  8 c,  0 c,  10 c,              \ Endpoint 1 IN descriptor
 +9 c,  4 c,  1 c,  0 c,  2 c,  0A c,  0 c,  0 c,  0 c,   \ Interface 2: DATA
 +7 c,  5 c,  82 c,  2 c,  40 c, 0 c,  0 c,               \ Endpoint 2 IN descriptor
 +7 c,  5 c,  3 c,  2 c,  40 c, 0 c,  0 c,  align         \ Endpoint 3 OUT descriptor
 +
 +decimal
 +Function  USB-STATE  0 ,           \ Hold current USB state in first half word: 3 = ready
 +                                   \ In second half word are memory for the 900/880 requests
 +          4 c, 3 c, 9 c, 4 c,      \ English/US = language ID
 +          115200 ,  0 c,  0 c,  8 c,  align  \ Line data: 115k2, Stop bits, Parity, Data bits
 +
 +hex
 +</code>
 +
  
en/pfw/usb_cdc_driver_for_rp2040.1764678880.txt.gz · Last modified: 2025-12-02 13:34 by willem