From f0dfd7036f547e70363fad69060f80bb976fcb9f Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Fri, 30 Apr 2021 22:13:11 +0200 Subject: [PATCH] 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 --- meson.build | 27 ++++++++++++---------- openrtx/src/rtx/OpMode_FM.cpp | 2 +- platform/drivers/baseband/HR_C5000_MDx.cpp | 8 +++---- platform/drivers/baseband/radio_MD3x0.cpp | 1 + 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/meson.build b/meson.build index 8d4c0b97..f4ca17e2 100644 --- a/meson.build +++ b/meson.build @@ -23,13 +23,15 @@ openrtx_src = ['openrtx/src/state.c', 'openrtx/src/input.c', 'openrtx/src/calibUtils.c', 'openrtx/src/queue.c', - 'openrtx/src/rtx.c', + 'openrtx/src/rtx/rtx.cpp', + 'openrtx/src/rtx/OpMode_FM.cpp', 'openrtx/src/gps.c', 'openrtx/src/dsp.cpp', 'openrtx/src/memory_profiling.cpp'] openrtx_inc = ['openrtx/include', 'openrtx/include/calibration', + 'openrtx/include/rtx', 'platform/drivers/ADC', 'platform/drivers/NVM', 'platform/drivers/GPS', @@ -91,6 +93,7 @@ mdx_src = ['platform/drivers/ADC/ADC1_MDx.c', 'platform/drivers/GPS/GPS_MDx.cpp', 'platform/drivers/NVM/W25Qx.c', 'platform/drivers/audio/audio_MDx.c', + 'platform/drivers/baseband/HR_Cx000.cpp', 'platform/drivers/backlight/backlight_MDx.c', 'platform/drivers/tones/toneGenerator_MDx.cpp'] @@ -105,10 +108,10 @@ gdx_src = ['platform/drivers/NVM/W25Qx.c', 'platform/drivers/ADC/ADC0_GDx.c', 'platform/drivers/backlight/backlight_GDx.c', 'platform/drivers/baseband/radio_GDx.c', - 'platform/drivers/baseband/AT1846S_wrapper.cpp', - 'platform/drivers/baseband/AT1846S_GDx.cpp', - 'platform/drivers/baseband/HR_C6000.c', - 'platform/drivers/baseband/interfaces_GDx.c', +# 'platform/drivers/baseband/AT1846S_wrapper.cpp', +# 'platform/drivers/baseband/AT1846S_GDx.cpp', +# 'platform/drivers/baseband/HR_C6000.c', +# 'platform/drivers/baseband/interfaces_GDx.c', 'platform/drivers/display/UC1701_GDx.c', 'platform/drivers/keyboard/keyboard_GDx.c', 'platform/drivers/audio/audio_GDx.c'] @@ -216,8 +219,8 @@ endif md3x0_src = src + mdx_src + stm32f405_src + ['platform/drivers/NVM/nvmem_MD3x0.c', 'platform/drivers/NVM/spiFlash_MD3x.c', 'platform/drivers/baseband/SKY72310.c', - 'platform/drivers/baseband/radio_MD3x0.c', - 'platform/drivers/baseband/HR_C5000.c', + 'platform/drivers/baseband/radio_MD3x0.cpp', + 'platform/drivers/baseband/HR_C5000_MDx.cpp', 'platform/drivers/keyboard/keyboard_MD3x.c', 'platform/drivers/display/HX8353_MD3x.cpp', 'platform/targets/MD-3x0/platform.c'] @@ -234,11 +237,11 @@ mduv3x0_src = src + mdx_src + stm32f405_src + ['platform/drivers/NVM/nvmem_MDUV3 'platform/drivers/keyboard/keyboard_MD3x.c', 'platform/drivers/display/HX8353_MD3x.cpp', 'platform/drivers/chSelector/chSelector_UV3x0.c', - 'platform/drivers/baseband/radio_UV3x0.c', - 'platform/drivers/baseband/AT1846S_wrapper.cpp', - 'platform/drivers/baseband/AT1846S_UV3x0.cpp', - 'platform/drivers/baseband/HR_C6000_UV3x0.c', - 'platform/drivers/baseband/interfaces_UV3x0.c'] + 'platform/drivers/baseband/radio_UV3x0.c'] +# 'platform/drivers/baseband/AT1846S_wrapper.cpp', +# 'platform/drivers/baseband/AT1846S_UV3x0.cpp', +# 'platform/drivers/baseband/HR_C6000_UV3x0.c', +# 'platform/drivers/baseband/interfaces_UV3x0.c'] mduv3x0_inc = inc + stm32f405_inc + ['platform/targets/MD-UV3x0'] mduv3x0_def = def + stm32f405_def + {'PLATFORM_MDUV3x0': '', 'timegm': 'mktime'} diff --git a/openrtx/src/rtx/OpMode_FM.cpp b/openrtx/src/rtx/OpMode_FM.cpp index d7a9d9ac..0ed4e3e1 100644 --- a/openrtx/src/rtx/OpMode_FM.cpp +++ b/openrtx/src/rtx/OpMode_FM.cpp @@ -117,7 +117,7 @@ void OpMode_FM::update(rtxStatus_t *const status, const bool newCfg) } #endif } - else if((status->opMode == OFF) && enterRx) + else if((status->opStatus == OFF) && enterRx) { radio_disableRtx(); diff --git a/platform/drivers/baseband/HR_C5000_MDx.cpp b/platform/drivers/baseband/HR_C5000_MDx.cpp index 3e578a5d..f828046a 100644 --- a/platform/drivers/baseband/HR_C5000_MDx.cpp +++ b/platform/drivers/baseband/HR_C5000_MDx.cpp @@ -131,7 +131,7 @@ void HR_Cx000< M >::dmrMode() writeReg(M::CONFIG, 0x1F, 0x10); writeReg(M::CONFIG, 0x0D, 0x8C); writeReg(M::CONFIG, 0x0E, 0x44); - writeReg(M::CONFIG, 0x0F, 0xC8); +// writeReg(M::CONFIG, 0x0F, 0xC8); writeReg(M::CONFIG, 0x37, 0xC2); writeReg(M::CONFIG, 0x25, 0x0E); writeReg(M::CONFIG, 0x26, 0xFD); @@ -157,8 +157,8 @@ void HR_Cx000< M >::fmMode() writeReg(M::CONFIG, 0x06, 0x00); // VoCoder control sendSequence(initSeq2, sizeof(initSeq2)); writeReg(M::CONFIG, 0x0D, 0x8C); // Codec control - writeReg(M::CONFIG, 0x0E, 0x44); // Mute HPout and enable MIC 1 - writeReg(M::CONFIG, 0x0F, 0xC8); // ADLinVol, mic volume + writeReg(M::CONFIG, 0x0E, 0x40); // Mute HPout +// writeReg(M::CONFIG, 0x0F, 0xC8); // ADLinVol, mic volume // writeReg(M::CONFIG, 0x25, 0x0E); // writeReg(M::CONFIG, 0x26, 0xFE); writeReg(M::CONFIG, 0x83, 0xFF); // Clear all interrupt flags @@ -177,7 +177,7 @@ void HR_Cx000::startAnalogTx(const TxAudioSource source, const FmConfig cfg) writeReg(M::CONFIG, 0x0D, 0x8C); // Codec control writeReg(M::CONFIG, 0x0E, audioCfg); - writeReg(M::CONFIG, 0x0F, 0xC8); // ADLinVol, mic volume +// writeReg(M::CONFIG, 0x0F, 0xC8); // ADLinVol, mic volume // writeReg(M::CONFIG, 0x25, 0x0E); // writeReg(M::CONFIG, 0x26, 0xFE); writeReg(M::CONFIG, 0x34, static_cast< uint8_t >(cfg)); diff --git a/platform/drivers/baseband/radio_MD3x0.cpp b/platform/drivers/baseband/radio_MD3x0.cpp index 3be213c7..a25b4bb2 100644 --- a/platform/drivers/baseband/radio_MD3x0.cpp +++ b/platform/drivers/baseband/radio_MD3x0.cpp @@ -144,6 +144,7 @@ void radio_init(const rtxStatus_t *rtxState) void radio_terminate() { SKY73210_terminate(); + C5000.terminate(); gpio_clearPin(PLL_PWR); // PLL off gpio_clearPin(DMR_SW); // Disconnect HR_C5000 input IF signal and audio out