Release prep - #164
Merged
Merged
Conversation
The two Baudot sketches are not part of this library's story. They are the pin-role-switching experiment -- driving an LED array, then re-roling the same pins as inputs to read it back by charge timing -- which happens to speak OSC, not an example of speaking OSC. They now live in their own repository, PinRoleSwitching, with all four of their commits replayed in order and their original authorship, dates and messages intact. That history was worth carrying rather than squashing: it holds the bench record that the sketches themselves only summarise -- the null results from pull-up clamp sensing and photodiode discharge timing, the floating-neighbour crosstalk that produced a stable and entirely fictional message, the ITA1-not-ITA2 correction, and the one-LED calibration that is the only reason the reader's output is trustworthy. The split is clean in both directions. All four commits touch Baudot files and nothing else, so the replay is lossless; and nothing left behind refers to them -- no README, BOARDS.md, BRINGUP.md or keywords.txt mention, and the CI matrix names its sketches explicitly and never included these. Removing them changes no other file and breaks no build. Still outstanding there: BaudotOscuino.ino's header points at BaudotOscuino.html, which was never committed here. Every other *Oscuino example ships its companion Web Serial page; this one's is missing from the history entirely. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
" * Written by Adrian Freed, CNMAT. Part of the CNMAT OSC library." becomes " * Written by Adrian Freed." I am no longer at CNMAT, so the line states something that is not true of me now. It appeared exactly twice, both as prose credits at the foot of a sketch's doc comment, and no occurrence remains anywhere in the tree. Deliberately untouched, because they are old and factually correct rather than stale: the 2013 copyright notices opening OSCBoards.cpp, OSCTiming.cpp and LICENSE. Those name The Center for New Music and Audio Technologies as the place the work was done and The Regents of the University of California as the copyright holder, and both were true when they were written. A current affiliation does not change who held copyright in 2013, and the notice's own terms require it to travel intact. Also left alone: the github.com/CNMAT/OSC URLs, which are where the repository is, and the README's account of where the library came from, which is history. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Both sketches gated code on a macro that is defined nowhere in the
repository, so neither block had ever been compiled by anyone. This is
BOARD_HAS_TONE again -- see the note at OSCBoards.h:34, where the same
mistake had made /tone dead in every Oscuino example.
TOUCHSUPPORT, in UDPOscuino, was hiding working code. routeTouch() is
fully written at line 254 and its three Teensy pin tables were ALREADY
wrapped correctly in #ifdef BOARD_HAS_CAPACITANCE_SENSING at 238-270; the
library ALREADY defines that macro for the right parts at OSCBoards.h:15.
Only the route registration used the phantom name, so the handler compiled
in and was then unreachable. The fix is one word, with no pin table to
invent and nothing new to verify: /c is now routed wherever the library
says the part can sense capacitance.
Confirmed on the linked binary rather than inferred from a clean compile.
arm-none-eabi-nm, Teensy 3.2:
as shipped 36148 B routeTouch, touchRead ABSENT -- the linker
dropped both, since nothing referenced them
fixed 36620 B both present, +472 B
So the handler was not merely unrouted; it never reached the image. Built
across every branch of the pin table and the negative cases: Teensy 3.0
35716 B, 3.2 36620 B and 3.6 36480 B all route /c; arduino:avr:uno 21446 B
compiles the guard out clean.
TEMPoraray, in SerialReceivewithServo, was hiding nothing worth keeping.
The symbol is a typo, and correcting the spelling would not have helped:
the body calls SoftPWMSet() from the SoftPWM library, which this sketch
does not include and never has. The branch had no working form, so its 13
lines are gone. Compiles for arduino:avr:uno, 10800 B.
Two things this does not claim. /c builds and is routed, but no pad has
been touched -- there is no hardware result here. And Teensy 3.5 is still
locked out: __MK64FX512__ is missing from the cap-sensing list at
OSCBoards.h:13, yet a touchRead() probe compiles for teensy:avr:teensy35,
so the omission looks like an oversight. Adding the define alone would be
wrong, because the #else branch would hand the 3.5 the 3.1/3.2 touch pins.
Both are recorded in TODO.md.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Assembled for a single work session over the whole release, audited against b55fcff, with every line number checked against the tree rather than carried over. The premise it was built to test -- that the "uncomment this once you have installed X" notes scattered through the recent sketches are mostly stale -- turned out to be wrong in an interesting way. That pattern appears exactly ONCE in the tree, CPX_MIC in CircuitPlaygroundSensors, and it is not stale: arduino-cli still lists Adafruit Zero PDM Library at six versions through 1.2.4, and off-by-default is deliberate, so the example compiles on a fresh machine instead of demanding a second install at the front door. It stays. What was actually stale was older and quieter -- the two phantom guards fixed in the previous commit, in sketches nobody had touched in years. The rest is not deferred wiring at all. It is the STATUS-comment discipline from BRINGUP.md:140 working as intended: unverified code says so in place. Collected, those comments are a real bench list -- the Circuit Playground's thermistor orientation and slide-switch polarity, a NanoC6 that has never been seen to answer, the XIAO C6's entire untested radio path, the four stock WiFi examples with an ESP8266 branch that has never even been compiled, the Atom JoyStick's unconfirmed button bits, PicoMate's uncalibrated colour channels, PyBadge's unmeasured MIC_GAIN default, and the M5Dial's unimplemented RFID. Two structural notes sit behind all of it. CI compiles 12 of the 51 examples, and the 39 outside it are precisely the sketches carrying those STATUS comments -- most would compile without any hardware, so widening the matrix would stop the list growing while nobody is at the bench. And seven sketches are generated from extras/webserial/boards.json, so an edit to the .ino is silently overwritten; make check catches it, and the file records which are which. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.