Andreas Eversberg
1eac087935
Output ASCII art image after all init functions (inside main_mobile.c)
2019-06-30 14:51:01 +02:00
Andreas Eversberg
13245c56f6
C-Netz: Add authentication support (process only)
...
No real authentication, since the algorithm and the keys inside the cards
are not known. A challenge can be specified and optionally the response
can be verified.
2019-06-30 14:51:01 +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
1321f66456
C-Netz: Add option to control voice deviation
2019-01-02 15:58:34 +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
e9a7f610ee
Compandor: Remove unused option for unaffected level
2018-10-14 13:07:25 +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
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
be309e1c83
C-Netz: Fixed display of states (state display function)
2018-05-21 19:43:38 +02:00
Andreas Eversberg
4e2ad7dae1
Fix compiler warning in conjunction with strncpy
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
3a5fa8837c
Improved emphasis
2018-02-16 15:54:39 +01:00
Andreas Eversberg
6277753574
Minor debug message corrections
2018-02-15 08:00:18 +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
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
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
Andreas Eversberg
7ea3bc188d
Move samples of int16_t format to sample_t, that is of type double
...
This prepares the correction of all levels
2017-02-18 21:01:08 +01:00
Andreas Eversberg
538a959128
Indexing tables by casting index to unsigned integer only
2017-02-18 21:01:06 +01:00
Andreas Eversberg
ac0da3f76e
Filter improvement: LP and HP filters, added test function
...
The -3 dB level at cut-off frequency is now maintained for multiple
iterations.
2017-02-18 21:01:04 +01:00
Andreas Eversberg
2d8d7e62c1
Use global init/cleanup function
2017-02-18 21:00:58 +01:00
Andreas Eversberg
a5fd375237
Fixed typos
2017-02-18 21:00:55 +01:00
Andreas Eversberg
fee4846c3f
SDR forces default settings: emphasis and FSK polarity
2017-02-18 21:00:52 +01:00
Andreas Eversberg
8b9277615d
Neu structure for the paging process (B-Netz)
...
Paging tones are not created within sound_alsa.c
The audio API is now responsible to switch to paging channel.
In case of SDR, the sdr.c will switch frequency offset.
2017-02-18 21:00:50 +01:00
Andreas Eversberg
57993e3e48
Support for UHD SDR interface
2017-02-18 21:00:49 +01:00
Andreas Eversberg
c5cf88ce57
Prepare for SDR: Add bandwidth and deviation info to sender instance
2017-02-18 21:00:47 +01:00
Andreas Eversberg
9ff8c3bb25
Rework on audio interface
...
Sound instance is now called audio instance and uses funcation pointers.
This gives a clean interface to be exchanged with other technologies,
linke SDR.
2017-02-18 21:00:45 +01:00
Andreas Eversberg
d54d3ac265
prepare audio handling for multi carrier SDR
2017-01-07 06:28:24 +01:00
Andreas Eversberg
713b1ab118
Rename functions and structure of biquad lowpass filter
2017-01-07 06:28:23 +01:00
Andreas Eversberg
2d0bc92cde
C-Netz: Make demodulation buffer size dynamic
2017-01-07 06:26:50 +01:00
Andreas Eversberg
a37dfe38ab
C-Netz: Fixed double free bug
2017-01-07 06:26:49 +01:00
Andreas Eversberg
3400f555fe
Add common function to give hotkey help
...
* Key to dial and hangup
* Key to display wave form
2016-12-09 16:42:38 +01:00
Andreas Eversberg
7585f9c22d
Add function to change dsp state, more debug with channel info
2016-12-09 16:34:33 +01:00
Andreas Eversberg
27c6e3d860
C-Netz: Add code documentation...
2016-12-01 17:59:08 +01:00
Andreas Eversberg
e34d74aa23
C-Netz: Simplifying TX signal clock sync between two channels
2016-11-30 18:09:38 +01:00
Andreas Eversberg
0b43b63d1f
Fixed command line option descriptions
2016-11-29 10:59:09 +01:00
Andreas Eversberg
d52d0242bf
Output enhancements
...
* no more flicker on wave form display while scrolling
* dialing console gets cleared/overwritten correctly
* fixes on stderr output
2016-11-29 07:49:21 +01:00
Andreas Eversberg
b1c452cf12
Changed command line options
...
* All lower case options define common options
* All upper case options define network specific options
2016-11-27 22:06:47 +01:00
Andreas Eversberg
f911717aa4
C-Netz: Minor coding style changes, no changes to process
2016-11-22 19:09:05 +01:00
Andreas Eversberg
2a4abc62b2
Move realtime scheduling and signal handling to common code
2016-11-13 06:37:56 +01:00
Andreas Eversberg
c6d3a41b81
C-Netz: Increment error counter only when trying to reach the phone
2016-10-23 11:50:02 +02:00
Andreas Eversberg
1ea95de120
C-Netz: Use emphasis with 200 uS time constant
2016-10-23 08:46:05 +02:00
Andreas Eversberg
8864db8269
C-Netz: Adjusting compandor response level
2016-10-23 08:45:24 +02:00