diff --git a/app/app.c b/app/app.c index 65d8a56..b571c85 100644 --- a/app/app.c +++ b/app/app.c @@ -881,6 +881,24 @@ void APP_Update(void) gTxTimeoutReachedAlert = false; gTxTimeoutToneAlert = 800; + if (gSetting_set_ptt_session) // Improve OnePush if TOT + { + if(gPttOnePushCounter == 1) + { + gPttOnePushCounter = 3; + } + else if(gPttOnePushCounter == 2) + { + ProcessKey(KEY_PTT, false, false); + gPttIsPressed = false; + gPttOnePushCounter = 0; + gPttWasReleased = true; + //if (gKeyReading1 != KEY_INVALID) + // gPttWasReleased = true; + } + ST7565_ContrastAndInv(); + } + /* if (gSetting_set_ptt_session) // Improve OnePush if TOT { ProcessKey(KEY_PTT, false, false); @@ -890,6 +908,7 @@ void APP_Update(void) gPttWasReleased = true; ST7565_ContrastAndInv(); } + */ #endif APP_EndTransmission(); @@ -1101,23 +1120,25 @@ static void CheckKeys(void) { // PTT pressed again if (++gPttDebounceCounter >= 3 || SerialConfigInProgress()) // 30ms { // stop transmitting - ProcessKey(KEY_PTT, false, false); - gPttIsPressed = false; gPttOnePushCounter = 3; - if (gKeyReading1 != KEY_INVALID) - gPttWasReleased = true; - ST7565_ContrastAndInv(); } } else if ((GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_PTT) || SerialConfigInProgress()) && gPttOnePushCounter == 3) { // PTT released or serial comms config in progress if (++gPttDebounceCounter >= 3 || SerialConfigInProgress()) // 30ms { // stop transmitting + ProcessKey(KEY_PTT, false, false); + gPttIsPressed = false; + if (gKeyReading1 != KEY_INVALID) + gPttWasReleased = true; gPttOnePushCounter = 0; + ST7565_ContrastAndInv(); } } else gPttDebounceCounter = 0; + + //gDebug = gPttOnePushCounter; } else {