Commit Graph

115 Commits

Author SHA1 Message Date
Andreas Eversberg 49925d4b95 anetz: Show prefixes and channels with --geo list 2024-04-15 23:12:31 +02:00
Andreas Eversberg 6e2fd793ac Increase compiler warnings and fix them 2024-04-05 21:51:41 +02:00
Andreas Eversberg a20637825a Audio rework, new jitter buffer
Jitter buffer is now based on packets, not on samples. The frames are
dejittered in received form. After reading from jitter buffer, they are
decoded in correct order. If a frame is missing, it is concealed by
repeating audio.
2024-03-30 23:28:05 +01:00
Andreas Eversberg 2dcf10b1b1 Add metering information from osmo-cc to B-Netz and C-Netz
Untested!
2024-02-18 16:23:31 +01:00
Andreas Eversberg 3158c48365 Move from local to external osmo* libraries
src/libdebug -> libosmocore
src/libselect -> libosmocore
src/libtimer -> libosmocore
src/libosmocc -> libosmo-cc
src/libg711 -> libosmo-cc
2024-02-18 16:23:29 +01:00
Andreas Eversberg 9f662d309f Add libselect to use select instead of polling all file descriptors 2023-01-21 15:15:52 +01:00
Andreas Eversberg f4abbaf027 Make libtimer to be osmo_* compatible in some places 2023-01-21 15:15:39 +01:00
Andreas Eversberg 2b7efedc48 Refactoring jitter buffer
Features are:
 * Packet based buffer
 * Random in, first out
 * Adaptive delay compensation (voice)
 * Fixed delay (data, optionally MODEM/FAX)
 * Interpolation of missing frames
 * Any sample size
2022-10-23 16:56:27 +02:00
Andreas Eversberg dde4113e61 Improvement of Goertzel filter. Using Hamming window now. Add test routine. 2021-12-08 17:24:04 +01:00
Andreas Eversberg 423bc42429 Refactoring validity check and prefix processing of dialed number
Command line help shows how many digits and what prefixes can be dialed.

Giving a station ID via command line will be checked for being valid.

The number to call the mobile statione will be checked for being valid.

Prefixes that are defined for a nework will be removed from station ID
automatically.

Multiple station ID lengths are supported:
 * C-Netz: 7 or 8 digits, depending on area code length
 * A-Netz: 5 or 7 digits; number is truncated to last 5 digits.
 * IMTS/MTS: 5 or 7 digits, depending on phone's selector switch.
2021-11-07 20:00:42 +01:00
Andreas Eversberg 922b4af362 Refactoring ASCCI-Art image printing 2021-11-07 08:55:46 +01:00
Andreas Eversberg 6fa74a1296 Refactor global variables for signal processing
These are:
	device, sample rate, buffer, latency
Called now:
	dsp_device, dsp_samplerate, dsp_buffer, dsp_latency
Call audio device:
	call_device, call_samplerate, call_buffer
2021-10-24 06:25:10 +02:00
Andreas Eversberg 3d9481177b Config file path can be changed by command line option "--config <path>" 2021-03-20 11:19:37 +01:00
Andreas Eversberg 8c0a25f3b0 Added special strdup to liboptions, to prevent memory leaks for option strings
If you are doing memory leak debugging you don't want to see any leaks when
stopping the program.
2021-03-07 10:38:38 +01:00
Andreas Eversberg 2cb2d5f3ac Replaced MNCC by OSMO-CC 2020-12-29 11:11:41 +01:00
Andreas Eversberg d0d14e2acf Add G.711 codec (alaw / ulaw conversion) 2020-12-29 11:11:41 +01:00
Andreas Eversberg ed72e29dbb Add tx-gain option 2020-10-29 07:39:27 +01:00
Andreas Eversberg f132059edf Add clock function to call interface
Implementations will have a clock to play tones, if no clock is
available from a transceiver.
2020-01-12 11:17:58 +01:00
Andreas Eversberg 150a77b69d Add support for AM to libmobile and libsdr 2019-12-08 17:26:44 +01:00
Andreas Eversberg c2f14834e5 Rename dbm0 (level) to speech (level)
In mobile communications we use speech level instead of milliwatts.
The deviation (FM) is always based on speech level, not on 1 milliwatt.
2019-12-08 17:24:36 +01:00
Andreas Eversberg af4bcb1522 Remove useless debug lines 2019-08-26 21:10:33 +02:00
Andreas Eversberg d6579c1244 Allow giving alphanumeric channels (Prepare for IMTS) 2019-08-26 21:10:20 +02:00
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 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 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 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 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 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 16194c15f9 Restructure: Move goertzel from common code to 'libgoertzel' 2017-11-25 19:23:54 +01:00
Andreas Eversberg c84318b245 Restructure: Move jitter from common code to 'libjitter' 2017-11-25 19:23:53 +01:00
Andreas Eversberg 8f6d0752df Restructure: Move squelch from common code to 'libsquelch' 2017-11-25 19:23:50 +01:00
Andreas Eversberg ac7bb3539f Restructure: Move wave from common code to 'libwave' 2017-11-25 19:23:47 +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 aeb31a7a34 A-Netz: Number of operator can be defined now
Since A-Netz does not allow automatic dialing, the call is forwarded
to an operator. Use -O <number> to change the default operator's number.
2017-11-05 16:59:59 +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