Commit Graph

298 Commits

Author SHA1 Message Date
Charles J. Cliffe
234f0783a0 OSX crash-on-exit fix 2015-01-10 21:49:58 -05:00
Charles J. Cliffe
f1355b1775 Gain control fix for OSX 2015-01-10 21:01:35 -05:00
Charles J. Cliffe
60b5dbb07f Per-demodulator gain settings 2015-01-10 20:33:30 -05:00
Charles J. Cliffe
f454c34245 Save / Load session working 2015-01-10 12:27:03 -05:00
Charles J. Cliffe
2c5eb4f946 load / save almost functional 2015-01-10 11:00:03 -05:00
Charles J. Cliffe
faa87fcd10 DataTree refactoring, load/save functions almost ready 2015-01-09 20:56:43 -05:00
Charles J. Cliffe
7c68f142ed Merge with updated datatree 2015-01-09 17:19:05 -05:00
Charles J. Cliffe
8ec6b75e54 Session save handler 2015-01-09 17:17:56 -05:00
Charles J. Cliffe
c3b4271e31 Load/Save dialogs and menus, OSX Cmd-Q fix 2015-01-08 23:57:58 -05:00
Charles J. Cliffe
4633bfa36f Datatree fixes, 64-bit updates 2015-01-08 23:10:54 -05:00
Charles J. Cliffe
95fcb30733 Audio thread lock fix 2015-01-08 21:12:49 -05:00
Charles J. Cliffe
36ff762d3a DataTree cleanup/refactor.. 2015-01-08 19:56:44 -05:00
Charles J. Cliffe
cf2b11f496 DataTree refactoring / 64-bit expansion 2015-01-08 18:33:37 -05:00
Charles J. Cliffe
aa13aa2e16 Mousewheel fix for non-OSX, AM reset tweak 2015-01-07 21:25:35 -05:00
Charles J. Cliffe
93e88a9208 Import TinyXML and DataTree, OSX related UI tweaks 2015-01-07 20:23:15 -05:00
Charles J. Cliffe
a1f9b5df16 Add version and credit 2015-01-06 19:30:40 -05:00
Charles J. Cliffe
7d5d638666 FFTW->FFTWF better CPU usage 2015-01-06 19:15:27 -05:00
Charles J. Cliffe
0806e47116 offset direction 2015-01-06 02:02:19 -05:00
Charles J. Cliffe
1671e625e4 Menu option for frequency offset (up/down converters) 2015-01-06 00:57:57 -05:00
Charles J. Cliffe
726113e9ea Mode selector widget to replace menu
+ OSX keyboard focus fix
2015-01-06 00:29:33 -05:00
Charles J. Cliffe
082c8fbd12 Mode selector visuals working 2015-01-05 19:12:16 -05:00
Charles J. Cliffe
137116da9c Mode selector class framework 2015-01-04 19:50:05 -05:00
Charles J. Cliffe
482ff41382 Can now drag tuner values 2015-01-04 19:32:51 -05:00
Charles J. Cliffe
9f945026b8 Fix frequency related data types for >2Ghz 2015-01-04 17:11:20 -05:00
Charles J. Cliffe
44bee1f553 Cleanup, demod limits, prevent negative freq, move iq resampler process back to demodulator pre thread 2015-01-04 13:20:31 -05:00
Charles J. Cliffe
e2e261f1c0 OSX fix 2015-01-03 19:03:16 -05:00
Charles J. Cliffe
904050da13 Display demodulation type on waterfall 2015-01-03 18:45:34 -05:00
Charles J. Cliffe
334618d000 cleanup, refactor, right mouse waterfall zoom drag 2015-01-03 17:07:39 -05:00
Charles J. Cliffe
63a4913558 Tweaks, cleanup, helptips 2015-01-02 22:44:09 -05:00
Charles J. Cliffe
8f8dd01341 Unify common canvas manipulation functions 2015-01-02 21:32:24 -05:00
Charles J. Cliffe
ef5462d13c Zoom follows and pins mouse frequency 2015-01-02 19:35:34 -05:00
Charles J. Cliffe
6a03aae303 shift center freq on zoomed edge hit 2015-01-02 02:44:50 -05:00
Charles J. Cliffe
ce75eed995 Experimental waterfall zoom 2015-01-01 21:10:54 -05:00
Charles J. Cliffe
4f43f65065 AM, USB and LSB somewhat working 2015-01-01 18:08:54 -05:00
Charles J. Cliffe
8b89b27b40 Experimental AM/LSB/USB demodulation 2015-01-01 03:48:32 -05:00
Charles J. Cliffe
955ec54b44 Audio device selection fixes for OSX 2014-12-31 22:38:59 -05:00
Charles J. Cliffe
3da7e18b88 New meter widget 2014-12-31 21:43:05 -05:00
Charles J. Cliffe
6679b20fbb Can now choose demodulator output devices 2014-12-31 21:31:37 -05:00
Charles J. Cliffe
b7793ef905 Squelch slider/signal indicator 2014-12-31 19:45:01 -05:00
Charles J. Cliffe
4403824e3b Demodulator now has it's own spectrum view 2014-12-29 00:24:10 -05:00
Charles J. Cliffe
d642cc63fd scope resolution adjust 2014-12-28 21:14:08 -05:00
Charles J. Cliffe
0eb8ef60b2 Layout, interaction improvements 2014-12-28 20:55:05 -05:00
Charles J. Cliffe
b9ead19981 Unused timer caused random startup crash on windows? 2014-12-28 14:19:43 -05:00
Charles J. Cliffe
1e970f4373 Zoomed-in demodulator waterfall somewhat working
- update demod WF from demodulator is jittery
- adjustments with immediate update is awkward
2014-12-28 05:13:46 -05:00
Charles J. Cliffe
a3f8bc08e7 Setting up layout for active demodulator UI 2014-12-27 23:47:56 -05:00
Charles J. Cliffe
a93deee564 Crash fixes, apply FIR filter to stereo output 2014-12-27 15:04:43 -05:00
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
Charles J. Cliffe
7f5031b6e5 cleanup 2014-11-17 21:35:10 -05:00
Charles J. Cliffe
532968a818 Source folder cleanup 2014-11-17 21:29:27 -05:00
Charles J. Cliffe
8c6eea44b8 fix win32 include on non win32 2014-11-17 19:48:28 -05:00
Charles J. Cliffe
7e174ab1dd All threads now using transaction objects and queue
Additional cleanup, remove outdated IQBufferThread experiment
2014-11-17 19:37:53 -05:00