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
Charles J. Cliffe
44542dd878
Merge pull request #5 from cjcliffe/master
...
Win32 timer class fix
2014-11-17 18:17:10 -05:00
Charles J. Cliffe
e91696c012
SDRThread now passes IQ Data transaction object
...
Also using sdr thread queue and standard thread event to send payload
now.
2014-11-17 18:14:37 -05:00
Charles J. Cliffe
b78fefb221
Win32 timer class fix
2014-11-17 18:12:20 -05:00
Charles J. Cliffe
a7d7ec0d93
Frame rate limiter
2014-11-16 23:20:48 -05:00
Charles J. Cliffe
82b6b67f3c
Re-connect scope to demodulator output data
2014-11-16 19:14:15 -05:00
Charles J. Cliffe
1950c3109a
Balanced thread performance w/ CPU usage
...
Seems smooth and responsive now.
2014-11-16 19:02:40 -05:00
Charles J. Cliffe
739854cd7f
Demodulator and Audio threads working
...
Data now flows from SDR IQ Thread -> Demodulator Thread -> Audio Thread.
Seems to have added a significant audio delay though..
2014-11-16 17:33:54 -05:00
Charles J. Cliffe
2a34fc9cf9
New demodulator thread code
2014-11-16 16:51:45 -05:00
Charles J. Cliffe
16a9add9ef
New threads partly implemented
...
Mid transition from 1 to 3 threads: SDR IQ, Demod and Audio separated,
AppFrame routes.
2014-11-16 16:50:37 -05:00
Charles J. Cliffe
2e5bdc2646
Separate visual components Scope/Spectrum/Waterfall
...
Each now on it's own canvas with shared GL Context
2014-11-15 23:41:41 -05:00
Charles J. Cliffe
541ab5614c
Separate Primary GL Context and visuals canvas
...
Can now create multiple GL canvases with shared context
2014-11-12 21:55:11 -05:00
Charles J. Cliffe
02cd0f6516
FM Demodulator fixes
...
was an implicit float to int in the primary filter cutoff value causing
distortion.
2014-11-12 19:09:22 -05:00
Charles J. Cliffe
adc6fcce85
Waterfall tweaking, automatic range adjustment
2014-11-12 00:28:20 -05:00
Charles J. Cliffe
810533750f
waterfall optimize, fm demod audio filtering
...
Moved waterfall increment into rendering to reduce audio processing
impact.
Added another test filter and resample stage to FM demod experiment to
clean up audio and remove high pitch on stereo channels until it can be
demodulated.
2014-11-11 21:42:18 -05:00
Charles J. Cliffe
86dadb8f2c
Waterfall now being displayed 2048x512
...
Uses indexed color scheme, FFT image is byte array
2014-11-11 20:25:16 -05:00
Charles J. Cliffe
fe2e56231d
gradient util, started waterfall implementation
2014-11-11 08:11:12 -05:00
Charles J. Cliffe
b270379361
Honor PA_RECOMMENDED_OUTPUT_DEVICE on Win32
...
PortAudio defaults to output on my Virtual Cable INPUT #A?? -- strange
but this gets around it neatly for now.
2014-11-09 21:21:11 -05:00
Charles J. Cliffe
9913629a7e
Use first available RTL device
2014-11-09 20:55:21 -05:00
Charles J. Cliffe
a78a862cba
Moved demodulation code into it's own class
...
Preparing to make it more dynamic, able to tune multiple frequencies at
once and support remaining demodulation modes (AM, USB, LSB)
2014-11-09 18:12:02 -05:00
Charles J. Cliffe
14d7e431bd
PortAudio adjustments for OSX
...
Seems to be some sort of audio init race condition, intermittent crash
on startup
2014-11-09 05:18:33 -05:00
Charles J. Cliffe
b70b659a5f
Removed OpenAL and now using PortAudio
2014-11-09 04:38:33 -05:00
Charles J. Cliffe
c3c204bc04
Pitch issue fixed, OpenAL weirdness
...
Might be time to retire OpenAL -- is behaving strangely on output
stream..
2014-11-08 20:50:28 -05:00
Charles J. Cliffe
5554c92199
minor variable changes
...
demodulated frequency still shifted by about half?
2014-11-08 18:48:03 -05:00
Charles J. Cliffe
6c1ec6eba2
new demod test
...
working but frequency seems to be shifted?
2014-11-08 17:08:00 -05:00
Charles J. Cliffe
bd7d748e58
Experimenting with FM demod options
2014-11-07 13:51:43 -05:00
Charles J. Cliffe
44e7744855
filtering / fm demod experiments
2014-11-07 01:47:57 -05:00
Charles J. Cliffe
b6a658b819
more liquid dsp experiments
2014-11-07 00:27:06 -05:00
Charles J. Cliffe
428525e807
experimental liquid-dsp testing
2014-11-06 21:30:47 -05:00
Charles J. Cliffe
2092505e20
Adding buffer and testing demod functionality
2014-11-06 01:33:59 -05:00
Charles J. Cliffe
e0344d8efc
Now playing FM through OpenAL!
...
great success!
2014-11-05 21:05:56 -05:00
Charles J. Cliffe
f071b2b025
Added OpenAL /w audio init test
2014-11-05 19:10:18 -05:00
Charles J. Cliffe
d91cffbe58
Now plotting spectrum and demodulated FM
2014-11-05 18:12:42 -05:00
Charles J. Cliffe
39afec2172
testing fm demodulation
2014-11-04 23:05:04 -05:00
Charles J. Cliffe
f22a929828
Started demodulator class based on rtl_fm.c
2014-11-04 21:55:20 -05:00
Charles J. Cliffe
7eae5517fa
remove example code
2014-11-04 19:54:00 -05:00
Charles J. Cliffe
a8f1a87505
Can now control SDRThread freq. via thread task
...
Basic left/right keys bound for shifting frequency test.
2014-11-04 19:52:11 -05:00
Charles J. Cliffe
9896808b22
Clean-up / re-factor
...
thread queue and task handler compiling and program functional
2014-11-04 18:39:08 -05:00
Charles J. Cliffe
8dee90cd63
Starting work on threading model, incomplete
...
Includes experimental averaging of spectrum
2014-11-04 17:25:04 -05:00
Charles J. Cliffe
1cd8565fb3
Experiment to remove DC / other spikes
...
Seemed logical to use the repeating parts of the forward/back FFT
results to overlap and cancel out spikes -- seems to work?
2014-10-31 20:41:49 -04:00
Charles J. Cliffe
c4099cb690
Re-align spectrum view
...
DC spike now showing?
2014-10-31 19:10:53 -04:00
Charles J. Cliffe
eb4e10140a
Now showing 2.5MHz bandwidth over FM ranges
...
Moves frequency back/forth over the FM range
2014-10-31 01:37:01 -04:00
Charles J. Cliffe
7fe286cf0c
Now plotting IQ spectrum
...
seems to only be showing half the bandwidth..
2014-10-30 22:51:33 -04:00
Charles J. Cliffe
2ef8010438
Rendering rtl-sdr I/Q data to the GL canvas
2014-10-28 22:59:17 -04:00
Charles J. Cliffe
23f8c6a197
Now passing IQ data from SDR Thread to AppFrame
2014-10-28 21:39:59 -04:00
Charles J. Cliffe
0e25cbcc1a
OSX now compiling and working
2014-10-27 23:52:25 -04:00
Charles J. Cliffe
5f0bc4f4f8
fix issue with SDRThread logging
2014-10-27 21:26:12 -04:00
Charles J. Cliffe
d27d91c1ef
Code re-factor / cleanup
...
GL Window now ready to draw signal lines
2014-10-27 21:22:29 -04:00
Charles J. Cliffe
c2a37e7622
Initial experiment /w wxWidgets opengl view and sdr sampling.
...
Includes working rtl-sdr sampling thread test.
2014-10-27 20:05:40 -04:00