MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / cancelTransmitFromIndicator

Method cancelTransmitFromIndicator

src/gui/MainWindow.cpp:3144–3182  ·  view source on GitHub ↗

keyPressEvent()/keyReleaseEvent() lives in MainWindow_Shortcuts.cpp (#3351 Phase 1c).

Source from the content-addressed store, hash-verified

3142
3143// keyPressEvent()/keyReleaseEvent() lives in MainWindow_Shortcuts.cpp (#3351 Phase 1c).
3144void MainWindow::cancelTransmitFromIndicator()
3145{
3146 if (!m_radioModel.isConnected()) {
3147 statusBar()->showMessage("TX cancel ignored: not connected", 2000);
3148 return;
3149 }
3150
3151 const quint32 owner = m_radioModel.txClientHandle();
3152 const quint32 ours = m_radioModel.ourClientHandle();
3153 if (owner != 0 && ours != 0 && owner != ours
3154 && !m_radioModel.transmitModel().isTransmitting()) {
3155 statusBar()->showMessage("TX is owned by another station", 2500);
3156 return;
3157 }
3158
3159 m_pttHoldActive = false;
3160 m_cwStraightKeyActive = false;
3161 m_cwLeftPaddleActive = false;
3162 m_cwRightPaddleActive = false;
3163 m_lastCwPaddleTraceId.store(0, std::memory_order_relaxed);
3164 m_lastCwPaddleSourceMs.store(0, std::memory_order_relaxed);
3165
3166 if (m_iambicKeyer && m_iambicKeyer->isRunning()) {
3167 m_iambicKeyer->setPaddleState(false, false);
3168 m_iambicKeyer->reset();
3169 }
3170 if (m_audio)
3171 m_audio->setCwKeyDown(false); // clear audible + recorder sidetone
3172
3173 const quint64 sourceMs = cwTraceNowMs();
3174 const quint64 traceId = nextCwTraceId();
3175 const QString source = QStringLiteral("tx-indicator:cancel");
3176 m_radioModel.sendCwKey(false, source, traceId, sourceMs);
3177 m_radioModel.sendCwPtt(false, source, traceId, sourceMs);
3178 m_radioModel.transmitModel().stopTune();
3179 m_radioModel.setTransmit(false);
3180
3181 statusBar()->showMessage("TX cancel requested", 2000);
3182}
3183
3184void MainWindow::setCwStraightKeyState(bool down, const QString& source,
3185 quint64 traceId, quint64 sourceMs)

Callers

nothing calls this directly

Calls 14

cwTraceNowMsFunction · 0.85
nextCwTraceIdFunction · 0.85
txClientHandleMethod · 0.80
ourClientHandleMethod · 0.80
isTransmittingMethod · 0.80
setPaddleStateMethod · 0.80
sendCwKeyMethod · 0.80
sendCwPttMethod · 0.80
stopTuneMethod · 0.80
setTransmitMethod · 0.80
isConnectedMethod · 0.45
isRunningMethod · 0.45

Tested by

no test coverage detected