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_DMR = 2U;
const unsigned char MODE_YSF = 3U;
const unsigned char MODE_CW = 4U;
const unsigned char MODE_LOCKOUT = 99U;
const unsigned char MODE_ERROR = 100U;

View File

@ -157,6 +157,9 @@ void CDisplay::clearFusion()
void CDisplay::writeCW()
{
m_timer1.start();
m_mode1 = MODE_CW;
writeCWInt();
}
@ -180,6 +183,11 @@ void CDisplay::clock(unsigned int ms)
m_mode1 = MODE_IDLE;
m_timer1.stop();
break;
case MODE_CW:
clearCWInt();
m_mode1 = MODE_IDLE;
m_timer1.stop();
break;
default:
break;
}

View File

@ -45,6 +45,7 @@ public:
void clearFusion();
void writeCW();
void clearCW();
virtual void close() = 0;
@ -65,6 +66,7 @@ protected:
virtual void clearFusionInt() = 0;
virtual void writeCWInt() = 0;
virtual void clearCWInt() = 0;
virtual void clockInt(unsigned int ms);

View File

@ -619,8 +619,8 @@ int CMMDVMHost::run()
if (m_cwIdTimer.isRunning() && m_cwIdTimer.hasExpired()) {
if (m_mode == MODE_IDLE && !m_modem->hasTX()){
LogDebug("sending CW ID");
m_display->writeCW();
m_modem->sendCWId(m_callsign);
m_display->setIdle();
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("t1.txt=\"Sending CW Ident\"");
m_clockDisplayTimer.stop();
m_mode = MODE_CW;
}
void CNextion::clearCWInt()
{
setIdleInt();
}
void CNextion::clockInt(unsigned int ms)

View File

@ -51,6 +51,7 @@ protected:
virtual void clearFusionInt();
virtual void writeCWInt();
virtual void clearCWInt();
virtual void clockInt(unsigned int ms);

View File

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

View File

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

View File

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

View File

@ -50,6 +50,7 @@ protected:
virtual void clearFusionInt();
virtual void writeCWInt();
virtual void clearCWInt();
private:
std::string m_callsign;