Silvano Seva
6b31a73f42
Corrected RRC gain and changed HR_C5000 modulation factor and input gain to have the correct 2.4kHz deviation when transmitting M17 with an MD3x0 radio
2022-05-27 21:48:47 +02:00
Silvano Seva
a37e24c953
Fixed a buffer management bug inside linux input stream driver
2022-05-27 21:48:47 +02:00
Silvano Seva
086cb549c7
Stub implementation of output stream driver for linux emulator
2022-05-27 21:48:47 +02:00
Silvano Seva
c7fbd98dc9
Stub implementatio of output stream driver for GDx devices
2022-05-27 21:48:47 +02:00
Silvano Seva
fda0fed5e7
Moved constant specifying sample rate for M17 baseband decoding from hwconfig.h files to M17Demodulator class
2022-05-27 21:48:47 +02:00
Silvano Seva
9139b19aac
Fixed bug in MDx input stream driver causing the SPI clock line towards the DMR chip to be set as analog input when an audio stream from the RF stage was opened
2022-05-27 21:48:47 +02:00
Silvano Seva
4b8685b853
Changed gain and added an offset at tx RRC stage only for Module 17 to compensate for an hardware bug
2022-05-27 21:48:47 +02:00
Silvano Seva
d1b4973cc9
Fixed reset of DC bias on stream stop in Module 17 output stream driver, made parametric the gain of the RRC at modulator side
2022-05-27 21:48:47 +02:00
Silvano Seva
94fdf44954
Biased Module 17 baseband DAC output to Vdd/2 when idle
2022-05-27 21:48:47 +02:00
Silvano Seva
628c341712
Small improvements to MDx and Module 17 output stream drivers
2022-05-27 21:48:47 +02:00
Silvano Seva
1bc1316f7d
Fixed bug to Module 17 input stream driver causing the thread waiting on inputStream_getData() to not be woken up when stream was stopped
2022-05-27 21:48:47 +02:00
Silvano Seva
12dc186129
Fixed bug in Module 17 output stream driver causing outputStream_sync() to hang when a stream was opened for the second time
2022-05-27 21:48:47 +02:00
Silvano Seva
eb22e4b4b2
Default VFO channel for Module 17, making it start in M17 operating mode at boot
2022-05-27 21:48:47 +02:00
Silvano Seva
163a2ef06a
Updated Module 17 output stream driver to support also double buffered mode
2022-05-27 21:48:47 +02:00
Silvano Seva
0df1dc4f7e
Extended output stream API to support also circular double-buffered mode, implemented output stream driver for MDx
2022-05-27 21:48:47 +02:00
Silvano Seva
034f5d9ee9
Removed API for audio stream playback from MDx tone generator
2022-05-27 21:48:47 +02:00
Niccolò Izzo
2d8c696a09
Complete M17 demodulator implementation
...
Make quantization work also on DC offset signal
Add samples plot code
Fix bug in buffer wrap around
Fix oob memory access in M17 modulator
Update tests with DC offset signal
Switch to 48KHz sample rate for Module17 and MD380
Add DC biasing script
TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva
10b8b59e21
Added to MDx tone generator API functions allowing user code to temporarily disable generation of 'beep' tones
2022-05-27 21:48:46 +02:00
Niccolò Izzo
f9c23452bc
Add plotting function to graphics library
...
Added plotting function to graphics library which is native C++, so
refactored the graphics source file to allow that, consequently adapted
the hwconfig header files to be included also in C++ sources.
Propagated compile flags also to C++ sources, including asan what was
previously disabled for C++ compilation units.
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
ae26cca46f
Remove SPS
...
Now M17_SAPLES_PER_SYMBOL is computed dinamically from sample rate.
TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva
25087b0e02
Removed BUF_CIRC from the possible buffer management modes for an input audio stream
2022-05-27 21:48:46 +02:00
Niccolò Izzo
d22948a096
Fix naming error
...
Replaced FM with OPMODE_FM and DMR with OPMODE_DMR.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
3163dd49d7
Add M17 demodulator code and tests
...
Added implementation of the M17 4FSK demodulator, including clock
recovery, phase detection, and quantization algorithms.
A testsuite is also included to do regression testing against a
reference baseband pre-generated and the corresponding reference
bitstream.
A 1% BER is still present due to a fault likely in the RRC filtering,
since the eye diagram of the filtered stream is bad.
TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo
6588a6718e
Add M17 namespace in M17 related source files
...
Now M17 source files reside in the M17 namespace, the OPMODE_ prefix
was added to all opmode enums to avoid a name clash.
2022-05-27 21:48:46 +02:00
Silvano Seva
a3b7b490d4
Fixed jitter in M17 baseband signal generation
2022-05-27 21:48:46 +02:00
Silvano Seva
5ffd6e5c43
Fixed compilation errors with MD-9600 and Module 17 targets
2022-03-24 19:09:00 +01:00
Silvano Seva
19c1b8eff9
Added full chip erase function to W25Qx driver
2022-03-22 11:19:22 +01:00
Silvano Seva
c0a5d0a26e
Quick and dirty bugfix to STM32F4 USB VCOM driver to allow data transfers of more than 300 bytes
2022-03-06 08:44:52 +01:00
Silvano Seva
b97d1154d5
STDIO redirection to USB virtual COM port disabled by default, can be enabled by defining the ENABLE_STDIO macro
2022-03-05 10:40:41 +01:00
Silvano Seva
624dca2b97
Renamed macro DISABLE_KEEP_ON to RUNNING_TESTSUITE
2022-03-05 09:09:25 +01:00
Silvano Seva
91c9408f32
Removed backwards compatibility with old settings for MDx: in case of version mismatch default values are loaded
2022-02-26 15:47:18 +01:00
Silvano Seva
a5209d6f52
Modified range for display backlight level from 0 - 255 to 0 - 100, set minimum allowed level to 5.
2022-02-26 15:45:41 +01:00
Silvano Seva
24464a66a8
Integration of tinyusb driver into OpenRTX, old driver still kept active
2022-02-26 12:29:28 +01:00
Silvano Seva
4bce2c9f23
Fixed bugs in MDx and Module17 input stream drivers causing errors in sample rate: one due to wrong configuration of TIM2 registers and one due to wrong configuration of ADC channel sample time.
2022-02-07 22:01:14 +01:00
Silvano Seva
3fb93f0a86
Updated CMSIS header files for STM32F4 to version 2.6.7
2022-01-15 14:55:59 +01:00
Alessio Caiazza
ce5ff047ee
Add NVM for settings and VFO on linux platform
2022-01-15 14:02:19 +01:00
Silvano Seva
f54a0d18a7
Implemented mechanism to allow backwards-compatibility when loading settings from memory, as backlight timer introduced a new data field
2022-01-03 15:42:16 +01:00
Alessio Caiazza
ade9c47f71
Implement platform_setBacklightLevel for linux
2022-01-03 14:51:22 +01:00
Silvano Seva
3776b30121
Automatically disabling the power keep switch when running testsuites, as those may never call platform_terminate()
2022-01-03 14:49:25 +01:00
Alessio Caiazza
7c978470c2
Add brightness support for the emulator
2021-12-23 14:52:25 +01:00
Silvano Seva
9dc0819b8b
Linux emulator code cleanup and refactoring
2021-12-23 14:52:25 +01:00
Alessio Caiazza
18fb916834
Remove all tabs
2021-12-23 14:52:25 +01:00
Alessio Caiazza
d4300c9c04
Fix Allman bracing
2021-12-23 14:52:25 +01:00
Alessio Caiazza
75f5a0a159
Free shared channel resources on power down
2021-12-23 14:52:25 +01:00
Alessio Caiazza
e2baf5a833
Document functions with Doxygen format
2021-12-23 14:52:25 +01:00
Alessio Caiazza
f85942785f
Fix whitespaces
2021-12-23 14:52:25 +01:00
Alessio Caiazza
992d6be6eb
Ensure we do not render before the framebuffer copy completes
2021-12-23 14:52:25 +01:00
Alessio Caiazza
82699f3d07
Implement an SDL main loop inside the Main Thread
2021-12-23 14:52:25 +01:00
Alessio Caiazza
51acccaec2
Don't pump SDL events outside from the main thread
2021-12-23 14:52:25 +01:00
Silvano Seva
4eb4e43cbe
Activated GPIO pull-up resistors on MD3x0 PTT lines, as it seems that RT3 radios lack a physical pull-up resistor on those GPIOs. See #52
2021-12-23 14:52:25 +01:00
Niccolò Izzo
2fdbf0f236
Initial support for I2C soft pots on Module17
...
Initial support for I2C soft pots on Module17, ADC1 driver for input voltage
reading. Cherry-picked from Mathis DB9MAT repo.
TG-398
2021-12-23 14:52:25 +01:00
Silvano Seva
d4ba8a5b9c
Moved new display driver for Module_17 to 'SH110x_Mod17.c', restored and kept old one
2021-11-27 10:10:12 +01:00
Silvano Seva
6aece95e98
Fixed license header
2021-11-27 08:23:59 +01:00
Wojciech Kaczmarski
5d63c0fe63
display fix for 0.1c
2021-11-27 08:09:39 +01:00
Mathis Schmieder
e9a6b0261e
Fixed compilation for Module17
2021-11-27 08:09:39 +01:00
Mathis Schmieder
3d987a8ae8
Fixed reversed Enter and ESC keys for Module17
2021-11-27 08:09:39 +01:00
Mathis Schmieder
22a0d73fbc
Initial fix for Module17 r0.1c display
2021-11-27 08:09:39 +01:00
Mathis Schmieder
55c0b0d868
Module17 platform changes for revision 0.1c
2021-11-27 08:09:39 +01:00
Mathis Schmieder
4811838cb8
Module17: implemented keyboard driver, updated display, output audio stream and platform drivers
2021-11-24 19:53:48 +01:00
Silvano Seva
83b0182057
Implementation of audio output stream driver for Module 17
2021-11-24 19:53:48 +01:00
Silvano Seva
cc00cce982
Driver for input audio stream on Module17
2021-11-24 19:53:48 +01:00
Silvano Seva
38231e3a53
Driver stubs for keyboard and non volatile memory on Module17
2021-11-24 19:53:48 +01:00
Mathis Schmieder
7bfa2336d7
Driver for SSD1306 SPI display driver on Module17
2021-11-24 19:53:48 +01:00
Silvano Seva
a0d9161e1d
Very preliminary support for Module17, providing only the files and configurations essential for a minimal bootstrap of the OpenRTX firmware
2021-11-24 19:53:48 +01:00
Silvano Seva
036f74c69e
Removed call to rtc_terminate inside MDx platform_terminate, as this freezed RTC on radio power off
2021-11-12 22:46:11 +01:00
Silvano Seva
38c6a7fee6
Fixed bug in MD3x keyboard driver causing the generation of an UP keypress at boot ( #48 )
2021-11-10 19:29:34 +01:00
Silvano Seva
691b388228
Implemented load/save of settings and VFO configuration for MDx devices
2021-11-09 19:28:23 +01:00
Silvano Seva
756812ca31
Created function for writing settings and VFO status to NVM, starting of temporary implementation writing data to the MCU's internal flash
2021-11-08 22:22:26 +01:00
silseva
bbf77c4ab0
Simple driver for erase and write of MCU's internal flash
2021-11-08 17:10:00 +01:00
tarxvf
2ec8a3c264
bracing style and attribute unused to void cast in libSDL display driver
2021-11-03 19:20:42 +01:00
tarxvf
588265fa3d
astyle applied to try and match current OpenRTX style - just doesn't work on the header block
2021-11-03 19:20:42 +01:00
tarxvf
f451ff8aae
unused args cast to void instead of __attribute__
2021-11-03 19:20:42 +01:00
tarxvf
3ded05a6dc
update the linux emulator scriptability for the knob values
2021-11-03 19:20:42 +01:00
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
Silvano Seva
a5120ffddc
Radio driver for MD-UV3x0 targets
2021-03-20 11:51:35 +01:00
Silvano Seva
9610d0db07
HR_C6000 driver for MD-UV3x0 targets
2021-03-20 11:51:35 +01:00
Silvano Seva
2ece3794a0
AT1846S driver for MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
f9332f5ce3
Implemented I2C routines for AT1846S on MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
6c79d710a1
Fixed wrong screen orientation on MD-380V(G). Thanks to @tarxvftech for testing!
2021-03-19 13:24:56 +01:00
Silvano Seva
5b44cb9a9f
On GDx devices deferred the loading of calibration data from 'platform_init' to the first call of 'platform_getCalibrationData' to avoid having the screen blank for a while when booting
2021-03-14 17:08:12 +01:00
Federico Amedeo Izzo
d6b54dc655
GD-77 properly terminate codeplug strings with 0x00 instad of 0xFF
2021-03-14 14:33:19 +01:00
Silvano Seva
5d0c7f3d9c
Removed I2C initialisation from GDx EEPROM driver, as the I2C bus is already initialised in platform_init() and the double initialisation made some radios freeze on the splash screen
2021-03-14 11:46:00 +01:00
Federico Amedeo Izzo
a5b0bc57d1
GD-77: fix bug where last zone was not read from flash
2021-03-14 11:08:52 +01:00
Federico Amedeo Izzo
b7795b47c0
Fix swapped FM/DMR channel type on GD-77
2021-03-13 22:25:51 +01:00
Silvano Seva
fb9d8afb6c
Adapted MK22 vcom sources to miosix kernel but not activating it. Reconfigured x86 emulator.
2021-03-13 09:16:06 +01:00
Silvano Seva
20ad9b7dcf
Fixed issue with MDx ADC, rolling back to real battery voltage measurement
2021-03-13 09:16:06 +01:00
Silvano Seva
608292ee5b
Removed old uC/OS-III delay function in linux GPS emulator
2021-03-13 09:16:06 +01:00
Silvano Seva
fb3447b0c6
Moving to miosix kernel: swapped old uC/OS-III task management functions with pthread ones
2021-03-13 09:16:06 +01:00
Silvano Seva
2b28ea0525
Moving to miosix kernel: added two functions to 'interfaces/delays.h' to provide substitutes for their uC/OS-III counterparts and removed the old rtos sources
2021-03-13 09:16:06 +01:00
Silvano Seva
093640478c
Moving to miosix kernel: adapted GDx drivers and part of the common code to new configuration
2021-03-13 09:16:06 +01:00
Silvano Seva
7992b4abca
Moving to miosix kernel: adapted MDx drivers to new configuration
2021-03-13 09:16:06 +01:00
Silvano Seva
aa3680ee46
Moving to miosix kernel: boot files for MK22FN512-based targets
2021-03-13 09:16:06 +01:00
Silvano Seva
5995a5d8e0
Moving to miosix kernel: adapted parameters for cross-compilation and modified boot files for STM32-based targets
2021-03-13 09:16:06 +01:00
Federico Amedeo Izzo
dc5739b8bc
Fix GD-77 SPI flash pinout to make flash working
2021-03-01 20:54:00 +01:00
Federico Amedeo Izzo
f5a2f8c1ce
Disable settings write until DFU support is complete
2021-03-01 19:53:06 +01:00
Silvano Seva
4038bf811e
Fixed error in 'W25Qx_writePage' causing it skipping the blocks having an odd address
2021-02-26 11:07:32 +01:00
Silvano Seva
60b9c8b516
Made linker emit a warning whenever common symbols are merged. Fixed some variables having an unnecessary global scope and being subject to common linkage
2021-02-25 17:00:28 +01:00
Silvano Seva
d96e60873e
Added register documentation in AT1846S driver
2021-02-25 11:40:56 +01:00
Silvano Seva
3438006ef5
Removed moving average filtering from MDx ADC1 driver, added code for proper filtering of ADC samples in platform-independent code
2021-02-23 15:49:55 +01:00
Silvano Seva
dc131c3333
Refactored 'W25Qx_writeData' and disabled '-ffunction-sections', which causes printf not printing decimal dots when used with %f
2021-02-23 13:51:49 +01:00
Federico Amedeo Izzo
d4981ee288
Add Settings persistence to SPI Flash
2021-02-21 15:58:41 +01:00