Commit Graph

128 Commits

Author SHA1 Message Date
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 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 40c24a70b2 Restructure: Move emphasis from common code to 'libemphasis' 2017-11-25 19:23:56 +01:00
Andreas Eversberg c84318b245 Restructure: Move jitter from common code to 'libjitter' 2017-11-25 19:23:53 +01:00
Andreas Eversberg ac7bb3539f Restructure: Move wave from common code to 'libwave' 2017-11-25 19:23:47 +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 ee3fbeb03b Split call control from built-in call console by using MNCC layer 2017-11-05 16:58:31 +01: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 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 3f2f0fdd8c C-Netz: Show standard deviation of bit levels instead of jitter 2017-10-02 12:34:33 +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 a52c89800c SDR: Split SDR config from main_mobile.c to sdr_config.c 2017-09-02 07:34:48 +02:00
Andreas Eversberg eb0c123433 C-Netz: Fixed overflow bug 2017-09-01 18:42:51 +02:00
Andreas Eversberg dfdad21e3f C-Netz: Work on system informations, metering and call queues
- Make system informations configurable
- Simulate call mertering
- Support for call queues on busy voice channels
2017-09-01 18:42:51 +02:00
Andreas Eversberg cff7622f5c Move mobile phone specific code from libcommon.a to libmobile.a 2017-09-01 18:42:49 +02:00
Andreas Eversberg 3c0bcce97b Move German tones from common code to individual implementation 2017-09-01 18:42:48 +02:00
Andreas Eversberg 743d147d16 SDR: Turn TX power off if requested by network
The power level is ramped smoothly within 1 ms up or down.

R2000, AMPS and C-Netz turn off power when voice channel is not i use.

C-Netz turns off power between OgK timeslots.
2017-09-01 18:42:46 +02:00
Andreas Eversberg 8ce3ff455d Add incoming answer to call control, also allow to send recall tone 2017-08-09 17:27:08 +02:00
Andreas Eversberg 538b4a42ec Add wave file playback to replace TX audio 2017-07-15 07:38:16 +02:00
Andreas Eversberg 57d4d1739e AMPS/C-Netz: Correctly release pending transaction when creating a new one
If transactions is created, look on all channels for pending transaction
with same subscriber.

1. Remove that transaction.

2. Make channel return to IDLE.

3. Release call, if callref exists.
2017-06-10 13:08:22 +02:00
Andreas Eversberg 6adfcf7466 Status display
Alows to show status of current channels and users
2017-06-10 13:08:21 +02:00
Andreas Eversberg 76a3484c5c C-Netz: Make demodulation algorithm (slope or leve) slectable via option
By default (auto), the algorithm is selected, depending on sound card
or SDR usage. For testing and debugging purpose, the algorithm can be
forced.
2017-05-19 19:11:59 +02:00
Andreas Eversberg c086e66b7c minor cleanups 2017-05-17 20:14:37 +02:00
Andreas Eversberg ef7ff26793 C-Netz: SDR now uses zero-crossing to detect level changes.
This does not work with analog radio, but with SDR it works.
The quality should be better and the process is faster.
2017-05-17 20:06:46 +02:00
Andreas Eversberg 9d87b5bf0f C-Netz: Improved transmission of speech
The speech is now correctly ramped up and down during pause bits.
2017-05-17 20:06:44 +02:00
Andreas Eversberg 4d10ee7c82 No "sdr" audio device option required anymore (when using SDR) 2017-05-17 20:06:42 +02:00
Andreas Eversberg ca10048e5c Rename filter -> iir_filter (file name and instance name)
This is useful when using fir_filter in the future.
2017-05-15 21:46:32 +02:00
Andreas Eversberg 369bda87a9 C-Netz: Improved decoder debugging
FM decoder debug output is now written to text files for better
debugging of process.
2017-05-15 21:46:25 +02:00
Andreas Eversberg 8e0d7d2513 samplerate.c: Allow transcoding to lower sample rate other than 8000 Hz 2017-03-04 16:52:20 +01:00
Andreas Eversberg 3fc4fc54be main_common: Move init and cleanup function to main function 2017-03-04 07:12:12 +01:00
Andreas Eversberg f689244f98 C-Netz: OgK must be on first channel, so sync works correctly 2017-02-18 21:02:56 +01:00
Andreas Eversberg 438ce08add SoapySDR support
There is no time stamp handling. It is just TX'ing in advance and
synchronous to received RX rate.
2017-02-18 21:02:55 +01:00
Andreas Eversberg 17b6124122 C-Netz: Remove useless -V option 2017-02-18 21:02:54 +01:00
Andreas Eversberg 4de1e0188d C-Netz: Add low pass filter to eliminate high frequency noise
This improves the FSK decoding quite allot, especially with SDR.
2017-02-18 21:02:52 +01:00
Andreas Eversberg 3fb2ade352 C-Netz: Fix release of call process when no dialing was received from phone 2017-02-18 21:02:48 +01:00
Andreas Eversberg 0611f62b52 Show channel number and basic info when channel was created 2017-02-18 21:02:47 +01:00
Andreas Eversberg 5f1d7bc970 C-Netz: Improve clock speed measurements.
Sound card's clock measurements only requires a few minutes to get sub-ppm
accuracy results.
2017-02-18 21:02:46 +01:00
Andreas Eversberg faa3dfb7d4 C-Netz: Make average to clock measurements for a quicker result 2017-02-18 21:01:19 +01:00
Andreas Eversberg 8cb0187133 C-Netz: Remove the obviously useless noise function for unused timeslots 2017-02-18 21:01:17 +01:00
Andreas Eversberg 7e45f556ce Correcting all levels and move all remaining integer samples to sample_t
The leves are based on the standards of each mobile network. They
are adjusted to the specified frequency deviation now.
2017-02-18 21:01:13 +01:00
Andreas Eversberg bd7ccc5fa0 Add global DC-Filter and remove all individual DC-Filters 2017-02-18 21:01:12 +01:00
Andreas Eversberg 71e556e7ff Work on emphasis filter: Neutral @ 1000 Hz; Use filter before de-emphasis 2017-02-18 21:01:11 +01:00