Commit Graph

202 Commits

Author SHA1 Message Date
Charles J. Cliffe
5e9414702d Cleanup, stereo audio thread memory leak fix 2014-12-27 12:45:21 -05:00
Charles J. Cliffe
376ddfad98 Better Stereo FM implementation using liquid-dsp tools 2014-12-27 12:23:09 -05:00
Charles J. Cliffe
06103a2d1b Show stereo divider 2014-12-26 23:28:18 -05:00
Charles J. Cliffe
b69f90b17b Show stereo in vis output 2014-12-26 22:20:50 -05:00
Charles J. Cliffe
591b03dc7d Indicate stereo status in term 2014-12-26 22:07:49 -05:00
Charles J. Cliffe
44602303a7 Add stereo re-sampler 2014-12-26 21:55:13 -05:00
Charles J. Cliffe
0fc47bc916 FM Stereo experiment, partly working 2014-12-26 20:58:42 -05:00
Charles J. Cliffe
45b223aed9 eliminate fp/int IQ data conversions 2014-12-26 16:15:35 -05:00
Charles J. Cliffe
b487cf9901 convert inline buffers to dynamic growth per instance 2014-12-24 03:03:34 -05:00
Charles J. Cliffe
576a77e095 Update remaining buffers, cleanup 2014-12-24 01:28:33 -05:00
Charles J. Cliffe
8c852ed491 SDR thread reusable buffers implemented 2014-12-24 00:11:41 -05:00
Charles J. Cliffe
b7375ce09f Threading crash fixes, reusable IQ buffer queue 2014-12-23 23:37:18 -05:00
Charles J. Cliffe
ef78ffc6f3 minor warning fixes 2014-12-23 02:32:25 -05:00
Charles J. Cliffe
3f00148de8 Merge branch 'thread-data-optimization' of https://github.com/cjcliffe/CubicSDR into thread-data-optimization 2014-12-23 02:01:46 -05:00
Charles J. Cliffe
d53eb5fc9f shift key for faster frequency change 2014-12-23 02:01:41 -05:00
Charles J. Cliffe
a7913e3290 refactor remaining transaction objects 2014-12-23 01:59:03 -05:00
Charles J. Cliffe
8ce3065bce cleanup / refactor / profiled 2014-12-23 01:12:14 -05:00
Charles J. Cliffe
703501f32d OSX fixes 2014-12-22 23:27:52 -05:00
Charles J. Cliffe
1dc218d346 Disable FIR filter -- decimation is enough? 2014-12-22 21:31:53 -05:00
Charles J. Cliffe
24d06e13d7 Fix for various threading crashes during stress test 2014-12-22 21:12:13 -05:00
Charles J. Cliffe
312b25f55a Changed data transaction objects to use pointers 2014-12-22 19:43:56 -05:00
Charles J. Cliffe
24c86bc9e4 optimize demod, allow for channel count changes 2014-12-21 17:37:41 -05:00
Charles J. Cliffe
2b18f03cb5 Experimental squelch--hover demod and press S to toggle 2014-12-21 16:08:32 -05:00
Charles J. Cliffe
c8adad8d6d Default to new demod if last active out of range 2014-12-18 21:39:32 -05:00
Charles J. Cliffe
c583b4a79a Windows fix-up 2014-12-18 20:32:05 -05:00
Charles J. Cliffe
ab82ab182e Moved OSX specific flags 2014-12-18 20:13:29 -05:00
Charles J. Cliffe
b196fbfdea Basic mixer for OSX -- multi demod streams working
RtAudio can’t open multiple streams, so now opening a new device will
start a static audio thread and all other threads will attach/detach
their input queues there.
2014-12-18 20:11:25 -05:00
Charles J. Cliffe
493d9da8a7 OSX testing params 2014-12-16 21:58:35 -05:00
Charles J. Cliffe
9e32ef478d Cleanup, reformat 2014-12-16 21:30:03 -05:00
Charles J. Cliffe
912ef930a2 Font preloader, new demod no-move drag fix 2014-12-16 21:03:45 -05:00
Charles J. Cliffe
02cf2099a9 Rebalance demodulator threads, tweak priorities 2014-12-16 20:33:44 -05:00
Charles J. Cliffe
62c5ab38e5 Demodulator split 2014-12-16 18:27:32 -05:00
Charles J. Cliffe
c7a167a1d0 Experimental demodulator preprocessor thread
Demodulator becoming a CPU hotspot, trying to break up the workload
between threads..
2014-12-16 18:27:02 -05:00
Charles J. Cliffe
76c68cc4fa OSX fix-up 2014-12-16 00:22:33 -05:00
Charles J. Cliffe
65ae1de36d Trying thread trick for preventing audio underrun.. 2014-12-15 20:47:46 -05:00
Charles J. Cliffe
cd5f43d5c4 Switch to liquid-dsp block functions in demod 2014-12-14 20:23:52 -05:00
Charles J. Cliffe
24cd93d1ae Split DemodulatorMgr and DemodulatorInstance 2014-12-11 23:35:06 -05:00
Charles J. Cliffe
dcb1f33a85 Can now press alt to drag demod range 2014-12-11 21:37:01 -05:00
Charles J. Cliffe
5db4dcdbac prototype drag range demod create/select tool 2014-12-11 20:50:58 -05:00
Charles J. Cliffe
f04ec72394 Demodulator garbage collection 2014-12-11 19:07:21 -05:00
Charles J. Cliffe
4d35075655 Can now spawn/delete demodulators 2014-12-10 21:22:13 -05:00
Charles J. Cliffe
f2c59fedd1 Can now spawn infinite(?) demodulators by holding shift 2014-12-10 18:52:24 -05:00
Charles J. Cliffe
380145fdaa Waterfall hover-state/interactivity improvements 2014-12-10 00:34:27 -05:00
Charles J. Cliffe
34a6d3f5e0 Added frequency labels, 100khz intervals 2014-12-09 21:28:08 -05:00
Charles J. Cliffe
33e2e18c57 Unify demod drawing functions 2014-12-08 21:08:03 -05:00
Charles J. Cliffe
7f9a871598 Simplify GLFont drawString usage 2014-12-08 20:39:38 -05:00
Charles J. Cliffe
da8d178e34 Filtering mode 2014-12-08 19:46:29 -05:00
Charles J. Cliffe
542326baab Font rendering functional: test string 2014-12-08 19:38:38 -05:00
Charles J. Cliffe
6c7372ed90 Font loader experiment 2014-12-08 02:16:06 -05:00
Charles J. Cliffe
09848bfdec Adds test #define for default demodulator count 2014-12-06 21:55:05 -05:00
Charles J. Cliffe
80ac3175a3 Better multi-demodulator overlap hover handling 2014-12-06 21:47:18 -05:00
Charles J. Cliffe
a3bda830a8 Fix waterfall canvas to interact with active demod 2014-12-06 21:10:29 -05:00
Charles J. Cliffe
119f7c71af win64 fixes 2014-12-05 21:16:43 -05:00
Charles J. Cliffe
9fc864ea57 OSX crude re-sync tweak 2014-12-05 20:18:19 -05:00
Charles J. Cliffe
ad800056d5 OSX audio may be stable, works on 2010 macbook pro 2014-12-05 20:13:45 -05:00
Charles J. Cliffe
7c6d2e1131 Merge pull request #14 from cjcliffe/integrate_rtaudio
Integrate RtAudio
2014-12-05 18:36:43 -05:00
Charles J. Cliffe
051c4f081f RtAudio tweaks, disable unused GL states 2014-12-05 18:32:38 -05:00
Charles J. Cliffe
894c718730 Mostly working on OSX /w rtaudio now
Looks like just some priority tweaks remain
2014-12-04 22:25:18 -05:00
Charles J. Cliffe
03edda18e5 RtAudio integrated and working great /w win64
Next up, OSX test..
2014-12-04 19:44:49 -05:00
Charles J. Cliffe
7ae1ffc2c9 RtAudio source integrated, preparing to implement 2014-12-04 19:03:02 -05:00
Charles J. Cliffe
7dcab0a078 OSX exit crash fix 2014-12-01 19:45:34 -05:00
Charles J. Cliffe
e668fa2b5d Increase demodulator stack size on OSX
Using pthreads as a drop-in, should work since underlying is already
pthreads?
2014-12-01 18:59:07 -05:00
Charles J. Cliffe
746eca8d3e Demod worker now handles filter reconstruction
Reduces audio jittering and only generates the last queued filter to
save redundant regeneration during dragging.
2014-12-01 02:10:36 -05:00
Charles J. Cliffe
38b1393c44 Worker results.. 2014-12-01 01:14:32 -05:00
Charles J. Cliffe
5fc5e4269c Demodulator worker thread test 2014-11-30 23:33:55 -05:00
Charles J. Cliffe
023002f009 Can now drag and resize demodulator on waterfall
Pretty typical style of center = drag frequency, edge handles =
bandwidth
2014-11-30 21:14:17 -05:00
Charles J. Cliffe
0d8991eb67 Demodulator finder, hover states for waterfall 2014-11-30 18:54:13 -05:00
Charles J. Cliffe
0bc31eed6c Transparent demod overlay on waterfall 2014-11-30 17:59:24 -05:00
Charles J. Cliffe
874746b1d4 Removed one too many lines 2014-11-30 17:17:28 -05:00
Charles J. Cliffe
52c1db89a7 Remove unused code 2014-11-30 17:16:35 -05:00
Charles J. Cliffe
06513e2064 Cleanup / re-factor. Pair audio thread with demod 2014-11-30 17:11:29 -05:00
Charles J. Cliffe
499e411048 Remove DC spike from IQ stream and visuals
IQ post-process / distribution in separate thread, use of
iirfilt_crcf_create_dc_blocker to reduce DC offset in IQ stream.
2014-11-29 13:58:20 -05:00
Charles J. Cliffe
93b20454d3 Increase keyboard L/R arrow key tuning speed 2014-11-28 19:00:05 -05:00
Charles J. Cliffe
1554348f55 Demodulator can now tune offset!
Demodulator will up-convert / down-convert by mixing VCO with incoming
IQ to shift frequency -- No longer limited to center freq. can listen
anywhere on the waterfall.
2014-11-27 22:13:21 -05:00
Charles J. Cliffe
df853bfd65 Removed unused/empty source files 2014-11-27 12:55:55 -05:00
Charles J. Cliffe
97e219724e Disable mouse locking on OSX -- causes event loop 2014-11-27 12:53:35 -05:00
Charles J. Cliffe
65a5dbb24d Proper demodulator resamp and filter reinit 2014-11-26 22:29:23 -05:00
Charles J. Cliffe
ddbc08a4ff Drag up/down to set arbitrary FM demod bandwidth
Shouldn't need separate WBFM/FM/NFM setting this way -- Just "FM" and
then set arbitrary bandwidth by dragging.

Also removed redundant demod resampling stages left over from early
experiments.
2014-11-26 21:05:19 -05:00
Charles J. Cliffe
f441546023 Pick freq/drag in waterfall, show demod bandwidth 2014-11-25 22:51:14 -05:00
Charles J. Cliffe
f6966b1824 Simple class for tracking wx mouse in unit 0..1 2014-11-25 21:07:13 -05:00
Charles J. Cliffe
4900ce7f17 Can now tune by dragging middle spectrum view 2014-11-25 00:35:06 -05:00
Charles J. Cliffe
5977fb144b Missing freq assignment 2014-11-23 20:02:48 -05:00
Charles J. Cliffe
cae1855fc5 Move code out of frame, proper thread termination 2014-11-23 19:39:27 -05:00
Charles J. Cliffe
ac20bc1e84 Cleanup 2014-11-22 23:38:37 -05:00
Charles J. Cliffe
fa521ac30d Switch from portaudio callback to stream write
It’s already in a thread, not sure if callback was helping?
2014-11-22 22:56:33 -05:00
Charles J. Cliffe
39ba38b82a Cleanup / Reformat 2014-11-22 22:33:32 -05:00
Charles J. Cliffe
58708a720e SDR->Demod->Audio chain all using std::thread
2% CPU usage drop on 3.2G i7 desktop
2014-11-22 22:17:33 -05:00
Charles J. Cliffe
26168a2713 SDR and Audio thread now using std::thread
Next up, demod thread..
2014-11-22 20:57:06 -05:00
Charles J. Cliffe
35830afed0 new thread queue testing 2014-11-21 21:50:14 -05:00
Charles J. Cliffe
99aa87df63 Now working on gcc4.8, x86-64 on windows
Had to make my own portaudio and rtl-sdr binaries. The available
packages weren't compatible somehow.  Also wxWidgets wxPack doesn't
include OpenGL support but it's easy enough to compile.
2014-11-21 00:49:41 -05:00
Charles J. Cliffe
f6f4c3c057 Revert "switch from portaudio -> libao"
This reverts commit 8972e87765.
2014-11-20 20:28:40 -05:00
Charles J. Cliffe
28afe9d3be Merge branch 'dynamic_demod' of https://github.com/cjcliffe/CubicSDR into dynamic_demod
Conflicts:
	CMakeLists.txt
2014-11-20 20:12:38 -05:00
Charles J. Cliffe
9706ed8f7e Update to 64-bit, add test threadqueue 2014-11-20 20:10:28 -05:00
Charles J. Cliffe
8972e87765 switch from portaudio -> libao 2014-11-19 23:41:57 -05:00
Charles J. Cliffe
a9d46b7624 Preparing to change threading model 2014-11-19 17:41:49 -05:00
Charles J. Cliffe
9150439283 Thread priority bump, main thread sleep 2014-11-18 19:02:07 -05:00
Charles J. Cliffe
054ac3f840 Attempting to fix OSX portaudio jitter.. 2014-11-18 18:35:40 -05:00
Charles J. Cliffe
6624ec11a3 IQ->Demod->Audio threads now chained
No longer passing anything through the main thread which was causing
audio and IQ interrupts on UI events -- hopefully improves OSX jitter.

SDRThread can now have unlimited Demodulator bindings.. :)
2014-11-18 18:00:06 -05:00
Charles J. Cliffe
75c51f1236 missing return params 2014-11-17 23:25:14 -05:00
Charles J. Cliffe
dd42d112c9 Demodulator can now be initialized with parameters 2014-11-17 22:58:56 -05:00