Commit Graph

486 Commits

Author SHA1 Message Date
Andreas Eversberg 8c6f78fd63 B-Netz: Make debug text more plausible 2019-05-30 18:17:55 +02:00
Andreas Eversberg b9cc33c6ec OsmoTV: Added more test patterns for TV repair
- improved FUBK
- red screen for DY adjustment
- crosses and dots for convergence adjustment
- EBU color bars
- natural color image
2019-05-12 21:08:09 +02:00
Andreas Eversberg e4314749fd Fixup for fast mathm
Because users of libfm do always call fm_init and fm_exit, it must be
included in every build.
2019-03-23 07:57:28 +01:00
Andreas Eversberg e4fcc080df NMT: Fixed traffic area (Y1Y2) digit conversion 2019-03-09 09:51:09 +01:00
Andreas Eversberg 1321f66456 C-Netz: Add option to control voice deviation 2019-01-02 15:58:34 +01:00
Andreas Eversberg f1292a985b SDR: Move channel away from center frequency, to avoid bad RX 2019-01-02 15:57:54 +01:00
Andreas Eversberg 5311f44daa minor fixes of some prints; fix NMT message counter bug 2018-12-23 19:53:28 +01:00
Andreas Eversberg e16a2dd548 B-Netz: Add base stations of the Netherlands 2018-12-23 19:26:59 +01:00
Andreas Eversberg 32025915d5 Make run faster on ARM CPUs using fast math approximation
Use --fast-math to use sine/cosine tables and approximate atan2.
2018-11-10 15:18:28 +01:00
Andreas Eversberg e8429166c3 Radio: Minor fixes 2018-11-10 15:18:28 +01:00
Andreas Eversberg 73757ba083 NMT: Fix test of SMS code for different time zones 2018-11-10 15:18:28 +01:00
Andreas Eversberg 2cff22ef54 Added little INSTALL document and fixed some compiler issues 2018-11-02 09:28:48 +01:00
Andreas Eversberg e5c4e1f638 NMT: Fixed support for NMT-F (France; SFR)
Works now with Nokia Talkman 520 TMF-1FR
2018-10-30 20:04:21 +01:00
Andreas Eversberg 9444fcdb91 NMT: Fix channel encoding for interleaved 2018-10-30 20:01:59 +01:00
Andreas Eversberg e9a7f610ee Compandor: Remove unused option for unaffected level 2018-10-14 13:07:25 +02:00
Andreas Eversberg 56d8df5351 Rework of displaying supervisory info: NMT and AMPS
Using lower rate to show debug info of supervisory signal.

Display supervisory info for NMT and AMPS at measurement display screen.
2018-08-31 20:05:38 +02:00
Andreas Eversberg eac19ddab1 C-Netz: Allow SDR using C-Netz without calibration options
Crystals on SDRs are accurate enough for C-Netz (< 1ppm).
2018-08-26 08:47:56 +02:00
Andreas Eversberg 279dd25b15 SDR: Add presets for LimeSDR-Mini 2018-08-25 10:25:25 +02:00
Andreas Eversberg b2210cd698 Radio: Abort, if no RX sink is specified 2018-08-25 10:22:55 +02:00
Andreas Eversberg 881d4a9f72 SDR: Fix level range of IQ date; must not exceed range of -1 .. 1
LimeSDR mini (and maybe others) do not want IQ data to become a value below
-1 or above 1. This happens slightly when applying the IIR filter after
upsampling. To prevent this, we scale down the IQ level a little bit.

To test the problem:
- set the scale level to 1.0, so it does not take effect
- use LimeSDR mini
- use upsampling (sample rate differs SDR sample rate)
- run loopback mode 2 (-l 2)
- IIR filter must be initialized with 2 or more iterations to take effect
- check linear IQ graph; it will then plot dots inside the circle
2018-08-25 08:13:16 +02:00
Andreas Eversberg 0b22b0305a C-Netz: Correcting some information elements 2018-07-01 09:36:50 +02:00
Andreas Eversberg 40aec4f14c C-Netz: Swtitch speech scrambler only after receiving 3 consecutive frames with different scrambler mode 2018-07-01 09:18:07 +02:00
Andreas Eversberg 7c4cfd5567 TV: Minor code cleanup 2018-06-24 11:40:53 +02:00
Andreas Eversberg 83449726f8 R2000: Fix recall option 2018-06-24 11:39:31 +02:00
Andreas Eversberg b7046a5283 SDR: Add clock source selection, untested yet 2018-06-24 11:36:56 +02:00
Andreas Eversberg f4988297a6 B-Netz: Refactoring tone and quality detection 2018-06-05 07:09:51 +02:00
Andreas Eversberg 3b58408691 Fixed -t (--tone) option 2018-05-27 06:04:09 +02:00
Andreas Eversberg be309e1c83 C-Netz: Fixed display of states (state display function) 2018-05-21 19:43:38 +02:00
Andreas Eversberg 0b504dbeb3 SoapySDR: Flip initialization of RX and TX, so LimeSDR works with frequencies below 30 MHz 2018-05-21 19:39:09 +02:00
Andreas Eversberg c774180082 Osmoradio fixes: Use real time scheduling and always transmit empty buffer 2018-05-21 19:39:09 +02:00
Andreas Eversberg ce4a540745 Add real-time scheduling to osmotv and make it default for all base stations
This is required to drastically reduce the latency of the thread execution.
2018-05-21 19:39:09 +02:00
Andreas Eversberg 4e2ad7dae1 Fix compiler warning in conjunction with strncpy 2018-05-21 19:39:09 +02:00
Andreas Eversberg 3438402fe2 Update ImageMagick support to API version 7 2018-05-21 19:39:09 +02:00
Andreas Eversberg 3b81007210 Refactoring command line option handling
* Use own function to define and parse command line options

 * Command line options can be defined by config file also

 * --limesdr allows to auto-set required SDR option for LimeSDR
2018-05-21 19:39:09 +02:00
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