Skip to content

Commit 3a521fe

Browse files
chore: pre-release cleanup (gitignore, dedup PDFs, drop obsolete script)
- .gitignore: add `.intern/` so internal design notes / decisions / roadmaps stay out of the public repo on every clone, and drop the stale `examples/esp32-c6-devkitc-multi-midi2/` line that conflicted with the tracked content under that path. - library.json: extend `export.exclude` with `.intern/*` and `scripts/*` so PlatformIO never bundles them into a release zip. - docs/coverage.md: bump header from v0.1.0 to v0.2.0, refresh midi2 C99 reference to v0.3.3, rewrite the "Zero external dependencies" section as "Dependencies" (single declared dep on midi2), remove the cross-link to the internal design spec. - scripts/vendor_midi2.sh: removed. The script copied midi2/dist/midi2.{h,c} into src/ -- exactly the vendoring the v0.2.0 refactor eliminated. CMake `MIDI2_LOCAL_PATH` covers the only legitimate offline use case. - Dedup hardware datasheets across recipes that share boards, keeping one canonical copy per board: - ESP32-P4 datasheet kept in esp32-p4-devkit-bridge2-midi2/board/ - ESP32-S3 schematic kept in esp32-s3-devkitc-usb-midi2/board/ - RP2350-USB-A schematic kept in waveshare-rp2350-usb-a-midi2/board/ - T-Display S3 PDFs kept in t-display-s3-midi2/board/ - t-display-s3-shield-host-midi2/README.md updated to point at the schematic in the sibling device recipe via a relative link.
1 parent 4b5a4a8 commit 3a521fe

12 files changed

Lines changed: 27 additions & 37 deletions

File tree

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,17 @@ build-*/
1414
*.pdb
1515
*.swp
1616
*~
17-
examples/esp32-c6-devkitc-multi-midi2/
1817
CMakeCache.txt
1918
CMakeFiles/
2019
cmake_install.cmake
2120
Makefile
2221
compile_commands.json
23-
.gitignore
22+
23+
# Internal-only material that does not ship to the Arduino Library
24+
# Manager / PlatformIO Registry. Kept untracked here so contributors
25+
# do not accidentally push design notes, decision logs, or roadmap
26+
# drafts to the public repo.
27+
.intern/
2428

2529
# ESP-IDF generated artifacts and on-demand component clones.
2630
# fetch_tinyusb.sh drops the TinyUSB PR #3571 fork into idf/external/tinyusb;

docs/coverage.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
1-
# Feature Coverage Map — midi2_cpp v0.1.0 → MIDI 2.0 specs
1+
# Feature Coverage Map — midi2_cpp v0.2.0 → MIDI 2.0 specs
22

33
Maps every public midi2_cpp API to the corresponding MIDI 2.0 spec section
4-
and the backing midi2 C99 v0.3.0 function. For the cross-comparison vs
5-
AM_MIDI2.0Lib / ni-midi2 / cmidi2, see the design spec §4.
4+
and the backing midi2 C99 v0.3.3 function.
65

7-
## Zero external dependencies
6+
## Dependencies
87

9-
`midi2_cpp` depends on nothing outside its own source tree:
8+
`midi2_cpp` declares a single dependency, [midi2](https://github.com/sauloverissimo/midi2)
9+
(the portable C99 core), and resolves it through whichever package manager
10+
fits the host build:
11+
12+
- Arduino Library Manager: `depends=midi2 (>=0.3.3)` in `library.properties`.
13+
- PlatformIO: `dependencies."sauloverissimo/midi2": "^0.3.3"` in `library.json`.
14+
- ESP-IDF Component Manager: `idf_component.yml` declaration plus `midi2` in `REQUIRES`.
15+
- CMake: `find_package(midi2 0.3.3 CONFIG)` -> `FetchContent_Declare(midi2 GIT_TAG v0.3.3)` fallback.
16+
17+
Beyond midi2, nothing is pulled in by default:
1018

11-
- midi2 C99 vendored stb-style at `src/midi2.{h,c}` (one source of truth,
12-
versioned together).
1319
- No git submodules — `git clone` is the install.
14-
- No USB stack pulled in (TinyUSB, native USB, PIO-USB, libDaisy USBMidi
15-
are all caller-supplied).
16-
- No `<Arduino.h>`, `pico/time.h`, `esp_timer.h`, or any platform header
17-
in the library translation units.
20+
- No USB stack (TinyUSB, native USB, PIO-USB, libDaisy USBMidi are all caller-supplied).
21+
- No `<Arduino.h>`, `pico/time.h`, `esp_timer.h`, or any platform header in the library translation units.
1822
- No clock or RNG dependency — caller injects through public hooks.
1923

20-
Anywhere C++17 + CMake reach, the library compiles and self-tests with
21-
no network access after the initial clone.
24+
Anywhere C++17 + CMake reach, the first configure pulls midi2 once via
25+
FetchContent (or picks it up through `find_package` if installed); subsequent
26+
rebuilds and tests run offline.
2227

2328
## Platform contract
2429

@@ -232,7 +237,7 @@ calls a platform symbol it did not receive.
232237
| `ByteStreamConverter::reset()` | clear running status | re-init via `midi2_conv_init` |
233238
| `ByteStreamConverter::setGroup(g)` | change UMP group | `state->group` |
234239

235-
## Out of scope for v0.1.0
240+
## Out of scope for v0.2.0
236241

237242
- USB transport stack (TinyUSB / native USB / Adafruit_TinyUSB / Teensy
238243
USB / libDaisy USBMidi). Lives in the caller — see the Platform
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

examples/t-display-s3-shield-host-midi2/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Default `115200 8N1`.
9696
| GP38 | LCD backlight (PWM, channel 7, 22 kHz) |
9797
| GP0 (BOOT) | Hold during reset/plug-in to enter download mode |
9898

99-
The Shield's other modules (PCM5102 DAC, 2× MPR121 capacitive touch, microSD, PCA9535 I/O extender, QWIIC) are not used here; they remain available for future variants. Schematic at [`board/SCH_T-Display-S3-MIDI_V1.1.pdf`](board/SCH_T-Display-S3-MIDI_V1.1.pdf).
99+
The Shield's other modules (PCM5102 DAC, 2× MPR121 capacitive touch, microSD, PCA9535 I/O extender, QWIIC) are not used here; they remain available for future variants. Schematic at [`../t-display-s3-midi2/board/SCH_T-Display-S3-MIDI_V1.1.pdf`](../t-display-s3-midi2/board/SCH_T-Display-S3-MIDI_V1.1.pdf) (canonical copy in the sibling device recipe).
100100

101101
## Validation
102102

Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)