Commit Graph

148 Commits

Author SHA1 Message Date
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 cff7622f5c Move mobile phone specific code from libcommon.a to libmobile.a 2017-09-01 18:42:49 +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 534411d660 New common FSK implementation, replaces all individual implementations 2017-08-09 17:27:13 +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 7c9ce960d7 Fixes of checking digits 2017-08-08 12:54:21 +02:00
Andreas Eversberg 0cbd9657d2 Move Hagelbarger error correction code from NMT to common code
It will be used by Radiocom 2000 also.
Some minor fixes and improvements apply.
2017-08-08 12:53:48 +02:00
Andreas Eversberg 6c64025717 Move FFSK modem from NMT to common code, so it can be used by other networks 2017-08-08 12:53:34 +02:00
Andreas Eversberg 3274812eab NMT-900 System implementation
NMT can now be run as 450 or 900 Network.
2017-08-08 12:52:45 +02:00
Andreas Eversberg 0c9de251be NMT: Implement Hagelbarger Code
This will correct burst errors of received messages. If the message
is too corrupted, it will be ignored, because some element may not
match then. The digits and line signals are checked for consistency,
since they are repeated serveral times in a message.
2017-08-08 12:52:29 +02:00
Andreas Eversberg cd9cb9a107 Minor fix for NMT debug output 2017-07-15 12:45:20 +02:00
Andreas Eversberg 538b4a42ec Add wave file playback to replace TX audio 2017-07-15 07:38:16 +02:00
Andreas Eversberg 557d19de66 NMT: Show trafic areas in hex and allow to select unsupported areas 2017-07-15 07:38:14 +02:00
Andreas Eversberg 3774519631 NMT: Fixed "use after free" bug 2017-07-15 07:38:13 +02:00
Andreas Eversberg 7af886c600 NMT: Fixed NMT digit decoding 2017-07-15 07:38:13 +02:00
Andreas Eversberg d52f4cd29d NMT: Mark Benelux and Czech/Slovak networks as tested
I have tested the network with B/NL/L and CZ/SK phones, and they work!
2017-06-15 18:28:26 +02:00
Andreas Eversberg 1aebedc66a NMT: Fixed line signal description 2017-06-11 09:01:21 +02:00
Andreas Eversberg 7a9762e28e NMT: Disable Supervisory signal during DMS (SMS) transfer and use Timeout
There is no Supervisory signal during DMS transfer, so there must be
no timeout for Supervisory signal. Instead, the SMS layer will timeout
after some seconds without receiving data.
2017-06-11 08:13:52 +02:00
Andreas Eversberg 19afb792b5 NMT: Fix and adjustements to supervisory signal detection 2017-06-10 17:11:47 +02:00
Andreas Eversberg 50b2021d21 NMT 450: Support for other European counties, like Belgium, Czech, Slovakia 2017-06-10 13:08:51 +02:00
Andreas Eversberg e653475ff7 NMT: Allow NULL (B'0000') to be used as country selector in traffic area 2017-06-10 13:08:23 +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 4d10ee7c82 No "sdr" audio device option required anymore (when using SDR) 2017-05-17 20:06:42 +02:00
Andreas Eversberg 3fc4fc54be main_common: Move init and cleanup function to main function 2017-03-04 07:12:12 +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 0611f62b52 Show channel number and basic info when channel was created 2017-02-18 21:02:47 +01:00
Andreas Eversberg f72c53757d B-Netz, NMT: Improved check for minimum required sample rate 2017-02-18 21:01:15 +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 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 2d8d7e62c1 Use global init/cleanup function 2017-02-18 21:00:58 +01:00
Andreas Eversberg bc028cd4d3 NMT: Make supervisory signal default, also allow setting per channel. 2017-02-18 21:00:57 +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 d447be5e26 NMT: Rework on FSK process, no more requirement for special sample rates 2017-01-07 06:28:20 +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 f111c50478 A-Netz / B-Netz: Add function to change state, debug with channel info
Change state uses a function rather than directly setting state
variable.

Some debug commands now use channel number. (for multi-trx setups)
2016-12-06 17:47:58 +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 5f5683e374 NMT: Fixed compiler warning 2016-11-13 06:42:18 +01:00
Andreas Eversberg 2a4abc62b2 Move realtime scheduling and signal handling to common code 2016-11-13 06:37:56 +01:00
Andreas Eversberg 27938d111e Added and fixed extra compiler warnings 2016-10-07 08:55:18 +02:00
Andreas Eversberg b205cfcf03 B-Netz: Work on pilot signal generation
The pilot signal to switch to channel 19 can be:
 * a tone
 * a tone that is turned off (notone)
 * positive amplitude
 * negative amplitude
2016-10-03 14:56:15 +02:00
Andreas Eversberg 4c1c8eb6fb NMT: Fix on paging retry 2016-08-28 15:29:13 +02:00
Andreas Eversberg 37ca463d98 NMT: Fixed channel coding for channels other than 1..9 2016-08-20 10:21:46 +02:00
Andreas Eversberg 8cecf13b1a NMT: Add transaction handling 2016-08-20 09:57:05 +02:00
Andreas Eversberg f15c0dfea3 NMT: Fixing audio level of supervisory signal to match 0.3 KHz deviation 2016-08-03 12:03:52 +02:00
Andreas Eversberg 55229a397c NMT: Fix, stop ringing timer at answer 2016-08-03 12:03:52 +02:00
Andreas Eversberg 28ae3e300f NMT: Fixed multi-transceiver mode and show channel in various logs 2016-08-03 12:03:51 +02:00
Andreas Eversberg 038ce9d1b7 Add info key 'i' to show some states.
Currently showing C-Netz attached subscribers
2016-08-03 12:03:49 +02:00
Andreas Eversberg 0bc5ee553c NMT: Fix SMS cleanup 2016-07-31 18:52:31 +02:00
Andreas Eversberg cc8631d4f9 NMT: Give warning of missing channel type AFTER creating all channels 2016-07-31 18:48:20 +02:00
Andreas Eversberg eb8a22e2c2 NMT: Fix SMS deliver output message 2016-07-31 14:49:43 +02:00
Andreas Eversberg 0593f7d066 Fix typos 2016-07-24 12:31:09 +02:00
Andreas Eversberg 6a5af9aeac Typos: acknowledgement -> acknowledgment signalling -> signaling 2016-07-24 12:31:08 +02:00
Andreas Eversberg 123979a0f3 NMT: Minor fix at debug output 2016-07-24 12:31:08 +02:00
Andreas Eversberg 8741833948 NMT: Change 'index' of message to 'mt' (message type) 2016-07-24 12:31:08 +02:00
Andreas Eversberg 5807a49f49 Release active call, when disconnect is received from network
If early disconnect is received, the connecion is kept established, so the
announcement can be heared by mobile subscriber.
2016-07-24 12:31:08 +02:00
Andreas Eversberg 4745b29115 NMT: Caller ID support 2016-07-24 12:31:07 +02:00
Andreas Eversberg ba8bf0e9d5 NMT: Fix autoanswer
If phone does not support autoanswer, the MTX proceeds with regular ringing.
2016-07-24 12:31:07 +02:00
Andreas Eversberg efb50532c6 NMT: Rework on frame (message) types 2016-07-24 12:31:07 +02:00
Andreas Eversberg a6bd841247 NMT: Various fixes for SMS support 2016-07-24 12:31:05 +02:00
Andreas Eversberg 2137db0e01 NMT: Autoanswer for SMS/DMS calls 2016-07-09 15:16:17 +02:00
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 f39ee2f15a common code: Add support for main loop handler 2016-07-09 11:27:02 +02:00
Andreas Eversberg 2ee51022f4 Rename 'compander' to 'compandor' 2016-06-20 19:37:56 +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 26593ed034 NMT: fix minor bug 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 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 50136d7e8a NMT: Typo in channel list 2016-05-15 20:43:58 +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 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 bae12156a2 common code: Add input gain option 2016-05-08 15:49:45 +02:00
Andreas Eversberg 7434e21dc2 Multi transceiver support
This can be multiple transceivers on multiple sound cards.

Two transceivers can be bundled on one sound device as well, using both channels.
2016-05-08 15:48:13 +02:00
Andreas Eversberg 97c9eee322 Fix display of correct program name 2016-05-08 08:11:35 +02:00
Andreas Eversberg b73894ac49 B-Netz / NMT: minor changes at signal detection 2016-05-06 07:05:40 +02:00
Andreas Eversberg 47dbf094d9 NMT: Changes in parity check 2016-05-06 07:05:30 +02:00
Andreas Eversberg 4356c93afa common: Add pre and de emphasis, if the radio does not support it
Connect to the oscillator of the transmitter - good girl!
You need to enable pre emphasis in this case.

Connect to the discriminator of the receiver - good boy!
You need to enable de emphasis in this case.
2016-04-24 15:14:56 +02:00
Andreas Eversberg 5062628e52 NMT: Calculate quality of sync sequence and drop in case of bad quality
This eliminates chance of findig a sync sequence in noise or speech
2016-04-24 15:14:56 +02:00
Andreas Eversberg c0cd74ac85 NMT: Show levels of received frames 2016-04-24 15:12:21 +02:00
Andreas Eversberg 2a092b8cf7 Fixing compander 2016-04-24 15:10:25 +02:00
Andreas Eversberg 9de121109d common code: Sample rate conversion now supports any rate above 8000 Hz 2016-04-17 16:49:39 +02:00
Andreas Eversberg 17a93b501b NMT: Fix hint and list of traffic area configuration 2016-03-27 17:56:04 +02:00
Andreas Eversberg 1146537d84 common code: Add feature to record received audio and replay it
-W <file.wav> writes a wave file of received audio
-R <file.wav> reads a wave file to feed into decoder

This way you can record a phone and later debug without a phone
and radio equipment.
2016-03-27 17:56:04 +02:00
Andreas Eversberg 0aa749d27b WIP: NMT docs 2016-03-26 17:35:20 +01:00
Andreas Eversberg a5db02775e fixup debug class definition: rename DFSK and DAUDIO to DDSP 2016-03-15 19:26:13 +01:00
Andreas Eversberg 57caa536cf Implementation of NMT (Nordic Mobile Telephoe) network 2016-03-13 19:42:19 +01:00