Commit Graph

202 Commits

Author SHA1 Message Date
Allen Hill 66bbf8639e Parameterise Peripheral by its Devices and add CDChanger as one 2026-06-27 10:29:34 -07:00
Allen Hill d98cc8acad Add C++ Bus class for the physical layer interface 2026-06-25 20:40:10 -07:00
Allen Hill 67ba8e774c fix some clang-tidy warnings 2026-06-25 18:17:09 -07:00
Allen Hill 1877bb0658 Add C++ Peripheral class 2026-06-25 18:16:38 -07:00
Allen Hill 02b370dd06 Port Queue to C++
Some knock-on changes to keep a simple design:
- Bake the data array into AVCLAN_frame_t
- Bundle the response/reaction with AVCLAN_frame_t
    - (Needed to maintain correct/simple ownership semantics with the
      cache and outgoing/incoming queues)
- Switch status frame update ticks to use a regular
  cache-originating/owned frame
2026-06-25 14:28:19 -07:00
Allen Hill 77ff4652fd Prep for C++ port 2026-06-23 18:29:49 -07:00
Allen Hill 12ddd3d3c0 use out/build for preset build directory 2026-06-23 17:51:47 -07:00
Allen Hill c895034bb2 Update copyright headers to use SPDX id's 2026-06-23 17:51:29 -07:00
Allen Hill 0b0c9335f9 Decouple hardware specific code from generic, agnostic code 2026-06-23 17:29:52 -07:00
Allen Hill fb130559e2 Reorganize code in prep for hardware decoupling and port to C++
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 18:13:34 -07:00
Allen Hill d4e05a6da9 Update devcontainer startup to consistently chown passed-thru usb devices 2026-06-22 17:33:58 -07:00
Allen Hill 8141bd3f15 update README 2026-06-22 12:16:06 -07:00
Allen Hill d717855a63 reorg hardware folder for v2 dev 2026-06-21 18:31:06 -07:00
Allen Hill 024acdc779 Switch to a python based [streaming] packet capture setup
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 15:23:25 -07:00
Allen Hill 2a195972a8 Add triple-press for skip back 2026-06-21 14:24:02 -07:00
Allen Hill c8a3797b82 Tweak debug play/pause test 2026-06-20 20:32:03 -07:00
Allen Hill d6340d41a3 Stop "playing" after 2 failed status updates 2026-06-20 20:30:52 -07:00
Allen Hill 796c868255 Only play (headset) on after first pause 2026-06-20 20:29:49 -07:00
Allen Hill 355b01964f Properly fix headset functions when there's bus activity 2026-06-21 14:21:35 -07:00
Allen Hill 59b8bd0a54 Delay starting status timer until state has been normalized 2026-06-18 19:58:50 -07:00
Allen Hill 0464261b6e Only "stop playing" if we ARE playing 2026-06-18 19:58:50 -07:00
Allen Hill 8350f1d426 Resolve/unlatch a latched comparator 2026-06-18 19:58:50 -07:00
Allen Hill aefd539715 Improve periodic status reporting (tune interval better, reset count when changing time) 2026-06-18 19:58:50 -07:00
Allen Hill c4648694fe reduce scope/improve locality of response arrays 2026-06-18 19:58:50 -07:00
Allen Hill 981bbb68e3 use direct instead of pointer access for cd track/min/sec 2026-06-18 19:58:50 -07:00
Allen Hill 6f61cf11b3 reorg some functionality 2026-06-18 19:58:50 -07:00
Allen Hill dd3406c056 add more static annotations 2026-06-18 19:58:50 -07:00
Allen Hill 95925b563a Stop playing if nobody's listening 2026-06-18 19:58:50 -07:00
Allen Hill 26b0d6c55f start/stopEvent bodies should be in atomic blocks 2026-06-18 19:58:50 -07:00
Allen Hill d054806567 update ignores 2026-06-18 19:58:50 -07:00
Allen Hill c95ac93ca7 PIT shouldnt start off enabled 2026-06-18 19:58:50 -07:00
Allen Hill fee74e05c8 Add headset function control 2026-06-18 19:58:50 -07:00
Allen Hill e8082fa249 more dissector updates
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 19:58:50 -07:00
Allen Hill 0830cf06dc Support fast-forward/rewind 2026-06-18 19:58:50 -07:00
Allen Hill 60d39c1c2f Correctly respond to button actions (CMD_SW state report) 2026-06-18 19:58:50 -07:00
Allen Hill 09782495ab Improve/correct several response bodies 2026-06-18 19:58:50 -07:00
Allen Hill c366454c8f Fix mutebus and improve bool literal hygiene 2026-06-15 12:52:58 -07:00
Allen Hill da17c724d6 Fix track change logic (track is/should be serialized as BCD) 2026-06-15 18:52:21 +00:00
Allen Hill c591e87c98 Tweak/fix(?) Initial/Playback/Loading responses 2026-06-13 19:42:05 +00:00
Allen Hill 6a9b8affa2 Fix some safety/ergonomic issues 2026-06-13 19:28:56 +00:00
Allen Hill 3d0f92c824 Shift state machine from main loop to driver file 2026-06-13 19:27:55 +00:00
Allen Hill 819058c8a0 more dissector improvements 2026-06-13 11:58:47 -07:00
Allen Hill 051d8dbe99 Refactor cmake/presets for easier serial usb device selection 2026-06-11 19:33:06 -07:00
Allen Hill c2440d5118 Refactor frame dissector to improve readability/future expansion
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 19:21:40 -07:00
Allen Hill 83a614ed3b More dissector updates
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 18:31:22 -07:00
Allen Hill 6e108d07a7 update dissector 2026-06-11 17:24:34 -07:00
Allen Hill e8630557d7 chown usb device after creating container 2026-05-16 01:29:52 +00:00
Allen Hill c0bb9c4018 Use bool consistently now that we're on C23 2026-05-15 18:28:54 -07:00
Allen Hill 9fbaa7a55f Flatten msg triage switches to dispatch on first 3 bytes together (as uint32_t) 2026-05-15 18:28:54 -07:00
Allen Hill 79516796d5 Replace iffy bitfield use with uin8_t fields and enums 2026-05-15 18:28:54 -07:00