Commit Graph

37 Commits

Author SHA1 Message Date
pstruebi 7c0d5405fc feat: add secondary radio status reporting and startup initialization improvements
- Expose secondary multicaster status in /status endpoint with dedicated "secondary" block containing runtime and persisted settings
- Initialize Radio 2 checkbox state from backend streaming status to reflect active state on frontend load
- Add I2C register verification after write operations with i2cget to confirm configuration
- Set ADC mixer level to 60% on startup via amixer command
- Preserve backward compatibility by
2025-11-20 14:19:18 +01:00
pstruebi 9bfea25fd2 feat: add dual-radio analog input mode with independent channel configuration
- Added "Analog" mode to audio source options alongside Demo, USB, and Network
- Implemented dual-radio support for analog inputs (Radio 1 and Radio 2) with separate quality, timing, and metadata settings
- Filter analog devices (ch1/ch2) from USB device list to prevent conflicts between modes
- Added per-radio controls for stream quality, broadcast code, assistive listening flags, presentation delay, and RTN
- Introduce
2025-11-19 12:18:50 +01:00
pstruebi 690d31559b fix demo autostart 2025-11-19 09:34:56 +01:00
pstruebi 1b744d52d8 refractori to use one common radio_init for both primary and secondary radio 2025-11-17 18:12:28 +01:00
pstruebi 572eb4b600 Merge branch 'feature/analog_input' of ssh://ssh.pstruebi.xyz:222/auracaster/bumble-auracast into feature/analog_input 2025-11-17 15:06:36 +01:00
pstruebi 25fa781c80 implement random add;
implement setting of i2c cmds on startup
2025-11-17 15:04:19 +01:00
Paul Obernesser c6b67da3d3 Fixes asound conf to record 2 streams at a time, needs the same ipc_key. 2025-11-17 14:52:33 +01:00
Paul Obernesser bbdde02a0d Fixes asound conf to record 2 streams at a time, needs the same ipc_key. 2025-11-17 14:50:06 +01:00
pstruebi f356c13b98 refactor: consolidate dual-broadcaster state management
- Removed StreamerWorker thread wrapper in favor of direct async operations with module-level multicaster instances
- Split settings persistence into primary and secondary caches (SETTINGS_CACHE1/2) with dedicated load/save functions
- Removed unused imports and simplified initialization logic by inlining worker coroutines into API endpoints
2025-11-14 16:18:58 +01:00
pstruebi d932d07e7e tune consumption of samples 2025-11-14 15:53:55 +01:00
pstruebi 204e287075 cleaned up - implementing adaptive resampling - work in progress 2025-11-13 18:02:19 +01:00
pstruebi 178f75e735 feat: configure PCM1862 differential inputs and optimize audio buffer settings
- Added PCM1862 I2S interface setup with differential input configuration via I2C
- Reduced audio buffer latency by decreasing period_size from 240 to 120 samples (5ms to 2.5ms)
- Updated buffer_size to 360 samples for both channels to maintain stable audio capture
2025-11-12 18:01:12 +01:00
pstruebi e9e5a190f6 tweak the adaptive frame dropping a little further 2025-11-11 16:16:37 +01:00
pstruebi a6e4ff9df9 fix: correct static drop threshold for drift compensation
- Changed static_drop_ms from drift_threshold_ms to 2ms for more accurate frame dropping behavior
- Removed outdated cooldown comment that no longer matches the implementation
2025-11-07 12:42:11 +01:00
pstruebi 82cbe6c1b7 refactor: simplify ALSA audio configuration and improve device detection
- Replaced complex multi-PCM asound.conf with streamlined dsnoop-based ch1/ch2 devices using matched 5ms periods
- Updated sounddevice utilities to recognize dsnoop and hw:X,Y patterns for better device filtering
- Adjusted audio input latency parameters to align with new ALSA period configuration
2025-11-07 12:37:00 +01:00
pstruebi a83ca982cf add devicetree overlay for i2s and asound.conf 2025-11-05 18:06:53 +01:00
pstruebi c0ce8eeebe add devicetree overlay for the pcm1862 2025-11-05 14:56:07 +01:00
pstruebi 72587c20cc comment out radio reset for now 2025-11-05 14:55:48 +01:00
pstruebi 98dd00e653 Implement adaptive frame dropping (#10)
- Implement adaptive frame dropping to prevent latency from accumulating
- small packets are dropped and a crossfade is used to hide the dropping.
- still audible in some situations

Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/10
2025-11-04 17:16:33 +01:00
pstruebi 5a1e1f13ac feat: improve audio streaming UI and configuration (#11)
- Renamed "AES67" mode to "Network" for clearer user understanding
- Added structured stream controls with consistent start/stop buttons and status display
- Changed presentation delay input from microseconds to milliseconds for better usability
- Restricted retransmission (RTN) options to valid range of 1-4
- Added help tooltips for assisted listening and immediate rendering options
- Fixed portaudio configuration to enable ALSA support and remove

Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/11
2025-10-31 10:46:42 +01:00
pstruebi 00a832a1fd Merge branch 'main' of ssh://ssh.pstruebi.xyz:222/auracaster/bumble-auracast 2025-10-14 13:46:06 +02:00
pstruebi 34d2c06cc0 chore: remove certificate serial number tracking file 2025-10-14 13:45:29 +02:00
pstruebi 37984b028b refactor: add device cache refresh and rename PipeWire input listing functions 2025-10-06 13:00:09 +02:00
pstruebi 430fb1009d bugfixes/prepare_for_first_unit (#8)
- update ui
- implement different features like restart
- bugfixes

Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/8
2025-10-06 12:16:39 +02:00
pstruebi a9ea04ed87 feature/autostart (#7)
implement auto restart of last stream
fix aes67 streaming
basic webinterface
and many more

Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/7
2025-09-24 17:06:46 +02:00
pstruebi 26cd6d5c56 update radme and service 2025-09-03 14:44:56 +02:00
pstruebi 482de23254 fix: remove network.target dependency from auracast service unit file 2025-09-03 14:27:21 +02:00
pstruebi 64f2626b4f add case temperature readout 2025-09-03 11:57:25 +02:00
pstruebi 69cde553cd feat: add retry loop for USB input detection to match AES67 behavior 2025-09-02 14:14:35 +02:00
pstruebi 0d72804997 feature/network_audio (#6)
- make the device work standalone with webui
- add support for aes67
- may more things

Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/6
2025-08-27 12:43:35 +02:00
pstruebi c368fd5c85 add a docker compose test file which can be used to stream audio continuously 2025-05-07 11:51:56 +02:00
pstruebi d35a8bee2c networking/wireguard_container (#5)
Add container with wireguard config, improve general setup with poetry

Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/5
2025-04-14 09:32:24 +02:00
pstruebi 8ea7aeb412 restrucuture_for_cloud (#4)
- update multicast_server
- modify config models
- add dockerfile and docker compose

Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/4
2025-03-19 13:00:13 +01:00
pstruebi 948f3a1d90 small adaptions in multicast client and server 2025-03-06 10:32:16 +01:00
pstruebi 419a65ba09 refractoring/auracast_config (#3)
- use pydantic for configuration management

Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/3
2025-03-05 18:00:26 +01:00
pstruebi b8b4c82be0 fix a bug were lc3 streams wouldnt stop 2025-03-04 13:42:12 +01:00
pstruebi dc8b6cc66e feature/precode (#2)
- Implent support to play precoded files
- Implement a basic client -server architecture

Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/2
2025-03-04 10:21:53 +01:00