Commit Graph

107 Commits

Author SHA1 Message Date
Charles J. Cliffe c202d99a2a initial audio sink file and thread handling rough-in 2017-09-26 23:25:55 -04: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 3f90cbb858 Flush queues on terminate() calls to unblock push()s and so ease threads termination 2017-08-28 20:53:21 +02:00
vsonnier b52c4ac8a6 This lock is actually needed, restore it. 2017-08-27 13:35:11 +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 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 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
Charles J. Cliffe f4d090e65b Tweaks for bookmark selection, activation and group renaming 2017-03-30 22:26:11 -04:00
vsonnier c7467a88bc BLOCKING_QUEUE: prepare by raising up max queue lenghts
BLOCKING_QUEUE: Replaced ThreadQueue usage by ThreadBlockingQueue usage
BLOCKING_QUEUE: instrument all push() with timeouts, showed some call have to be non-blocking...
BLOCKING_QUEUE: tuned push()/try_push()
2017-02-14 18:42:05 +01:00
Charles J. Cliffe 5c72b97309 Merge branch 'develop' into master 2017-01-02 21:22:13 -05:00
Charles J. Cliffe 3ec14fbe38 Licence fix, add SPDX-License-Identifier, remove unused code files 2017-01-02 21:07:43 -05:00
Charles J. Cliffe 560caccbc7 Apply theme to bookmark panel, implement RGBA4f->wxColour operator 2016-09-29 21:57:23 -04:00
Charles J. Cliffe 367a723947 Active modem tracking; update only when necessary 2016-09-22 20:40:07 -04:00
Charles J. Cliffe 9f5c674646 Make sure squelch lock is released on de-activate too 2016-08-13 14:18:41 -04:00
Charles J. Cliffe dedac01709 Moving signal ceil/floor for squelch 2016-08-10 14:02:25 -04:00
Charles J. Cliffe 0f5b891b20 Fix Digital scope 2016-07-24 17:24:29 -04:00
Charles J. Cliffe 0090838070 Make modemFactories function ref vs. instances which carry other dsp kit stuff 2016-07-24 15:25:17 -04:00
vsonnier 21c8a81c32 TH_CLEAN_3.5: push() cleanup side of things, assure SDRThread::readStream() to actually check for full + make ThreadQueue notify even in case on not-successfull push(), make it spam notify_all() everytime 2016-07-08 23:30:15 +02:00
vsonnier 567d84711f THREAD_CLEAN_PART2: Assure correct terminate()/isTerminated(delay)/delete sequence +
Removed the NotifyQueue between DemodulatorInstance participants, actually not needed
since DemodulatorInstance::IsTerminated() is explicitly called on some events for cleanups

DELETE_CLEANUP: properly nullify deleted pointers when needed
2016-07-03 14:22:41 +02:00
vsonnier 52de909cfb THREAD_CLEAN: Clearly distinguish between a request to stop by terminate() from the actual termination isTerminated() 2016-06-28 22:16:34 +02:00
vsonnier 55ca1c465a Basic support is here for user labels, even if DataTree only support 8bit strings
Regenerated fonts with up to 254 characters. Rendering is OK, but DataTree do not able to save it...
2016-06-12 17:05:11 +02:00
vsonnier 00e241a784 LABEL: first attempt, <user_label> is read from session XML, apparently also saved. 2016-06-11 07:46:07 +02:00
Charles J. Cliffe fa9dfc2fb4 Rough visual cue for demod instances, implement squelch break indicator 2016-06-03 20:05:38 -04:00
vsonnier 5bb43f5aaa Replace mutex lock/unlock pairs with guards, cleanups 2016-06-03 18:45:03 +02:00
Charles J. Cliffe 5a6d97e480 Bingo.. DemodulatorInstance deltaLock atomic_bool was uninitialized.. :) 2016-06-02 22:28:17 -04:00
Charles J. Cliffe 6d63d570aa comment out some noisy stdout logging until there's a proper facility for log outputs 2016-06-02 19:45:34 -04:00
Charles J. Cliffe f22ef685f5 Static analysis related fixes 2016-03-30 19:34:36 -04:00
Charles J. Cliffe b155338b1d Fix broken lastGain property usage 2016-03-07 20:15:27 -05:00
Charles J. Cliffe 1cd8759880 Add center lock and modem tracking to rig control 2016-02-29 23:14:23 -05:00
Charles J. Cliffe 93d2c73fb9 Add delta lock -- lock modem relative to center frequency 2016-02-15 17:43:10 -05:00
Stanisław Pitucha c59f72d4a0 Cleanup unused var warnings
Clean up compiling output so that actual issues can be spotted. Remove multiple
cases of unused parameter. Remove unused isActive at startup. (demod is started
regardless)
2016-01-27 11:21:53 +11:00
Charles J. Cliffe 76d69ffd78 Add GMSK, fix modem bandwidth logic, cleanup. 2015-11-30 21:58:54 -05:00
Charles J. Cliffe 380a5e4c2e Fix case where re-activation shows old mode dialog 2015-11-29 15:16:44 -05:00
Charles J. Cliffe 7e4d173996 Basic console window for digital output
- Probably end up making this a single tabbed dialog but this works for
the moment
2015-11-28 23:03:07 -05:00
Charles J. Cliffe eb7986e25f Save/load modem settings, race fixes, legacy session support 2015-11-27 00:05:21 -05:00
Charles J. Cliffe e68ab1e82f Remember settings when toggling modem types
- Some additional race condition fixes for showing/hiding the modem
property grid
2015-11-26 22:06:29 -05:00
Charles J. Cliffe 4fa0cb7c67 Persist modem settings on new instances 2015-11-26 01:54:54 -05:00
Charles J. Cliffe abdb5d32d9 Modem instance setting read/write 2015-11-23 22:16:09 -05:00
Charles J. Cliffe 4a62eae096 Convert constellation code to ModemArgInfo settings
- Note: can’t set constellation yet until property grid is added
2015-11-23 20:03:47 -05:00
Charles J. Cliffe 7b301fadc1 Clean up some early prototype garbage.. 2015-11-22 23:25:45 -05:00
Charles J. Cliffe c0eca0b2f3 Allow modems to limit/control input rate
- Modems can now over-ride user rate input and lock/step as needed
- Separate digital code defs a bit more so it’s not required when
disabled
- Testing FSK based on @andresv ’s example at
https://github.com/jgaeddert/liquid-dsp/issues/9
2015-11-22 19:56:25 -05:00
Charles J. Cliffe 724808d9ff Clean-up/fix squelch 2015-11-21 15:12:20 -05:00
Charles J. Cliffe 63ea642c88 Clean-up unused stereo states. 2015-11-20 21:55:37 -05:00
Charles J. Cliffe 703e281d76 Fix demodulator init race 2015-11-20 21:41:57 -05:00
Charles J. Cliffe cf5cefbf6c fix non-lab build 2015-11-19 00:39:14 -05:00
Charles J. Cliffe 86270b3300 race/init fix; skip audio output on digital 2015-11-19 00:11:34 -05:00
Charles J. Cliffe dfd7496175 digital modem wrap-up and re-connect
- Compiles but untested
2015-11-18 23:40:30 -05:00
Charles J. Cliffe 5f6b492478 Analog modems now somewhat functional
- Still major memory leaks.. :)
2015-11-17 23:23:23 -05:00