tarxvf
45228e226e
just the emulator shell broken out
2021-11-03 19:20:42 +01:00
Niccolò Izzo
156f31cde4
Fix typo in license header
2021-10-12 12:36:52 +02:00
Silvano Seva
b58fbd6760
Fixed syntax error in MD3x0 and UV3x0 radio drivers
2021-10-08 19:34:08 +02:00
Niccolò Izzo
65a632054a
Disable CTCSS tones in M17 mode
...
Removed CTCSS modulation for M17 mode, removed FM analog specific
settings in macro menu such as tone selection, tone enable and tx
bandwidth.
2021-10-08 16:02:03 +02:00
Silvano Seva
42e7521205
Fixed compilation error with GDx targets
...
Added codec2 as a dependency also for GD77, DM1801 and MD9600 targets to allow compilation of OpMode_17.cpp file
Stub input audio stream driver for GDx targets
2021-10-06 21:43:07 +02:00
Silvano Seva
952ce4b38f
Added codec2 as meson run time dependency when compiling for linux target, substituting the static library compiled from sources.
...
Stub input audio stream driver for linux x86/x64 platform.
2021-10-06 19:35:46 +02:00
Silvano Seva
5113a39f2a
Enabled M17 support also in MD-UV3x0 radio driver
2021-09-21 12:02:32 +02:00
Silvano Seva
431ba17b26
Modified HR_Cx000::setInputGain() function to accept a value expressed in dB instead of a raw binary value to be written directly inside the chip's register
2021-09-21 12:01:31 +02:00
Silvano Seva
bc775e2358
Fixed bug in MDx implementation of input stream API: inputStream_stop function turned off DMA clock gating and, consequently, stomped DMA transfers towards the LCD
2021-09-19 15:15:03 +02:00
Federico Amedeo Izzo
118c514081
UI: Add digital mode screen
...
Use main screen bottom bar in mode screen
mode screen: Move frequency and channel name to center
Show S-meter without squelch bar for digital modes
Change S-meter for digital modes, add audio level meter
Print FM information in mode screen
Add mode screen fonts
2021-09-03 16:44:57 +02:00
Silvano Seva
92ea1535ff
Moved definition of 'PLATFORM_LINUX' macro from hwconfig to meson.build, added '-std=c++14' compilation flag to compile arguments for linux platform, added missing includes to M17Utils.h
2021-09-03 16:44:57 +02:00
Silvano Seva
be21364b30
Made 'toneGen_playAudioStream' a non-blocking function, added 'toneGen_waitForStreamEnd' API function to allow blocking execution flow until a currently playing audio stream terminates or is stopped
2021-09-03 16:39:06 +02:00
Silvano Seva
db3efb21be
Added to MDx tone generator driver a function to interrupt an audio stream before its natural completion
2021-09-03 16:39:06 +02:00
Silvano Seva
943838c263
Fixed bug affecting management of data buffers inside MDx implementation of inputStream API
2021-08-27 14:26:16 +02:00
Silvano Seva
9650ff5925
Removed macro disabling by default the USB virtual COM port, which is now permanently enabled.
2021-08-26 10:22:55 +02:00
Silvano Seva
f3c6e92911
Driver for input audio stream on MDx
2021-08-25 18:34:41 +02:00
Silvano Seva
d329e141ed
Fixed wrong conversion in GDx ADC driver
2021-08-15 18:05:23 +02:00
Silvano Seva
4d3eacc144
Switched 'v_bat' and 'charge' fields of state struct from float to, respectively, uint16_t and uint8_t and updated UI functions accordingly. Rationale for this change is providing better support for future platforms without hardware floating point unit.
2021-08-14 12:56:45 +02:00
Silvano Seva
a7acc3301b
Modified 'platform_getVbat' API: now it returns an uint16_t value containing the battery voltage in millivolt
2021-08-14 12:47:21 +02:00
Silvano Seva
8e0a5d1c0f
Made 'platform_getVolumeLevel' and 'platform_getMicLevel' API functions return a normalised 8 bit value ranging from 0 to 255 (TG-293 #closed)
2021-08-14 10:18:55 +02:00
Silvano Seva
379f5aa71b
Refactoring of GDx ADC1 driver: added function allowing to retrieve the raw conversion value, changed return value of 'adc1_getMeasurement' from float to uint16_t
2021-08-14 10:18:55 +02:00
Silvano Seva
5dc2ba25d8
Refactoring of MDx ADC1 driver: removed DMA, added function allowing to retrieve the raw conversion value, changed return value of 'adc1_getMeasurement' from float to uint16_t (TG-276 #closed)
2021-08-14 10:18:55 +02:00
Federico Amedeo Izzo
c69c2be478
Fixed external microphone sticky PTT button on MD-UV380
2021-08-14 10:02:34 +02:00
Silvano Seva
f286245f4f
Fixed USART ISR handler in MDx GPS driver to prevent it from exiting without clearing the interrupt flags when no thread is registered for wakeup (TG-271 #closed)
2021-08-13 17:01:32 +02:00
Silvano Seva
379b487f64
Added macro allowing to enable the SWD debugging interface on MDx devices (TG-272 #closed)
2021-08-12 19:46:41 +02:00
Federico Amedeo Izzo
07e1f28f79
Fix sticky PTT button on MD-UV380 by removing double initialization of PTT_SW gpio.
2021-08-11 20:53:54 +02:00
Silvano Seva
b80ddc1145
Implemented reading of PTT status from external microphone on MD-3x0 and MD-UV3x0
2021-07-10 21:52:15 +02:00
Silvano Seva
466b405bba
Fixed compiler warning generated by unused parameters in STM32F4xx USART3 diver
2021-07-10 21:39:47 +02:00
Silvano Seva
c48405659b
Added initialisation of MD3x0 debug USART to miosix bsp init function
2021-07-09 08:53:12 +02:00
Silvano Seva
eb474d6bee
Driver for STM32F4 USART3, can be used as a debug serial interface on MD3x0 devices without GPS and is enabled by defining the macro MD3x0_ENABLE_DBG
2021-07-09 08:53:12 +02:00
Federico Amedeo Izzo
a8b838bd47
On Linux target emulate PTT button with P key
2021-07-08 20:24:27 +02:00
Silvano Seva
fdd50c114c
Fixed wrong mic gain value in MD3x0 radio driver
2021-06-09 11:48:25 +02:00
Federico Amedeo Izzo
70a0eeaf29
Fix GD77 codeplug channel mode reading
2021-06-06 10:47:02 +02:00
Federico Amedeo Izzo
1f74c0abb7
Add `VCOM_ENABLED` define to disable VCOM that is currently broken
2021-06-06 10:13:51 +02:00
Silvano Seva
96abae4bad
Temporary workaround to fix compilation error with MD-9600 due to not yet defined GPIOs for audio control, still to be identified.
2021-06-05 21:43:10 +02:00
Silvano Seva
6995230d8f
Extended 'mode' field in CPS data structure to 8 bits, to align its size to the one contained in rtxStatus_t. Modified code for channel data loading in NVM drivers to align it to the new opMode enum values.
2021-06-05 21:21:12 +02:00
Federico Amedeo Izzo
57b66652b7
Use channel knob to change frequency and navigate menus (TG-238)
2021-06-05 18:11:30 +02:00
Federico Amedeo Izzo
c653535e68
Remove old band and limits defines, now replaced by hwInfo_t
2021-06-05 11:27:20 +02:00
Federico Amedeo Izzo
f5c9d97e49
Check frequency limits against hwInfo_t, not hardcoded defines
2021-06-05 10:47:52 +02:00
Silvano Seva
35de41c505
Reduced printf verbosity of linux radio driver
2021-06-03 14:59:59 +02:00
Silvano Seva
66552be403
Added function to radio API allowing to fine tune the radio's VCXO polarisation voltage. Currently, this functionality is effective only on MD-3x0 devices. (TG-195 #ready-for-test)
2021-06-03 14:50:47 +02:00
Silvano Seva
b29b24fdc0
Implemented RX tone squelch on MD-UV3x0 and GDx (TG-43)
2021-06-02 12:44:46 +02:00
Silvano Seva
fdba408831
Improved registers documentation in HR_C5000 and HR_C6000 drivers
2021-05-29 08:20:12 +02:00
Silvano Seva
4d68f02ab4
Updated documetation for radio.h API, removed old baseband C source files.
2021-05-29 08:20:12 +02:00
Silvano Seva
bbdfdd1068
Added support for MD-380 VHF devices. (TG-188)
2021-05-29 08:20:12 +02:00
Silvano Seva
2d517d5bf8
New radio driver for GDx. Renamed some entries in GDx calibration data structure
2021-05-29 08:20:12 +02:00
Silvano Seva
87d9b733e6
Fixed wrong bitmask in AT1846S::setRxAudioGain. Moved getBandFromFrequency function to a dedicated file, in common for all dual-band radio drivers.
2021-05-29 08:20:12 +02:00
Silvano Seva
e7b48b14a5
Updated radio driver stub for linux platform
2021-05-29 08:20:12 +02:00
Silvano Seva
4a080d881a
Finalised MD-UV3x0 radio driver, now supporting also cross-band operation (TG-186)
2021-05-29 08:20:12 +02:00
Silvano Seva
f1a01d7613
New radio driver for MD-UV3x0, testing required
2021-05-29 08:20:12 +02:00
Silvano Seva
f0dfd7036f
Fixed bug in OpMode_FM.cpp which prevented entering in RX mode, removed code for setting input gain in HR_C5000 driver, modified meson.build to make it compile the new sources
2021-05-29 08:20:12 +02:00
Silvano Seva
850e3580ed
New radio driver for MD-3x0 platform, still requiring a bit of debugging
2021-05-29 08:20:12 +02:00
Silvano Seva
529b108771
Added to HR_Cx000 driver a function for setting the gain of the audio input stage.
2021-05-29 08:20:12 +02:00
Silvano Seva
887d95ec58
Created 'wrappers' subfolder in platform/drivers/baseband containing the C wrappers for the AT1846S, HR_C5000 and HR_C6000 drivers
2021-05-29 08:20:12 +02:00
Silvano Seva
11161fa64a
Moved to C++ and refactored HR_C5000/HR_C6000 drivers, grouping common code. A C-callable wrapper is also provided. TG-37
2021-05-29 08:20:07 +02:00
Silvano Seva
d95e36f43b
Moved to C++ and refactored AT1846S driver, grouping common code. A C-callable wrapper is also provided. TG-37
2021-05-29 08:19:47 +02:00
Silvano Seva
a6c638b063
Updated code attributions and informations about licensing of part of the codebase
2021-04-21 10:07:34 +02:00
Silvano Seva
63e68b642a
Audio management module for x86/64 target, only providing empty stubs since there is no hardware to control
2021-04-12 19:16:47 +02:00
Silvano Seva
c070060b0a
Fix error in ADC conversion sequence when compiling for MD-3x0
2021-04-12 19:10:45 +02:00
Silvano Seva
c0ecf2e13f
Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61
2021-04-12 19:10:13 +02:00
Silvano Seva
7209414a2b
Fixed error in ADC conversion sequence in MD-3x0 platforms, improved behaviour of 'platform_pwrButtonStatus' in targets having the power switch on the volume knob.
2021-04-11 18:19:08 +02:00
Silvano Seva
1e7c2ceac3
Fixed missing ';' in GD-77 and DM-1801 implementations of 'platform_pwrButtonStatus'
2021-04-11 12:47:22 +02:00
Silvano Seva
1dfcf1b75f
Added missing implementation of 'platform_pwrButtonStatus' in linux platform.c
2021-04-11 12:43:17 +02:00
Silvano Seva
4b30a66735
Added 'platform_pwrButtonStatus' API function, which returns the current status of the power button/knob. Implemented power on/off mechanism on MD-9600
2021-04-11 12:38:20 +02:00
Federico Amedeo Izzo
93d2ede113
Add default contrast setting define
2021-04-11 09:10:08 +02:00
Federico Amedeo Izzo
a17e50edef
Add NVM codeplug support for MD9600
2021-04-10 22:37:32 +02:00
Silvano Seva
944a597d33
Created low-level driver for management of channel selector knobs with quadrature encoder
2021-04-10 19:29:35 +02:00
Silvano Seva
56c598da7e
Created low-level driver for backlight level management
2021-04-10 14:12:15 +02:00
Silvano Seva
cdaf3f38dd
Renamed MDx display, keyboard and spiFlash drivers to MD3x to adapt the changes made to meson.build also to MD-9600. Fixed missing API change in ui_main.
2021-04-10 12:37:45 +02:00
Silvano Seva
c77aebebad
Mapped 'C' and 'D' palmtop keys to, respectively, 'ENTER' and 'ESC' functions in MD9600 keyboard driver
2021-04-10 12:16:21 +02:00
Silvano Seva
db6b427513
Support for palmtop mic keys in MD9600 keyboard driver
2021-04-10 12:16:21 +02:00
Silvano Seva
795d8d4451
Implemented input voltage measurement on MD-9600
2021-04-10 12:16:21 +02:00
Silvano Seva
f9570f3636
Temporary hand-filled hwInfo for MD-9600
2021-04-10 12:16:20 +02:00
Silvano Seva
a15159e7ce
Driver for ST7567 display controller
2021-04-10 12:15:29 +02:00
Silvano Seva
94d3a8f52b
Stub drivers for NVM and radio management on MD-9600
2021-04-10 12:15:29 +02:00
Silvano Seva
e46c77a300
Enabled ADC and NVM manager on MD-9600
2021-04-10 12:15:29 +02:00
Silvano Seva
10e9ac9057
Driver for STM32F4 SPI2, with locking mechanism for concurrent access
2021-04-10 12:15:29 +02:00
Silvano Seva
e157fc361d
Restructured ADC1_MDx code and extended its support also to MD-9600
2021-04-10 12:15:28 +02:00
Silvano Seva
6b541a8ba1
Platform interface and initial keyboard driver for MD-9600
2021-04-10 12:13:34 +02:00
Silvano Seva
0772f1924b
Renamed GDx display and keyboard driver from 'xxx_GD77' to 'xxx_GDx' for consistency with naming scheme
2021-04-10 12:00:36 +02:00
Silvano Seva
311a89ac0f
Refactoring of MDx tone generator, adding support for AFSK encoding (not yet implemented) and reproduction of arbitrary audio streams.
2021-04-10 11:24:33 +02:00
Silvano Seva
0ca7258f03
MD3x0 bugfixes: fixed wrong ADC conversion sequence preventing squelch opening and corrected control of W/N switch in radio driver
2021-04-09 12:54:53 +02:00
Silvano Seva
a2578ba42d
Propagating change of the return value of platform_getChannelSelector
2021-04-03 09:28:27 +02:00
Caleb Jamison
e5c5ee90f2
Add support for encoder knob on MD-UV380
...
Added: qdec, a header only quadrature encoder library
Added: EXTI15_10_IRQHandler to handle the encoder knob
Changed: platform_init() for the MD-UV380 now configures the EXTI15_10
interrupt.
Changed: platform_getChSelector now returns signed int8
Changed: size of settings_t.valid went from 6 to 7
Without this change, pressing the macro button crashes the radio, I
haven't investigated and I don't remember how I found that solution.
Changed: meson.build includes the qdec library
2021-04-03 09:21:47 +02:00
Silvano Seva
1d8596e3c8
Renamed 'MD-UV380' folder and 'PLATFORM_MDUV380' define to, respectively, 'MD-UV3x0' and 'PLATFORM_MDUV3x0' to make them consistent with the meson build target
2021-04-01 08:48:56 +02:00
Silvano Seva
3f9d46dc2a
Fixed C6000_setModOffset in MD-UV3x0 HR_C6000 driver, now behaves in the same way as TYT firmware does. Provides a fix for #21 , although it still have to be sharpened a bit.
2021-03-31 16:57:35 +02:00
Silvano Seva
c13bc94e91
Fixed bug in MD-UV3x0 radio driver making it transmit with 1W output power even when 5W is selected
2021-03-31 15:05:40 +02:00
Silvano Seva
86f6d114e2
Applied __attribute__((packed)) to all data structures to reduce memory footprint
2021-03-26 18:11:22 +01:00
Silvano Seva
7f9600cdb7
Moved MDx tone generator sine table to FLASH
2021-03-26 16:33:08 +01:00
Fred
f4e25a3f8f
Fix compilation for gd77 and dm1801 targets
2021-03-24 09:25:57 +01:00
Silvano Seva
32e6eb7029
Applied bugfix to MD-UV3x0 radio driver also to GDx one
2021-03-24 08:54:46 +01:00
Silvano Seva
a20f907330
Fixed issue with RSSI calculation on MD-UV3x0, leading to an output value of +105dBm when AT1846S register read 0x00
2021-03-22 18:01:37 +01:00
Silvano Seva
fb295a7aa0
Fixed issues with AT1846S I2C bus on MD-UV3x0, which caused it to work only if additional capacitance was added to SDA line by probing wires, oscilloscope probe, ...
2021-03-21 22:20:11 +01:00
Silvano Seva
97e234ecf6
Improved software I2C routines for MD-UV3x0 AT1846S driver
2021-03-20 22:46:43 +01:00
Silvano Seva
cfe2a609d5
Aligning delays in MD-UV3x0 AT1846S_init to the original firmware's ones
2021-03-20 11:51:35 +01:00
Federico Amedeo Izzo
f1643a8748
Comment AT1846S init from UV380 based on AT1846S programming guide
2021-03-20 11:51:35 +01:00
Silvano Seva
8423efb1b5
Fixed issue causing missing RX audio after a transmission on MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
c1abeefd67
Implemented volume control for audio coming from radio stage on MD-UV3x0 and fixed a compilation warning regarding non-const access to a const variable
2021-03-20 11:51:35 +01:00
Silvano Seva
4ed16fb51c
Enabled measurement of volume level on MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
07d886a442
Fix for PTT gpio non going back to logic high when the corresponding button is released
2021-03-20 11:51:35 +01:00