Commit Graph

452 Commits

Author SHA1 Message Date
Andreas Eversberg 6ba1b8acab Make LimeSDR tune rx to tx frequency 2018-05-21 19:39:09 +02:00
Andreas Eversberg 32cefbbffc Transcode fourth digit of TACS phone number correctly, if it is 0. 2018-04-19 21:08:45 +02:00
Andreas Eversberg 49050eff90 Add 'osmoradio', an analog radio (FM/AM)
This radio can be a receiver or a transmitter or both simultaniously.
2018-02-16 15:54:42 +01:00
Andreas Eversberg c4d4e7feda Add libam, a library to do AM modulation and demodulation 2018-02-16 15:54:42 +01:00
Andreas Eversberg 3fd0707a3b Add libclipper, a library to 'smoothly' clip overdriven audio levels 2018-02-16 15:54:41 +01:00
Andreas Eversberg 9197320ee6 Improved audio (sdr) handling 2018-02-16 15:54:40 +01:00
Andreas Eversberg 9af2b6e007 Improved wave playback 2018-02-16 15:54:40 +01:00
Andreas Eversberg 3a5fa8837c Improved emphasis 2018-02-16 15:54:39 +01:00
Andreas Eversberg 50fee02c63 remove obsolete function 2018-02-16 15:54:39 +01:00
Andreas Eversberg a57a5c0122 Improving and cleaning configure script 2018-02-16 15:53:48 +01:00
Andreas Eversberg 56f07a473d B-Netz: Add dial sequence generator to emulate call setup from mobile phone 2018-02-15 08:00:20 +01:00
Andreas Eversberg a5aee82e53 B-Netz: Some cleanups 2018-02-15 08:00:20 +01:00
Andreas Eversberg 6b9326982a libwave: Use libdebug for debugging messages. 2018-02-15 08:00:19 +01:00
Andreas Eversberg f91e6f5034 Make libdebug not depend on libdisplay 2018-02-15 08:00:19 +01:00
Andreas Eversberg 6277753574 Minor debug message corrections 2018-02-15 08:00:18 +01:00
Andreas Eversberg 1ef1b93776 B-Netz: Give warning about possibly unsupported channels 2018-02-15 08:00:16 +01:00
Andreas Eversberg 6df0eb46cc Fix compiler warnings 2018-02-15 08:00:15 +01:00
Andreas Eversberg 4cc33c5b0d Make sound card support (Alsa) optional 2018-02-15 08:00:15 +01:00
Andreas Eversberg 0b129d3c7f libdisplay: Removing dependency from libmobile 2018-02-15 08:00:14 +01:00
Andreas Eversberg d3385b498d NMT: Fixes on channel coding/handling 2018-02-15 08:00:12 +01:00
Andreas Eversberg 72bdd3376f Add JollyCom, a simple and experimantal mobile network
This network that can be used with any radio and a DTMF transmitter.
2018-01-21 10:46:09 +01:00
Andreas Eversberg f2eb6b3e70 Squelch improvement
Continuously calculate noise floor and lower threshold level if less noise
was received. High noise or ongoing transmission during start of program will
not cause a threshold that is too far above the actual noise floor.
2017-12-09 20:46:16 +01:00
Andreas Eversberg 9f901384de SDR: Add option to set local oscillator (LO) offset
By default it is set to -1 MHz.
2017-12-09 20:46:14 +01:00
Andreas Eversberg c49ee3b2a8 Remove dependencies between debug, displays and mncc-console
Test functions are cleaned up, due to removed dependencies.
2017-12-09 20:46:13 +01:00
Andreas Eversberg b3866de242 Add 'hold' function and level display to spectrum view 2017-12-05 11:10:47 +01:00
Andreas Eversberg 7c42d57d6e B-Netz: Minor fixes to timings and debug messages 2017-12-05 11:10:46 +01:00
Andreas Eversberg 417151e9a3 SDR: Add DC offset removal (DC bias) 2017-12-05 11:10:44 +01:00
Andreas Eversberg 9e75e64787 Add DTMF decoder to libdtmf
Note: This decoder has no user yet.
2017-12-03 08:46:05 +01:00
Andreas Eversberg 44247ffb53 FM modulation: Never turn carrier completely off
This prevents IIR filter to become very slow for some unknown reason.
2017-12-03 08:46:04 +01:00
Andreas Eversberg 7cbfaa2861 Add NaN debugging to IIR filter (disabled by default) 2017-12-03 08:46:02 +01:00
Andreas Eversberg 06092e90ed Add library to normalize speech level (Sendevolumenregler SVoR)
Note: This lib has no user yet.
2017-12-03 08:46:01 +01:00
Andreas Eversberg 021c695883 Restructure: Fixing library linking order 2017-12-03 08:46:00 +01:00
Andreas Eversberg 1a341f6b4e Restructure: Move debug from common code to 'libdebug' 2017-12-03 08:45:58 +01:00
Andreas Eversberg 016e72d6d7 Restructure: Move display from common code to 'libdisplay' 2017-12-03 08:45:55 +01:00
Andreas Eversberg ab59a26a51 Restructure: Move mobile from common code to 'libmobile' 2017-12-03 08:45:54 +01:00
Andreas Eversberg ed31a26eba Restructure: Move sample from common code to 'libsample' 2017-12-03 08:45:48 +01:00
Andreas Eversberg 1650cc5ad2 Restructure: Move sdr from common code to 'libsdr' 2017-12-03 08:45:45 +01:00
Andreas Eversberg 45a5568f70 Restructure: Move sound from common code to 'libsound' 2017-11-25 19:28:36 +01:00
Andreas Eversberg 0e3e4d9230 Restructure: Move img from common code to 'libimage' 2017-11-25 19:28:35 +01:00
Andreas Eversberg 7b539d5dc7 Restructure: Move mncc from common code to 'libmncc' 2017-11-25 19:28:33 +01:00
Andreas Eversberg 9776736cc4 Restructure: Move compandor from common code to 'libcompandor' 2017-11-25 19:25:10 +01:00
Andreas Eversberg 083ea4edaa Restructure: Move fsk from common code to 'libfsk' 2017-11-25 19:24:03 +01:00
Andreas Eversberg f4754dcb37 Restructure: Move fm_modulation from common code to 'libfm' 2017-11-25 19:24:02 +01:00
Andreas Eversberg 7af9b752a0 Restructure: Move 'libgermantone' to a-netz code 2017-11-25 19:23:59 +01:00
Andreas Eversberg cb30c96bc6 Restructure: Move fft from common code to 'libfft' 2017-11-25 19:23:57 +01:00
Andreas Eversberg 40c24a70b2 Restructure: Move emphasis from common code to 'libemphasis' 2017-11-25 19:23:56 +01:00
Andreas Eversberg 16194c15f9 Restructure: Move goertzel from common code to 'libgoertzel' 2017-11-25 19:23:54 +01:00
Andreas Eversberg c84318b245 Restructure: Move jitter from common code to 'libjitter' 2017-11-25 19:23:53 +01:00
Andreas Eversberg 8f6d0752df Restructure: Move squelch from common code to 'libsquelch' 2017-11-25 19:23:50 +01:00
Andreas Eversberg 60ffdcaf53 Restructure: Move hagelbarger from common code to 'libhagelbarger' 2017-11-25 19:23:49 +01:00
Andreas Eversberg ac7bb3539f Restructure: Move wave from common code to 'libwave' 2017-11-25 19:23:47 +01:00
Andreas Eversberg fd3a4d7ac2 Restructure: Move dtmf from common code to 'libdtmf' 2017-11-25 19:23:46 +01:00
Andreas Eversberg 17b34fbae6 Restructure: Move scrambler from C-Netz code to 'libscrambler' 2017-11-14 21:04:58 +01:00
Andreas Eversberg ffd934709f Restructure: Move classic German tones from common code to 'libgermanton' 2017-11-13 20:14:03 +01:00
Andreas Eversberg b605da1aff Restructure: Move timer from common code to 'libtimer' 2017-11-13 20:00:52 +01:00
Andreas Eversberg 1b183864bb Restructure: Move sample rate conversion from common code to 'libsamplerate' 2017-11-13 19:34:05 +01:00
Andreas Eversberg 669705c6ed Restructure: Move filters from common code to 'libfilter' 2017-11-13 19:15:09 +01:00
Andreas Eversberg fc1c5de547 Fixed pointer corruption bug in timer.c 2017-11-11 09:36:05 +01:00
Andreas Eversberg 8a74805ea6 NMT: Add support for receiving 8-Bit-SMS, because it is mandatory
Benefone Dragon uses this coding scheme for SMS-Submit.
2017-11-11 09:35:46 +01:00
Andreas Eversberg 486d2d5dbe NMT: Fixup assign traffic channel
dms_call state now belongs to transaction, so it is kept while switching
to traffic channel.
2017-11-11 09:35:44 +01:00
Andreas Eversberg ce2bb8ec43 Fixup call control split 2017-11-11 05:55:32 +01:00
Andreas Eversberg e9583d5661 R2000: Make recall work when call is directly answered by call_up_setup
It is not recommended to use recall function with built-in MNCC (auto-answer),
because the phone is not fast enough to switch back to call control channel
and so it misses the first paging. But anyway it works.

Also the channel layout is checked for having traffic and control channel.
2017-11-05 17:00:01 +01:00
Andreas Eversberg aeb31a7a34 A-Netz: Number of operator can be defined now
Since A-Netz does not allow automatic dialing, the call is forwarded
to an operator. Use -O <number> to change the default operator's number.
2017-11-05 16:59:59 +01:00
Andreas Eversberg ca6d70566c Fixup displaying measurements (array overflow) 2017-11-05 16:59:59 +01:00
Andreas Eversberg e8a3306eee Add option to cross-connect calls; Calls between mobiles are now possible
Use -x to enable call cross-connect. No MNCC socket, no call device must
be specified!

Be sure to have at least one control channel and two voice channels.
Alternatively you can use one combined control/voice channel and one
voice channel.
2017-11-05 16:59:58 +01:00
Andreas Eversberg 87a21a285a NMT: Assign traffic channel for outgoing and incoming calls
This way the control channel stays available for other (idle) phones.

No more loss of coverage for other phones, when a call to a mobile is
made.

It is still possible to define a combined control+traffic channel.
(e.g. for single channel setup)
2017-11-05 16:58:37 +01:00
Andreas Eversberg 5c33b8824b AMPS/TACS: Fixing release towards mobile station on FVC
We must continuously send release frames until Signaling Tone changes,
so we know that the phone has received the release.
2017-11-05 16:58:36 +01:00
Andreas Eversberg ee3fbeb03b Split call control from built-in call console by using MNCC layer 2017-11-05 16:58:31 +01:00
Andreas Eversberg 91b48c09de TV: Fix case where no SDR nor wave file has been selected 2017-10-22 19:23:18 +02:00
Andreas Eversberg 5e14471eb6 B-Netz: Fixup of metering pulse 2017-10-22 19:23:17 +02:00
Andreas Eversberg 2c4d0ee687 SDR: Check if the required bandwidth can be handled by given sample rate 2017-10-22 19:23:09 +02:00
Andreas Eversberg b32e0ab602 Implementation of RX level squelch (for A-Netz and B-Netz)
Use -S <dB> for setting RF level or use -S auto for auto level.

When squelch closes, audio is muted. If squelch is closed for some
seconds (depending on network), call is released. (RF loss condition)

The previous loss detection has been removed
2017-10-22 19:23:08 +02:00
Andreas Eversberg f7a0e4622b Display channel offset with TX and RX channel frequencies on startup 2017-10-22 19:23:06 +02:00
Andreas Eversberg e67c171035 SDR: Minor fixes in error condition handling 2017-10-22 19:23:05 +02:00
Andreas Eversberg f7476bce41 NMT-900: Handle channels >= 1025 correctly 2017-10-22 19:23:04 +02:00
Andreas Eversberg 3218d1a8e0 NMT: Fixed segfault when decoding certain (invalid) messages 2017-10-22 19:23:03 +02:00
Andreas Eversberg 975e34211b Call control: Minor logging fixes 2017-10-22 19:23:02 +02:00
Andreas Eversberg ae29f84ed7 Fixed typo 2017-10-12 19:46:32 +02:00
Andreas Eversberg 595fd845e0 NMT: Removed double implementation of caller ID encoding 2017-10-12 19:46:32 +02:00
Andreas Eversberg ba036de226 Add function to display measurements on screen
Use 'm' key to toggle display.
2017-10-12 19:46:30 +02:00
Andreas Eversberg e84d7a082c Use braces to make GCC happy 2017-10-02 12:34:38 +02:00
Andreas Eversberg c645ef9c14 R2000: Use correct debug category 2017-10-02 12:34:35 +02:00
Andreas Eversberg 1a4a08386c Only dial if call is on-hook or disconnected 2017-10-02 12:34:34 +02:00
Andreas Eversberg 3f2f0fdd8c C-Netz: Show standard deviation of bit levels instead of jitter 2017-10-02 12:34:33 +02:00
Andreas Eversberg 5ea48588e5 AMPS/TACS: Change audio level range 2017-10-02 12:34:31 +02:00
Andreas Eversberg 3e1da04f14 AMPS: Minor fixes to loopback test 2017-10-02 12:34:27 +02:00
Andreas Eversberg f469879ed0 SDR: Use filter to remove harmonics caused by downsampling/upsampling
This drastically increases the signal-noise-ratio and removes co-channel
interferences. It gains CPU usage, but only on SDR threads, not on the
main thread.
2017-09-24 15:59:24 +02:00
Andreas Eversberg ff5faa8697 SDR: Improved IQ plot display, increase dynamics of spectrum display 2017-09-24 15:57:56 +02:00
Andreas Eversberg c1fe179d5d AMPS: Fix 'use-after-free-bug' after destroying transaction 2017-09-24 14:11:54 +02:00
Andreas Eversberg b6468b585d NMT: Minor fixes on frame data 2017-09-22 16:51:47 +02:00
Andreas Eversberg 08dd180ea0 Add echo test feature to check mobile phone's mic + speaker
Add '-e' to command line option, but do not select MNCC nor call device
2017-09-21 20:29:30 +02:00
Andreas Eversberg 274cb7992b SDR: Improvement of spectrum view, peaks are drawn correctly 2017-09-16 10:48:48 +02:00
Andreas Eversberg 5b1956fe49 Move sms and dms code (NMT) to separate lib.a 2017-09-11 20:37:03 +02:00
Andreas Eversberg b6326aa473 Move commonly used German tones (A/B/C-Netz) to separate lib.a 2017-09-11 20:35:18 +02:00
Andreas Eversberg 7017fd7b3c Give hint to alter PKG_CONFIG_PATH, if SoapySDR or UHD was not found 2017-09-11 20:31:29 +02:00
Andreas Eversberg d28a5df024 R2000: Minor fix in channel description 2017-09-03 19:13:21 +02:00
Andreas Eversberg 9205767f94 SDR: Display spectrum graph together with channel numbers and position 2017-09-02 15:41:11 +02:00
Andreas Eversberg 496aff5a79 Add implementation of analog TV signal generator (PAL so far)
Quick and dirty Howto:
make && tv/osmotv --sdr-soapy --sdr-tx-gain 60  -r 15000000 -c 21 tx-fubk --sdr-tune-args "OFFSET=-3000000"
2017-09-02 07:34:50 +02:00
Andreas Eversberg a52c89800c SDR: Split SDR config from main_mobile.c to sdr_config.c 2017-09-02 07:34:48 +02:00
Andreas Eversberg 94ed39f5e2 JTACS: Implementation of the Japanese variant of TACS 2017-09-01 18:42:54 +02:00