This repository has been archived on 2026-08-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
donglora/vendor/esp-synopsys-usb-otg/README.md
T
swaitsandClaude Opus 4.6 3102fc747a feat: add display UI with splash screen, dashboard, and RSSI sparkline
Implement full SSD1306 OLED display support:
- Splash screen on boot (1.5s) with project name, version, board
- Dashboard showing radio state, config, counters, RSSI/SNR
- RSSI history sparkline (64-sample ring buffer, 2px-wide bars)
- DisplayOn/DisplayOff host commands routed via dedicated channel
- Pure render functions against generic DrawTarget (no hardware coupling)
- Display on/off control bypasses radio task entirely

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:42:54 -06:00

45 lines
2.1 KiB
Markdown

[![crates.io](https://img.shields.io/crates/d/esp-synopsys-usb-otg.svg)](https://crates.io/crates/esp-synopsys-usb-otg)
[![crates.io](https://img.shields.io/crates/v/esp-synopsys-usb-otg.svg)](https://crates.io/crates/esp-synopsys-usb-otg)
# This is a fork of [synopsys-usb-otg](https://crates.io/crates/synopsys-usb-otg) with support for ESP32-Sx added - please use https://github.com/stm32-rs/synopsys-usb-otg when not targeting ESP32-Sx
# `synopsys-usb-otg`
> [usb-device](https://github.com/mvirkkunen/usb-device) implementation for Synopsys USB OTG IP cores.
This project is a successor to the [great work](https://github.com/mvirkkunen/stm32f103xx-usb)
started by [@mvirkkunen](https://github.com/mvirkkunen).
## Supported microcontrollers
* `STM32F429xx` (OTG_FS and OTG_HS in FS mode)
* `STM32F401xx`
* `STM32F446xx` (OTG_FS and OTG_HS in FS mode)
* `STM32F723xx` (OTG_FS and OTG_HS with internal HS PHY)
* `STM32H7xxxx` (OTG1_HS and OTG2_HS in FS mode, and OTG1_HS with external HS PHY)
* And others...
## Usage
This driver is intended for use through a device hal library.
Such hal library should implement `UsbPeripheral` for the corresponding USB peripheral object.
This trait declares all the peripheral properties that may vary from one device family to the other.
Additionally, hal should pass `fs` of `hs` feature to the `synopsys-usb-otg` library to
define a peripheral type:
* `fs` - for FullSpeed peripherals
* `hs` - for HighSpeed peripherals
Only one peripheral type can be selected at the moment.
### ULPI Transciever Delay
Some ULPI PHYs like the Microchip USB334x series require a delay between the ULPI register write that initiates
the HS Chirp and the subsequent transmit command, otherwise the HS Chirp does not get executed and the deivce
enumerates in FS mode. Some USB Link IP like those in the STM32H7 series support adding this delay to work with the
affected PHYs. Enable the `xcvrdly` feature to add this delay.
## Examples
See the [usb-otg-workspace](https://github.com/Disasm/usb-otg-workspace) repo for different device-specific examples.