Commit Graph

223 Commits

Author SHA1 Message Date
f4exb 72e58534e3 Web API: BFM and DSD demod fixes. SSB demod: change clipping limiter constants 2018-05-24 18:23:08 +02:00
f4exb 8d7b581879 BFM demod: implemeted WEB API 2018-05-23 14:56:29 +02:00
beta-tester 8dca2d7b28 uniformed date format in Broadcast FM Demod 2018-05-11 11:35:10 +02:00
f4exb c43ecc8afe Channel Rx plugins: use liberation font 2018-05-05 18:12:05 +02:00
f4exb e206d65283
Merge pull request #162 from jigpu/spelling-fixes
Spelling fixes
2018-04-22 07:45:20 +02:00
f4exb a099b05fb6
Merge pull request #164 from jigpu/memleak-fixes
Memleak fixes
2018-04-22 07:40:58 +02:00
Jason Gerecke 1eaae0de30 BFM demod: Delete the SpectrumVis when destroying BFMDemodGUI
Take care of a pair of memory leaks that occur when the BFM demod GUI
is closed.

==786== 19,952 (24 direct, 19,928 indirect) bytes in 1 blocks are definitely lost in loss record 7,065 of 7,081
==786==    at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
==786==    by 0x54C82ED: allocate (new_allocator.h:111)
==786==    by 0x54C82ED: allocate (alloc_traits.h:436)
==786==    by 0x54C82ED: _M_get_node (stl_list.h:383)
==786==    by 0x54C82ED: _M_create_node<FFTWEngine::Plan* const&> (stl_list.h:572)
==786==    by 0x54C82ED: _M_insert<FFTWEngine::Plan* const&> (stl_list.h:1801)
==786==    by 0x54C82ED: push_back (stl_list.h:1118)
==786==    by 0x54C82ED: FFTWEngine::configure(int, bool) (fftwengine.cpp:35)
==786==    by 0x4F4590B: SpectrumVis::handleConfigure(int, int, FFTWindow::Function) (spectrumvis.cpp:206)
==786==    by 0x4F459EE: SpectrumVis::handleMessage(Message const&) (spectrumvis.cpp:170)
==786==    by 0x548346C: BasebandSampleSink::handleInputMessages() (basebandsamplesink.cpp:21)
==786==    by 0x69E1615: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQt5Core.so.5.10.1)
==786==    by 0x5497D4B: MessageQueue::push(Message*, bool) (messagequeue.cpp:52)
==786==    by 0x33F9D61A: BFMDemodGUI::BFMDemodGUI(PluginAPI*, DeviceUISet*, BasebandSampleSink*, QWidget*) (bfmdemodgui.cpp:352)
==786==    by 0x33F9D985: BFMDemodGUI::create(PluginAPI*, DeviceUISet*, BasebandSampleSink*) (bfmdemodgui.cpp:50)
==786==    by 0x33FB035D: non-virtual thunk to BFMPlugin::createRxChannelGUI(DeviceUISet*, BasebandSampleSink*) (bfmplugin.cpp:57)
==786==    by 0x4F47F19: DeviceUISet::loadRxChannelSettings(Preset const*, PluginAPI*) (deviceuiset.cpp:201)
==786==    by 0x4EA51EA: MainWindow::loadPresetSettings(Preset const*, int) (mainwindow.cpp:575)
==786==    by 0x4EAC81B: MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) (mainwindow.cpp:176)
==786==    by 0x10A49B: runQtApplication(int, char**, qtwebapp::LoggerWithFile*) (main.cpp:120)
==786==    by 0x109B38: main (main.cpp:131)
==786==
==786== 54,096 (112 direct, 53,984 indirect) bytes in 1 blocks are definitely lost in loss record 7,075 of 7,081
==786==    at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
==786==    by 0x69E9162: QObject::QObject(QObject*) (in /usr/lib/libQt5Core.so.5.10.1)
==786==    by 0x5497BEE: MessageQueue::MessageQueue(QObject*) (messagequeue.cpp:26)
==786==    by 0x54834FF: BasebandSampleSink::BasebandSampleSink() (basebandsamplesink.cpp:6)
==786==    by 0x4F45A29: SpectrumVis::SpectrumVis(float, GLSpectrum*) (spectrumvis.cpp:26)
==786==    by 0x33F9D53C: BFMDemodGUI::BFMDemodGUI(PluginAPI*, DeviceUISet*, BasebandSampleSink*, QWidget*) (bfmdemodgui.cpp:342)
==786==    by 0x33F9D985: BFMDemodGUI::create(PluginAPI*, DeviceUISet*, BasebandSampleSink*) (bfmdemodgui.cpp:50)
==786==    by 0x33FB035D: non-virtual thunk to BFMPlugin::createRxChannelGUI(DeviceUISet*, BasebandSampleSink*) (bfmplugin.cpp:57)
==786==    by 0x4F47F19: DeviceUISet::loadRxChannelSettings(Preset const*, PluginAPI*) (deviceuiset.cpp:201)
==786==    by 0x4EA51EA: MainWindow::loadPresetSettings(Preset const*, int) (mainwindow.cpp:575)
==786==    by 0x4EAC81B: MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) (mainwindow.cpp:176)
==786==    by 0x10A49B: runQtApplication(int, char**, qtwebapp::LoggerWithFile*) (main.cpp:120)
==786==    by 0x109B38: main (main.cpp:131)
2018-04-21 18:56:21 -07:00
Jason Gerecke 141997475c BFM demod: RDS demod: Initialize RDSDemod array elements
The m_parms.tot_errs array is not initialized prior to its first use
in the RDSDemod::biphase function. ASAN does not pick up on this
directly, but instead reports it as follows (note that ASAN fills
memory with 0xBE and -1094795586 is 0xBEBEBEBE):

    ./plugins/channelrx/demodbfm/rdsdemod.cpp:159:95: runtime error: signed
    integer overflow: -1094795586 + -1094795586 cannot be represented in type
    'int'

The m_parms.subcarr_bb array does not appear to be read prior to
initialization, but we initialize it to zero anyway for the sake
of good hygiene.
2018-04-21 18:54:19 -07:00
Jason Gerecke f6ea7b216e Fix spelling errors present in UI files 2018-04-21 18:44:54 -07:00
f4exb 5c51297717 Moved FFT filter destruction at end of the mod or demod destructor 2018-04-18 22:20:47 +02:00
f4exb 01798c9d15 BFM demod: RDS parser: fixed compiler warning 2018-04-15 22:03:31 +02:00
f4exb a37443fe58 BFM demod: bumped version 2018-04-12 00:13:40 +02:00
f4exb 2d0e0290a0 BFM demod: fixed RDS parser bug when processing optional content (issue #157) 2018-04-12 00:12:51 +02:00
f4exb 8dfdc1086c PVS-Studio static analysis corrections (4) 2018-04-04 23:39:31 +02:00
f4exb 53beb8a92d Removed UDP address and port from Channel marker 2018-03-30 19:06:27 +02:00
f4exb 3b882e78b4 BFM demod: removed UDP/RTP copy audio entirely 2018-03-28 09:43:33 +02:00
f4exb 44b4b3cc85 Multiple audio support: WFM demodulator 2018-03-28 07:44:54 +02:00
f4exb ae0470218c Multiple audio support: BFM demodulator 2018-03-27 23:57:29 +02:00
f4exb ebf3b1fc4b RTP fixes 2018-03-27 09:04:10 +02:00
f4exb 6f8d546ab7 BFM demod: removed copy to UDP/RTP 2018-03-27 00:30:21 +02:00
f4exb 745e187e2b Multiple audio support: extend audio output information to UDP/RTP information. New audio preferences dialog 2018-03-25 11:50:34 +02:00
f4exb 7aaa230eb4 Multiple audio support: added ability to manage more than one audio output 2018-03-24 23:50:28 +01:00
f4exb 15e62814de Multiple audio support: removed audio methods from DSP engine and use AudioDeviceManager instead 2018-03-24 03:36:49 +01:00
f4exb 170c59de43 Channel Rx demods: in constructor make sure the thread is launched when all members have been properly initialized (i.e. do it last) 2018-03-16 10:24:19 +01:00
f4exb b2e446afcc Windows build: new location for export header 2018-03-10 20:32:46 +01:00
f4exb dc9cb0463f BFM demod: implement RTP over UDP for audio copy 2018-03-10 07:03:11 +01:00
f4exb 28e9df5fe8 Clang clean compile 2018-03-04 01:47:51 +01:00
f4exb 2e5cfcafee PVS-Studio static analysis corrections (3) issue #137 2018-02-24 10:29:27 +01:00
f4exb 2b846f5d28 PVS-Studio static analysis corrections (2) issue #137 2018-02-22 03:04:42 +01:00
f4exb 67e664ef06 Fixed memory leak with handling of DSPSignalNotification message in modulators and demodulators. Removed reference to unused PIDController class 2018-02-14 20:11:36 +01:00
f4exb 0d2c0ca117 Revert "BFM demod: implemented use RTP protocol for audio over UDP"
This reverts commit d946ceffc8.
2018-02-06 01:18:13 +01:00
f4exb dda124f1fb Revert "AM, BFM demods: use button switch for RTP switch"
This reverts commit 2ee3161b50.
2018-02-06 01:17:52 +01:00
f4exb 2ee3161b50 AM, BFM demods: use button switch for RTP switch 2018-02-05 18:25:31 +01:00
f4exb d946ceffc8 BFM demod: implemented use RTP protocol for audio over UDP 2018-02-05 18:19:32 +01:00
f4exb b0a97510e2 Moving average cleanup 2018-02-03 10:33:02 +01:00
f4exb a47587e16f Specify Scope and Spectrum Vis floating point sample scale 2018-01-22 14:07:24 +01:00
f4exb 2ddcb8c358 Differentiate Rx and Tx DSP sample sizes 2018-01-22 08:46:05 +01:00
f4exb 491b8a6d33 Replaced hardcoded bit scaling literals by defines 2018-01-21 10:57:04 +01:00
f4exb bde2f3447e BFM demod: fixed pilot power GUI display 2018-01-13 04:04:34 +01:00
f4exb 6885dd1fe6 All concerned demods: call applyChannelSettings with force=true at construction and start. 2018-01-09 00:59:10 +01:00
f4exb 0c39c9dfd3 BFM demod: RDSTMC: use char* instead of std::string for constant array 2017-12-31 11:54:56 +01:00
f4exb ffa24cde9b BFM demod: RDSTMC: specify 0 value in array initialization 2017-12-31 11:45:47 +01:00
f4exb 723df69943 BFM and DSD demod: gcc7 warnings fixes 2017-12-31 03:16:30 +01:00
f4exb 3f96ce4187 BFM demod: set -fno-var-tracking-assignments for rdstmc.cpp as it makes compilation very busy and memory hungry for nothing. May fix compilation on RPi3 2017-12-31 02:14:46 +01:00
f4exb d476736487 Demods : use specific method to apply channelizer sample rate and frequency offset changes. Separate this data from settings 2017-12-29 11:04:47 +01:00
f4exb e39e080cc0 Channel source/sink APIs: removed useless getDeltaFrequency pure virtual method 2017-12-29 05:22:26 +01:00
f4exb 324aaa86b6 Plugins: cppcheck corrections 2017-12-29 03:22:04 +01:00
f4exb 31aacc9571 Plugin interface: simplify createRxChannelGUI 2017-12-23 10:32:02 +01:00
f4exb 703aa21159 Plugin interface: simplify createRxChannel 2017-12-23 09:54:42 +01:00
f4exb 514e408aac Server: Web API: /sdrangel/deviceset/{deviceSetIndex}/channel POST implementation and rework in the PluginInterface 2017-12-23 05:56:40 +01:00
f4exb 9dd707896d Use a name field in channels to be used in headless version to replace the GUI object name that was used as the name field 2017-12-20 23:57:06 +01:00
f4exb e1ad61d692 Bumped version of all channel plugins 2017-12-18 00:06:01 +01:00
f4exb 6d12443100 Server: changes to support DeviceSet 2017-12-17 23:15:42 +01:00
f4exb 02e0945368 Web API: implemented /sdrangel/channels: Get a list of channel plugins available in this instance 2017-11-23 01:19:32 +01:00
f4exb dc50ba1249 Web API: report Rx channel info summary 2017-11-19 18:18:17 +01:00
f4exb b91ad7c4b7 Web API: added channel enumeration in /sdrangel GET. Partial implementation in channel plugins 2017-11-19 03:38:07 +01:00
f4exb 3db655fe61 Highlight demod frame when the marker is highlighted on the spectrum 2017-11-14 22:58:35 +01:00
f4exb f6337e4597 Bumped version to 3.8.4 2017-11-14 01:50:14 +01:00
f4exb a182656294 BFM Demod: applied new channel marker signal handling 2017-11-14 01:23:01 +01:00
f4exb 8958edd4be BFM demod: fixed spectrum gui update when channel sample rate changes 2017-11-12 14:58:52 +01:00
f4exb c4e26bf66d Rx channel plugins: use the demodulator constructor separated from the demodulator GUI constructor 2017-11-09 01:03:05 +01:00
f4exb 4ad038ed9d Created demod constructor method in all Rx channel plugins 2017-11-08 14:23:49 +01:00
f4exb 76bf0ad104 Rx plugins: removed useless create method in private slot 2017-11-08 00:03:12 +01:00
f4exb 9ff05baa70 Renamed createRxChannel to createRxChannelGUI to described only the GUI will be created there in the future 2017-11-07 23:49:27 +01:00
f4exb 95f9df8396 Moved m_deviceAPI->addThreadedSource at the end of the constructor sequence in all channel plugins 2017-11-06 01:39:44 +01:00
f4exb 7370eba0f7 Bumped version to v3.8.0 2017-11-01 14:58:36 +01:00
f4exb e206fc84a8 Create channel registration methods for the Tx part in DeviceUISet 2017-10-31 22:37:57 +01:00
f4exb a61bb04dac Rx Channel plugins now handled via DeviceUISet 2017-10-31 08:24:05 +01:00
f4exb a106deeaf7 Make a static getter of Main Window reference as it is de facto a singleton. Use it in place of plugin API getter 2017-10-24 13:45:10 +02:00
f4exb fa77ca3fb6 Code re-organization in two libraries sdrbase and sdrgui in view of core / GUI split 2017-10-22 19:12:43 +02:00
f4exb e36a6a0eb7 BFM demod: bumped version 2017-10-21 10:35:49 +02:00
f4exb 32f284a0de BFM demod: fixed missing channel configuration message handling 2017-10-21 10:35:03 +02:00
f4exb 8c2483a850 Demod GUI corrections 2017-10-12 01:21:30 +02:00
f4exb f19572ed0e BFM plugin: fixed channel marker save to settings 2017-10-08 03:47:18 +02:00
f4exb 6095cf549c BFM demod: use settings in the demod 2017-10-01 20:17:20 +02:00
f4exb 5192d7fe59 BFM demod: use settings in the GUI only 2017-10-01 19:20:56 +02:00
f4exb edd0adde3b BFM demod: created a settings class 2017-10-01 17:54:48 +02:00
f4exb f10d486b28 BFM demod: fixed segfault 2017-10-01 16:02:34 +02:00
f4exb b646d0c89f BFM demod: GUI and demod separation 2017-10-01 12:48:31 +02:00
f4exb a9d1b2ef65 BFM demod: moved RDS parser in the demod 2017-10-01 11:50:16 +02:00
f4exb 0b6eb2129a Reset PluginInstanceGUI to its original name 2017-09-26 00:22:08 +02:00
f4exb da8857e0e1 Windows build fixes 2017-09-23 17:19:58 +02:00
f4exb a9a514993b Windows build: corrections for the new tool chain 2017-09-18 13:41:08 +02:00
f4exb 2b4f8a0f55 Implemented GUI input message queue and interface 2017-09-16 22:23:31 +02:00
f4exb 1d4cb21bb5 Separate construction/destruction for the source input plugin core and the GUI 2017-09-16 10:45:08 +02:00
f4exb a6d6a717ae GUI segregation: renamed PluginGUI interface to PluginInstanceUI 2017-09-03 19:55:00 +02:00
f4exb 70de05f060 DSD demodulator: use channel marker serializer/deserializer 2017-08-26 14:36:38 +02:00
f4exb 7af90583fe BFM demodulator: use channel marker serializer/deserializer 2017-08-26 14:30:55 +02:00
f4exb 27d504e1ac AM demod: implement copy audio to UDP and basic channel settings dialog 2017-08-26 05:32:01 +02:00
f4exb 3b03da44b9 BFM demod: serialize/deserialize all channel marker parameters 2017-08-26 03:56:03 +02:00
f4exb d84b69633c DSD and BFM demods: fixed UDP copy button tooltip when port changes 2017-08-25 18:58:53 +02:00
f4exb 8a60af3e52 BFM demod: added basic channel settings dialog and copy audio to UDP option 2017-08-25 18:56:43 +02:00
f4exb 511686f820 Use new audio fifo based on audio sample type 2017-08-25 00:02:49 +02:00
f4exb d98d8757b0 Moved audio sample definitions to dsp types definitions 2017-08-24 15:24:28 +02:00
f4exb 3a3d8e3dcb activated compiler warnings 2017-05-25 20:13:34 +02:00
f4exb 1899ca788c BFM demod: use ValueDialZ for channel delta frequency value dial 2017-05-17 23:52:10 +02:00
f4exb 579c05cfe5 Use doubles for all power calculations 2017-05-16 23:39:49 +02:00
f4exb dafad384c8 Merged Sigysmund changes for Mac OS Sierra on v3.4.5 2017-05-16 23:01:44 +02:00
f4exb bb849623bd updated value dials with Windows compatible font and pointing hand 2017-05-16 22:35:44 +02:00
f4exb 007ea19e36 Bumped version to 3.5.0 2017-05-16 18:38:39 +02:00
f4exb 6f9ef0eaf9 New value dial color schemes: propagate to all active plugins 2017-05-16 18:27:36 +02:00
f4exb 416817d0b8 Mods and demods: prevent returning null or infinite values for squared magnitude 2017-05-16 17:46:44 +02:00
f4exb c9368a4dc0 Unixify some files 2017-05-16 16:16:05 +02:00
ZigaS 27aab58d92 MacOS(sierra) development environment.
Updated qmake project configs.
Deploy & Run script.
For now only hardware supported is HackRF.
2017-05-15 12:32:16 +02:00
f4exb ffb6ad3009 Use double storage type for all moving average instances 2017-05-12 00:03:56 +02:00
f4exb cf267b1254 Code warnings in Eclipse cleanup 2017-05-05 10:40:45 +02:00
f4exb 376df032f5 BFM Demod: since channel marker and window title have fixed colors set both once in the constructor 2017-03-18 17:55:28 +01:00
f4exb 0ad22f3cd4 BFM demod: fixed requiredBW method 2017-01-08 20:11:01 +01:00
f4exb 25e171bf90 Signal meter: adjust font 2016-12-07 02:53:10 +01:00
f4exb dc13a62820 BFM demod GUI: adjust minimum size 2016-12-07 02:29:32 +01:00
f4exb 83b16dd615 BFM Demod: minimum GUI size 2016-12-06 22:14:00 +01:00
f4exb 30de817ba6 BFM and DSD Demods: added signal strength gauge. Limit height on all signal gauges 2016-12-06 19:06:38 +01:00
f4exb ee947f54e9 Corrected clang warnings 2016-11-21 18:01:55 +01:00
f4exb caa7905be3 Windows build: set SSE options for all demodulator plugins 2016-11-07 18:57:52 +01:00
f4exb 5a5ff31f48 Channel plugins: Removed useless link dependency on QT OpenGL and Multimedia 2016-10-27 08:46:06 +02:00
f4exb 9299eac9dd Tx ph.1: plugins (2) 2016-10-13 23:42:08 +02:00
f4exb 94e479bb75 Tx ph.1: plugins (1) 2016-10-13 22:23:43 +02:00
f4exb 32595f81b9 RxTx semantic move: renamed DeviceAPI to DeviceSourceAPI 2016-10-11 01:17:55 +02:00
f4exb 6707bab1a5 Give the decimation method of the Interpolator class its proper name 2016-10-10 01:53:32 +02:00
f4exb dce0ace4ef RxTx semantic move: renamed ThreadedSampleSink to ThreadedBasebandSampleSink 2016-10-03 15:55:16 +02:00
f4exb 78513854ac RxTx semantic move: renamed SampleSink to BasebandSampleSink 2016-10-02 22:29:04 +02:00
f4exb 20c6fb19cc RxTx semantic move: renamed Channelizer to DownChannelizer 2016-10-02 21:52:39 +02:00
f4exb 1f7df6548a RxTx semantic move: renamed channel plugins directory to channelrx 2016-10-02 13:18:07 +02:00