diff --git a/Source/ControlComponent.cpp b/Source/ControlComponent.cpp index 36f3a12..73e70d5 100644 --- a/Source/ControlComponent.cpp +++ b/Source/ControlComponent.cpp @@ -305,25 +305,45 @@ ControlComponent::ControlComponent (ReceiverInterface *pReceiverControlListener, m_entryNumBitsPerSymbol->setPopupMenuEnabled (true); m_entryNumBitsPerSymbol->setText (TRANS("2")); - addAndMakeVisible (m_entrySymbolRate = new TextEditor ("Symbolrate")); - m_entrySymbolRate->setTooltip (TRANS("Symbolrate")); - m_entrySymbolRate->setMultiLine (false); - m_entrySymbolRate->setReturnKeyStartsNewLine (false); - m_entrySymbolRate->setReadOnly (false); - m_entrySymbolRate->setScrollbarsShown (false); - m_entrySymbolRate->setCaretVisible (true); - m_entrySymbolRate->setPopupMenuEnabled (true); - m_entrySymbolRate->setText (TRANS("192000.000")); + 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 = new TextEditor ("DDC Frequency")); - m_entryDdcFrequency->setTooltip (TRANS("DDC Frequency")); - m_entryDdcFrequency->setMultiLine (false); - m_entryDdcFrequency->setReturnKeyStartsNewLine (false); - m_entryDdcFrequency->setReadOnly (false); - m_entryDdcFrequency->setScrollbarsShown (false); - m_entryDdcFrequency->setCaretVisible (true); - m_entryDdcFrequency->setPopupMenuEnabled (true); - m_entryDdcFrequency->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"))); @@ -684,8 +704,10 @@ ControlComponent::ControlComponent (ReceiverInterface *pReceiverControlListener, m_entrySTRLoopFilterLag_0->addListener(this); m_entrySTRLoopFilterLag_1->addListener(this); m_entryNumBitsPerSymbol->addListener(this); - m_entryDdcFrequency->addListener(this); - m_entrySymbolRate->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); @@ -701,8 +723,10 @@ ControlComponent::ControlComponent (ReceiverInterface *pReceiverControlListener, m_entrySTRLoopFilterLag_0->setSelectAllWhenFocused(true); m_entrySTRLoopFilterLag_1->setSelectAllWhenFocused(true); m_entryNumBitsPerSymbol->setSelectAllWhenFocused(true); - m_entryDdcFrequency->setSelectAllWhenFocused(true); - m_entrySymbolRate->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); @@ -755,8 +779,10 @@ ControlComponent::~ControlComponent() toggleButtonDfeTrainingEnable = nullptr; m_buttonDfeOffUpdateFromCma = nullptr; m_entryNumBitsPerSymbol = nullptr; - m_entrySymbolRate = nullptr; - m_entryDdcFrequency = 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; @@ -1170,8 +1196,10 @@ void ControlComponent::resized() toggleButtonDfeTrainingEnable->setBounds (280, 320, 64, 24); m_buttonDfeOffUpdateFromCma->setBounds (184, 296, 64, 24); m_entryNumBitsPerSymbol->setBounds (320, 736, 32, 24); - m_entrySymbolRate->setBounds (264, 760, 88, 24); - m_entryDdcFrequency->setBounds (264, 784, 88, 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); @@ -1525,16 +1553,26 @@ void ControlComponent::textEditorFocusLost (TextEditor &textEditor) m_pTransmitterControlListener->setNumBitPerSymbol(m_params.numBitsPerSymbol); } - if (textEditor.getName() == m_entrySymbolRate->getName()) + if (textEditor.getName() == m_entrySymbolRate_rx->getName()) { m_params.symbolrate = textEditor.getText().getFloatValue(); - m_pTransmitterControlListener->setSymbolRate(m_params.symbolrate); } - if (textEditor.getName() == m_entryDdcFrequency->getName()) + if (textEditor.getName() == m_entryDdcFrequency_rx->getName()) { m_params.ddc_freq = textEditor.getText().getFloatValue(); - m_pTransmitterControlListener->setCarrierFrequency(m_params.ddc_freq); + } + + 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); @@ -1580,8 +1618,10 @@ void ControlComponent::changeListenerCallback(juce::ChangeBroadcaster* source) if (!m_userParamEntryinProgress) { m_entryNumBitsPerSymbol->setText(String(m_params.numBitsPerSymbol), juce::NotificationType::dontSendNotification); - m_entrySymbolRate->setText(String(m_params.symbolrate, 3), juce::NotificationType::dontSendNotification); - m_entryDdcFrequency->setText(String(m_params.ddc_freq, 3), 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); diff --git a/Source/ControlComponent.h b/Source/ControlComponent.h index 911d533..468ab06 100644 --- a/Source/ControlComponent.h +++ b/Source/ControlComponent.h @@ -120,8 +120,10 @@ private: ScopedPointer toggleButtonDfeTrainingEnable; ScopedPointer m_buttonDfeOffUpdateFromCma; ScopedPointer m_entryNumBitsPerSymbol; - ScopedPointer m_entrySymbolRate; - ScopedPointer m_entryDdcFrequency; + ScopedPointer m_entrySymbolRate_rx; + ScopedPointer m_entryDdcFrequency_rx; + ScopedPointer m_entrySymbolRate_tx; + ScopedPointer m_entryDdcFrequency_tx; ScopedPointer