switch-pico/pyproject.toml
Joey Yakimowich-Payne bed71f77f1 feat(wake): add controller-free USB serial wake beacon
Add a standalone Pico2W image reusing the configured nonconnectable wake
burst without Bluepad32, controller-host profiles, Classic/LE-central
roles, connection pools, pairing or writable TLV storage. Explicitly
disable and verify Classic inquiry/page scan before declaring readiness.
Keep the original controller firmware and captured wake identity unchanged.

Expose bounded SPWB1 CDC commands with exactly-once request IDs, explicit
failures and radio progress independent of serial backpressure. Add the
cross-platform switch-pico-wake script with strict preflight, bounded I/O,
no automatic rebroadcast, status-only mode and preserved uncertain-outcome
metadata. Standard USB serial requires no WinUSB/Zadig binding.

Add isolated --wake-only build/publication selection and document setup,
backup and physical-BOOTSEL recovery. Validate776 tests, focused framing
and lifecycle cases, ELF isolation and actual CDC operation on only the
new board. One burst completed in2.095s; malformed/status/reconnect input
and same-ID replay caused no additional broadcast. Original Pico untouched.
Private firmware images, console configuration and backups are excluded.
2026-09-19 22:03:17 -06:00

36 lines
1,004 B
TOML

[build-system]
requires = ["setuptools>=65"]
build-backend = "setuptools.build_meta"
[project]
name = "switch-pico-bridge"
version = "0.1.0"
description = "SDL3-to-UART host bridge and helpers for the switch-pico firmware."
readme = "README.md"
requires-python = ">=3.9"
authors = [{ name = "Switch Pico Maintainers" }]
dependencies = [
"pyserial",
"PySDL3",
"rich",
"hidapi",
"pyusb",
"libusb-package; sys_platform == 'win32'",
]
[project.scripts]
controller-uart-bridge = "switch_pico_bridge.controller_uart_bridge:main"
host-uart-logger = "switch_pico_bridge.host_uart_logger:main"
switch-pico-config = "switch_pico_bridge.config_manager:main"
switch-pico-wake = "switch_pico_bridge.wake_beacon:main"
[tool.setuptools]
package-dir = {"" = "src"}
include-package-data = true
[tool.setuptools.packages.find]
where = ["src"]
include = ["switch_pico_bridge*"]
[tool.setuptools.package-data]
switch_pico_bridge = ["controller_db/gamecontrollerdb.txt", "web/*", "web/assets/*"]