Add timer to return from CW Ident
This commit is contained in:
parent
4e1b002665
commit
28775026d4
|
@ -23,6 +23,7 @@ const unsigned char MODE_IDLE = 0U;
|
||||||
const unsigned char MODE_DSTAR = 1U;
|
const unsigned char MODE_DSTAR = 1U;
|
||||||
const unsigned char MODE_DMR = 2U;
|
const unsigned char MODE_DMR = 2U;
|
||||||
const unsigned char MODE_YSF = 3U;
|
const unsigned char MODE_YSF = 3U;
|
||||||
|
const unsigned char MODE_CW = 4U;
|
||||||
const unsigned char MODE_LOCKOUT = 99U;
|
const unsigned char MODE_LOCKOUT = 99U;
|
||||||
const unsigned char MODE_ERROR = 100U;
|
const unsigned char MODE_ERROR = 100U;
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,9 @@ void CDisplay::clearFusion()
|
||||||
|
|
||||||
void CDisplay::writeCW()
|
void CDisplay::writeCW()
|
||||||
{
|
{
|
||||||
|
m_timer1.start();
|
||||||
|
m_mode1 = MODE_CW;
|
||||||
|
|
||||||
writeCWInt();
|
writeCWInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,6 +183,11 @@ void CDisplay::clock(unsigned int ms)
|
||||||
m_mode1 = MODE_IDLE;
|
m_mode1 = MODE_IDLE;
|
||||||
m_timer1.stop();
|
m_timer1.stop();
|
||||||
break;
|
break;
|
||||||
|
case MODE_CW:
|
||||||
|
clearCWInt();
|
||||||
|
m_mode1 = MODE_IDLE;
|
||||||
|
m_timer1.stop();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@ public:
|
||||||
void clearFusion();
|
void clearFusion();
|
||||||
|
|
||||||
void writeCW();
|
void writeCW();
|
||||||
|
void clearCW();
|
||||||
|
|
||||||
virtual void close() = 0;
|
virtual void close() = 0;
|
||||||
|
|
||||||
|
@ -65,6 +66,7 @@ protected:
|
||||||
virtual void clearFusionInt() = 0;
|
virtual void clearFusionInt() = 0;
|
||||||
|
|
||||||
virtual void writeCWInt() = 0;
|
virtual void writeCWInt() = 0;
|
||||||
|
virtual void clearCWInt() = 0;
|
||||||
|
|
||||||
virtual void clockInt(unsigned int ms);
|
virtual void clockInt(unsigned int ms);
|
||||||
|
|
||||||
|
|
|
@ -619,8 +619,8 @@ int CMMDVMHost::run()
|
||||||
if (m_cwIdTimer.isRunning() && m_cwIdTimer.hasExpired()) {
|
if (m_cwIdTimer.isRunning() && m_cwIdTimer.hasExpired()) {
|
||||||
if (m_mode == MODE_IDLE && !m_modem->hasTX()){
|
if (m_mode == MODE_IDLE && !m_modem->hasTX()){
|
||||||
LogDebug("sending CW ID");
|
LogDebug("sending CW ID");
|
||||||
|
m_display->writeCW();
|
||||||
m_modem->sendCWId(m_callsign);
|
m_modem->sendCWId(m_callsign);
|
||||||
m_display->setIdle();
|
|
||||||
|
|
||||||
m_cwIdTimer.start(); //reset only after sending ID, timer-overflow after 49 days doesnt matter
|
m_cwIdTimer.start(); //reset only after sending ID, timer-overflow after 49 days doesnt matter
|
||||||
}
|
}
|
||||||
|
|
|
@ -245,6 +245,15 @@ void CNextion::writeCWInt()
|
||||||
|
|
||||||
sendCommand(command);
|
sendCommand(command);
|
||||||
sendCommand("t1.txt=\"Sending CW Ident\"");
|
sendCommand("t1.txt=\"Sending CW Ident\"");
|
||||||
|
|
||||||
|
m_clockDisplayTimer.stop();
|
||||||
|
|
||||||
|
m_mode = MODE_CW;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CNextion::clearCWInt()
|
||||||
|
{
|
||||||
|
setIdleInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CNextion::clockInt(unsigned int ms)
|
void CNextion::clockInt(unsigned int ms)
|
||||||
|
|
|
@ -51,6 +51,7 @@ protected:
|
||||||
virtual void clearFusionInt();
|
virtual void clearFusionInt();
|
||||||
|
|
||||||
virtual void writeCWInt();
|
virtual void writeCWInt();
|
||||||
|
virtual void clearCWInt();
|
||||||
|
|
||||||
virtual void clockInt(unsigned int ms);
|
virtual void clockInt(unsigned int ms);
|
||||||
|
|
||||||
|
|
|
@ -72,6 +72,10 @@ void CNullDisplay::writeCWInt()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CNullDisplay::clearCWInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void CNullDisplay::close()
|
void CNullDisplay::close()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,6 +48,7 @@ protected:
|
||||||
virtual void clearFusionInt();
|
virtual void clearFusionInt();
|
||||||
|
|
||||||
virtual void writeCWInt();
|
virtual void writeCWInt();
|
||||||
|
virtual void clearCWInt();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
};
|
};
|
||||||
|
|
|
@ -315,6 +315,10 @@ void CTFTSerial::writeCWInt()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CTFTSerial::clearCWInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void CTFTSerial::close()
|
void CTFTSerial::close()
|
||||||
{
|
{
|
||||||
m_serial.close();
|
m_serial.close();
|
||||||
|
|
|
@ -50,6 +50,7 @@ protected:
|
||||||
virtual void clearFusionInt();
|
virtual void clearFusionInt();
|
||||||
|
|
||||||
virtual void writeCWInt();
|
virtual void writeCWInt();
|
||||||
|
virtual void clearCWInt();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_callsign;
|
std::string m_callsign;
|
||||||
|
|
Loading…
Reference in a new issue