Commit Graph

182 Commits

Author SHA1 Message Date
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
c844fcc1f6 If a mobile inscribes, show station ID on the console
If the console's station ID is not set, it will be automatically set
when a call is made from the mobile phone or when it performs
inscription to the network. (Only works for cellular networks with
inscription support.)
2024-02-18 16:23:30 +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
Vasyl Samoilov
2636b36c22 [NMT] fix UA UMC country code 2023-10-08 19:04:08 +03:00
Andreas Eversberg
28a297f97d Generate compador table only once when the application starts 2023-03-18 19:49:56 +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
fd3b4dae50 FSK modulator improvements
1. Phase is now changed proportional to the time of the bit change, if
   it happens somewhere between samples. The amount of phase change per
   bit is now the same for all bits, no matter how many samples
   currently lay inside this bit.

2. IIR filter is removed, because it causes distortions. A cosine shape
   is now used to transit between phase change of F0 to F1 and vice
   versa. This limits the spectrum. This filter is optional.
2022-12-16 12:43:19 +01:00
Andreas Eversberg
b60c844b4f DTMF: Now allows to give duration and pause for digit
Also the dtmf encoder will return less samples, if the digit(+pause)
ends, so that the caller call set the next digit to play seamlessly.

A reset function allows to clear the decoder states, to prevent glitches
when re-attaching to an interrupted stream.
2022-10-23 16:56:36 +02: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
1a0813069f NMT: Minor changes 2022-07-31 20:15:22 +02:00
Andreas Eversberg
c6149ed3b4 NMT: Fixes to 'additional info' and added clock (time) support
- untested -
2022-07-23 08:26:30 +02:00
Andreas Eversberg
181617aa81 NMT: Show debugging for IDLE frames
Suppress repeated IDLE frame
2022-06-19 06:51:45 +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
Martin Hauke
a07764f0d9 Fixed typos in cli output and source code comments 2021-01-03 09:57:03 +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
Csaba Sipos
da54ca68ad Adds country specific settings for Hungary. 2020-10-29 07:17:27 +01:00
Andreas Eversberg
ddce867821 Fixed compiler error for old GCC 2020-01-12 11:17:58 +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
445af0c0a2 Add filter switch to FSK modulator 2019-11-29 15:58:32 +01:00
Andreas Eversberg
6dcc8baad4 Split FSK modem code into separate modulator and demodulator 2019-11-29 15:58:32 +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
Martin Hauke
75765d49b7 Fixed many typos in output and source code comments 2019-07-15 21:14:52 +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
e4fcc080df NMT: Fixed traffic area (Y1Y2) digit conversion 2019-03-09 09:51:09 +01:00
Andreas Eversberg
5311f44daa minor fixes of some prints; fix NMT message counter bug 2018-12-23 19:53: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
73757ba083 NMT: Fix test of SMS code for different time zones 2018-11-10 15:18:28 +01:00
Andreas Eversberg
2cff22ef54 Added little INSTALL document and fixed some compiler issues 2018-11-02 09:28:48 +01:00
Andreas Eversberg
e5c4e1f638 NMT: Fixed support for NMT-F (France; SFR)
Works now with Nokia Talkman 520 TMF-1FR
2018-10-30 20:04:21 +01:00
Andreas Eversberg
9444fcdb91 NMT: Fix channel encoding for interleaved 2018-10-30 20:01:59 +01:00
Andreas Eversberg
e9a7f610ee Compandor: Remove unused option for unaffected level 2018-10-14 13:07:25 +02:00
Andreas Eversberg
56d8df5351 Rework of displaying supervisory info: NMT and AMPS
Using lower rate to show debug info of supervisory signal.

Display supervisory info for NMT and AMPS at measurement display screen.
2018-08-31 20:05:38 +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
6277753574 Minor debug message corrections 2018-02-15 08:00:18 +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
d3385b498d NMT: Fixes on channel coding/handling 2018-02-15 08:00:12 +01:00