diff --git a/Defines.h b/Defines.h index faaeb6f..eb0c9f3 100644 --- a/Defines.h +++ b/Defines.h @@ -20,10 +20,10 @@ #define Defines_H const unsigned char MODE_IDLE = 0U; -const unsigned char MODE_LOCKOUT = 1U; -const unsigned char MODE_DSTAR = 2U; -const unsigned char MODE_DMR = 3U; -const unsigned char MODE_YSF = 4U; +const unsigned char MODE_DSTAR = 1U; +const unsigned char MODE_DMR = 2U; +const unsigned char MODE_YSF = 3U; +const unsigned char MODE_LOCKOUT = 99U; const unsigned char TAG_HEADER = 0x00U; const unsigned char TAG_DATA = 0x01U; diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index 7806df3..1acb5c4 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -186,6 +186,12 @@ int CMMDVMHost::run() setMode(MODE_IDLE); while (!m_killed) { + bool lockout = m_modem->hasLockout(); + if (lockout && m_mode != MODE_LOCKOUT) + setMode(MODE_LOCKOUT); + else if (!lockout && m_mode == MODE_LOCKOUT) + setMode(MODE_IDLE); + unsigned char data[200U]; unsigned int len; bool ret;