vsonnier
7b1956f7cd
Cleaner management of the device not accepting the requested sample rate
2020-11-21 11:52:34 +01:00
Charles J. Cliffe
94ca0bbe54
Update to use SoapySDR frequency correction instead of RTL-SDR specific
2020-07-20 01:01:28 -04:00
Vincent Sonnier
d2f9333523
Misc. enhancements (driven by RSPDuo support needs) ( #786 )
...
* Add Device name in main window title bar
* Cleaner stopping of device in case of device loss
2020-02-26 07:11:19 +01:00
Charles J. Cliffe
8d09d9c329
Merge remote-tracking branch 'origin/master' into code_quality
2019-03-16 16:57:10 -04:00
Vincent Sonnier
c27e1e6514
Make stream deactivated before a sample-rate change and reactivated afterwards ( #718 )
...
* Make stream deactivated before a sample-rate chnage and reactivated afterwards
* Re-read sample rate and MTU AFTER stream activation to recompute CubicSDR buffers
2019-03-15 06:30:55 +01:00
Charles J. Cliffe
3009da6194
Merge remote-tracking branch 'origin/master' into code_quality
2019-03-14 21:15:07 -04:00
Charles J. Cliffe
ea016e6638
Merge branch 'drahosj-master'
2019-03-14 21:02:52 -04:00
Charles J. Cliffe
2a75c2776e
tabs->spaces
2019-03-14 21:01:19 -04:00
Dantali0n
ed5993748f
Fix for above 3Mhz sample rate on LimeSDR-USB
...
This problem could also be present on other devices using the FX3 driver and is perhaps part of a larger general problem in the LMS7 Soapy module.
2019-03-09 20:33:17 +01:00
vsonnier
94e252db51
Fix wrong type for timeoutUs parameter of readStream
2019-03-09 18:23:06 +01:00
vsonnier
a2bd569e5a
Fix wrong type for timeoutUs parameter of readStream
2019-03-09 18:22:49 +01:00
vsonnier
6d8c9f60d2
Maybe fixing #716 : Nullify readStream timeout parameter effect which some modules effectively use (LimeSDR...) but we don't care
2019-03-09 17:59:22 +01:00
vsonnier
b6c81fe726
Add traces about MTU used size
2019-03-09 14:19:42 +01:00
Charles J. Cliffe
9ed085123a
More AppFrame cleanup, active/current modem verbage adjustments
2019-02-11 22:59:43 -05:00
Jake Drahos
4ca6e8dba9
Safer calls to setGainMode
...
Will call hasGainMode first - this will prevent crashes when the underlying
device situationally doesn't support setGainMode calls.
2019-01-13 21:53:37 -06:00
vsonnier
f03925d27f
Fix #677 : SDRPostThread : Do not push twice the samples in single-channel mode, refactorings and simplifications.
2018-09-15 08:33:22 +02:00
vsonnier
5db28da361
Fix #678 : be clean when leaving SDRPostThread
2018-09-15 07:12:50 +02:00
vsonnier
6faa2f87b3
Changed Low-perf mode into a CPU usage submenu (low, Normal, High) where High means PFBCH2 usage
2018-05-17 17:54:31 +02:00
Charles J. Cliffe
89f56284c8
Default to PFBCH until toggle for PFBCH2 preference is available
2018-05-07 22:14:50 -04:00
Charles J. Cliffe
8cb5e9e244
SDRPostThread clean-up and re-factoring
2018-02-20 00:16:54 -05:00
Charles J. Cliffe
afc29303c9
2x channel bandwidth firpfbch2_crcf optional path
2018-02-14 21:24:22 -05:00
vsonnier
ada56440fc
Fix reloading of gains at startup.
2017-11-25 09:47:43 +01:00
vsonnier
e44af72b00
Assure Gain control <==> Settings menu synchronization in case of mutually depdendent updates
2017-11-19 17:06:11 +01:00
vsonnier
89d12ef4e3
#513 Workaround in case the number of samples rates is too much to be handled by the menu, decimate to 25 max.
2017-10-28 13:12:27 +02:00
vsonnier
afedca05c6
Updated liquid-dsp v1.30 Windows binaries to GCC 7.2.0 (MSYS2)
2017-09-02 21:49:20 +02:00
vsonnier
030628c5ed
SDRPostThread is better using try_push, restore previous audio-related code in DemodulatorInstance
2017-09-02 16:24:25 +02:00
vsonnier
9bbcb582e3
Fix hang when the active demodulator goes out-of-bandwwidth by changing sample rate
2017-08-31 20:51:37 +02:00
vsonnier
3842cf087f
More terminate()-and-flush calls missed before
2017-08-29 18:48:59 +02:00
vsonnier
03bf38fea8
Squashing an actual memory leak in SDRPostThread by simplifying the code
2017-08-28 21:22:07 +02:00
vsonnier
3f90cbb858
Flush queues on terminate() calls to unblock push()s and so ease threads termination
2017-08-28 20:53:21 +02:00
vsonnier
3c3939e0b7
Use nullptr instead of NULL when shared_ptr is used
2017-08-27 13:00:32 +02:00
vsonnier
37712c7a81
Simplify SDRPostThread: no longer binding methods, directly use the true list of demodulators
2017-08-27 12:39:28 +02:00
vsonnier
a8f8f4a7e2
Initial commit: working...
2017-08-27 11:11:30 +02:00
vsonnier
c112026a2c
Make processing queues timed-push, to be able to escape deadlocks. Rollback 'restart device when blocked' that is ineffective in practice.
2017-08-26 23:34:48 +02:00
vsonnier
a018a36100
Add a read-only TX antenna menu entry showing the active one, closing #559
2017-08-25 07:28:14 +02:00
vsonnier
1042c62c3b
Initial commit: Antenna support, Enhanced Settings menu, Enhanced SDR device dialog
2017-08-23 23:27:49 +02:00
vsonnier
e32e687fe8
Make IOThreads terminate() fully non-blocking and misc.
...
- Thanks to timed-pop() usage, it is no longer needed to nudge queues with dummy to wake them
- Less bad luck to be stuck there
- Misc: leave the trace about the audio thread staturation, useful despite it raises some alarm among users...
2017-08-14 09:46:53 +02:00
vsonnier
acc6d2a31d
Restart the device automatically if stuck with read stream errors
2017-08-13 22:14:12 +02:00
vsonnier
c64baab99d
Threads vs. Queues lifetimes, cleanups.
...
- Ideally Queues must outlive the threads using them, but wasn't done so. Yes, std::shared_ptr them!
- Now queues are always valid in the context of the threads using them.
- No longer need tedious queues deallocation by the original owner.
- Misc cleanups.
2017-08-13 19:19:25 +02:00
vsonnier
33aa0cade6
Fix bad re-loading, setting and UI glitches for Device Runtime settings, and misc.
...
- Quite obvious on the SDRPlay RSP2 for ex.
- Random cleanups by using the for-each construct at some places for clarity.
2017-08-12 08:17:40 +02:00
vsonnier
3604b7f1ff
Even better thread and application termination:
...
- Now that timed-pop()/try_pop() prevent indefinite blocking it is best to flush() on thread stopping to unblock push()
- Reworked a bit the CubicSDR::OnExit() sequence, see comments.
2017-06-01 19:57:58 +02:00
vsonnier
8f608bbf5c
Cleanup: remove some unused params and variables, conversion warnings seen with #550 .
2017-05-29 20:22:10 +02:00
vsonnier
9b0ce69e8f
Use the nuclear option to solve the hung problem:
...
Besides deadlocks, a thread can in theory get stuck in a blocking pop(),
not seeing the stopping flag in particular. So assure liveness by making all
pop() timed pop.
2017-05-25 09:32:27 +02:00
vsonnier
77a82e1617
Another fix for the neverending hung application bugs:
...
- Clear up DemodulatorInstance garbage collection, only do it in a single thread (AppFrame::OnIdle)
- Add a specific mutex lock for the list of deleted demodulators,
- Add a specific lock to control DemodulatorInstance thread lifetimes, protecting IsTerminated() of concurrent join and delete
2017-05-25 08:03:08 +02:00
vsonnier
4b323e9863
Make ReBuffer refcount management automatic, using std::shared_ptr:
...
- No longer need to call setRefCount() / decRefCount()
- Restore old ThreadBlockingQueue using std::deque, for std::shared_ptr correct behaviour.
2017-05-24 12:28:37 +02:00
vsonnier
8776908340
Fixes #546 , when MTU > nb samples per-frame, overflow management was wrong.
2017-05-23 11:09:29 +02:00
vsonnier
5797548739
SoapySDRThread tweak: directly resize to the final size when building SDRThreadIQData
2017-05-23 11:09:28 +02:00
vsonnier
41c7dd231b
Fix tabs introduced in latest commits...
2017-05-21 10:03:21 +02:00
vsonnier
fc2716518d
SoapySDRThread: more comments about the relation between MTU and sample rate
2017-05-21 09:20:41 +02:00
vsonnier
a541e55ff6
SaopySDRThread simplified, (small) perf improvement: No longer use inpBuffer,
...
write to SDRThreadIQData->data directly.
2017-05-20 13:31:46 +02:00