113 Commits

Author SHA1 Message Date
vsonnier
26deefd606 Added #583: add periodic file generation, plus other options:
- Added a Recording menu,
git commit -m Added
2018-01-13 11:50:31 +01:00
vsonnier
fc0f20f07d Removed recording duration limitation:
- Limit WAV size to 2GB for maximum compatibility,
- Continue recording on another file when size gets too big (XXX_001.wav, then XXX_002.wav and so on)
- The sequence assure up to 2000GB worth of recording which should be enough
- Changed file pattern to international Year.Month.Day so its recognizable whether you are English of French or whatever :)
2018-01-07 08:59:39 +01:00
Charles J. Cliffe
be75c62778 Menu and demod display tweaks 2018-01-02 23:51:32 -05:00
Charles J. Cliffe
e6cd2ae774 AppImage fix - put_time req. GCC 5+ 2017-12-31 20:59:06 -05:00
Charles J. Cliffe
326a993a29 Sequence recording on format change; user label as filename when available 2017-11-16 23:53:30 -05:00
Charles J. Cliffe
f8e51df8cd Demod instance start/stop recording setup 2017-10-09 20:07:40 -04:00
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