git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@868 b431acfa-c32f-4a4a-93f1-934dc6c82436
2186 lines
119 KiB
C++
2186 lines
119 KiB
C++
/*
|
|
==============================================================================
|
|
|
|
This is an automatically generated GUI class created by the Introjucer!
|
|
|
|
Be careful when adding custom code to these files, as only the code within
|
|
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
|
|
and re-saved.
|
|
|
|
Created with Introjucer version: 3.1.0
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
|
|
Copyright 2004-13 by Raw Material Software Ltd.
|
|
|
|
==============================================================================
|
|
*/
|
|
|
|
//[Headers] You can add your own extra header files here...
|
|
//[/Headers]
|
|
|
|
#include "ControlComponent.h"
|
|
|
|
|
|
//[MiscUserDefs] You can add your own user definitions and misc code here...
|
|
//[/MiscUserDefs]
|
|
|
|
//==============================================================================
|
|
ControlComponent::ControlComponent (ReceiverInterface *pReceiverControlListener, TransmitterInterface *pTransmitterControlListener)
|
|
: m_pReceiverControlListener(pReceiverControlListener), m_pTransmitterControlListener(pTransmitterControlListener)
|
|
{
|
|
addAndMakeVisible (groupComponent3 = new GroupComponent ("new group",
|
|
TRANS("Statistics")));
|
|
|
|
addAndMakeVisible (m_GroupSymbolTimingRecovery2 = new GroupComponent ("Symbol Timing Recovery group",
|
|
TRANS("AGC")));
|
|
|
|
addAndMakeVisible (groupComponent = new GroupComponent ("new group",
|
|
TRANS("Powers")));
|
|
|
|
addAndMakeVisible (groupDFE = new GroupComponent ("DFE group",
|
|
TRANS("Decision Feedback Equalizer")));
|
|
|
|
addAndMakeVisible (groupCMA = new GroupComponent ("CMA group",
|
|
TRANS("Blind CMA Equalizer")));
|
|
|
|
addAndMakeVisible (groupCarrierPhaseRecovery = new GroupComponent ("Carrier Phase Recovery group",
|
|
TRANS("Carrier Phase Recovery")));
|
|
|
|
addAndMakeVisible (m_GroupSymbolTimingRecovery = new GroupComponent ("Symbol Timing Recovery group",
|
|
TRANS("Symbol Timing Recovery")));
|
|
|
|
addAndMakeVisible (toggleButtonCPREnable = new ToggleButton ("CPR Button"));
|
|
toggleButtonCPREnable->setTooltip (TRANS("CPR Enable"));
|
|
toggleButtonCPREnable->setButtonText (TRANS("On"));
|
|
toggleButtonCPREnable->addListener (this);
|
|
|
|
addAndMakeVisible (toggleButtonDFEEnable = new ToggleButton ("DFE Button"));
|
|
toggleButtonDFEEnable->setButtonText (TRANS("On"));
|
|
toggleButtonDFEEnable->addListener (this);
|
|
|
|
addAndMakeVisible (toggleButtonSTREnable = new ToggleButton ("STR Button"));
|
|
toggleButtonSTREnable->setTooltip (TRANS("STR Enable"));
|
|
toggleButtonSTREnable->setButtonText (TRANS("On"));
|
|
toggleButtonSTREnable->addListener (this);
|
|
|
|
addAndMakeVisible (m_entrySTRLoopFilterLead_0 = new TextEditor ("STRLoopFilterLead 0"));
|
|
m_entrySTRLoopFilterLead_0->setTooltip (TRANS("STRLoopFilterLead 0"));
|
|
m_entrySTRLoopFilterLead_0->setMultiLine (false);
|
|
m_entrySTRLoopFilterLead_0->setReturnKeyStartsNewLine (false);
|
|
m_entrySTRLoopFilterLead_0->setReadOnly (false);
|
|
m_entrySTRLoopFilterLead_0->setScrollbarsShown (false);
|
|
m_entrySTRLoopFilterLead_0->setCaretVisible (true);
|
|
m_entrySTRLoopFilterLead_0->setPopupMenuEnabled (true);
|
|
m_entrySTRLoopFilterLead_0->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_entrySTRLoopFilterLag_0 = new TextEditor ("STRLoopFilterLag 0"));
|
|
m_entrySTRLoopFilterLag_0->setTooltip (TRANS("STRLoopFilterLag 0"));
|
|
m_entrySTRLoopFilterLag_0->setMultiLine (false);
|
|
m_entrySTRLoopFilterLag_0->setReturnKeyStartsNewLine (false);
|
|
m_entrySTRLoopFilterLag_0->setReadOnly (false);
|
|
m_entrySTRLoopFilterLag_0->setScrollbarsShown (false);
|
|
m_entrySTRLoopFilterLag_0->setCaretVisible (true);
|
|
m_entrySTRLoopFilterLag_0->setPopupMenuEnabled (true);
|
|
m_entrySTRLoopFilterLag_0->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_entryCPRLoopFilterLead_0 = new TextEditor ("CPRLoopFilterLead 0"));
|
|
m_entryCPRLoopFilterLead_0->setTooltip (TRANS("CPRLoopFilterLead 0"));
|
|
m_entryCPRLoopFilterLead_0->setMultiLine (false);
|
|
m_entryCPRLoopFilterLead_0->setReturnKeyStartsNewLine (false);
|
|
m_entryCPRLoopFilterLead_0->setReadOnly (false);
|
|
m_entryCPRLoopFilterLead_0->setScrollbarsShown (false);
|
|
m_entryCPRLoopFilterLead_0->setCaretVisible (true);
|
|
m_entryCPRLoopFilterLead_0->setPopupMenuEnabled (true);
|
|
m_entryCPRLoopFilterLead_0->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_entryCPRLoopFilterLag_0 = new TextEditor ("CPRLoopFilterLag 0"));
|
|
m_entryCPRLoopFilterLag_0->setTooltip (TRANS("CPRLoopFilterLag 0"));
|
|
m_entryCPRLoopFilterLag_0->setMultiLine (false);
|
|
m_entryCPRLoopFilterLag_0->setReturnKeyStartsNewLine (false);
|
|
m_entryCPRLoopFilterLag_0->setReadOnly (false);
|
|
m_entryCPRLoopFilterLag_0->setScrollbarsShown (false);
|
|
m_entryCPRLoopFilterLag_0->setCaretVisible (true);
|
|
m_entryCPRLoopFilterLag_0->setPopupMenuEnabled (true);
|
|
m_entryCPRLoopFilterLag_0->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_buttonDfeOnUpdateFromDfeOff = new TextButton ("DFE-off => DFE-on Update button"));
|
|
m_buttonDfeOnUpdateFromDfeOff->setTooltip (TRANS("DFE-off => DFE-on Update"));
|
|
m_buttonDfeOnUpdateFromDfeOff->setButtonText (TRANS("Update"));
|
|
m_buttonDfeOnUpdateFromDfeOff->addListener (this);
|
|
|
|
addAndMakeVisible (m_buttonResetDFE = new TextButton ("DFE Reset button"));
|
|
m_buttonResetDFE->setButtonText (TRANS("Reset"));
|
|
m_buttonResetDFE->addListener (this);
|
|
|
|
addAndMakeVisible (m_buttonResetCMA = new TextButton ("CMA Reset button"));
|
|
m_buttonResetCMA->setButtonText (TRANS("Reset"));
|
|
m_buttonResetCMA->addListener (this);
|
|
|
|
addAndMakeVisible (groupComponent2 = new GroupComponent ("new group",
|
|
TRANS("SNR")));
|
|
|
|
addAndMakeVisible (m_entryCmaMu = new TextEditor ("CMA Adaption Rate"));
|
|
m_entryCmaMu->setMultiLine (false);
|
|
m_entryCmaMu->setReturnKeyStartsNewLine (false);
|
|
m_entryCmaMu->setReadOnly (false);
|
|
m_entryCmaMu->setScrollbarsShown (true);
|
|
m_entryCmaMu->setCaretVisible (true);
|
|
m_entryCmaMu->setPopupMenuEnabled (true);
|
|
m_entryCmaMu->setText (String::empty);
|
|
|
|
addAndMakeVisible (m_entryDfeMu = new TextEditor ("DFE Adaption Rate"));
|
|
m_entryDfeMu->setMultiLine (false);
|
|
m_entryDfeMu->setReturnKeyStartsNewLine (false);
|
|
m_entryDfeMu->setReadOnly (false);
|
|
m_entryDfeMu->setScrollbarsShown (true);
|
|
m_entryDfeMu->setCaretVisible (true);
|
|
m_entryDfeMu->setPopupMenuEnabled (true);
|
|
m_entryDfeMu->setText (String::empty);
|
|
|
|
addAndMakeVisible (m_labelPowerRF = new Label ("RF-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerRF->setTooltip (TRANS("RF-Power"));
|
|
m_labelPowerRF->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerRF->setJustificationType (Justification::centredRight);
|
|
m_labelPowerRF->setEditable (false, false, false);
|
|
m_labelPowerRF->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerRF->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerDDC = new Label ("DDC-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerDDC->setTooltip (TRANS("DDC-Power"));
|
|
m_labelPowerDDC->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerDDC->setJustificationType (Justification::centredRight);
|
|
m_labelPowerDDC->setEditable (false, false, false);
|
|
m_labelPowerDDC->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerDDC->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerMF = new Label ("MF-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerMF->setTooltip (TRANS("MF-Power"));
|
|
m_labelPowerMF->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerMF->setJustificationType (Justification::centredRight);
|
|
m_labelPowerMF->setEditable (false, false, false);
|
|
m_labelPowerMF->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerMF->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerCPR = new Label ("CPR-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerCPR->setTooltip (TRANS("CPR-Power"));
|
|
m_labelPowerCPR->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerCPR->setJustificationType (Justification::centredRight);
|
|
m_labelPowerCPR->setEditable (false, false, false);
|
|
m_labelPowerCPR->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerCPR->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerAGC2 = new Label ("AGC-2-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerAGC2->setTooltip (TRANS("AGC-2-Power"));
|
|
m_labelPowerAGC2->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerAGC2->setJustificationType (Justification::centredRight);
|
|
m_labelPowerAGC2->setEditable (false, false, false);
|
|
m_labelPowerAGC2->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerAGC2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerEQ = new Label ("EQ-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerEQ->setTooltip (TRANS("EQ-Power"));
|
|
m_labelPowerEQ->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerEQ->setJustificationType (Justification::centredRight);
|
|
m_labelPowerEQ->setEditable (false, false, false);
|
|
m_labelPowerEQ->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerEQ->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSnrCurrent = new Label ("SNR Current",
|
|
TRANS("-120")));
|
|
m_labelSnrCurrent->setTooltip (TRANS("SNR Current"));
|
|
m_labelSnrCurrent->setFont (Font (15.00f, Font::plain));
|
|
m_labelSnrCurrent->setJustificationType (Justification::centredRight);
|
|
m_labelSnrCurrent->setEditable (false, false, false);
|
|
m_labelSnrCurrent->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSnrCurrent->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSnrCma = new Label ("SNR CMA",
|
|
TRANS("-120")));
|
|
m_labelSnrCma->setTooltip (TRANS("SNR CMA"));
|
|
m_labelSnrCma->setFont (Font (15.00f, Font::plain));
|
|
m_labelSnrCma->setJustificationType (Justification::centredRight);
|
|
m_labelSnrCma->setEditable (false, false, false);
|
|
m_labelSnrCma->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSnrCma->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSnrDfeOn = new Label ("SNR-DEF-On",
|
|
TRANS("-120")));
|
|
m_labelSnrDfeOn->setTooltip (TRANS("SNR-DEF-On"));
|
|
m_labelSnrDfeOn->setFont (Font (15.00f, Font::plain));
|
|
m_labelSnrDfeOn->setJustificationType (Justification::centredRight);
|
|
m_labelSnrDfeOn->setEditable (false, false, false);
|
|
m_labelSnrDfeOn->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSnrDfeOn->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSnrDfeOff = new Label ("SNR-DEF-Off",
|
|
TRANS("-120")));
|
|
m_labelSnrDfeOff->setTooltip (TRANS("SNR-DEF-Off"));
|
|
m_labelSnrDfeOff->setFont (Font (15.00f, Font::plain));
|
|
m_labelSnrDfeOff->setJustificationType (Justification::centredRight);
|
|
m_labelSnrDfeOff->setEditable (false, false, false);
|
|
m_labelSnrDfeOff->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSnrDfeOff->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSnrSymbolMag = new Label ("SNR Symbol Magnitude",
|
|
TRANS("-120")));
|
|
m_labelSnrSymbolMag->setTooltip (TRANS("SNR Symbol Magnitude"));
|
|
m_labelSnrSymbolMag->setFont (Font (15.00f, Font::plain));
|
|
m_labelSnrSymbolMag->setJustificationType (Justification::centredRight);
|
|
m_labelSnrSymbolMag->setEditable (false, false, false);
|
|
m_labelSnrSymbolMag->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSnrSymbolMag->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSnrSymbolPhase = new Label ("SNR Symbol Phase",
|
|
TRANS("-120")));
|
|
m_labelSnrSymbolPhase->setTooltip (TRANS("SNR Symbol Phase"));
|
|
m_labelSnrSymbolPhase->setFont (Font (15.00f, Font::plain));
|
|
m_labelSnrSymbolPhase->setJustificationType (Justification::centredRight);
|
|
m_labelSnrSymbolPhase->setEditable (false, false, false);
|
|
m_labelSnrSymbolPhase->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSnrSymbolPhase->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelNoiseStr = new Label ("SNR STR",
|
|
TRANS("-120")));
|
|
m_labelNoiseStr->setTooltip (TRANS("SNR STR"));
|
|
m_labelNoiseStr->setFont (Font (15.00f, Font::plain));
|
|
m_labelNoiseStr->setJustificationType (Justification::centredRight);
|
|
m_labelNoiseStr->setEditable (false, false, false);
|
|
m_labelNoiseStr->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelNoiseStr->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelSymbolReceivedCount = new Label ("Number of Symbols Received",
|
|
TRANS("0")));
|
|
m_labelSymbolReceivedCount->setTooltip (TRANS("Number of Symbols Received"));
|
|
m_labelSymbolReceivedCount->setFont (Font (15.00f, Font::plain));
|
|
m_labelSymbolReceivedCount->setJustificationType (Justification::centredRight);
|
|
m_labelSymbolReceivedCount->setEditable (false, false, false);
|
|
m_labelSymbolReceivedCount->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelSymbolReceivedCount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_buttonResetReset = new TextButton ("Receiver Reset"));
|
|
m_buttonResetReset->setTooltip (TRANS("Receiver Reset"));
|
|
m_buttonResetReset->setButtonText (TRANS("Reset"));
|
|
m_buttonResetReset->addListener (this);
|
|
|
|
addAndMakeVisible (m_entryAgcMu_0 = new TextEditor ("AGC Adaption Rate 0"));
|
|
m_entryAgcMu_0->setTooltip (TRANS("AGC Adaption Rate 0"));
|
|
m_entryAgcMu_0->setMultiLine (false);
|
|
m_entryAgcMu_0->setReturnKeyStartsNewLine (false);
|
|
m_entryAgcMu_0->setReadOnly (false);
|
|
m_entryAgcMu_0->setScrollbarsShown (false);
|
|
m_entryAgcMu_0->setCaretVisible (true);
|
|
m_entryAgcMu_0->setPopupMenuEnabled (true);
|
|
m_entryAgcMu_0->setText (TRANS("0.000001"));
|
|
|
|
addAndMakeVisible (toggleButtonCmaTrainingEnable = new ToggleButton ("CMA Enable Training"));
|
|
toggleButtonCmaTrainingEnable->setTooltip (TRANS("CMA Enable Training"));
|
|
toggleButtonCmaTrainingEnable->setButtonText (TRANS("Learn"));
|
|
toggleButtonCmaTrainingEnable->addListener (this);
|
|
|
|
addAndMakeVisible (toggleButtonDfeTrainingEnable = new ToggleButton ("DFE Enable Training"));
|
|
toggleButtonDfeTrainingEnable->setTooltip (TRANS("DFE Enable Training"));
|
|
toggleButtonDfeTrainingEnable->setButtonText (TRANS("Learn"));
|
|
toggleButtonDfeTrainingEnable->addListener (this);
|
|
|
|
addAndMakeVisible (m_buttonDfeOffUpdateFromCma = new TextButton ("CMA => DFE-off Update button"));
|
|
m_buttonDfeOffUpdateFromCma->setTooltip (TRANS("CMA => DFE-off Update"));
|
|
m_buttonDfeOffUpdateFromCma->setButtonText (TRANS("=> DFE"));
|
|
m_buttonDfeOffUpdateFromCma->addListener (this);
|
|
|
|
addAndMakeVisible (m_entryNumBitsPerSymbol = new TextEditor ("NumBitsPerSymbol"));
|
|
m_entryNumBitsPerSymbol->setTooltip (TRANS("NumBitsPerSymbol"));
|
|
m_entryNumBitsPerSymbol->setMultiLine (false);
|
|
m_entryNumBitsPerSymbol->setReturnKeyStartsNewLine (false);
|
|
m_entryNumBitsPerSymbol->setReadOnly (false);
|
|
m_entryNumBitsPerSymbol->setScrollbarsShown (false);
|
|
m_entryNumBitsPerSymbol->setCaretVisible (true);
|
|
m_entryNumBitsPerSymbol->setPopupMenuEnabled (true);
|
|
m_entryNumBitsPerSymbol->setText (TRANS("2"));
|
|
|
|
addAndMakeVisible (m_entrySymbolRate_rx = new TextEditor ("Symbolrate RX"));
|
|
m_entrySymbolRate_rx->setTooltip (TRANS("Symbolrate RX"));
|
|
m_entrySymbolRate_rx->setMultiLine (false);
|
|
m_entrySymbolRate_rx->setReturnKeyStartsNewLine (false);
|
|
m_entrySymbolRate_rx->setReadOnly (false);
|
|
m_entrySymbolRate_rx->setScrollbarsShown (false);
|
|
m_entrySymbolRate_rx->setCaretVisible (true);
|
|
m_entrySymbolRate_rx->setPopupMenuEnabled (true);
|
|
m_entrySymbolRate_rx->setText (TRANS("192000.000"));
|
|
|
|
addAndMakeVisible (m_entryDdcFrequency_rx = new TextEditor ("DDC Frequency RX"));
|
|
m_entryDdcFrequency_rx->setTooltip (TRANS("DDC Frequency RX"));
|
|
m_entryDdcFrequency_rx->setMultiLine (false);
|
|
m_entryDdcFrequency_rx->setReturnKeyStartsNewLine (false);
|
|
m_entryDdcFrequency_rx->setReadOnly (false);
|
|
m_entryDdcFrequency_rx->setScrollbarsShown (false);
|
|
m_entryDdcFrequency_rx->setCaretVisible (true);
|
|
m_entryDdcFrequency_rx->setPopupMenuEnabled (true);
|
|
m_entryDdcFrequency_rx->setText (TRANS("192000.000"));
|
|
|
|
addAndMakeVisible (m_entrySymbolRate_tx = new TextEditor ("Symbolrate TX"));
|
|
m_entrySymbolRate_tx->setTooltip (TRANS("Symbolrate TX"));
|
|
m_entrySymbolRate_tx->setMultiLine (false);
|
|
m_entrySymbolRate_tx->setReturnKeyStartsNewLine (false);
|
|
m_entrySymbolRate_tx->setReadOnly (false);
|
|
m_entrySymbolRate_tx->setScrollbarsShown (false);
|
|
m_entrySymbolRate_tx->setCaretVisible (true);
|
|
m_entrySymbolRate_tx->setPopupMenuEnabled (true);
|
|
m_entrySymbolRate_tx->setText (TRANS("192000.000"));
|
|
|
|
addAndMakeVisible (m_entryDdcFrequency_tx = new TextEditor ("DDC Frequency TX"));
|
|
m_entryDdcFrequency_tx->setTooltip (TRANS("DDC Frequency TX"));
|
|
m_entryDdcFrequency_tx->setMultiLine (false);
|
|
m_entryDdcFrequency_tx->setReturnKeyStartsNewLine (false);
|
|
m_entryDdcFrequency_tx->setReadOnly (false);
|
|
m_entryDdcFrequency_tx->setScrollbarsShown (false);
|
|
m_entryDdcFrequency_tx->setCaretVisible (true);
|
|
m_entryDdcFrequency_tx->setPopupMenuEnabled (true);
|
|
m_entryDdcFrequency_tx->setText (TRANS("192000.000"));
|
|
|
|
addAndMakeVisible (m_labelDdcDeltaFreq = new Label ("DDC Frequency Offset",
|
|
TRANS("-999.000000")));
|
|
m_labelDdcDeltaFreq->setTooltip (TRANS("DDC Frequency Offset"));
|
|
m_labelDdcDeltaFreq->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcDeltaFreq->setJustificationType (Justification::centredRight);
|
|
m_labelDdcDeltaFreq->setEditable (false, false, false);
|
|
m_labelDdcDeltaFreq->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcDeltaFreq->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelStrDeltaFreq = new Label ("STR Frequency Offset",
|
|
TRANS("-999.000000")));
|
|
m_labelStrDeltaFreq->setTooltip (TRANS("STR Frequency Offset"));
|
|
m_labelStrDeltaFreq->setFont (Font (15.00f, Font::plain));
|
|
m_labelStrDeltaFreq->setJustificationType (Justification::centredRight);
|
|
m_labelStrDeltaFreq->setEditable (false, false, false);
|
|
m_labelStrDeltaFreq->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelStrDeltaFreq->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelCprState = new Label ("CPR state",
|
|
TRANS("Tracking")));
|
|
m_labelCprState->setTooltip (TRANS("CPR state"));
|
|
m_labelCprState->setFont (Font (15.00f, Font::bold));
|
|
m_labelCprState->setJustificationType (Justification::centred);
|
|
m_labelCprState->setEditable (false, false, false);
|
|
m_labelCprState->setColour (Label::backgroundColourId, Colours::white);
|
|
m_labelCprState->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelCprState->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelStrState = new Label ("STR state",
|
|
TRANS("Tracking")));
|
|
m_labelStrState->setTooltip (TRANS("STR state"));
|
|
m_labelStrState->setFont (Font (15.00f, Font::bold));
|
|
m_labelStrState->setJustificationType (Justification::centred);
|
|
m_labelStrState->setEditable (false, false, false);
|
|
m_labelStrState->setColour (Label::backgroundColourId, Colours::white);
|
|
m_labelStrState->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelStrState->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (toggleButtonAgcEnable = new ToggleButton ("AGC Enable"));
|
|
toggleButtonAgcEnable->setTooltip (TRANS("AGC Enable"));
|
|
toggleButtonAgcEnable->setButtonText (TRANS("On"));
|
|
toggleButtonAgcEnable->addListener (this);
|
|
|
|
addAndMakeVisible (m_labelAgcState = new Label ("AGC state",
|
|
TRANS("Tracking")));
|
|
m_labelAgcState->setTooltip (TRANS("AGC state"));
|
|
m_labelAgcState->setFont (Font (15.00f, Font::bold));
|
|
m_labelAgcState->setJustificationType (Justification::centred);
|
|
m_labelAgcState->setEditable (false, false, false);
|
|
m_labelAgcState->setColour (Label::backgroundColourId, Colours::white);
|
|
m_labelAgcState->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelAgcState->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (toggleButtonAgcMuForceTrack = new ToggleButton ("AGC Force Track"));
|
|
toggleButtonAgcMuForceTrack->setTooltip (TRANS("AGC Force Tracking Mode"));
|
|
toggleButtonAgcMuForceTrack->setButtonText (TRANS("Track"));
|
|
toggleButtonAgcMuForceTrack->addListener (this);
|
|
|
|
addAndMakeVisible (m_labelDdcMinI = new Label ("Ddc-Minimum",
|
|
TRANS("-1")));
|
|
m_labelDdcMinI->setTooltip (TRANS("Ddc-Minimum"));
|
|
m_labelDdcMinI->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcMinI->setJustificationType (Justification::centredRight);
|
|
m_labelDdcMinI->setEditable (false, false, false);
|
|
m_labelDdcMinI->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcMinI->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcMaxI = new Label ("DDC-Maximum",
|
|
TRANS("-120")));
|
|
m_labelDdcMaxI->setTooltip (TRANS("DDC-Maximum"));
|
|
m_labelDdcMaxI->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcMaxI->setJustificationType (Justification::centredRight);
|
|
m_labelDdcMaxI->setEditable (false, false, false);
|
|
m_labelDdcMaxI->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcMaxI->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcMinQ = new Label ("Ddc-Minimum",
|
|
TRANS("-1")));
|
|
m_labelDdcMinQ->setTooltip (TRANS("Ddc-Minimum"));
|
|
m_labelDdcMinQ->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcMinQ->setJustificationType (Justification::centredRight);
|
|
m_labelDdcMinQ->setEditable (false, false, false);
|
|
m_labelDdcMinQ->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcMinQ->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcMaxQ = new Label ("DDC-Maximum",
|
|
TRANS("-120")));
|
|
m_labelDdcMaxQ->setTooltip (TRANS("DDC-Maximum"));
|
|
m_labelDdcMaxQ->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcMaxQ->setJustificationType (Justification::centredRight);
|
|
m_labelDdcMaxQ->setEditable (false, false, false);
|
|
m_labelDdcMaxQ->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcMaxQ->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcMinMag = new Label ("Ddc-Minimum",
|
|
TRANS("-1")));
|
|
m_labelDdcMinMag->setTooltip (TRANS("Ddc-Minimum"));
|
|
m_labelDdcMinMag->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcMinMag->setJustificationType (Justification::centredRight);
|
|
m_labelDdcMinMag->setEditable (false, false, false);
|
|
m_labelDdcMinMag->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcMinMag->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcMaxMag = new Label ("DDC-Maximum",
|
|
TRANS("-120")));
|
|
m_labelDdcMaxMag->setTooltip (TRANS("DDC-Maximum"));
|
|
m_labelDdcMaxMag->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcMaxMag->setJustificationType (Justification::centredRight);
|
|
m_labelDdcMaxMag->setEditable (false, false, false);
|
|
m_labelDdcMaxMag->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcMaxMag->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcPhiMinI = new Label ("Ddc-Minimum",
|
|
TRANS("-1")));
|
|
m_labelDdcPhiMinI->setTooltip (TRANS("Ddc-Minimum"));
|
|
m_labelDdcPhiMinI->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcPhiMinI->setJustificationType (Justification::centredRight);
|
|
m_labelDdcPhiMinI->setEditable (false, false, false);
|
|
m_labelDdcPhiMinI->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcPhiMinI->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcPhiMaxI = new Label ("DDC-Maximum",
|
|
TRANS("-120")));
|
|
m_labelDdcPhiMaxI->setTooltip (TRANS("DDC-Maximum"));
|
|
m_labelDdcPhiMaxI->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcPhiMaxI->setJustificationType (Justification::centredRight);
|
|
m_labelDdcPhiMaxI->setEditable (false, false, false);
|
|
m_labelDdcPhiMaxI->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcPhiMaxI->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcPhiMinQ = new Label ("Ddc-Minimum",
|
|
TRANS("-1")));
|
|
m_labelDdcPhiMinQ->setTooltip (TRANS("Ddc-Minimum"));
|
|
m_labelDdcPhiMinQ->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcPhiMinQ->setJustificationType (Justification::centredRight);
|
|
m_labelDdcPhiMinQ->setEditable (false, false, false);
|
|
m_labelDdcPhiMinQ->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcPhiMinQ->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelDdcPhiMaxQ = new Label ("DDC-Maximum",
|
|
TRANS("-120")));
|
|
m_labelDdcPhiMaxQ->setTooltip (TRANS("DDC-Maximum"));
|
|
m_labelDdcPhiMaxQ->setFont (Font (15.00f, Font::plain));
|
|
m_labelDdcPhiMaxQ->setJustificationType (Justification::centredRight);
|
|
m_labelDdcPhiMaxQ->setEditable (false, false, false);
|
|
m_labelDdcPhiMaxQ->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelDdcPhiMaxQ->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_entryAgcMu_1 = new TextEditor ("AGC Adaption Rate 1"));
|
|
m_entryAgcMu_1->setTooltip (TRANS("AGC Adaption Rate 1"));
|
|
m_entryAgcMu_1->setMultiLine (false);
|
|
m_entryAgcMu_1->setReturnKeyStartsNewLine (false);
|
|
m_entryAgcMu_1->setReadOnly (false);
|
|
m_entryAgcMu_1->setScrollbarsShown (false);
|
|
m_entryAgcMu_1->setCaretVisible (true);
|
|
m_entryAgcMu_1->setPopupMenuEnabled (true);
|
|
m_entryAgcMu_1->setText (TRANS("0.000001"));
|
|
|
|
addAndMakeVisible (m_entryCPRLoopFilterLead_1 = new TextEditor ("CPRLoopFilterLead 1"));
|
|
m_entryCPRLoopFilterLead_1->setTooltip (TRANS("CPRLoopFilterLead 1"));
|
|
m_entryCPRLoopFilterLead_1->setMultiLine (false);
|
|
m_entryCPRLoopFilterLead_1->setReturnKeyStartsNewLine (false);
|
|
m_entryCPRLoopFilterLead_1->setReadOnly (false);
|
|
m_entryCPRLoopFilterLead_1->setScrollbarsShown (false);
|
|
m_entryCPRLoopFilterLead_1->setCaretVisible (true);
|
|
m_entryCPRLoopFilterLead_1->setPopupMenuEnabled (true);
|
|
m_entryCPRLoopFilterLead_1->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_entryCPRLoopFilterLag_1 = new TextEditor ("CPRLoopFilterLag 1"));
|
|
m_entryCPRLoopFilterLag_1->setTooltip (TRANS("CPRLoopFilterLag 1"));
|
|
m_entryCPRLoopFilterLag_1->setMultiLine (false);
|
|
m_entryCPRLoopFilterLag_1->setReturnKeyStartsNewLine (false);
|
|
m_entryCPRLoopFilterLag_1->setReadOnly (false);
|
|
m_entryCPRLoopFilterLag_1->setScrollbarsShown (false);
|
|
m_entryCPRLoopFilterLag_1->setCaretVisible (true);
|
|
m_entryCPRLoopFilterLag_1->setPopupMenuEnabled (true);
|
|
m_entryCPRLoopFilterLag_1->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_entrySTRLoopFilterLead_1 = new TextEditor ("STRLoopFilterLead 1"));
|
|
m_entrySTRLoopFilterLead_1->setTooltip (TRANS("STRLoopFilterLead 1"));
|
|
m_entrySTRLoopFilterLead_1->setMultiLine (false);
|
|
m_entrySTRLoopFilterLead_1->setReturnKeyStartsNewLine (false);
|
|
m_entrySTRLoopFilterLead_1->setReadOnly (false);
|
|
m_entrySTRLoopFilterLead_1->setScrollbarsShown (false);
|
|
m_entrySTRLoopFilterLead_1->setCaretVisible (true);
|
|
m_entrySTRLoopFilterLead_1->setPopupMenuEnabled (true);
|
|
m_entrySTRLoopFilterLead_1->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (m_entrySTRLoopFilterLag_1 = new TextEditor ("STRLoopFilterLag 1"));
|
|
m_entrySTRLoopFilterLag_1->setTooltip (TRANS("STRLoopFilterLag 1"));
|
|
m_entrySTRLoopFilterLag_1->setMultiLine (false);
|
|
m_entrySTRLoopFilterLag_1->setReturnKeyStartsNewLine (false);
|
|
m_entrySTRLoopFilterLag_1->setReadOnly (false);
|
|
m_entrySTRLoopFilterLag_1->setScrollbarsShown (false);
|
|
m_entrySTRLoopFilterLag_1->setCaretVisible (true);
|
|
m_entrySTRLoopFilterLag_1->setPopupMenuEnabled (true);
|
|
m_entrySTRLoopFilterLag_1->setText (TRANS("1000.000"));
|
|
|
|
addAndMakeVisible (toggleButtonSTRLoopFilterForceTrack = new ToggleButton ("STR Track"));
|
|
toggleButtonSTRLoopFilterForceTrack->setTooltip (TRANS("STR Force Tracking Mode"));
|
|
toggleButtonSTRLoopFilterForceTrack->setButtonText (TRANS("Track"));
|
|
toggleButtonSTRLoopFilterForceTrack->addListener (this);
|
|
|
|
addAndMakeVisible (toggleButtonCPRLoopFilterForceTrack = new ToggleButton ("CPR Track"));
|
|
toggleButtonCPRLoopFilterForceTrack->setTooltip (TRANS("STR Force Tracking Mode"));
|
|
toggleButtonCPRLoopFilterForceTrack->setButtonText (TRANS("Track"));
|
|
toggleButtonCPRLoopFilterForceTrack->addListener (this);
|
|
|
|
addAndMakeVisible (toggleButtonDfeAutoUpdateEnable = new ToggleButton ("DFE Enable Training"));
|
|
toggleButtonDfeAutoUpdateEnable->setTooltip (TRANS("DFE Enable Training"));
|
|
toggleButtonDfeAutoUpdateEnable->setButtonText (TRANS("Auto Upd."));
|
|
toggleButtonDfeAutoUpdateEnable->addListener (this);
|
|
|
|
addAndMakeVisible (m_labelEbN0 = new Label ("SNR STR",
|
|
TRANS("-120")));
|
|
m_labelEbN0->setTooltip (TRANS("SNR STR"));
|
|
m_labelEbN0->setFont (Font (15.00f, Font::plain));
|
|
m_labelEbN0->setJustificationType (Justification::centredRight);
|
|
m_labelEbN0->setEditable (false, false, false);
|
|
m_labelEbN0->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelEbN0->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelFrameTotalCount = new Label ("FrameTotalCount",
|
|
TRANS("0")));
|
|
m_labelFrameTotalCount->setTooltip (TRANS("Number of Frames Received"));
|
|
m_labelFrameTotalCount->setFont (Font (15.00f, Font::plain));
|
|
m_labelFrameTotalCount->setJustificationType (Justification::centredRight);
|
|
m_labelFrameTotalCount->setEditable (false, false, false);
|
|
m_labelFrameTotalCount->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelFrameTotalCount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelFrameDataCount = new Label ("FrameDataCount",
|
|
TRANS("0")));
|
|
m_labelFrameDataCount->setTooltip (TRANS("Number of Data Frames Received"));
|
|
m_labelFrameDataCount->setFont (Font (15.00f, Font::plain));
|
|
m_labelFrameDataCount->setJustificationType (Justification::centredRight);
|
|
m_labelFrameDataCount->setEditable (false, false, false);
|
|
m_labelFrameDataCount->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelFrameDataCount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelFrameIdleCount = new Label ("FrameIdleCount",
|
|
TRANS("0")));
|
|
m_labelFrameIdleCount->setTooltip (TRANS("Number of Idle Frames Received"));
|
|
m_labelFrameIdleCount->setFont (Font (15.00f, Font::plain));
|
|
m_labelFrameIdleCount->setJustificationType (Justification::centredRight);
|
|
m_labelFrameIdleCount->setEditable (false, false, false);
|
|
m_labelFrameIdleCount->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelFrameIdleCount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelFrameInvalidCount = new Label ("FrameInvalidCount",
|
|
TRANS("0")));
|
|
m_labelFrameInvalidCount->setTooltip (TRANS("Number of Invalid Frames Received"));
|
|
m_labelFrameInvalidCount->setFont (Font (15.00f, Font::plain));
|
|
m_labelFrameInvalidCount->setJustificationType (Justification::centredRight);
|
|
m_labelFrameInvalidCount->setEditable (false, false, false);
|
|
m_labelFrameInvalidCount->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelFrameInvalidCount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelFrameByteCount = new Label ("FrameByteCount",
|
|
TRANS("0")));
|
|
m_labelFrameByteCount->setTooltip (TRANS("Number of bytes Received"));
|
|
m_labelFrameByteCount->setFont (Font (15.00f, Font::plain));
|
|
m_labelFrameByteCount->setJustificationType (Justification::centredRight);
|
|
m_labelFrameByteCount->setEditable (false, false, false);
|
|
m_labelFrameByteCount->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelFrameByteCount->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_buttonResetStatistic = new TextButton ("Statistic Reset button"));
|
|
m_buttonResetStatistic->setButtonText (TRANS("Reset"));
|
|
m_buttonResetStatistic->addListener (this);
|
|
|
|
addAndMakeVisible (m_sliderCarrierPhase = new Slider ("CarrierPhaseSlider"));
|
|
m_sliderCarrierPhase->setRange (-3.14159, 3.14159, 0.001);
|
|
m_sliderCarrierPhase->setSliderStyle (Slider::RotaryVerticalDrag);
|
|
m_sliderCarrierPhase->setTextBoxStyle (Slider::TextBoxLeft, false, 80, 20);
|
|
m_sliderCarrierPhase->addListener (this);
|
|
|
|
addAndMakeVisible (m_buttonResetCPR = new TextButton ("CPR Reset button"));
|
|
m_buttonResetCPR->setButtonText (TRANS("Reset"));
|
|
m_buttonResetCPR->addListener (this);
|
|
|
|
addAndMakeVisible (m_buttonResetStr = new TextButton ("STR Reset button"));
|
|
m_buttonResetStr->setButtonText (TRANS("Reset"));
|
|
m_buttonResetStr->addListener (this);
|
|
|
|
addAndMakeVisible (comboBoxCmaMode = new ComboBox ("CmaMode"));
|
|
comboBoxCmaMode->setEditableText (false);
|
|
comboBoxCmaMode->setJustificationType (Justification::centredLeft);
|
|
comboBoxCmaMode->setTextWhenNothingSelected (String::empty);
|
|
comboBoxCmaMode->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
|
|
comboBoxCmaMode->addItem (TRANS("CMA"), 1);
|
|
comboBoxCmaMode->addItem (TRANS("MMA"), 2);
|
|
comboBoxCmaMode->addItem (TRANS("S-MMA"), 3);
|
|
comboBoxCmaMode->addListener (this);
|
|
|
|
addAndMakeVisible (toggleButtonCMAEnable = new ToggleButton ("CMA Button"));
|
|
toggleButtonCMAEnable->setButtonText (TRANS("On"));
|
|
toggleButtonCMAEnable->addListener (this);
|
|
|
|
addAndMakeVisible (m_labelPowerDecision = new Label ("Slicer-Power",
|
|
TRANS("-120")));
|
|
m_labelPowerDecision->setTooltip (TRANS("Slicer-Power"));
|
|
m_labelPowerDecision->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerDecision->setJustificationType (Justification::centredRight);
|
|
m_labelPowerDecision->setEditable (false, false, false);
|
|
m_labelPowerDecision->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerDecision->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerDecisionMag = new Label ("Slicer-Power Magnitude",
|
|
TRANS("-120")));
|
|
m_labelPowerDecisionMag->setTooltip (TRANS("Slicer-Power Magnitude"));
|
|
m_labelPowerDecisionMag->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerDecisionMag->setJustificationType (Justification::centredRight);
|
|
m_labelPowerDecisionMag->setEditable (false, false, false);
|
|
m_labelPowerDecisionMag->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerDecisionMag->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelPowerDecisionPhase = new Label ("Slicer-Power Phase",
|
|
TRANS("-120")));
|
|
m_labelPowerDecisionPhase->setTooltip (TRANS("Slicer-Power Phase"));
|
|
m_labelPowerDecisionPhase->setFont (Font (15.00f, Font::plain));
|
|
m_labelPowerDecisionPhase->setJustificationType (Justification::centredRight);
|
|
m_labelPowerDecisionPhase->setEditable (false, false, false);
|
|
m_labelPowerDecisionPhase->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelPowerDecisionPhase->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
addAndMakeVisible (m_labelNoiseCpr = new Label ("SNR CPR",
|
|
TRANS("-120")));
|
|
m_labelNoiseCpr->setTooltip (TRANS("SNR CPR"));
|
|
m_labelNoiseCpr->setFont (Font (15.00f, Font::plain));
|
|
m_labelNoiseCpr->setJustificationType (Justification::centredRight);
|
|
m_labelNoiseCpr->setEditable (false, false, false);
|
|
m_labelNoiseCpr->setColour (TextEditor::textColourId, Colours::black);
|
|
m_labelNoiseCpr->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
|
|
|
|
|
|
//[UserPreSize]
|
|
//[/UserPreSize]
|
|
|
|
setSize (800, 1000);
|
|
|
|
|
|
//[Constructor] You can add your own custom stuff here..
|
|
addChangeListener(this);
|
|
|
|
// Texteditor Listeners
|
|
m_entryCmaMu->addListener(this);
|
|
m_entryDfeMu->addListener(this);
|
|
m_entryAgcMu_0->addListener(this);
|
|
m_entryAgcMu_1->addListener(this);
|
|
m_entryCPRLoopFilterLead_0->addListener(this);
|
|
m_entryCPRLoopFilterLead_1->addListener(this);
|
|
m_entryCPRLoopFilterLag_0->addListener(this);
|
|
m_entryCPRLoopFilterLag_1->addListener(this);
|
|
m_entrySTRLoopFilterLead_0->addListener(this);
|
|
m_entrySTRLoopFilterLead_1->addListener(this);
|
|
m_entrySTRLoopFilterLag_0->addListener(this);
|
|
m_entrySTRLoopFilterLag_1->addListener(this);
|
|
m_entryNumBitsPerSymbol->addListener(this);
|
|
m_entryDdcFrequency_rx->addListener(this);
|
|
m_entrySymbolRate_rx->addListener(this);
|
|
m_entryDdcFrequency_tx->addListener(this);
|
|
m_entrySymbolRate_tx->addListener(this);
|
|
|
|
// Texteditor Select All on focus
|
|
m_entryCmaMu->setSelectAllWhenFocused(true);
|
|
m_entryDfeMu->setSelectAllWhenFocused(true);
|
|
m_entryAgcMu_0->setSelectAllWhenFocused(true);
|
|
m_entryAgcMu_1->setSelectAllWhenFocused(true);
|
|
m_entryCPRLoopFilterLead_0->setSelectAllWhenFocused(true);
|
|
m_entryCPRLoopFilterLead_1->setSelectAllWhenFocused(true);
|
|
m_entryCPRLoopFilterLag_0->setSelectAllWhenFocused(true);
|
|
m_entryCPRLoopFilterLag_1->setSelectAllWhenFocused(true);
|
|
m_entrySTRLoopFilterLead_0->setSelectAllWhenFocused(true);
|
|
m_entrySTRLoopFilterLead_1->setSelectAllWhenFocused(true);
|
|
m_entrySTRLoopFilterLag_0->setSelectAllWhenFocused(true);
|
|
m_entrySTRLoopFilterLag_1->setSelectAllWhenFocused(true);
|
|
m_entryNumBitsPerSymbol->setSelectAllWhenFocused(true);
|
|
m_entryDdcFrequency_rx->setSelectAllWhenFocused(true);
|
|
m_entrySymbolRate_rx->setSelectAllWhenFocused(true);
|
|
m_entryDdcFrequency_tx->setSelectAllWhenFocused(true);
|
|
m_entrySymbolRate_tx->setSelectAllWhenFocused(true);
|
|
|
|
m_userParamEntryinProgress = false;
|
|
m_tooltipWindow = new TooltipWindow (this, 500);
|
|
//[/Constructor]
|
|
}
|
|
|
|
ControlComponent::~ControlComponent()
|
|
{
|
|
//[Destructor_pre]. You can add your own custom destruction code here..
|
|
m_tooltipWindow = nullptr;
|
|
//[/Destructor_pre]
|
|
|
|
groupComponent3 = nullptr;
|
|
m_GroupSymbolTimingRecovery2 = nullptr;
|
|
groupComponent = nullptr;
|
|
groupDFE = nullptr;
|
|
groupCMA = nullptr;
|
|
groupCarrierPhaseRecovery = nullptr;
|
|
m_GroupSymbolTimingRecovery = nullptr;
|
|
toggleButtonCPREnable = nullptr;
|
|
toggleButtonDFEEnable = nullptr;
|
|
toggleButtonSTREnable = nullptr;
|
|
m_entrySTRLoopFilterLead_0 = nullptr;
|
|
m_entrySTRLoopFilterLag_0 = nullptr;
|
|
m_entryCPRLoopFilterLead_0 = nullptr;
|
|
m_entryCPRLoopFilterLag_0 = nullptr;
|
|
m_buttonDfeOnUpdateFromDfeOff = nullptr;
|
|
m_buttonResetDFE = nullptr;
|
|
m_buttonResetCMA = nullptr;
|
|
groupComponent2 = nullptr;
|
|
m_entryCmaMu = nullptr;
|
|
m_entryDfeMu = nullptr;
|
|
m_labelPowerRF = nullptr;
|
|
m_labelPowerDDC = nullptr;
|
|
m_labelPowerMF = nullptr;
|
|
m_labelPowerCPR = nullptr;
|
|
m_labelPowerAGC2 = nullptr;
|
|
m_labelPowerEQ = nullptr;
|
|
m_labelSnrCurrent = nullptr;
|
|
m_labelSnrCma = nullptr;
|
|
m_labelSnrDfeOn = nullptr;
|
|
m_labelSnrDfeOff = nullptr;
|
|
m_labelSnrSymbolMag = nullptr;
|
|
m_labelSnrSymbolPhase = nullptr;
|
|
m_labelNoiseStr = nullptr;
|
|
m_labelSymbolReceivedCount = nullptr;
|
|
m_buttonResetReset = nullptr;
|
|
m_entryAgcMu_0 = nullptr;
|
|
toggleButtonCmaTrainingEnable = nullptr;
|
|
toggleButtonDfeTrainingEnable = nullptr;
|
|
m_buttonDfeOffUpdateFromCma = nullptr;
|
|
m_entryNumBitsPerSymbol = nullptr;
|
|
m_entrySymbolRate_rx = nullptr;
|
|
m_entryDdcFrequency_rx = nullptr;
|
|
m_entrySymbolRate_tx = nullptr;
|
|
m_entryDdcFrequency_tx = nullptr;
|
|
m_labelDdcDeltaFreq = nullptr;
|
|
m_labelStrDeltaFreq = nullptr;
|
|
m_labelCprState = nullptr;
|
|
m_labelStrState = nullptr;
|
|
toggleButtonAgcEnable = nullptr;
|
|
m_labelAgcState = nullptr;
|
|
toggleButtonAgcMuForceTrack = nullptr;
|
|
m_labelDdcMinI = nullptr;
|
|
m_labelDdcMaxI = nullptr;
|
|
m_labelDdcMinQ = nullptr;
|
|
m_labelDdcMaxQ = nullptr;
|
|
m_labelDdcMinMag = nullptr;
|
|
m_labelDdcMaxMag = nullptr;
|
|
m_labelDdcPhiMinI = nullptr;
|
|
m_labelDdcPhiMaxI = nullptr;
|
|
m_labelDdcPhiMinQ = nullptr;
|
|
m_labelDdcPhiMaxQ = nullptr;
|
|
m_entryAgcMu_1 = nullptr;
|
|
m_entryCPRLoopFilterLead_1 = nullptr;
|
|
m_entryCPRLoopFilterLag_1 = nullptr;
|
|
m_entrySTRLoopFilterLead_1 = nullptr;
|
|
m_entrySTRLoopFilterLag_1 = nullptr;
|
|
toggleButtonSTRLoopFilterForceTrack = nullptr;
|
|
toggleButtonCPRLoopFilterForceTrack = nullptr;
|
|
toggleButtonDfeAutoUpdateEnable = nullptr;
|
|
m_labelEbN0 = nullptr;
|
|
m_labelFrameTotalCount = nullptr;
|
|
m_labelFrameDataCount = nullptr;
|
|
m_labelFrameIdleCount = nullptr;
|
|
m_labelFrameInvalidCount = nullptr;
|
|
m_labelFrameByteCount = nullptr;
|
|
m_buttonResetStatistic = nullptr;
|
|
m_sliderCarrierPhase = nullptr;
|
|
m_buttonResetCPR = nullptr;
|
|
m_buttonResetStr = nullptr;
|
|
comboBoxCmaMode = nullptr;
|
|
toggleButtonCMAEnable = nullptr;
|
|
m_labelPowerDecision = nullptr;
|
|
m_labelPowerDecisionMag = nullptr;
|
|
m_labelPowerDecisionPhase = nullptr;
|
|
m_labelNoiseCpr = nullptr;
|
|
|
|
|
|
//[Destructor]. You can add your own custom destruction code here..
|
|
//[/Destructor]
|
|
}
|
|
|
|
//==============================================================================
|
|
void ControlComponent::paint (Graphics& g)
|
|
{
|
|
//[UserPrePaint] Add your own custom painting code here..
|
|
//[/UserPrePaint]
|
|
|
|
g.fillAll (Colours::white);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Loop Filter Acquisition [*1E-6]"),
|
|
31, 78, 209, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Current [dB]"),
|
|
348, 472, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("CMA [dB]"),
|
|
348, 496, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("DFE-on [dB]"),
|
|
348, 520, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("DFE-off [dB]"),
|
|
348, 544, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Symbol Magnitude [dB]"),
|
|
348, 568, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Symbol Phase [dB]"),
|
|
348, 592, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Adaption Rate [*1E-3]"),
|
|
23, 358, 145, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Adaption Rate [*1E-3]"),
|
|
287, 358, 144, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("RF [dB]"),
|
|
84, 472, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("DDC [dB]"),
|
|
84, 496, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("MF [dB]"),
|
|
84, 520, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("CPR [dB]"),
|
|
84, 544, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("AGC [dB]"),
|
|
84, 568, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("EQ [dB]"),
|
|
84, 592, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("STR [dB]"),
|
|
648, 624, 72, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Adaption Rate Acquisition [*1E-3]"),
|
|
559, 78, 217, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Bits per Symbol"),
|
|
356, 736, 140, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Symbolrate"),
|
|
356, 760, 140, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("DDC Frequency"),
|
|
356, 782, 140, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("dF [Hz]"),
|
|
119, 206, 124, 26,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("dF [sym/s]"),
|
|
383, 206, 124, 26,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("min"),
|
|
348, 820, 36, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("max"),
|
|
428, 820, 36, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("I"),
|
|
300, 844, 44, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Q"),
|
|
300, 868, 44, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Mag"),
|
|
300, 892, 44, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Phi I"),
|
|
300, 916, 44, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Phi Q"),
|
|
300, 940, 44, 20,
|
|
Justification::centred, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lead"),
|
|
104, 104, 36, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lag"),
|
|
224, 104, 32, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Loop Filter Tracking [*1E-6]"),
|
|
31, 142, 209, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lead"),
|
|
104, 168, 36, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lag"),
|
|
224, 168, 32, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Loop Filter Acquisition [*1E-6]"),
|
|
295, 78, 209, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lead"),
|
|
368, 104, 36, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lag"),
|
|
488, 104, 32, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Loop Filter Tracking [*1E-6]"),
|
|
295, 142, 209, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lead"),
|
|
368, 168, 36, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Lag"),
|
|
488, 168, 32, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Adaption Rate Tracking [*1E-3]"),
|
|
559, 142, 217, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("EB/N0 [dB]"),
|
|
348, 616, 156, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Symbols"),
|
|
640, 288, 120, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Frames"),
|
|
640, 312, 120, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Data Frames"),
|
|
640, 360, 120, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Idle Frames"),
|
|
640, 384, 120, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Bytes"),
|
|
640, 408, 120, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("# Invalid Frames"),
|
|
640, 336, 120, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Decision [dB]"),
|
|
84, 616, 84, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Decision Magnitude [dB]"),
|
|
84, 640, 164, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("Decision Phase [dB]"),
|
|
84, 664, 164, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
g.setColour (Colours::black);
|
|
g.setFont (Font (15.00f, Font::plain));
|
|
g.drawText (TRANS("CPR [dB]"),
|
|
647, 646, 72, 24,
|
|
Justification::centredLeft, true);
|
|
|
|
//[UserPaint] Add your own custom painting code here..
|
|
//[/UserPaint]
|
|
}
|
|
|
|
void ControlComponent::resized()
|
|
{
|
|
groupComponent3->setBounds (536, 272, 256, 168);
|
|
m_GroupSymbolTimingRecovery2->setBounds (536, 8, 256, 256);
|
|
groupComponent->setBounds (16, 448, 248, 248);
|
|
groupDFE->setBounds (272, 272, 256, 168);
|
|
groupCMA->setBounds (8, 272, 256, 168);
|
|
groupCarrierPhaseRecovery->setBounds (8, 8, 256, 256);
|
|
m_GroupSymbolTimingRecovery->setBounds (272, 8, 256, 256);
|
|
toggleButtonCPREnable->setBounds (192, 24, 48, 24);
|
|
toggleButtonDFEEnable->setBounds (280, 296, 64, 24);
|
|
toggleButtonSTREnable->setBounds (456, 24, 48, 24);
|
|
m_entrySTRLoopFilterLead_0->setBounds (288, 104, 72, 24);
|
|
m_entrySTRLoopFilterLag_0->setBounds (408, 104, 72, 24);
|
|
m_entryCPRLoopFilterLead_0->setBounds (24, 104, 72, 24);
|
|
m_entryCPRLoopFilterLag_0->setBounds (144, 104, 72, 24);
|
|
m_buttonDfeOnUpdateFromDfeOff->setBounds (448, 296, 64, 24);
|
|
m_buttonResetDFE->setBounds (456, 408, 64, 24);
|
|
m_buttonResetCMA->setBounds (192, 408, 64, 24);
|
|
groupComponent2->setBounds (272, 448, 256, 232);
|
|
m_entryCmaMu->setBounds (24, 384, 88, 24);
|
|
m_entryDfeMu->setBounds (288, 384, 88, 24);
|
|
m_labelPowerRF->setBounds (24, 472, 58, 24);
|
|
m_labelPowerDDC->setBounds (24, 496, 58, 24);
|
|
m_labelPowerMF->setBounds (24, 520, 58, 24);
|
|
m_labelPowerCPR->setBounds (24, 544, 58, 24);
|
|
m_labelPowerAGC2->setBounds (24, 568, 58, 24);
|
|
m_labelPowerEQ->setBounds (24, 592, 58, 24);
|
|
m_labelSnrCurrent->setBounds (280, 472, 58, 24);
|
|
m_labelSnrCma->setBounds (280, 496, 58, 24);
|
|
m_labelSnrDfeOn->setBounds (280, 520, 58, 24);
|
|
m_labelSnrDfeOff->setBounds (280, 544, 58, 24);
|
|
m_labelSnrSymbolMag->setBounds (280, 568, 58, 24);
|
|
m_labelSnrSymbolPhase->setBounds (280, 592, 58, 24);
|
|
m_labelNoiseStr->setBounds (576, 624, 58, 24);
|
|
m_labelSymbolReceivedCount->setBounds (544, 288, 90, 24);
|
|
m_buttonResetReset->setBounds (512, 792, 64, 24);
|
|
m_entryAgcMu_0->setBounds (560, 104, 64, 24);
|
|
toggleButtonCmaTrainingEnable->setBounds (24, 320, 64, 24);
|
|
toggleButtonDfeTrainingEnable->setBounds (280, 320, 64, 24);
|
|
m_buttonDfeOffUpdateFromCma->setBounds (184, 296, 64, 24);
|
|
m_entryNumBitsPerSymbol->setBounds (320, 736, 32, 24);
|
|
m_entrySymbolRate_rx->setBounds (264, 760, 88, 24);
|
|
m_entryDdcFrequency_rx->setBounds (264, 784, 88, 24);
|
|
m_entrySymbolRate_tx->setBounds (264-2*88, 760, 88, 24);
|
|
m_entryDdcFrequency_tx->setBounds (264-2*88, 784, 88, 24);
|
|
m_labelDdcDeltaFreq->setBounds (16, 208, 98, 24);
|
|
m_labelStrDeltaFreq->setBounds (280, 208, 98, 24);
|
|
m_labelCprState->setBounds (24, 32, 112, 24);
|
|
m_labelStrState->setBounds (288, 32, 112, 24);
|
|
toggleButtonAgcEnable->setBounds (720, 24, 48, 24);
|
|
m_labelAgcState->setBounds (552, 32, 112, 24);
|
|
toggleButtonAgcMuForceTrack->setBounds (720, 48, 64, 24);
|
|
m_labelDdcMinI->setBounds (320, 840, 58, 24);
|
|
m_labelDdcMaxI->setBounds (408, 840, 58, 24);
|
|
m_labelDdcMinQ->setBounds (320, 864, 58, 24);
|
|
m_labelDdcMaxQ->setBounds (408, 864, 58, 24);
|
|
m_labelDdcMinMag->setBounds (320, 888, 58, 24);
|
|
m_labelDdcMaxMag->setBounds (408, 888, 58, 24);
|
|
m_labelDdcPhiMinI->setBounds (320, 912, 58, 24);
|
|
m_labelDdcPhiMaxI->setBounds (408, 912, 58, 24);
|
|
m_labelDdcPhiMinQ->setBounds (320, 936, 58, 24);
|
|
m_labelDdcPhiMaxQ->setBounds (408, 936, 58, 24);
|
|
m_entryAgcMu_1->setBounds (560, 168, 64, 24);
|
|
m_entryCPRLoopFilterLead_1->setBounds (24, 168, 72, 24);
|
|
m_entryCPRLoopFilterLag_1->setBounds (144, 168, 72, 24);
|
|
m_entrySTRLoopFilterLead_1->setBounds (288, 168, 72, 24);
|
|
m_entrySTRLoopFilterLag_1->setBounds (408, 168, 72, 24);
|
|
toggleButtonSTRLoopFilterForceTrack->setBounds (456, 48, 64, 24);
|
|
toggleButtonCPRLoopFilterForceTrack->setBounds (192, 48, 64, 24);
|
|
toggleButtonDfeAutoUpdateEnable->setBounds (352, 296, 88, 24);
|
|
m_labelEbN0->setBounds (280, 616, 58, 24);
|
|
m_labelFrameTotalCount->setBounds (544, 312, 90, 24);
|
|
m_labelFrameDataCount->setBounds (544, 360, 90, 24);
|
|
m_labelFrameIdleCount->setBounds (544, 384, 90, 24);
|
|
m_labelFrameInvalidCount->setBounds (544, 336, 90, 24);
|
|
m_labelFrameByteCount->setBounds (544, 408, 90, 24);
|
|
m_buttonResetStatistic->setBounds (720, 408, 64, 24);
|
|
m_sliderCarrierPhase->setBounds (568, 480, 150, 24);
|
|
m_buttonResetCPR->setBounds (192, 232, 64, 24);
|
|
m_buttonResetStr->setBounds (456, 232, 64, 24);
|
|
comboBoxCmaMode->setBounds (96, 296, 72, 24);
|
|
toggleButtonCMAEnable->setBounds (24, 296, 64, 24);
|
|
m_labelPowerDecision->setBounds (24, 616, 58, 24);
|
|
m_labelPowerDecisionMag->setBounds (24, 640, 58, 24);
|
|
m_labelPowerDecisionPhase->setBounds (24, 664, 58, 24);
|
|
m_labelNoiseCpr->setBounds (576, 648, 58, 24);
|
|
//[UserResized] Add your own custom resize handling here..
|
|
//[/UserResized]
|
|
}
|
|
|
|
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;
|
|
}
|
|
else
|
|
{
|
|
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;
|
|
}
|
|
else
|
|
{
|
|
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;
|
|
}
|
|
else
|
|
{
|
|
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 == toggleButtonCmaTrainingEnable)
|
|
{
|
|
//[UserButtonCode_toggleButtonCmaTrainingEnable] -- add your button handler code here..
|
|
if (isOn)
|
|
{
|
|
m_params.cmaMode = cma_mode_training_enabled;
|
|
}
|
|
else
|
|
{
|
|
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;
|
|
}
|
|
else
|
|
{
|
|
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;
|
|
}
|
|
else
|
|
{
|
|
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 == toggleButtonCMAEnable)
|
|
{
|
|
//[UserButtonCode_toggleButtonCMAEnable] -- add your button handler code here..
|
|
if (isOn)
|
|
{
|
|
m_params.eq_mode = eq_mode_cma;
|
|
}
|
|
else
|
|
{
|
|
m_params.eq_mode = eq_mode_disabled;
|
|
}
|
|
m_pReceiverControlListener->setParams(m_params);
|
|
//[/UserButtonCode_toggleButtonCMAEnable]
|
|
}
|
|
|
|
//[UserbuttonClicked_Post]
|
|
//[/UserbuttonClicked_Post]
|
|
}
|
|
|
|
void ControlComponent::sliderValueChanged (Slider* sliderThatWasMoved)
|
|
{
|
|
//[UsersliderValueChanged_Pre]
|
|
//[/UsersliderValueChanged_Pre]
|
|
|
|
if (sliderThatWasMoved == m_sliderCarrierPhase)
|
|
{
|
|
//[UserSliderCode_m_sliderCarrierPhase] -- add your slider handling code here..
|
|
m_params.CPR_phase = (float)sliderThatWasMoved->getValue();
|
|
m_pReceiverControlListener->setParams(m_params);
|
|
//[/UserSliderCode_m_sliderCarrierPhase]
|
|
}
|
|
|
|
//[UsersliderValueChanged_Post]
|
|
//[/UsersliderValueChanged_Post]
|
|
}
|
|
|
|
void ControlComponent::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
|
|
{
|
|
//[UsercomboBoxChanged_Pre]
|
|
//[/UsercomboBoxChanged_Pre]
|
|
|
|
if (comboBoxThatHasChanged == comboBoxCmaMode)
|
|
{
|
|
//[UserComboBoxCode_comboBoxCmaMode] -- add your combo box handling code here..
|
|
m_params.cmaType = (cma_type)(comboBoxThatHasChanged->getSelectedItemIndex());
|
|
m_pReceiverControlListener->setParams(m_params);
|
|
//[/UserComboBoxCode_comboBoxCmaMode]
|
|
}
|
|
|
|
//[UsercomboBoxChanged_Post]
|
|
//[/UsercomboBoxChanged_Post]
|
|
}
|
|
|
|
void ControlComponent::mouseDown (const MouseEvent& e)
|
|
{
|
|
//[UserCode_mouseDown] -- Add your code here...
|
|
(void)e;
|
|
m_buttonResetReset->grabKeyboardFocus();
|
|
//[/UserCode_mouseDown]
|
|
}
|
|
|
|
|
|
|
|
//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
|
|
void ControlComponent::textEditorTextChanged (TextEditor &textEditor)
|
|
{
|
|
m_userParamEntryinProgress = textEditor.isTextInputActive();
|
|
}
|
|
|
|
void ControlComponent::textEditorReturnKeyPressed (TextEditor &textEditor)
|
|
{
|
|
(void)textEditor;
|
|
|
|
m_buttonResetReset->grabKeyboardFocus();
|
|
}
|
|
|
|
void ControlComponent::textEditorFocusLost (TextEditor &textEditor)
|
|
{
|
|
if (textEditor.getName() == m_entryCmaMu->getName())
|
|
{
|
|
m_params.eqMuCma = (float)1E-3*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryDfeMu->getName())
|
|
{
|
|
m_params.eqMuDfe = (float)1E-3*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryAgcMu_0->getName())
|
|
{
|
|
m_params.agcMu[0] = (float)1E-3*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryAgcMu_1->getName())
|
|
{
|
|
m_params.agcMu[1] = (float)1E-3*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryCPRLoopFilterLead_0->getName())
|
|
{
|
|
m_params.cpr_loopfilter_coeff[0].lead = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
if (textEditor.getName() == m_entryCPRLoopFilterLead_1->getName())
|
|
{
|
|
m_params.cpr_loopfilter_coeff[1].lead = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryCPRLoopFilterLag_0->getName())
|
|
{
|
|
m_params.cpr_loopfilter_coeff[0].lag = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
if (textEditor.getName() == m_entryCPRLoopFilterLag_1->getName())
|
|
{
|
|
m_params.cpr_loopfilter_coeff[1].lag = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entrySTRLoopFilterLead_0->getName())
|
|
{
|
|
m_params.str_loopfilter_coeff[0].lead = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
if (textEditor.getName() == m_entrySTRLoopFilterLead_1->getName())
|
|
{
|
|
m_params.str_loopfilter_coeff[1].lead = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entrySTRLoopFilterLag_0->getName())
|
|
{
|
|
m_params.str_loopfilter_coeff[0].lag = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
if (textEditor.getName() == m_entrySTRLoopFilterLag_1->getName())
|
|
{
|
|
m_params.str_loopfilter_coeff[1].lag = (float)1E-6*textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryNumBitsPerSymbol->getName())
|
|
{
|
|
m_params.numBitsPerSymbol = textEditor.getText().getIntValue();
|
|
m_pTransmitterControlListener->setNumBitPerSymbol(m_params.numBitsPerSymbol);
|
|
}
|
|
|
|
if (textEditor.getName() == m_entrySymbolRate_rx->getName())
|
|
{
|
|
m_params.symbolrate = textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryDdcFrequency_rx->getName())
|
|
{
|
|
m_params.ddc_freq = textEditor.getText().getFloatValue();
|
|
}
|
|
|
|
if (textEditor.getName() == m_entrySymbolRate_tx->getName())
|
|
{
|
|
float symbolrate = textEditor.getText().getFloatValue();
|
|
m_pTransmitterControlListener->setSymbolRate(symbolrate);
|
|
}
|
|
|
|
if (textEditor.getName() == m_entryDdcFrequency_tx->getName())
|
|
{
|
|
float ddc_freq = textEditor.getText().getFloatValue();
|
|
m_pTransmitterControlListener->setCarrierFrequency(ddc_freq);
|
|
}
|
|
|
|
m_pReceiverControlListener->setParams(m_params);
|
|
m_userParamEntryinProgress = false;
|
|
}
|
|
|
|
void ControlComponent::receiverStatusChanged(ReceiverInterface *pReceiver)
|
|
{
|
|
m_params = pReceiver->getParams();
|
|
m_status = pReceiver->getStatus();
|
|
|
|
sendChangeMessage();
|
|
}
|
|
|
|
void ControlComponent::changeListenerCallback(juce::ChangeBroadcaster* source)
|
|
{
|
|
(void)source;
|
|
|
|
comboBoxCmaMode->setSelectedItemIndex((int)m_params.cmaType, juce::NotificationType::dontSendNotification);
|
|
|
|
toggleButtonDfeAutoUpdateEnable->setToggleState(m_params.dfeAutoUpdateEnable == true, juce::NotificationType::dontSendNotification);
|
|
toggleButtonAgcMuForceTrack->setToggleState(m_params.agcMu_index == 1, juce::NotificationType::dontSendNotification);
|
|
toggleButtonSTRLoopFilterForceTrack->setToggleState(m_params.str_loopfilter_coeff_index == 1, juce::NotificationType::dontSendNotification);
|
|
toggleButtonCPRLoopFilterForceTrack->setToggleState(m_params.cpr_loopfilter_coeff_index == 1, juce::NotificationType::dontSendNotification);
|
|
toggleButtonAgcEnable->setToggleState(m_params.agc_mode != agc_mode_disabled, juce::NotificationType::dontSendNotification);
|
|
toggleButtonCPREnable->setToggleState(m_params.cpr_mode != cpr_mode_disabled, juce::NotificationType::dontSendNotification);
|
|
toggleButtonSTREnable->setToggleState(m_params.str_mode != str_mode_disabled, juce::NotificationType::dontSendNotification);
|
|
toggleButtonCMAEnable->setToggleState(m_params.eq_mode == eq_mode_cma, juce::NotificationType::dontSendNotification);
|
|
toggleButtonDFEEnable->setToggleState(m_params.eq_mode == eq_mode_dfe, juce::NotificationType::dontSendNotification);
|
|
toggleButtonCmaTrainingEnable->setToggleState(m_params.cmaMode != cma_mode_training_disabled, juce::NotificationType::dontSendNotification);
|
|
toggleButtonDfeTrainingEnable->setToggleState(m_params.dfeMode == dfe_mode_training_enabled, juce::NotificationType::dontSendNotification);
|
|
|
|
m_labelSymbolReceivedCount->setText(String(m_status.numSymbolsReceived), juce::NotificationType::dontSendNotification);
|
|
m_labelFrameTotalCount->setText(String(m_status.frameStatRx.numTotalFrame), juce::NotificationType::dontSendNotification);
|
|
m_labelFrameInvalidCount->setText(String(m_status.frameStatRx.numInvalidFrame), juce::NotificationType::dontSendNotification);
|
|
m_labelFrameDataCount->setText(String(m_status.frameStatRx.numDataFrame), juce::NotificationType::dontSendNotification);
|
|
m_labelFrameIdleCount->setText(String(m_status.frameStatRx.numIdleFrame), juce::NotificationType::dontSendNotification);
|
|
m_labelFrameByteCount->setText(String(m_status.frameStatRx.numDataBytes), juce::NotificationType::dontSendNotification);
|
|
|
|
m_labelNoiseStr->setText(String(m_status.noiseStr, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelNoiseCpr->setText(String(m_status.noiseCpr, 2), juce::NotificationType::dontSendNotification);
|
|
|
|
if (!m_userParamEntryinProgress)
|
|
{
|
|
m_entryNumBitsPerSymbol->setText(String(m_params.numBitsPerSymbol), juce::NotificationType::dontSendNotification);
|
|
m_entrySymbolRate_rx->setText(String(m_params.symbolrate, 3), juce::NotificationType::dontSendNotification);
|
|
m_entryDdcFrequency_rx->setText(String(m_params.ddc_freq, 3), juce::NotificationType::dontSendNotification);
|
|
m_entrySymbolRate_tx->setText(String(m_pTransmitterControlListener->getSymbolRate(), 3), juce::NotificationType::dontSendNotification);
|
|
m_entryDdcFrequency_tx->setText(String(m_pTransmitterControlListener->getCarrierFrequency(), 3), juce::NotificationType::dontSendNotification);
|
|
m_entryCmaMu->setText(String((float)1E3*m_params.eqMuCma, 3), juce::NotificationType::dontSendNotification);
|
|
m_entryDfeMu->setText(String((float)1E3*m_params.eqMuDfe, 3), juce::NotificationType::dontSendNotification);
|
|
m_entryAgcMu_0->setText(String((float)1E3*m_params.agcMu[0], 3), juce::NotificationType::dontSendNotification);
|
|
m_entryAgcMu_1->setText(String((float)1E3*m_params.agcMu[1], 3), juce::NotificationType::dontSendNotification);
|
|
m_entryCPRLoopFilterLead_0->setText(String((float)1E6*m_params.cpr_loopfilter_coeff[0].lead, 3), juce::NotificationType::dontSendNotification);
|
|
m_entryCPRLoopFilterLead_1->setText(String((float)1E6*m_params.cpr_loopfilter_coeff[1].lead, 3), juce::NotificationType::dontSendNotification);
|
|
m_entryCPRLoopFilterLag_0->setText(String((float)1E6*m_params.cpr_loopfilter_coeff[0].lag, 3), juce::NotificationType::dontSendNotification);
|
|
m_entryCPRLoopFilterLag_1->setText(String((float)1E6*m_params.cpr_loopfilter_coeff[1].lag, 3), juce::NotificationType::dontSendNotification);
|
|
m_entrySTRLoopFilterLead_0->setText(String((float)1E6*m_params.str_loopfilter_coeff[0].lead, 3), juce::NotificationType::dontSendNotification);
|
|
m_entrySTRLoopFilterLead_1->setText(String((float)1E6*m_params.str_loopfilter_coeff[1].lead, 3), juce::NotificationType::dontSendNotification);
|
|
m_entrySTRLoopFilterLag_0->setText(String((float)1E6*m_params.str_loopfilter_coeff[0].lag, 3), juce::NotificationType::dontSendNotification);
|
|
m_entrySTRLoopFilterLag_1->setText(String((float)1E6*m_params.str_loopfilter_coeff[1].lag, 3), juce::NotificationType::dontSendNotification);
|
|
}
|
|
m_labelDdcDeltaFreq->setText(String(m_status.deltaFrequencyCPR, 3), juce::NotificationType::dontSendNotification);
|
|
m_labelStrDeltaFreq->setText(String(m_status.deltaFrequencySTR, 3), juce::NotificationType::dontSendNotification);
|
|
|
|
m_labelPowerRF->setText(String(m_status.powerRF_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcMinI->setText(String(m_status.ddcMinMax.min.real, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcMaxI->setText(String(m_status.ddcMinMax.max.real, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcMinQ->setText(String(m_status.ddcMinMax.min.imag, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcMaxQ->setText(String(m_status.ddcMinMax.max.imag, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcMinMag->setText(String(m_status.ddcMinMax.magMin, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcMaxMag->setText(String(m_status.ddcMinMax.magMax, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcPhiMinI->setText(String(m_status.ddcMinMax.phiAtMinI, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcPhiMaxI->setText(String(m_status.ddcMinMax.phiAtMaxI, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcPhiMinQ->setText(String(m_status.ddcMinMax.phiAtMinQ, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelDdcPhiMaxQ->setText(String(m_status.ddcMinMax.phiAtMaxQ, 2), juce::NotificationType::dontSendNotification);
|
|
|
|
m_labelPowerDDC->setText(String(m_status.powerDDC_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerMF->setText(String(m_status.powerMF_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerCPR->setText(String(m_status.powerCPR_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerAGC2->setText(String(m_status.powerAGC_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerEQ->setText(String(m_status.powerEQ_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerDecision->setText(String(m_status.powerDecison_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerDecisionMag->setText(String(m_status.powerMagDecision_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelPowerDecisionPhase->setText(String(m_status.powerPhiDecision_dB, 2), juce::NotificationType::dontSendNotification);
|
|
|
|
m_labelSnrCurrent->setText(String(m_status.snrCurrent_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelSnrCma->setText(String(m_status.snrCma_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelSnrDfeOn->setText(String(m_status.snrDfeOn_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelSnrDfeOff->setText(String(m_status.snrDfeOff_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelSnrSymbolMag->setText(String(m_status.snrSymbolMagnitude_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelSnrSymbolPhase->setText(String(m_status.snrSymbolPhase_dB, 2), juce::NotificationType::dontSendNotification);
|
|
m_labelEbN0->setText(String(m_status.EB_N0, 2), juce::NotificationType::dontSendNotification);
|
|
|
|
if (m_params.strState == str_state_acquisition)
|
|
{
|
|
m_labelStrState->setText("Acquisition", juce::NotificationType::dontSendNotification);
|
|
m_labelStrState->setColour (Label::backgroundColourId, juce::Colours::lightsalmon);
|
|
}
|
|
if (m_params.strState == str_state_track)
|
|
{
|
|
m_labelStrState->setText("Track", juce::NotificationType::dontSendNotification);
|
|
m_labelStrState->setColour (Label::backgroundColourId, juce::Colours::lightgreen);
|
|
}
|
|
if (m_params.cprState == cpr_state_acquisition)
|
|
{
|
|
m_labelCprState->setText("Acquisition", juce::NotificationType::dontSendNotification);
|
|
m_labelCprState->setColour (Label::backgroundColourId, juce::Colours::lightsalmon);
|
|
}
|
|
if (m_params.cprState == cpr_state_track)
|
|
{
|
|
m_labelCprState->setText("Track", juce::NotificationType::dontSendNotification);
|
|
m_labelCprState->setColour (Label::backgroundColourId, juce::Colours::lightgreen);
|
|
}
|
|
if (m_params.agc_state == agc_state_acquisition)
|
|
{
|
|
m_labelAgcState->setText("Acquisition", juce::NotificationType::dontSendNotification);
|
|
m_labelAgcState->setColour (Label::backgroundColourId, juce::Colours::lightsalmon);
|
|
}
|
|
if (m_params.agc_state == agc_state_track)
|
|
{
|
|
m_labelAgcState->setText("Track", juce::NotificationType::dontSendNotification);
|
|
m_labelAgcState->setColour (Label::backgroundColourId, juce::Colours::lightgreen);
|
|
}
|
|
}
|
|
|
|
//[/MiscUserCode]
|
|
|
|
|
|
//==============================================================================
|
|
#if 0
|
|
/* -- Introjucer information section --
|
|
|
|
This is where the Introjucer stores the metadata that describe this GUI layout, so
|
|
make changes in here at your peril!
|
|
|
|
BEGIN_JUCER_METADATA
|
|
|
|
<JUCER_COMPONENT documentType="Component" className="ControlComponent" componentName=""
|
|
parentClasses="public Component, public TextEditor::Listener, public ChangeBroadcaster, public ChangeListener, public ButtonListener, public ReceiverStatusListener"
|
|
constructorParams="ReceiverInterface *pReceiverControlListener, TransmitterInterface *pTransmitterControlListener"
|
|
variableInitialisers="m_pReceiverControlListener(pReceiverControlListener), m_pTransmitterControlListener(pTransmitterControlListener)"
|
|
snapPixels="8" snapActive="1" snapShown="1" overlayOpacity="0.330"
|
|
fixedSize="1" initialWidth="800" initialHeight="1000">
|
|
<METHODS>
|
|
<METHOD name="mouseDown (const MouseEvent& e)"/>
|
|
</METHODS>
|
|
<BACKGROUND backgroundColour="ffffffff">
|
|
<TEXT pos="31 78 209 24" fill="solid: ff000000" hasStroke="0" text="Loop Filter Acquisition [*1E-6]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 472 156 24" fill="solid: ff000000" hasStroke="0" text="Current [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 496 156 24" fill="solid: ff000000" hasStroke="0" text="CMA [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 520 156 24" fill="solid: ff000000" hasStroke="0" text="DFE-on [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 544 156 24" fill="solid: ff000000" hasStroke="0" text="DFE-off [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 568 156 24" fill="solid: ff000000" hasStroke="0" text="Symbol Magnitude [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 592 156 24" fill="solid: ff000000" hasStroke="0" text="Symbol Phase [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="23 358 145 24" fill="solid: ff000000" hasStroke="0" text="Adaption Rate [*1E-3]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="287 358 144 24" fill="solid: ff000000" hasStroke="0" text="Adaption Rate [*1E-3]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 472 84 24" fill="solid: ff000000" hasStroke="0" text="RF [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 496 84 24" fill="solid: ff000000" hasStroke="0" text="DDC [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 520 84 24" fill="solid: ff000000" hasStroke="0" text="MF [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 544 84 24" fill="solid: ff000000" hasStroke="0" text="CPR [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 568 84 24" fill="solid: ff000000" hasStroke="0" text="AGC [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 592 84 24" fill="solid: ff000000" hasStroke="0" text="EQ [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="648 624 72 24" fill="solid: ff000000" hasStroke="0" text="STR [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="559 78 217 24" fill="solid: ff000000" hasStroke="0" text="Adaption Rate Acquisition [*1E-3]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="356 736 140 24" fill="solid: ff000000" hasStroke="0" text="# Bits per Symbol"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="356 760 140 24" fill="solid: ff000000" hasStroke="0" text="Symbolrate"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="356 782 140 24" fill="solid: ff000000" hasStroke="0" text="DDC Frequency"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="119 206 124 26" fill="solid: ff000000" hasStroke="0" text="dF [Hz]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="383 206 124 26" fill="solid: ff000000" hasStroke="0" text="dF [sym/s]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 820 36 20" fill="solid: ff000000" hasStroke="0" text="min"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="428 820 36 20" fill="solid: ff000000" hasStroke="0" text="max"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="300 844 44 20" fill="solid: ff000000" hasStroke="0" text="I"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="300 868 44 20" fill="solid: ff000000" hasStroke="0" text="Q"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="300 892 44 20" fill="solid: ff000000" hasStroke="0" text="Mag"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="300 916 44 20" fill="solid: ff000000" hasStroke="0" text="Phi I"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="300 940 44 20" fill="solid: ff000000" hasStroke="0" text="Phi Q"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="36"/>
|
|
<TEXT pos="104 104 36 24" fill="solid: ff000000" hasStroke="0" text="Lead"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="224 104 32 24" fill="solid: ff000000" hasStroke="0" text="Lag"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="31 142 209 24" fill="solid: ff000000" hasStroke="0" text="Loop Filter Tracking [*1E-6]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="104 168 36 24" fill="solid: ff000000" hasStroke="0" text="Lead"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="224 168 32 24" fill="solid: ff000000" hasStroke="0" text="Lag"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="295 78 209 24" fill="solid: ff000000" hasStroke="0" text="Loop Filter Acquisition [*1E-6]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="368 104 36 24" fill="solid: ff000000" hasStroke="0" text="Lead"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="488 104 32 24" fill="solid: ff000000" hasStroke="0" text="Lag"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="295 142 209 24" fill="solid: ff000000" hasStroke="0" text="Loop Filter Tracking [*1E-6]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="368 168 36 24" fill="solid: ff000000" hasStroke="0" text="Lead"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="488 168 32 24" fill="solid: ff000000" hasStroke="0" text="Lag"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="559 142 217 24" fill="solid: ff000000" hasStroke="0" text="Adaption Rate Tracking [*1E-3]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="348 616 156 24" fill="solid: ff000000" hasStroke="0" text="EB/N0 [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="640 288 120 24" fill="solid: ff000000" hasStroke="0" text="# Symbols"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="640 312 120 24" fill="solid: ff000000" hasStroke="0" text="# Frames"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="640 360 120 24" fill="solid: ff000000" hasStroke="0" text="# Data Frames"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="640 384 120 24" fill="solid: ff000000" hasStroke="0" text="# Idle Frames"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="640 408 120 24" fill="solid: ff000000" hasStroke="0" text="# Bytes"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="640 336 120 24" fill="solid: ff000000" hasStroke="0" text="# Invalid Frames"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 616 84 24" fill="solid: ff000000" hasStroke="0" text="Decision [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 640 164 24" fill="solid: ff000000" hasStroke="0" text="Decision Magnitude [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="84 664 164 24" fill="solid: ff000000" hasStroke="0" text="Decision Phase [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
<TEXT pos="647 646 72 24" fill="solid: ff000000" hasStroke="0" text="CPR [dB]"
|
|
fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/>
|
|
</BACKGROUND>
|
|
<GROUPCOMPONENT name="new group" id="e341830ba20141ff" memberName="groupComponent3"
|
|
virtualName="" explicitFocusOrder="0" pos="536 272 256 168" title="Statistics"/>
|
|
<GROUPCOMPONENT name="Symbol Timing Recovery group" id="2ec48a1ece4b7941" memberName="m_GroupSymbolTimingRecovery2"
|
|
virtualName="" explicitFocusOrder="0" pos="536 8 256 256" title="AGC"/>
|
|
<GROUPCOMPONENT name="new group" id="bfa951679b46051b" memberName="groupComponent"
|
|
virtualName="" explicitFocusOrder="0" pos="16 448 248 248" title="Powers"/>
|
|
<GROUPCOMPONENT name="DFE group" id="90cfbec7da7afbe0" memberName="groupDFE"
|
|
virtualName="" explicitFocusOrder="0" pos="272 272 256 168" title="Decision Feedback Equalizer"/>
|
|
<GROUPCOMPONENT name="CMA group" id="4161d268fce551c4" memberName="groupCMA"
|
|
virtualName="" explicitFocusOrder="0" pos="8 272 256 168" title="Blind CMA Equalizer"/>
|
|
<GROUPCOMPONENT name="Carrier Phase Recovery group" id="36ff007adcc2d54c" memberName="groupCarrierPhaseRecovery"
|
|
virtualName="" explicitFocusOrder="0" pos="8 8 256 256" title="Carrier Phase Recovery"/>
|
|
<GROUPCOMPONENT name="Symbol Timing Recovery group" id="70b1db0cefa1062f" memberName="m_GroupSymbolTimingRecovery"
|
|
virtualName="" explicitFocusOrder="0" pos="272 8 256 256" title="Symbol Timing Recovery"/>
|
|
<TOGGLEBUTTON name="CPR Button" id="b55a837b81cc6249" memberName="toggleButtonCPREnable"
|
|
virtualName="" explicitFocusOrder="0" pos="192 24 48 24" tooltip="CPR Enable"
|
|
buttonText="On" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<TOGGLEBUTTON name="DFE Button" id="202522ec085d8faa" memberName="toggleButtonDFEEnable"
|
|
virtualName="" explicitFocusOrder="0" pos="280 296 64 24" buttonText="On"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0" state="0"/>
|
|
<TOGGLEBUTTON name="STR Button" id="eaf43cde2df20d26" memberName="toggleButtonSTREnable"
|
|
virtualName="" explicitFocusOrder="0" pos="456 24 48 24" tooltip="STR Enable"
|
|
buttonText="On" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<TEXTEDITOR name="STRLoopFilterLead 0" id="ce76fb8e6f4ceb7a" memberName="m_entrySTRLoopFilterLead_0"
|
|
virtualName="" explicitFocusOrder="0" pos="288 104 72 24" tooltip="STRLoopFilterLead 0"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="STRLoopFilterLag 0" id="203d9bede9fe5e8f" memberName="m_entrySTRLoopFilterLag_0"
|
|
virtualName="" explicitFocusOrder="0" pos="408 104 72 24" tooltip="STRLoopFilterLag 0"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="CPRLoopFilterLead 0" id="1fbc588ede4f172e" memberName="m_entryCPRLoopFilterLead_0"
|
|
virtualName="" explicitFocusOrder="0" pos="24 104 72 24" tooltip="CPRLoopFilterLead 0"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="CPRLoopFilterLag 0" id="546e55f664ce3f34" memberName="m_entryCPRLoopFilterLag_0"
|
|
virtualName="" explicitFocusOrder="0" pos="144 104 72 24" tooltip="CPRLoopFilterLag 0"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTBUTTON name="DFE-off => DFE-on Update button" id="a63b2127df24d866"
|
|
memberName="m_buttonDfeOnUpdateFromDfeOff" virtualName="" explicitFocusOrder="0"
|
|
pos="448 296 64 24" tooltip="DFE-off => DFE-on Update" buttonText="Update"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<TEXTBUTTON name="DFE Reset button" id="8a04302604dfce14" memberName="m_buttonResetDFE"
|
|
virtualName="" explicitFocusOrder="0" pos="456 408 64 24" buttonText="Reset"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<TEXTBUTTON name="CMA Reset button" id="ffbc53ffbe3ed302" memberName="m_buttonResetCMA"
|
|
virtualName="" explicitFocusOrder="0" pos="192 408 64 24" buttonText="Reset"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<GROUPCOMPONENT name="new group" id="4d597af6ad272b9d" memberName="groupComponent2"
|
|
virtualName="" explicitFocusOrder="0" pos="272 448 256 232" title="SNR"/>
|
|
<TEXTEDITOR name="CMA Adaption Rate" id="102dfd74a599cd75" memberName="m_entryCmaMu"
|
|
virtualName="" explicitFocusOrder="0" pos="24 384 88 24" initialText=""
|
|
multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
|
|
caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="DFE Adaption Rate" id="f37da3cf6bfa204a" memberName="m_entryDfeMu"
|
|
virtualName="" explicitFocusOrder="0" pos="288 384 88 24" initialText=""
|
|
multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
|
|
caret="1" popupmenu="1"/>
|
|
<LABEL name="RF-Power" id="7508da0d4c602971" memberName="m_labelPowerRF"
|
|
virtualName="" explicitFocusOrder="0" pos="24 472 58 24" tooltip="RF-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="DDC-Power" id="4dfc840f2fcc23dd" memberName="m_labelPowerDDC"
|
|
virtualName="" explicitFocusOrder="0" pos="24 496 58 24" tooltip="DDC-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="MF-Power" id="d8b493b6dd08d5fa" memberName="m_labelPowerMF"
|
|
virtualName="" explicitFocusOrder="0" pos="24 520 58 24" tooltip="MF-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="CPR-Power" id="7f9e87cea20da501" memberName="m_labelPowerCPR"
|
|
virtualName="" explicitFocusOrder="0" pos="24 544 58 24" tooltip="CPR-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="AGC-2-Power" id="326c8aff67b59e23" memberName="m_labelPowerAGC2"
|
|
virtualName="" explicitFocusOrder="0" pos="24 568 58 24" tooltip="AGC-2-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="EQ-Power" id="be73699a453f3302" memberName="m_labelPowerEQ"
|
|
virtualName="" explicitFocusOrder="0" pos="24 592 58 24" tooltip="EQ-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR Current" id="e4cb9f9502a6c962" memberName="m_labelSnrCurrent"
|
|
virtualName="" explicitFocusOrder="0" pos="280 472 58 24" tooltip="SNR Current"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR CMA" id="5b66c2d4baee1220" memberName="m_labelSnrCma"
|
|
virtualName="" explicitFocusOrder="0" pos="280 496 58 24" tooltip="SNR CMA"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR-DEF-On" id="b19acdaa7a0d5b62" memberName="m_labelSnrDfeOn"
|
|
virtualName="" explicitFocusOrder="0" pos="280 520 58 24" tooltip="SNR-DEF-On"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR-DEF-Off" id="58b90d9e946b520f" memberName="m_labelSnrDfeOff"
|
|
virtualName="" explicitFocusOrder="0" pos="280 544 58 24" tooltip="SNR-DEF-Off"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR Symbol Magnitude" id="5e5eba71128ae681" memberName="m_labelSnrSymbolMag"
|
|
virtualName="" explicitFocusOrder="0" pos="280 568 58 24" tooltip="SNR Symbol Magnitude"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR Symbol Phase" id="8489795f5a664879" memberName="m_labelSnrSymbolPhase"
|
|
virtualName="" explicitFocusOrder="0" pos="280 592 58 24" tooltip="SNR Symbol Phase"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR STR" id="a35a50a5ebe92e53" memberName="m_labelNoiseStr"
|
|
virtualName="" explicitFocusOrder="0" pos="576 624 58 24" tooltip="SNR STR"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Number of Symbols Received" id="c683e05608311d53" memberName="m_labelSymbolReceivedCount"
|
|
virtualName="" explicitFocusOrder="0" pos="544 288 90 24" tooltip="Number of Symbols Received"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<TEXTBUTTON name="Receiver Reset" id="3a07c8fdcac1cdb4" memberName="m_buttonResetReset"
|
|
virtualName="" explicitFocusOrder="0" pos="512 792 64 24" tooltip="Receiver Reset"
|
|
buttonText="Reset" connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<TEXTEDITOR name="AGC Adaption Rate 0" id="65b28b9a22c1857c" memberName="m_entryAgcMu_0"
|
|
virtualName="" explicitFocusOrder="0" pos="560 104 64 24" tooltip="AGC Adaption Rate 0"
|
|
initialText="0.000001" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TOGGLEBUTTON name="CMA Enable Training" id="478772c356a26dc" memberName="toggleButtonCmaTrainingEnable"
|
|
virtualName="" explicitFocusOrder="0" pos="24 320 64 24" tooltip="CMA Enable Training"
|
|
buttonText="Learn" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<TOGGLEBUTTON name="DFE Enable Training" id="957b1ee61dd6bdbe" memberName="toggleButtonDfeTrainingEnable"
|
|
virtualName="" explicitFocusOrder="0" pos="280 320 64 24" tooltip="DFE Enable Training"
|
|
buttonText="Learn" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<TEXTBUTTON name="CMA => DFE-off Update button" id="646b69680955e25c"
|
|
memberName="m_buttonDfeOffUpdateFromCma" virtualName="" explicitFocusOrder="0"
|
|
pos="184 296 64 24" tooltip="CMA => DFE-off Update" buttonText="=> DFE"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<TEXTEDITOR name="NumBitsPerSymbol" id="80569f26a3fbf2a0" memberName="m_entryNumBitsPerSymbol"
|
|
virtualName="" explicitFocusOrder="0" pos="320 736 32 24" tooltip="NumBitsPerSymbol"
|
|
initialText="2" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="Symbolrate" id="a4cc5d71384cd9d7" memberName="m_entrySymbolRate"
|
|
virtualName="" explicitFocusOrder="0" pos="264 760 88 24" tooltip="Symbolrate"
|
|
initialText="192000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="DDC Frequency" id="ee29c942e6880b59" memberName="m_entryDdcFrequency"
|
|
virtualName="" explicitFocusOrder="0" pos="264 784 88 24" tooltip="DDC Frequency"
|
|
initialText="192000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<LABEL name="DDC Frequency Offset" id="64a59b588615d9" memberName="m_labelDdcDeltaFreq"
|
|
virtualName="" explicitFocusOrder="0" pos="16 208 98 24" tooltip="DDC Frequency Offset"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-999.000000" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="STR Frequency Offset" id="7a0082e89666d3a6" memberName="m_labelStrDeltaFreq"
|
|
virtualName="" explicitFocusOrder="0" pos="280 208 98 24" tooltip="STR Frequency Offset"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-999.000000" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="CPR state" id="cf1e5549373bef7d" memberName="m_labelCprState"
|
|
virtualName="" explicitFocusOrder="0" pos="24 32 112 24" tooltip="CPR state"
|
|
bkgCol="ffffffff" edTextCol="ff000000" edBkgCol="0" labelText="Tracking"
|
|
editableSingleClick="0" editableDoubleClick="0" focusDiscardsChanges="0"
|
|
fontname="Default font" fontsize="15" bold="1" italic="0" justification="36"/>
|
|
<LABEL name="STR state" id="fcfca51e8781527d" memberName="m_labelStrState"
|
|
virtualName="" explicitFocusOrder="0" pos="288 32 112 24" tooltip="STR state"
|
|
bkgCol="ffffffff" edTextCol="ff000000" edBkgCol="0" labelText="Tracking"
|
|
editableSingleClick="0" editableDoubleClick="0" focusDiscardsChanges="0"
|
|
fontname="Default font" fontsize="15" bold="1" italic="0" justification="36"/>
|
|
<TOGGLEBUTTON name="AGC Enable" id="16f17a5a34bb4ffe" memberName="toggleButtonAgcEnable"
|
|
virtualName="" explicitFocusOrder="0" pos="720 24 48 24" tooltip="AGC Enable"
|
|
buttonText="On" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<LABEL name="AGC state" id="6414c54c251b07d" memberName="m_labelAgcState"
|
|
virtualName="" explicitFocusOrder="0" pos="552 32 112 24" tooltip="AGC state"
|
|
bkgCol="ffffffff" edTextCol="ff000000" edBkgCol="0" labelText="Tracking"
|
|
editableSingleClick="0" editableDoubleClick="0" focusDiscardsChanges="0"
|
|
fontname="Default font" fontsize="15" bold="1" italic="0" justification="36"/>
|
|
<TOGGLEBUTTON name="AGC Force Track" id="4309a35e2c30900c" memberName="toggleButtonAgcMuForceTrack"
|
|
virtualName="" explicitFocusOrder="0" pos="720 48 64 24" tooltip="AGC Force Tracking Mode"
|
|
buttonText="Track" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<LABEL name="Ddc-Minimum" id="6c82689e4e122071" memberName="m_labelDdcMinI"
|
|
virtualName="" explicitFocusOrder="0" pos="320 840 58 24" tooltip="Ddc-Minimum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-1" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="DDC-Maximum" id="22ffc21c173db082" memberName="m_labelDdcMaxI"
|
|
virtualName="" explicitFocusOrder="0" pos="408 840 58 24" tooltip="DDC-Maximum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Ddc-Minimum" id="ac26a25e5d4bc147" memberName="m_labelDdcMinQ"
|
|
virtualName="" explicitFocusOrder="0" pos="320 864 58 24" tooltip="Ddc-Minimum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-1" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="DDC-Maximum" id="5def54378bce59ad" memberName="m_labelDdcMaxQ"
|
|
virtualName="" explicitFocusOrder="0" pos="408 864 58 24" tooltip="DDC-Maximum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Ddc-Minimum" id="f8045cbc23b55689" memberName="m_labelDdcMinMag"
|
|
virtualName="" explicitFocusOrder="0" pos="320 888 58 24" tooltip="Ddc-Minimum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-1" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="DDC-Maximum" id="ea56e23ebf6526a5" memberName="m_labelDdcMaxMag"
|
|
virtualName="" explicitFocusOrder="0" pos="408 888 58 24" tooltip="DDC-Maximum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Ddc-Minimum" id="20e988862c635775" memberName="m_labelDdcPhiMinI"
|
|
virtualName="" explicitFocusOrder="0" pos="320 912 58 24" tooltip="Ddc-Minimum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-1" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="DDC-Maximum" id="497df376450d3ca8" memberName="m_labelDdcPhiMaxI"
|
|
virtualName="" explicitFocusOrder="0" pos="408 912 58 24" tooltip="DDC-Maximum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Ddc-Minimum" id="be9911efc0082fd8" memberName="m_labelDdcPhiMinQ"
|
|
virtualName="" explicitFocusOrder="0" pos="320 936 58 24" tooltip="Ddc-Minimum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-1" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="DDC-Maximum" id="ddba7e2b245e6211" memberName="m_labelDdcPhiMaxQ"
|
|
virtualName="" explicitFocusOrder="0" pos="408 936 58 24" tooltip="DDC-Maximum"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<TEXTEDITOR name="AGC Adaption Rate 1" id="cdcc3286afeae56d" memberName="m_entryAgcMu_1"
|
|
virtualName="" explicitFocusOrder="0" pos="560 168 64 24" tooltip="AGC Adaption Rate 1"
|
|
initialText="0.000001" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="CPRLoopFilterLead 1" id="f71fd172af939aa4" memberName="m_entryCPRLoopFilterLead_1"
|
|
virtualName="" explicitFocusOrder="0" pos="24 168 72 24" tooltip="CPRLoopFilterLead 1"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="CPRLoopFilterLag 1" id="5cfbc61e4302693f" memberName="m_entryCPRLoopFilterLag_1"
|
|
virtualName="" explicitFocusOrder="0" pos="144 168 72 24" tooltip="CPRLoopFilterLag 1"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="STRLoopFilterLead 1" id="e98e3a0a1e440f2d" memberName="m_entrySTRLoopFilterLead_1"
|
|
virtualName="" explicitFocusOrder="0" pos="288 168 72 24" tooltip="STRLoopFilterLead 1"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TEXTEDITOR name="STRLoopFilterLag 1" id="7b5faeacc39dce6a" memberName="m_entrySTRLoopFilterLag_1"
|
|
virtualName="" explicitFocusOrder="0" pos="408 168 72 24" tooltip="STRLoopFilterLag 1"
|
|
initialText="1000.000" multiline="0" retKeyStartsLine="0" readonly="0"
|
|
scrollbars="0" caret="1" popupmenu="1"/>
|
|
<TOGGLEBUTTON name="STR Track" id="8f0b130af5b1d9aa" memberName="toggleButtonSTRLoopFilterForceTrack"
|
|
virtualName="" explicitFocusOrder="0" pos="456 48 64 24" tooltip="STR Force Tracking Mode"
|
|
buttonText="Track" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<TOGGLEBUTTON name="CPR Track" id="75c8964a7853d5e2" memberName="toggleButtonCPRLoopFilterForceTrack"
|
|
virtualName="" explicitFocusOrder="0" pos="192 48 64 24" tooltip="STR Force Tracking Mode"
|
|
buttonText="Track" connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<TOGGLEBUTTON name="DFE Enable Training" id="5d666fa09a8f1fac" memberName="toggleButtonDfeAutoUpdateEnable"
|
|
virtualName="" explicitFocusOrder="0" pos="352 296 88 24" tooltip="DFE Enable Training"
|
|
buttonText="Auto Upd." connectedEdges="0" needsCallback="1" radioGroupId="0"
|
|
state="0"/>
|
|
<LABEL name="SNR STR" id="c0975bf98b280ec0" memberName="m_labelEbN0"
|
|
virtualName="" explicitFocusOrder="0" pos="280 616 58 24" tooltip="SNR STR"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="FrameTotalCount" id="95e51b38d606308b" memberName="m_labelFrameTotalCount"
|
|
virtualName="" explicitFocusOrder="0" pos="544 312 90 24" tooltip="Number of Frames Received"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="FrameDataCount" id="cc7c04e4f0b7ee8e" memberName="m_labelFrameDataCount"
|
|
virtualName="" explicitFocusOrder="0" pos="544 360 90 24" tooltip="Number of Data Frames Received"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="FrameIdleCount" id="dded30398df933fa" memberName="m_labelFrameIdleCount"
|
|
virtualName="" explicitFocusOrder="0" pos="544 384 90 24" tooltip="Number of Idle Frames Received"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="FrameInvalidCount" id="89e6ad64c4f0925b" memberName="m_labelFrameInvalidCount"
|
|
virtualName="" explicitFocusOrder="0" pos="544 336 90 24" tooltip="Number of Invalid Frames Received"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="FrameByteCount" id="c7fac4575b75ab4c" memberName="m_labelFrameByteCount"
|
|
virtualName="" explicitFocusOrder="0" pos="544 408 90 24" tooltip="Number of bytes Received"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<TEXTBUTTON name="Statistic Reset button" id="5942ada1101c566e" memberName="m_buttonResetStatistic"
|
|
virtualName="" explicitFocusOrder="0" pos="720 408 64 24" buttonText="Reset"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<SLIDER name="CarrierPhaseSlider" id="b4edfd1dcd6a20c6" memberName="m_sliderCarrierPhase"
|
|
virtualName="" explicitFocusOrder="0" pos="568 480 150 24" min="-3.1415926535900000616"
|
|
max="3.1415926535900000616" int="0.0010000000000000000208" style="RotaryVerticalDrag"
|
|
textBoxPos="TextBoxLeft" textBoxEditable="1" textBoxWidth="80"
|
|
textBoxHeight="20" skewFactor="1"/>
|
|
<TEXTBUTTON name="CPR Reset button" id="42a7b272b9dba592" memberName="m_buttonResetCPR"
|
|
virtualName="" explicitFocusOrder="0" pos="192 232 64 24" buttonText="Reset"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<TEXTBUTTON name="STR Reset button" id="559ecd0a391b701a" memberName="m_buttonResetStr"
|
|
virtualName="" explicitFocusOrder="0" pos="456 232 64 24" buttonText="Reset"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0"/>
|
|
<COMBOBOX name="CmaMode" id="db33fac568ead021" memberName="comboBoxCmaMode"
|
|
virtualName="" explicitFocusOrder="0" pos="96 296 72 24" editable="0"
|
|
layout="33" items="CMA MMA S-MMA" textWhenNonSelected=""
|
|
textWhenNoItems="(no choices)"/>
|
|
<TOGGLEBUTTON name="CMA Button" id="a2ed8ac8b0095004" memberName="toggleButtonCMAEnable"
|
|
virtualName="" explicitFocusOrder="0" pos="24 296 64 24" buttonText="On"
|
|
connectedEdges="0" needsCallback="1" radioGroupId="0" state="0"/>
|
|
<LABEL name="Slicer-Power" id="3d78759f532bcf8a" memberName="m_labelPowerDecision"
|
|
virtualName="" explicitFocusOrder="0" pos="24 616 58 24" tooltip="Slicer-Power"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Slicer-Power Magnitude" id="ad28d19c17174ef1" memberName="m_labelPowerDecisionMag"
|
|
virtualName="" explicitFocusOrder="0" pos="24 640 58 24" tooltip="Slicer-Power Magnitude"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="Slicer-Power Phase" id="8feeab6819df076b" memberName="m_labelPowerDecisionPhase"
|
|
virtualName="" explicitFocusOrder="0" pos="24 664 58 24" tooltip="Slicer-Power Phase"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
<LABEL name="SNR CPR" id="ca34160cd013b5bc" memberName="m_labelNoiseCpr"
|
|
virtualName="" explicitFocusOrder="0" pos="576 648 58 24" tooltip="SNR CPR"
|
|
edTextCol="ff000000" edBkgCol="0" labelText="-120" editableSingleClick="0"
|
|
editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
|
|
fontsize="15" bold="0" italic="0" justification="34"/>
|
|
</JUCER_COMPONENT>
|
|
|
|
END_JUCER_METADATA
|
|
*/
|
|
#endif
|
|
|
|
|
|
//[EndFile] You can add extra defines here...
|
|
//[/EndFile]
|