diff options
| author | Saulo VerĂssimo <[email protected]> | 2026-03-24 23:38:36 -0300 |
|---|---|---|
| committer | Saulo VerĂssimo <[email protected]> | 2026-05-12 11:07:44 -0300 |
| commit | d5c5ac586bfdbf53e18a8cdbb11b978f53b6d059 (patch) | |
| tree | 2cbcefc824ad76a3aeca6c7b06af1cbee1c68777 /hw | |
| parent | 290470bda38ce75bbadcce8939435953ca483269 (diff) | |
example: add MIDI 2.0 Host example with display (midi2_host)
Add Host example that receives UMP from a MIDI 2.0 Device via PIO-USB
and displays received messages on a SSD1306 OLED (I2C, 128x64).
Features:
- Boot checklist on display (PWR, TinyUSB, USB bus, Device, Descriptor,
Alt Setting UMP, Mount, Receiving)
- Decode and display all MIDI 2.0 Channel Voice messages
- PIO-USB Host on rhport 1 (GP12/GP13 for Waveshare RP2350-USB-A)
- SSD1306 display via I2C0 (GP4=SDA, GP5=SCL)
Also add board definition for Waveshare RP2350-USB-A.
Tested: Waveshare RP2350-USB-A (Host) receiving UMP from Raspberry Pi
Pico (Device) via USB cable, notes displayed on SSD1306 OLED
Diffstat (limited to 'hw')
| -rw-r--r-- | hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.cmake | 2 | ||||
| -rw-r--r-- | hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.h | 49 |
2 files changed, 51 insertions, 0 deletions
diff --git a/hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.cmake b/hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.cmake new file mode 100644 index 000000000..e888c7fb3 --- /dev/null +++ b/hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.cmake @@ -0,0 +1,2 @@ +set(PICO_PLATFORM rp2350-arm-s) +set(PICO_BOARD waveshare_rp2350_usb_a) diff --git a/hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.h b/hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.h new file mode 100644 index 000000000..0af8a695f --- /dev/null +++ b/hw/bsp/rp2040/boards/waveshare_rp2350_usb_a/board.h @@ -0,0 +1,49 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2026 Saulo Verissimo + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * This file is part of the TinyUSB stack. + */ + +/* metadata: + name: Waveshare RP2350-USB-A + url: https://www.waveshare.com/wiki/RP2350-USB-A +*/ + +#ifndef TUSB_BOARD_H +#define TUSB_BOARD_H + +#ifdef __cplusplus + extern "C" { +#endif + +//--------------------------------------------------------------------+ +// PIO_USB +//--------------------------------------------------------------------+ +// Waveshare RP2350-USB-A: PIO-USB on GP12 (D+) / GP13 (D-) +// PICO_DEFAULT_PIO_USB_DP_PIN already defined in SDK board header + +#ifdef __cplusplus + } +#endif + +#endif |
