Commit Graph

191 Commits

Author SHA1 Message Date
Andreas Eversberg e7fa08b6df NMT / SMS: Short Message Service support 2016-07-09 15:16:16 +02:00
Andreas Eversberg 64c829909b NMT / DMS: User data facility support (required for SMS) 2016-07-09 11:27:24 +02:00
Andreas Eversberg 62b3712ce5 common code: Check and ignore events without callref set 2016-07-09 11:27:02 +02:00
Andreas Eversberg f39ee2f15a common code: Add support for main loop handler 2016-07-09 11:27:02 +02:00
Andreas Eversberg 26ab26db48 minor fix at MNCC socket 2016-07-09 11:27:02 +02:00
Andreas Eversberg 44ebf1616a work on docs 2016-07-07 16:25:55 +02:00
Andreas Eversberg ab9aba1a84 B-Netz: Reply the station ID correctly
It must be replied right after it has been received the first time.
It does not matter if this happens a bit later, even a second later.

Thanx to Hans Wigger for providing recording from his B-Netz tester to
figure this out.
2016-07-06 16:19:01 +02:00
Andreas Eversberg 54266a9937 Minor fixup to .gitignore: ignore test_compandor 2016-07-06 16:18:51 +02:00
Andreas Eversberg f3fd01ebcd ALSA code: Fixed corrupted sample at the end of a read
The last sample may get corrupted. It seems that this depends on the
card that is used. To fix this, the snd_pcm_avail is checked and
one sample less than available is read using snd_pcm_readi. This
sample remains in RX buffer until next read. Then it is not corrupted.
2016-07-02 08:04:43 +02:00
Andreas Eversberg 4719be95bd work on docs 2016-07-02 08:01:34 +02:00
Andreas Eversberg 2ee51022f4 Rename 'compander' to 'compandor' 2016-06-20 19:37:56 +02:00
Andreas Eversberg 86daa5a64a AMPS: Add option to use the BUSY/IDLE bit on FOCC 2016-06-20 17:16:46 +02:00
Andreas Eversberg 76f6285846 AMPS: Show round trip delay of Filler frames in loopback mode 2016-06-20 17:15:42 +02:00
Andreas Eversberg d851c37eac common code: Release MNCC call 30 seconds after listening to announcement 2016-06-19 17:46:56 +02:00
Andreas Eversberg b45b0c6bac common code: Minor fix in main loop 2016-06-19 17:43:48 +02:00
Andreas Eversberg f87e36fa47 AMPS: Detect difference between paging response and call response
Release call, if paging response was received, after call from fixed
network has already been released.
2016-06-19 17:41:42 +02:00
Andreas Eversberg 2b61a2ca4a Work on docs 2016-06-19 11:09:03 +02:00
Andreas Eversberg 673aa74e6c AMPS: Various minor fixes 2016-06-19 11:03:59 +02:00
Andreas Eversberg 4d52f955b3 common code: Add processing interval option to decrese CPU usage 2016-06-18 19:33:08 +02:00
Andreas Eversberg e10898c1e8 C-Netz: Minor cosmetic fixes 2016-06-18 08:05:18 +02:00
Andreas Eversberg d2c4ca4fa9 Implementation of Advanced Mobile Phone Service (AMPS) 2016-06-17 17:03:29 +02:00
Andreas Eversberg 7d5d3da8d3 Add function to display wave form from input/loop
Use 'w' to toggle display.

Move terminal input processing and main loop to main_common.c
2016-06-17 17:03:28 +02:00
Andreas Eversberg 4e0e13cb2d work on docs 2016-06-17 17:03:27 +02:00
Andreas Eversberg 1d20119d85 common code: Call control allows to re-dial after disconnect
No hangup key required before that anymore.
2016-06-12 16:16:37 +02:00
Andreas Eversberg 7cfd11eb17 common code: Add feature to select debug category rather than showing all 2016-06-12 16:14:29 +02:00
Andreas Eversberg 051cc81b13 C-Netz: Move transaction routines to seperate file 2016-06-12 16:11:20 +02:00
Andreas Eversberg 26593ed034 NMT: fix minor bug 2016-06-12 16:11:20 +02:00
Andreas Eversberg 4d22b11855 common code: Add debug #define for capture generated singal
Used for fundamental debugging of encoded signal
2016-06-12 16:11:20 +02:00
Andreas Eversberg c933250685 Add dsp mode change fuction to A and B Netz, fixed NMT 2016-06-12 16:11:20 +02:00
Andreas Eversberg 997f8eda43 B-Netz: Add timer for switching back from calling channel
The timer ensures that the paging sequence is sent out by sound card before
switching back to traffic channel
2016-05-29 17:17:49 +02:00
Andreas Eversberg 1ceb3026dd Fixed link problem with alsa lib
Thanx to Martin for pointing to this problem.
2016-05-16 18:41:21 +02:00
Andreas Eversberg 90dbc0cbd7 C-Netz: Debug fixes 2016-05-15 20:44:07 +02:00
Andreas Eversberg 50136d7e8a NMT: Typo in channel list 2016-05-15 20:43:58 +02:00
Andreas Eversberg e9640c0cd8 C-Netz: Fix TX polarity selection 2016-05-15 20:43:49 +02:00
Andreas Eversberg 9ecb87f3e6 Fixing station ID command line parameter 2016-05-15 20:43:38 +02:00
Andreas Eversberg 7aa2445b47 Move amplitude (level) debugging to debug.c 2016-05-15 20:37:06 +02:00
Andreas Eversberg adc3270dc0 Acknowledgements 2016-05-13 20:44:47 +02:00
Andreas Eversberg 60d9a7b496 C-Netz: Advice about requirement of emphasis done by software 2016-05-13 19:23:43 +02:00
Andreas Eversberg c2cfce2373 wip: docs 2016-05-13 09:37:03 +02:00
Andreas Eversberg 46fa72894e C-Netz: Calibration/fix processing of tone levels on TX and RX side
FSK and compander levels are adjusted.

Eliminate offsets between subsequent speech chunks. This is done by
high-pass filter. An offset is not passed to the filter.

Do correct audio processing chain:
 time compress -> compressor -> scrambler / pre-emphasis -> TX
 RX -> de-scrambler / de-emphasis -> expander -> time expand
2016-05-13 09:37:03 +02:00
Andreas Eversberg 5a9c9c7401 C-Netz: Send 5280 Hz test tone on idle speech channel 2016-05-13 09:37:03 +02:00
Andreas Eversberg bbab972b51 NMT: Fixup paging on other channel 2016-05-13 09:37:03 +02:00
Andreas Eversberg 69ccdb99b5 NMT: Calibration of tone levels on TX and RX side 2016-05-13 09:37:03 +02:00
Andreas Eversberg 27e8b03df5 Fixup typo on jitter code 2016-05-13 09:37:02 +02:00
Andreas Eversberg 42eefe90bf common code: Fixed de-emphasis by adding high pass filter
This high-pass filter filters out DC and frequencies below 300 Hz.
Now de-emphases will not cause low frequencies to saturate audio level
range or cause too high levels on low frequencies.
2016-05-13 09:37:02 +02:00
Andreas Eversberg 3a54f46b81 C-Netz: Fixup debug output at database 2016-05-13 09:37:02 +02:00
Andreas Eversberg e2a9c2c6a5 Automatic FSK polarity selection on TX side
This is done by simulating two cells with different polarities.
On first message from mobile station, the cell with the correct
polarity is used, the other is disabled.

On RX side the polarity is not selected, since FSK decoder detects
polarity for every frame.
2016-05-13 09:37:01 +02:00
Andreas Eversberg 021c34a899 Add geo locations of A-Netz and B-Netz towers. (not exact location) 2016-05-08 16:11:13 +02:00
Andreas Eversberg 57ba648ac4 C-Netz: Add tiny database to track if phones are online
Reject calls, if not online.

Use an interval to check if the phones are still online.
2016-05-08 15:53:00 +02:00
Andreas Eversberg bae12156a2 common code: Add input gain option 2016-05-08 15:49:45 +02:00