Spaces:
Running
Running
Commit History
-
fix: clap the RIGHT antenna into the held LEFT (was the non-colliding mirror)
RemiFabreBoth SDKs order antennas [right, left] (init pose [-0.1745, +0.1745]). My Python calibration wrote antennas=[a,b] assuming index 0 was LEFT — it is RIGHT — so the motion I recorded clean decodes from was right-slams/left-held. The JS app's setAntennasDeg(right,left) was called fixed-first/moving-second, which slammed the LEFT antenna: the mirror image, which does NOT collide on this robot (confirmed by Rémi). Now the right antenna slams (0->54deg) into the held left (-39deg), matching the validated motion. Re-confirmed on hardware: strong click (mic peak 0.146 vs 0.004 for the mirror). Added a gentle preroll ramp into the rest pose so the held antenna doesn't snap. Renamed profile fields (heldDeg/slamRestDeg) + settings label to match.02264c2 -
tune: robust live detector + calibrated robot clap from hardware test
RemiFabreReal robot-clap audio (tools/robot_clap_test.py, replayed through the live StreamingOnsetDetector) revealed two issues, both now fixed: - Live detector fired on mid-level strays the offline detector rejected via its global-peak threshold. Added a decaying peakRatio gate + raised default refractory to 180ms so echoes between real clicks are dropped. New streaming.test.js locks in the live path (incl. ringing-echo rejection). - The last clap rang because the return-to-pose goto jerked the still-vibrating antenna. RobotTapper now holds a settleMs tail after the final clap. - Calibrated clap: contact 54deg + 70ms hold = clearly audible/detectable. HELLO and SOS now decode 21/21 and 12/12 through the live path on hardware.fa08634 -
feat: initial Reachy Mini Morse Code app
RemiFabreTalk to Reachy Mini in Morse: the robot transmits by clapping its antennas (each hit = an audible click), the phone/laptop transmits with beeps, and any device (or a second Mini) decodes incoming hits live through its mic. - Onset-only impulse wire code (dot=1 tap, dash=2 taps) so robot clicks, phone beeps and robot<->robot all share one detector. - Transient-onset detector ported from the Marionette audio-sync tests (highpass -> 5ms energy -> spectral flux -> peak pick), offline + streaming. - Compose / Listen / Learn UI, mobile-first, host-shell + CDN SDK (sdk: static). - 42 unit tests (codec, detector round-trip, view DOM) + browser smoke tests.843a4b2