- added AGC reset button
This commit is contained in:
Vendored
+2
-1
@@ -12,6 +12,7 @@
|
||||
"bitset": "cpp",
|
||||
"memory": "cpp",
|
||||
"random": "cpp",
|
||||
"optional": "cpp"
|
||||
"optional": "cpp",
|
||||
"math.h": "c"
|
||||
}
|
||||
}
|
||||
+10
-42
@@ -643,6 +643,10 @@ ControlComponent::ControlComponent (ReceiverInterface *pReceiverControlListener,
|
||||
m_buttonResetStr->setButtonText (TRANS("Reset"));
|
||||
m_buttonResetStr->addListener (this);
|
||||
|
||||
addAndMakeVisible (m_buttonResetAGC = new TextButton ("AGC Reset button"));
|
||||
m_buttonResetAGC->setButtonText (TRANS("Reset"));
|
||||
m_buttonResetAGC->addListener (this);
|
||||
|
||||
addAndMakeVisible (comboBoxCmaMode = new ComboBox ("CmaMode"));
|
||||
comboBoxCmaMode->setEditableText (false);
|
||||
comboBoxCmaMode->setJustificationType (Justification::centredLeft);
|
||||
@@ -833,6 +837,7 @@ ControlComponent::~ControlComponent()
|
||||
m_sliderAwgn_dB = nullptr;
|
||||
m_buttonResetCPR = nullptr;
|
||||
m_buttonResetStr = nullptr;
|
||||
m_buttonResetAGC = nullptr;
|
||||
comboBoxCmaMode = nullptr;
|
||||
toggleButtonCMAEnable = nullptr;
|
||||
m_labelPowerDecision = nullptr;
|
||||
@@ -1252,6 +1257,7 @@ void ControlComponent::resized()
|
||||
m_sliderAwgn_dB->setBounds (568, 520, 150, 24);
|
||||
m_buttonResetCPR->setBounds (192, 232, 64, 24);
|
||||
m_buttonResetStr->setBounds (456, 232, 64, 24);
|
||||
m_buttonResetAGC->setBounds (708, 232, 64, 24);
|
||||
comboBoxCmaMode->setBounds (96, 296, 72, 24);
|
||||
toggleButtonCMAEnable->setBounds (24, 296, 64, 24);
|
||||
m_labelPowerDecision->setBounds (24, 616, 58, 24);
|
||||
@@ -1264,14 +1270,10 @@ void ControlComponent::resized()
|
||||
|
||||
void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
{
|
||||
//[UserbuttonClicked_Pre]
|
||||
bool isOn = buttonThatWasClicked->getToggleState();
|
||||
|
||||
//[/UserbuttonClicked_Pre]
|
||||
|
||||
if (buttonThatWasClicked == toggleButtonCPREnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonCPREnable] -- add your button handler code here..
|
||||
if (isOn)
|
||||
{
|
||||
m_params.cpr_mode = cpr_mode_enabled;
|
||||
@@ -1281,12 +1283,9 @@ void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
m_params.cpr_mode = cpr_mode_disabled;
|
||||
}
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
|
||||
//[/UserButtonCode_toggleButtonCPREnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonDFEEnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonDFEEnable] -- add your button handler code here..
|
||||
if (isOn)
|
||||
{
|
||||
m_params.eq_mode = eq_mode_dfe;
|
||||
@@ -1296,11 +1295,9 @@ void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
m_params.eq_mode = eq_mode_disabled;
|
||||
}
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonDFEEnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonSTREnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonSTREnable] -- add your button handler code here..
|
||||
if (isOn)
|
||||
{
|
||||
m_params.str_mode = str_mode_enabled;
|
||||
@@ -1310,41 +1307,29 @@ void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
m_params.str_mode = str_mode_disabled;
|
||||
}
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonSTREnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonDfeOnUpdateFromDfeOff)
|
||||
{
|
||||
//[UserButtonCode_m_buttonDfeOnUpdateFromDfeOff] -- add your button handler code here..
|
||||
m_pReceiverControlListener->dfeOnUpdateFromDfeOff();
|
||||
//[/UserButtonCode_m_buttonDfeOnUpdateFromDfeOff]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetDFE)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetDFE] -- add your button handler code here..
|
||||
m_pReceiverControlListener->dfeReset();
|
||||
//[/UserButtonCode_m_buttonResetDFE]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetCMA)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetCMA] -- add your button handler code here..
|
||||
m_pReceiverControlListener->cmaReset();
|
||||
//[/UserButtonCode_m_buttonResetCMA]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetReset)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetReset] -- add your button handler code here..
|
||||
m_pReceiverControlListener->reset();
|
||||
//[/UserButtonCode_m_buttonResetReset]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonTest)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetReset] -- add your button handler code here..
|
||||
m_pReceiverControlListener->test();
|
||||
//[/UserButtonCode_m_buttonResetReset]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonCmaTrainingEnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonCmaTrainingEnable] -- add your button handler code here..
|
||||
if (isOn)
|
||||
{
|
||||
m_params.cmaMode = cma_mode_training_enabled;
|
||||
@@ -1354,11 +1339,9 @@ void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
m_params.cmaMode = cma_mode_training_disabled;
|
||||
}
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonCmaTrainingEnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonDfeTrainingEnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonDfeTrainingEnable] -- add your button handler code here..
|
||||
if (isOn)
|
||||
{
|
||||
m_params.dfeMode = dfe_mode_training_enabled;
|
||||
@@ -1368,17 +1351,13 @@ void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
m_params.dfeMode = dfe_mode_training_disabled;
|
||||
}
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonDfeTrainingEnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonDfeOffUpdateFromCma)
|
||||
{
|
||||
//[UserButtonCode_m_buttonDfeOffUpdateFromCma] -- add your button handler code here..
|
||||
m_pReceiverControlListener->dfeOffUpdateFromCma();
|
||||
//[/UserButtonCode_m_buttonDfeOffUpdateFromCma]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonAgcEnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonAgcEnable] -- add your button handler code here..
|
||||
if (isOn)
|
||||
{
|
||||
m_params.agc_mode = agc_mode_enabled;
|
||||
@@ -1388,53 +1367,42 @@ void ControlComponent::buttonClicked (Button* buttonThatWasClicked)
|
||||
m_params.agc_mode = agc_mode_disabled;
|
||||
}
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonAgcEnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonAgcMuForceTrack)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonAgcMuForceTrack] -- add your button handler code here..
|
||||
m_params.agcMu_index = (uint32_t)isOn;
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonAgcMuForceTrack]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonSTRLoopFilterForceTrack)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonSTRLoopFilterForceTrack] -- add your button handler code here..
|
||||
m_params.str_loopfilter_coeff_index = (uint32_t)isOn;
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonSTRLoopFilterForceTrack]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonCPRLoopFilterForceTrack)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonCPRLoopFilterForceTrack] -- add your button handler code here..
|
||||
m_params.cpr_loopfilter_coeff_index = (uint32_t)isOn;
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonCPRLoopFilterForceTrack]
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonDfeAutoUpdateEnable)
|
||||
{
|
||||
//[UserButtonCode_toggleButtonDfeAutoUpdateEnable] -- add your button handler code here..
|
||||
m_params.dfeAutoUpdateEnable = isOn;
|
||||
m_pReceiverControlListener->setParams(m_params);
|
||||
//[/UserButtonCode_toggleButtonDfeAutoUpdateEnable]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetStatistic)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetStatistic] -- add your button handler code here..
|
||||
m_pReceiverControlListener->statisticsReset();
|
||||
//[/UserButtonCode_m_buttonResetStatistic]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetCPR)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetCPR] -- add your button handler code here..
|
||||
m_pReceiverControlListener->cprReset();
|
||||
//[/UserButtonCode_m_buttonResetCPR]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetStr)
|
||||
{
|
||||
//[UserButtonCode_m_buttonResetStr] -- add your button handler code here..
|
||||
m_pReceiverControlListener->strReset();
|
||||
//[/UserButtonCode_m_buttonResetStr]
|
||||
}
|
||||
else if (buttonThatWasClicked == m_buttonResetAGC)
|
||||
{
|
||||
m_pReceiverControlListener->agcReset();
|
||||
}
|
||||
else if (buttonThatWasClicked == toggleButtonCMAEnable)
|
||||
{
|
||||
|
||||
@@ -161,6 +161,7 @@ private:
|
||||
ScopedPointer<Slider> m_sliderAwgn_dB;
|
||||
ScopedPointer<TextButton> m_buttonResetCPR;
|
||||
ScopedPointer<TextButton> m_buttonResetStr;
|
||||
ScopedPointer<TextButton> m_buttonResetAGC;
|
||||
ScopedPointer<ComboBox> comboBoxCmaMode;
|
||||
ScopedPointer<ToggleButton> toggleButtonCMAEnable;
|
||||
ScopedPointer<Label> m_labelPowerDecision;
|
||||
|
||||
+13
-2
@@ -27,6 +27,8 @@ const radio_float_t STR_GAIN_LAG_AQU = (radio_float_t)0.50E-6; // 5E-7
|
||||
const radio_float_t STR_GAIN_LEAD_TRK = (radio_float_t)8.00E-5; // 8E-4
|
||||
const radio_float_t STR_GAIN_LAG_TRK = (radio_float_t)1.00E-7; // 1E-6
|
||||
|
||||
const radio_float_t AGC_MIN_VALUE = (radio_float_t)1.0;
|
||||
const radio_float_t AGC_MAX_VALUE = (radio_float_t)4.0;
|
||||
const radio_float_t AGC_INITIAL_VALUE = (radio_float_t)2.0;
|
||||
const radio_float_t AGC_ADAPTION_RATE_ACQ = (radio_float_t)0.01;
|
||||
const radio_float_t AGC_ADAPTION_RATE_TRK = (radio_float_t)0.0001;
|
||||
@@ -204,7 +206,9 @@ void Receiver::init()
|
||||
initSymbolMapper();
|
||||
|
||||
// AGC
|
||||
AGC_Init(&agcBlind, EQ_UPD_INTERVAL, AGC_INITIAL_VALUE);
|
||||
AGC_Init(&agcBlind, EQ_UPD_INTERVAL, AGC_MIN_VALUE, AGC_MAX_VALUE);
|
||||
AGC_reset(&agcBlind, AGC_INITIAL_VALUE);
|
||||
|
||||
|
||||
// Channel estimation filter
|
||||
m_cma2.init(2*EQ_DFE_K+1);
|
||||
@@ -900,7 +904,7 @@ void Receiver::test()
|
||||
cout << "Var: " << m_timingGenerator.getMuVar() << endl;
|
||||
|
||||
m_ReceiverEnable = false;
|
||||
m_is_slip = 1;
|
||||
m_is_slip = 0;
|
||||
m_ReceiverEnable = true;
|
||||
}
|
||||
|
||||
@@ -911,6 +915,13 @@ void Receiver::statisticsReset()
|
||||
m_statusListeners.call(&ReceiverStatusListener::receiverStatusChanged, this);
|
||||
}
|
||||
|
||||
void Receiver::agcReset()
|
||||
{
|
||||
AGC_reset(&agcBlind, radio_float_t(1));
|
||||
m_tracker.reset();
|
||||
m_statusListeners.call(&ReceiverStatusListener::receiverStatusChanged, this);
|
||||
}
|
||||
|
||||
void Receiver::strReset()
|
||||
{
|
||||
m_timingGenerator.reset();
|
||||
|
||||
@@ -248,6 +248,7 @@ public:
|
||||
virtual void reset() = 0;
|
||||
virtual void test() = 0;
|
||||
virtual void statisticsReset() = 0;
|
||||
virtual void agcReset() = 0;
|
||||
virtual void strReset() = 0;
|
||||
virtual void cprReset() = 0;
|
||||
virtual void cmaReset() = 0;
|
||||
@@ -414,6 +415,7 @@ private:
|
||||
status_t& getStatus() override;
|
||||
void reset() override;
|
||||
void test() override;
|
||||
void agcReset() override;
|
||||
void strReset() override;
|
||||
void cprReset() override;
|
||||
void dfeReset() override;
|
||||
|
||||
Reference in New Issue
Block a user