Commit Graph

101 Commits

Author SHA1 Message Date
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
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
bf0abd627d A-Netz: Option to set gain of paging tones 2017-02-18 21:00:54 +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
16e1e842b9 A-Netz: Don't allow emphasis, since it is not used with A-Netz 2017-01-02 10:16:49 +01:00
Andreas Eversberg
e724823c5b A-Netz: Reset tone detector when going idle
A pending tone must be detected as soon as the cell is idle. This happens
if the phone picks up during release guard time.
2017-01-02 10:13:43 +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
481181fa74 A-Netz: Click removal when changing sequenced paging tones
When tone changes to next tone, a transition of 2ms is performed. The last
tone is faded out and the new tone faded in.
2016-11-14 18:36:50 +01:00
Andreas Eversberg
2a4abc62b2 Move realtime scheduling and signal handling to common code 2016-11-13 06:37:56 +01:00
Andreas Eversberg
4dacec9ceb A-Netz: Use Operator number 010 when calling from mobile station
Also use no caller ID (NULL). The call control code processes the
caller ID and dialed number correctly.
2016-11-13 06:04:54 +01:00
Andreas Eversberg
52b1ac65f4 A-Netz: Keep phase for each paging tone when played in sequence
If paging tones are played in sequence, only one tone out of four tones
is played at once. The phase of all tones are calculated as if each tone
would have been sent permanently.
2016-11-13 06:00:24 +01:00
Andreas Eversberg
27938d111e Added and fixed extra compiler warnings 2016-10-07 08:55:18 +02:00
Andreas Eversberg
0cec2f28be Add check if fromat at PDEBUG() is consistent (like printf)
The bugs it found are fixed too.
2016-10-07 07:52:17 +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
8d7c7f4425 callref: Move callref from 'sender' to individual implementation of a, b, c-netz
Cellular networks use transaction instances, so callref is now member of
transaction object.
2016-10-02 09:06:03 +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
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
4745b29115 NMT: Caller ID support 2016-07-24 12:31:07 +02:00
Andreas Eversberg
f39ee2f15a common code: Add support for main loop handler 2016-07-09 11:27:02 +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
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
021c34a899 Add geo locations of A-Netz and B-Netz towers. (not exact location) 2016-05-08 16:11:13 +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
aae58d5a68 A-Netz: Calibration of tone levels on TX and RX side 2016-05-06 07:05:52 +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
9de121109d common code: Sample rate conversion now supports any rate above 8000 Hz 2016-04-17 16:49:39 +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
a5db02775e fixup debug class definition: rename DFSK and DAUDIO to DDSP 2016-03-15 19:26:13 +01:00
Andreas Eversberg
e9234e3926 anetz: Add release timer, so station keeps blocked for a while
This prevents other mobile phone or outgoing call to seize the
base station before the current phone releases the transmitter.
2016-03-13 09:12:26 +01:00
Andreas Eversberg
0dc81fe210 Prepare for NMT: Fixes and improvements at common code 2016-03-13 09:12:23 +01:00
Andreas Eversberg
d21be383a6 anetz/bnetz: Move option 'loss detection' from common code to individual code 2016-03-13 09:12:16 +01:00
Andreas Eversberg
9b8e359264 anetz/bnetz: Remove redundant code to enter idle state 2016-03-13 09:12:14 +01:00