Add timer to return from CW Ident

This commit is contained in:
phl0 2016-09-15 15:17:51 +02:00
parent 4e1b002665
commit 28775026d4
No known key found for this signature in database
GPG key ID: 48EA1E640798CA9A
10 changed files with 32 additions and 1 deletions

View file

@ -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;

View file

@ -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;
} }

View file

@ -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);

View file

@ -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
} }

View file

@ -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)

View file

@ -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);

View file

@ -72,6 +72,10 @@ void CNullDisplay::writeCWInt()
{ {
} }
void CNullDisplay::clearCWInt()
{
}
void CNullDisplay::close() void CNullDisplay::close()
{ {
} }

View file

@ -48,6 +48,7 @@ protected:
virtual void clearFusionInt(); virtual void clearFusionInt();
virtual void writeCWInt(); virtual void writeCWInt();
virtual void clearCWInt();
private: private:
}; };

View file

@ -315,6 +315,10 @@ void CTFTSerial::writeCWInt()
{ {
} }
void CTFTSerial::clearCWInt()
{
}
void CTFTSerial::close() void CTFTSerial::close()
{ {
m_serial.close(); m_serial.close();

View file

@ -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;