0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-04-28 22:31:25 +03:00

Sanity check on DTMF hold time

This commit is contained in:
OneOfEleven 2023-10-04 21:29:35 +01:00
parent 5900d46edb
commit fe949d2ae3
10 changed files with 15 additions and 15 deletions

View File

@ -1979,9 +1979,9 @@ void APP_TimeSlice500ms(void)
gCurrentFunction != FUNCTION_TRANSMIT && gCurrentFunction != FUNCTION_TRANSMIT &&
gCurrentFunction != FUNCTION_RECEIVE) gCurrentFunction != FUNCTION_RECEIVE)
{ {
if (gDTMF_AUTO_RESET_TIME > 0) if (gDTMF_auto_reset_time_500ms > 0)
{ {
if (--gDTMF_AUTO_RESET_TIME == 0) if (--gDTMF_auto_reset_time_500ms == 0)
{ {
gDTMF_CallState = DTMF_CALL_STATE_NONE; gDTMF_CallState = DTMF_CALL_STATE_NONE;
gUpdateDisplay = true; gUpdateDisplay = true;
@ -2469,7 +2469,7 @@ Skip:
RADIO_SetupRegisters(true); RADIO_SetupRegisters(true);
gDTMF_AUTO_RESET_TIME = 0; gDTMF_auto_reset_time_500ms = 0;
gDTMF_CallState = DTMF_CALL_STATE_NONE; gDTMF_CallState = DTMF_CALL_STATE_NONE;
gDTMF_TxStopCountdown_500ms = 0; gDTMF_TxStopCountdown_500ms = 0;
gDTMF_IsTx = false; gDTMF_IsTx = false;

View File

@ -54,8 +54,8 @@ char gDTMF_Caller[4];
char gDTMF_Callee[4]; char gDTMF_Callee[4];
DTMF_State_t gDTMF_State; DTMF_State_t gDTMF_State;
uint8_t gDTMF_DecodeRingCountdown_500ms; uint8_t gDTMF_DecodeRingCountdown_500ms;
uint8_t gDTMFChosenContact; uint8_t gDTMF_chosen_contact;
uint8_t gDTMF_AUTO_RESET_TIME; uint8_t gDTMF_auto_reset_time_500ms;
DTMF_CallState_t gDTMF_CallState; DTMF_CallState_t gDTMF_CallState;
DTMF_ReplyState_t gDTMF_ReplyState; DTMF_ReplyState_t gDTMF_ReplyState;
DTMF_CallMode_t gDTMF_CallMode; DTMF_CallMode_t gDTMF_CallMode;

View File

@ -83,8 +83,8 @@ extern char gDTMF_Caller[4];
extern char gDTMF_Callee[4]; extern char gDTMF_Callee[4];
extern DTMF_State_t gDTMF_State; extern DTMF_State_t gDTMF_State;
extern uint8_t gDTMF_DecodeRingCountdown_500ms; extern uint8_t gDTMF_DecodeRingCountdown_500ms;
extern uint8_t gDTMFChosenContact; extern uint8_t gDTMF_chosen_contact;
extern uint8_t gDTMF_AUTO_RESET_TIME; extern uint8_t gDTMF_auto_reset_time_500ms;
extern DTMF_CallState_t gDTMF_CallState; extern DTMF_CallState_t gDTMF_CallState;
extern DTMF_ReplyState_t gDTMF_ReplyState; extern DTMF_ReplyState_t gDTMF_ReplyState;
extern DTMF_CallMode_t gDTMF_CallMode; extern DTMF_CallMode_t gDTMF_CallMode;

View File

@ -630,7 +630,7 @@ void MENU_AcceptSetting(void)
break; break;
case MENU_D_HOLD: case MENU_D_HOLD:
gEeprom.DTMF_AUTO_RESET_TIME = gSubMenuSelection; gEeprom.DTMF_auto_reset_time = gSubMenuSelection;
break; break;
case MENU_D_PRE: case MENU_D_PRE:
@ -663,7 +663,7 @@ void MENU_AcceptSetting(void)
break; break;
case MENU_D_LIST: case MENU_D_LIST:
gDTMFChosenContact = gSubMenuSelection - 1; gDTMF_chosen_contact = gSubMenuSelection - 1;
if (gIsDtmfContactValid) if (gIsDtmfContactValid)
{ {
GUI_SelectNextDisplay(DISPLAY_MAIN); GUI_SelectNextDisplay(DISPLAY_MAIN);
@ -1044,7 +1044,7 @@ void MENU_ShowCurrentSetting(void)
break; break;
case MENU_D_HOLD: case MENU_D_HOLD:
gSubMenuSelection = gEeprom.DTMF_AUTO_RESET_TIME; gSubMenuSelection = gEeprom.DTMF_auto_reset_time;
break; break;
case MENU_D_PRE: case MENU_D_PRE:
@ -1064,7 +1064,7 @@ void MENU_ShowCurrentSetting(void)
break; break;
case MENU_D_LIST: case MENU_D_LIST:
gSubMenuSelection = gDTMFChosenContact + 1; gSubMenuSelection = gDTMF_chosen_contact + 1;
break; break;
case MENU_D_LIVE_DEC: case MENU_D_LIVE_DEC:

View File

@ -624,7 +624,7 @@ void BOARD_EEPROM_Init(void)
gEeprom.DTMF_SEPARATE_CODE = DTMF_ValidateCodes((char *)(Data + 1), 1) ? Data[1] : '*'; gEeprom.DTMF_SEPARATE_CODE = DTMF_ValidateCodes((char *)(Data + 1), 1) ? Data[1] : '*';
gEeprom.DTMF_GROUP_CALL_CODE = DTMF_ValidateCodes((char *)(Data + 2), 1) ? Data[2] : '#'; gEeprom.DTMF_GROUP_CALL_CODE = DTMF_ValidateCodes((char *)(Data + 2), 1) ? Data[2] : '#';
gEeprom.DTMF_DECODE_RESPONSE = (Data[3] < 4) ? Data[3] : 0; gEeprom.DTMF_DECODE_RESPONSE = (Data[3] < 4) ? Data[3] : 0;
gEeprom.DTMF_AUTO_RESET_TIME = (Data[4] < 61) ? Data[4] : 5; gEeprom.DTMF_auto_reset_time = (Data[4] < 61) ? Data[4] : (Data[4] >= 10) ? Data[4] : 10;
gEeprom.DTMF_PRELOAD_TIME = (Data[5] < 101) ? Data[5] * 10 : 300; gEeprom.DTMF_PRELOAD_TIME = (Data[5] < 101) ? Data[5] * 10 : 300;
gEeprom.DTMF_FIRST_CODE_PERSIST_TIME = (Data[6] < 101) ? Data[6] * 10 : 100; gEeprom.DTMF_FIRST_CODE_PERSIST_TIME = (Data[6] < 101) ? Data[6] * 10 : 100;
gEeprom.DTMF_HASH_CODE_PERSIST_TIME = (Data[7] < 101) ? Data[7] * 10 : 100; gEeprom.DTMF_HASH_CODE_PERSIST_TIME = (Data[7] < 101) ? Data[7] * 10 : 100;

Binary file not shown.

Binary file not shown.

View File

@ -117,7 +117,7 @@ void FUNCTION_Select(FUNCTION_Type_t Function)
#endif #endif
if (gDTMF_CallState == DTMF_CALL_STATE_CALL_OUT || gDTMF_CallState == DTMF_CALL_STATE_RECEIVED) if (gDTMF_CallState == DTMF_CALL_STATE_CALL_OUT || gDTMF_CallState == DTMF_CALL_STATE_RECEIVED)
gDTMF_AUTO_RESET_TIME = 1 + (gEeprom.DTMF_AUTO_RESET_TIME * 2); gDTMF_auto_reset_time_500ms = 1 + (gEeprom.DTMF_auto_reset_time * 2);
gUpdateStatus = true; gUpdateStatus = true;
return; return;

View File

@ -140,7 +140,7 @@ void SETTINGS_SaveSettings(void)
State[1] = gEeprom.DTMF_SEPARATE_CODE; State[1] = gEeprom.DTMF_SEPARATE_CODE;
State[2] = gEeprom.DTMF_GROUP_CALL_CODE; State[2] = gEeprom.DTMF_GROUP_CALL_CODE;
State[3] = gEeprom.DTMF_DECODE_RESPONSE; State[3] = gEeprom.DTMF_DECODE_RESPONSE;
State[4] = gEeprom.DTMF_AUTO_RESET_TIME; State[4] = gEeprom.DTMF_auto_reset_time;
State[5] = gEeprom.DTMF_PRELOAD_TIME / 10U; State[5] = gEeprom.DTMF_PRELOAD_TIME / 10U;
State[6] = gEeprom.DTMF_FIRST_CODE_PERSIST_TIME / 10U; State[6] = gEeprom.DTMF_FIRST_CODE_PERSIST_TIME / 10U;
State[7] = gEeprom.DTMF_HASH_CODE_PERSIST_TIME / 10U; State[7] = gEeprom.DTMF_HASH_CODE_PERSIST_TIME / 10U;

View File

@ -194,7 +194,7 @@ typedef struct {
char DTMF_SEPARATE_CODE; char DTMF_SEPARATE_CODE;
char DTMF_GROUP_CALL_CODE; char DTMF_GROUP_CALL_CODE;
uint8_t DTMF_DECODE_RESPONSE; uint8_t DTMF_DECODE_RESPONSE;
uint8_t DTMF_AUTO_RESET_TIME; uint8_t DTMF_auto_reset_time;
uint16_t DTMF_PRELOAD_TIME; uint16_t DTMF_PRELOAD_TIME;
uint16_t DTMF_FIRST_CODE_PERSIST_TIME; uint16_t DTMF_FIRST_CODE_PERSIST_TIME;
uint16_t DTMF_HASH_CODE_PERSIST_TIME; uint16_t DTMF_HASH_CODE_PERSIST_TIME;