Commit Graph

33 Commits

Author SHA1 Message Date
stafur 584587d814 Resolve "crackling" sounds in analog_audio_app (#3068)
* Updated PRALINE audio processing methods to account for potential slip in 25MHz reference clock. Moved all clocks to PLLB except for CLK0 to isolate the ADC from potential EMI and clock spills from the other clocks to CLK0. Added PLL reference to Clock ui_debug display and added debug view for PLLA and PLLB. Updated PRO menu in analog_audio_app to allow for 100Hz resolution in sample rate for finer control of samplerate debugging of crackling noise artifacts. Updated ppb method and set it for account for a potential 49 Hz shift in the PRALINE crystal. Started instatiating methods for synchronized DMA transfers for the spectrogram since the FFT calculations and the LCD data updates appear to be related to the crackling noise.

* Added firmware/flash.h to .gitignore.

* Changed reference clock for start_audio_pll to 40MHz instead of ~12MHz xtal. Moved clocks around to reflect best audio quality in analog_audio_app at 3.072 MHz sample frequency.

* Ran format-code.sh.

* Removed ppb in set_sampling_frequency since it created aliasing in analog_audio_app.

* Expanded baseband_bandwidth back to 1750000 after testing since audio quality was retained.

* Updated comments to address copilot recommendations where acceptable.

* Removed firmware/flashsize.h from .gitignore as coordinated with @gullradriel.
2026-03-04 02:11:19 -05:00
Brumi-2021 4342f5c0ee Adding_WFM_AM_mode_to_Audio_App (#2644)
* Adding_WFM_AM_mode_to_Audio_App
* more precise values for cos and sin theta, fix sen_theta to sin_theta
* fix sen_theta to sin_theta
2025-05-05 17:48:01 +02:00
Mark Thompson 0b2d5f75cc Start audio DMA only in apps that use audio (#1982)
* Start audio DMA only in apps that use audio
* Rename main.cpp to main.cpp.unuse
* shrink_tx_buffer fix for transfers_per_buffer==1 scenario
2024-03-13 16:07:44 +01:00
Kyle Reed f46e20c977 Explain and clean up decimator scalars (#1422) 2023-08-30 09:05:49 -07:00
jLynx 033c4e9a5b Formatted code (#1007)
* Updated style

* Updated files

* fixed new line

* Updated spacing

* File fix WIP

* Updated to clang 13

* updated comment style

* Removed old comment code
2023-05-19 08:16:05 +12:00
Белоусов Олег 63f6a885d8 Implemented correct display of the filter indicator on the waterfall 2020-12-23 18:00:51 +03:00
furrtek 609235b19f Testing external clock detection and auto-switch
Simplified audio spectrum computation and transfer
ACARS RX in debug mode
Disabled ABI warnings
Updated binary
2018-06-12 07:55:12 +01:00
furrtek b813b32593 Added an audio FFT view in Wideband FM receive
Tried speeding up fill_rectangle for clearing the waveform widget
2018-05-21 18:46:48 +01:00
furrtek d77337dd77 Added CTCSS decoder in NFM RX
RSSI output is now pitch instead of PWM
Disabled RSSI output in WBFM mode
2017-11-28 08:52:04 +01:00
furrtek 8662ed4024 Close Call should be more accurate
Merged close call and wideband spectrum baseband processors
2017-02-01 08:53:26 +00:00
furrtek e4abcea9a3 Added bitrate option for POCSAG baseband, PWMRSSI frequency option
Split SD card wiper app
Cleanup for -Weffc++
2017-01-16 08:40:17 +00:00
furrtek 1d697d2201 Added PWM RSSI output for NBFM and WFM 2016-07-28 05:25:33 +02:00
Jared Boone fe1a6c09bb Clean up baseband processors to each have a main(). 2016-07-24 21:42:11 -07:00
Jared Boone 500a651bcf Give Processors a run() function.
So main() can call it, start a Processor linked in to the baseband binary.
2016-06-30 11:53:58 -07:00
Jared Boone 3e08318012 Pass CaptureConfig to StreamInput as pointer. 2016-04-27 10:31:37 -07:00
Jared Boone 91ee2dbb67 Move FIFO and write size to CaptureConfig structure.
Now configured from baseband, where write size and appropriate FIFO size is known.
2016-04-26 22:26:30 -07:00
Jared Boone d5e21ce972 Use CaptureConfig to share state between cores.
Remove awful FIFO_HACK.
TODO: Lots of repeated code...
TODO: Capture thread is signalled too frequently.
2016-04-23 15:07:44 -07:00
Jared Boone 7c65a2d650 Clean up baseband processor statics. 2016-01-29 16:11:00 -08:00
Jared Boone 96898f82b2 Pass IIR configs from application to baseband. 2016-01-29 15:57:20 -08:00
Jared Boone a2a169352c Rename existing IIR configs to reflect fs=48k design. 2016-01-29 15:24:31 -08:00
Jared Boone b993e3d73e Consolidate spectrum collector message handling. 2016-01-12 10:32:00 -08:00
Jared Boone 5a532f34a7 Remove extra buffer structs/copies. 2016-01-11 09:35:58 -08:00
Jared Boone 877a66ca78 Create AudioOutput singleton, from extracted BasebandProcessor code. 2016-01-10 20:25:24 -08:00
Jared Boone d821afc60d Spectrum streaming control, spectrum attributes back in each frame.
TODO: This feels kinda complex, and there's some repeated Processor code that needs to be refactored into a base class.
2016-01-10 10:42:20 -08:00
Jared Boone dcb2c46c57 Add wideband FM spectrum waterfall. 2016-01-04 17:27:18 -08:00
Jared Boone d9017530c6 Moved baseband temporary buffers back into class member variables.
Significant performance hit when declaring on stack. C++ wants to initialize std::array or even raw array with element constructors, was resulting in ~7% CPU utilization, for a buffer that was immediately written over anyway.
2016-01-03 22:31:44 -08:00
Jared Boone f2f7032615 Wideband FM configuration messages from M0. 2016-01-03 13:38:55 -08:00
Jared Boone fea5dd536f Move baseband working buffers from member variables to stack.
It's temporary, after all...
2016-01-02 12:08:21 -08:00
Jared Boone e720bfb054 Use IFIR decimation for broadcast FM receiver. 2016-01-02 10:35:23 -08:00
Jared Boone 0e04939439 Broadcast FM de-emphasis using 75us time constant. 2016-01-01 20:56:30 -08:00
Jared Boone ef315f0d92 Const/pass-by-reference a bunch more baseband stuff. 2015-12-10 12:36:12 -08:00
Jared Boone 3bed016128 BasebandProcessor interface change to pass references, not copies. 2015-12-10 11:56:16 -08:00
Jared Boone ffe829cf67 Extract WidebandFMAudio into separate files. 2015-08-27 13:19:34 -07:00