Commit Graph

70 Commits

Author SHA1 Message Date
Andreas Eversberg 26f4b3f711 C-Netz: Cleanup OgK slot allocation and polarity detection
Now you can select between 1 and 8 slots per frame.
2022-06-19 06:51:30 +02:00
Andreas Eversberg 4930da8e0c C-Netz: Add capability of non-standard OgK channel(s) 2022-06-19 06:51:28 +02: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 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 3fce0403fd C-Netz: Updated base station list 2021-09-17 16:16: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 ed72e29dbb Add tx-gain option 2020-10-29 07:39:27 +01:00
Andreas Eversberg ff498d10e1 C-Netz: Added option to define time slots of OgK 2020-10-29 07:36:26 +01:00
Andreas Eversberg 4cd9cb787e C-Netz: --ms-power defines power level (not P-bits)
Also the level 8 can be selected. Actually level 6 is selected, but
reduced to 8 when making a call.
2020-01-02 09:45:33 +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 360729d270 C-Netz: Added list of base station names and IDs
Automatic polarity detection is now done by using the polarity of last
transmitted message. We cannot use two base station IDs anymore, to
detect the polarity. Now we deal only with the defined base station ID.
2019-11-29 15:58:32 +01:00
Andreas Eversberg 195f7481d8 C-Netz: Correctly synchronize time stamp of SpK to OgK
Even if the SpK is not used (yet), it must count time stamp (bit_time) so that
SpK keeps in sync with the OgK, until frames are received from mobile station.
2019-10-26 16:57:01 +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 13245c56f6 C-Netz: Add authentication support (process only)
No real authentication, since the algorithm and the keys inside the cards
are not known. A challenge can be specified and optionally the response
can be verified.
2019-06-30 14:51:01 +02:00
Andreas Eversberg 1321f66456 C-Netz: Add option to control voice deviation 2019-01-02 15:58:34 +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 eac19ddab1 C-Netz: Allow SDR using C-Netz without calibration options
Crystals on SDRs are accurate enough for C-Netz (< 1ppm).
2018-08-26 08:47:56 +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 1a341f6b4e Restructure: Move debug from common code to 'libdebug' 2017-12-03 08:45:58 +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 7b539d5dc7 Restructure: Move mncc from common code to 'libmncc' 2017-11-25 19:28:33 +01:00
Andreas Eversberg 7af9b752a0 Restructure: Move 'libgermantone' to a-netz code 2017-11-25 19:23:59 +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 f7a0e4622b Display channel offset with TX and RX channel frequencies on startup 2017-10-22 19:23:06 +02:00
Andreas Eversberg e84d7a082c Use braces to make GCC happy 2017-10-02 12:34:38 +02:00
Andreas Eversberg b6326aa473 Move commonly used German tones (A/B/C-Netz) to separate lib.a 2017-09-11 20:35:18 +02:00
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 dfdad21e3f C-Netz: Work on system informations, metering and call queues
- Make system informations configurable
- Simulate call mertering
- Support for call queues on busy voice channels
2017-09-01 18:42:51 +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 3c0bcce97b Move German tones from common code to individual implementation 2017-09-01 18:42:48 +02:00
Andreas Eversberg 538b4a42ec Add wave file playback to replace TX audio 2017-07-15 07:38:16 +02:00
Andreas Eversberg 76a3484c5c C-Netz: Make demodulation algorithm (slope or leve) slectable via option
By default (auto), the algorithm is selected, depending on sound card
or SDR usage. For testing and debugging purpose, the algorithm can be
forced.
2017-05-19 19:11:59 +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 f689244f98 C-Netz: OgK must be on first channel, so sync works correctly 2017-02-18 21:02:56 +01:00
Andreas Eversberg 17b6124122 C-Netz: Remove useless -V option 2017-02-18 21:02:54 +01:00
Andreas Eversberg 8cb0187133 C-Netz: Remove the obviously useless noise function for unused timeslots 2017-02-18 21:01:17 +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 2d8d7e62c1 Use global init/cleanup function 2017-02-18 21:00:58 +01:00
Andreas Eversberg fee4846c3f SDR forces default settings: emphasis and FSK polarity 2017-02-18 21:00:52 +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 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