From e54b73cc1d809a9bbfe2c77e4e38673d2ea1d830 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?=
<43981173+UU5JPP@users.noreply.github.com>
Date: Wed, 12 Jan 2022 14:37:22 +0300
Subject: [PATCH] SWR
---
STM32/Core/Src/rf_unit.c | 30 ++++++++++---
STM32/Core/Src/settings.h | 2 +-
STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h | 42 +++++++++----------
STM32/MDK-ARM/WOLF-Lite.uvprojx | 2 +-
STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp | 15 -------
5 files changed, 47 insertions(+), 44 deletions(-)
diff --git a/STM32/Core/Src/rf_unit.c b/STM32/Core/Src/rf_unit.c
index d001b20..8a4ff47 100644
--- a/STM32/Core/Src/rf_unit.c
+++ b/STM32/Core/Src/rf_unit.c
@@ -98,14 +98,32 @@ void RF_UNIT_ProcessSensors(void)
else
backward = 0.001f;
- TRX_VLT_forward = 0.80f * TRX_VLT_forward + 0.20f * forward;
- TRX_VLT_backward = 0.99f * TRX_VLT_backward + 0.01f * backward;
- TRX_SWR = (TRX_VLT_forward + TRX_VLT_backward) / (TRX_VLT_forward - TRX_VLT_backward);
+// TRX_VLT_forward = 0.80f * TRX_VLT_forward + 0.20f * forward;
+// TRX_VLT_backward = 0.99f * TRX_VLT_backward + 0.01f * backward;
+// TRX_SWR = (TRX_VLT_forward + TRX_VLT_backward) / (TRX_VLT_forward - TRX_VLT_backward);
+// if (TRX_VLT_backward > TRX_VLT_forward)
+// TRX_SWR = 10.0f;
+// if (TRX_SWR > 10.0f)
+// TRX_SWR = 10.0f;
+ if(TRX_VLT_forward <= forward) {
+ TRX_VLT_forward = forward;
+ }
+ else {
+ TRX_VLT_forward = TRX_VLT_forward * 0.99f + forward * 0.01f;
+ }
+
+ TRX_VLT_backward = TRX_VLT_backward * 0.99f + backward * 0.01f;
+
+ if ((TRX_VLT_forward - TRX_VLT_backward) > 0.0f)
+ TRX_SWR = (TRX_VLT_forward + TRX_VLT_backward) / (TRX_VLT_forward - TRX_VLT_backward);
+ else
+ TRX_SWR = 1.0f;
+
if (TRX_VLT_backward > TRX_VLT_forward)
- TRX_SWR = 10.0f;
- if (TRX_SWR > 10.0f)
- TRX_SWR = 10.0f;
+ TRX_SWR = 9.9f;
+ if (TRX_SWR > 9.9f)
+ TRX_SWR = 9.9f;
TRX_PWR_Forward = (TRX_VLT_forward * TRX_VLT_forward) / 50.0f;
if (TRX_PWR_Forward < 0.0f)
diff --git a/STM32/Core/Src/settings.h b/STM32/Core/Src/settings.h
index a35198a..22cde2a 100644
--- a/STM32/Core/Src/settings.h
+++ b/STM32/Core/Src/settings.h
@@ -17,7 +17,7 @@
#define MAX_TX_FREQ_HZ (DAC_CLOCK / 2) // Maximum transmission frequency
#define TRX_SAMPLERATE 48000 // audio stream sampling rate during processing
#define MAX_TX_AMPLITUDE 0.7f // Maximum amplitude when transmitting to FPGA
-#define AGC_MAX_GAIN 10.0f // Maximum gain in AGC, dB
+#define AGC_MAX_GAIN 20.0f // Maximum gain in AGC, dB
#define AGC_CLIPPING 6.0f // Limit over target in AGC, dB
#define TUNE_POWER 100 // % of the power selected in the settings when starting TUNE (100 - full)
#define TX_AGC_MAXGAIN 5.0f // Maximum microphone gain during compression
diff --git a/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h b/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h
index 1ca03f5..4769186 100644
--- a/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h
+++ b/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h
@@ -1,21 +1,21 @@
-
-/*
- * Auto generated Run-Time-Environment Configuration File
- * *** Do not modify ! ***
- *
- * Project: 'WOLF-Lite'
- * Target: 'WOLF-Lite'
- */
-
-#ifndef RTE_COMPONENTS_H
-#define RTE_COMPONENTS_H
-
-
-/*
- * Define the Device Header File:
- */
-#define CMSIS_device_header "stm32f4xx.h"
-
-
-
-#endif /* RTE_COMPONENTS_H */
+
+/*
+ * Auto generated Run-Time-Environment Configuration File
+ * *** Do not modify ! ***
+ *
+ * Project: 'WOLF-Lite'
+ * Target: 'WOLF-Lite'
+ */
+
+#ifndef RTE_COMPONENTS_H
+#define RTE_COMPONENTS_H
+
+
+/*
+ * Define the Device Header File:
+ */
+#define CMSIS_device_header "stm32f4xx.h"
+
+
+
+#endif /* RTE_COMPONENTS_H */
diff --git a/STM32/MDK-ARM/WOLF-Lite.uvprojx b/STM32/MDK-ARM/WOLF-Lite.uvprojx
index b78e79c..94d41ca 100644
--- a/STM32/MDK-ARM/WOLF-Lite.uvprojx
+++ b/STM32/MDK-ARM/WOLF-Lite.uvprojx
@@ -10,7 +10,7 @@
WOLF-Lite
0x4
ARM-ADS
- 6160000::V6.16::ARMCLANG
+ 6150000::V6.15::ARMCLANG
1
diff --git a/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp b/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp
index 8ec9892..f5458b0 100644
--- a/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp
+++ b/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp
@@ -65,33 +65,18 @@
"wolf-lite\usbd_desc.o"
"wolf-lite\usbd_ioreq.o"
"wolf-lite\basicmathfunctions.o"
-"wolf-lite\basicmathfunctionsf16.o"
"wolf-lite\bayesfunctions.o"
-"wolf-lite\bayesfunctionsf16.o"
"wolf-lite\commontables.o"
-"wolf-lite\commontablesf16.o"
"wolf-lite\complexmathfunctions.o"
-"wolf-lite\complexmathfunctionsf16.o"
"wolf-lite\controllerfunctions.o"
"wolf-lite\distancefunctions.o"
-"wolf-lite\distancefunctionsf16.o"
"wolf-lite\fastmathfunctions.o"
-"wolf-lite\fastmathfunctionsf16.o"
"wolf-lite\filteringfunctions.o"
-"wolf-lite\filteringfunctionsf16.o"
-"wolf-lite\interpolationfunctions.o"
-"wolf-lite\interpolationfunctionsf16.o"
"wolf-lite\matrixfunctions.o"
-"wolf-lite\matrixfunctionsf16.o"
-"wolf-lite\quaternionmathfunctions.o"
"wolf-lite\svmfunctions.o"
-"wolf-lite\svmfunctionsf16.o"
"wolf-lite\statisticsfunctions.o"
-"wolf-lite\statisticsfunctionsf16.o"
"wolf-lite\supportfunctions.o"
-"wolf-lite\supportfunctionsf16.o"
"wolf-lite\transformfunctions.o"
-"wolf-lite\transformfunctionsf16.o"
--strict --scatter ".\WOLF-Lite\WOLF-Lite-custom.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers