Added Broadcast to string table for use with voice prompts. Cleaned up hash key announcement.

md1702
vk7js 2022-09-22 11:24:26 +10:00 zatwierdzone przez Silvano Seva
rodzic 3ea4431b35
commit 7cc287643e
7 zmienionych plików z 31 dodań i 26 usunięć

Wyświetl plik

@ -149,7 +149,7 @@ void vp_announceBank(const uint16_t bank, const vpQueueFlags_t flags);
/** /**
* *
*/ */
void vp_announceM17Info(const channel_t* channel, const vpQueueFlags_t flags); void vp_announceM17Info(const channel_t* channel, bool isEditing, const vpQueueFlags_t flags);
/** /**
* *

Wyświetl plik

@ -89,6 +89,7 @@ const stringsTable_t englishStrings =
.forEmergencyUse = "For emergency use", .forEmergencyUse = "For emergency use",
.pressAnyButton = "press any button.", .pressAnyButton = "press any button.",
.accessibility = "Accessibility", .accessibility = "Accessibility",
.usedHeap="Used heap" .usedHeap = "Used heap",
.broadcast = "Broadcast"
}; };
#endif // ENGLISHSTRINGS_H #endif // ENGLISHSTRINGS_H

Wyświetl plik

@ -95,6 +95,7 @@ typedef struct
const char* pressAnyButton; const char* pressAnyButton;
const char* accessibility; const char* accessibility;
const char* usedHeap; const char* usedHeap;
const char* broadcast;
} }
stringsTable_t; stringsTable_t;

Wyświetl plik

@ -250,7 +250,7 @@ void vp_announceChannelSummary(const channel_t* channel,
} }
else if (channel->mode == OPMODE_M17) else if (channel->mode == OPMODE_M17)
{ {
vp_announceM17Info(channel, localFlags); vp_announceM17Info(channel, false, localFlags);
} }
else if (channel->mode == OPMODE_DMR) else if (channel->mode == OPMODE_DMR)
{ {
@ -502,27 +502,32 @@ void vp_announceBank(const uint16_t bank, const vpQueueFlags_t flags)
playIfNeeded(flags); playIfNeeded(flags);
} }
void vp_announceM17Info(const channel_t* channel, const vpQueueFlags_t flags) void vp_announceM17Info(const channel_t* channel, bool isEditing, const vpQueueFlags_t flags)
{ {
if (channel == NULL)
return;
clearCurrPromptIfNeeded(flags); clearCurrPromptIfNeeded(flags);
if (state.m17_data.dst_addr[0] != '\0') if (flags & vpqIncludeDescriptions)
{
vp_queuePrompt(PROMPT_DEST_ID);
}
if (isEditing)
{
vp_queuePrompt(PROMPT_EDIT);
}
else if (state.m17_data.dst_addr[0] != '\0')
{ {
if (flags & vpqIncludeDescriptions)
{
vp_queuePrompt(PROMPT_DEST_ID);
}
vp_queueString(state.m17_data.dst_addr, vpAnnounceCommonSymbols); vp_queueString(state.m17_data.dst_addr, vpAnnounceCommonSymbols);
} }
else if (channel->m17.contact_index != 0) else if ((channel != NULL) && (channel->m17.contact_index != 0))
{ {
vp_announceContactWithIndex(channel->m17.contact_index, flags); vp_announceContactWithIndex(channel->m17.contact_index, flags);
} }
else
{
vp_queueStringTableEntry(&currentLanguage->broadcast);
}
playIfNeeded(flags); playIfNeeded(flags);
} }

Wyświetl plik

@ -1280,20 +1280,19 @@ void ui_updateFSM(bool *sync_rtx)
_ui_textInputConfirm(ui_state.new_callsign); _ui_textInputConfirm(ui_state.new_callsign);
// Save selected dst ID and disable input mode // Save selected dst ID and disable input mode
strncpy(state.m17_data.dst_addr, ui_state.new_callsign, 10); strncpy(state.m17_data.dst_addr, ui_state.new_callsign, 10);
vp_announceBuffer(&currentLanguage->callsign,
false, true,
state.m17_data.dst_addr);
ui_state.edit_mode = false; ui_state.edit_mode = false;
*sync_rtx = true; *sync_rtx = true;
vp_announceM17Info(NULL, ui_state.edit_mode,
queueFlags);
} }
else if(msg.keys & KEY_HASH) else if(msg.keys & KEY_HASH)
{ {
// Save selected dst ID and disable input mode // Save selected dst ID and disable input mode
strncpy(state.m17_data.dst_addr, "", 1); strncpy(state.m17_data.dst_addr, "", 1);
vp_announceBuffer(&currentLanguage->callsign,
false, true, "-");
ui_state.edit_mode = false; ui_state.edit_mode = false;
*sync_rtx = true; *sync_rtx = true;
vp_announceM17Info(NULL, ui_state.edit_mode,
queueFlags);
} }
else if(msg.keys & KEY_ESC) else if(msg.keys & KEY_ESC)
// Discard selected dst ID and disable input mode // Discard selected dst ID and disable input mode
@ -1338,9 +1337,8 @@ void ui_updateFSM(bool *sync_rtx)
ui_state.edit_mode = true; ui_state.edit_mode = true;
// Reset text input variables // Reset text input variables
_ui_textInputReset(ui_state.new_callsign); _ui_textInputReset(ui_state.new_callsign);
vp_announceBuffer(&currentLanguage->callsign, vp_announceM17Info(NULL, ui_state.edit_mode,
true, true, queueFlags);
"");
} }
else if(msg.keys & KEY_UP || msg.keys & KNOB_RIGHT) else if(msg.keys & KEY_UP || msg.keys & KNOB_RIGHT)
{ {

Wyświetl plik

@ -127,12 +127,12 @@ void _ui_drawModeInfo(ui_state_t* ui_state)
case OPMODE_M17: case OPMODE_M17:
{ {
// Print M17 Destination ID on line 3 of 3 // Print M17 Destination ID on line 3 of 3
char *dst = NULL; const char *dst = NULL;
if(ui_state->edit_mode) if(ui_state->edit_mode)
dst = ui_state->new_callsign; dst = ui_state->new_callsign;
else else
dst = (!strnlen(cfg.destination_address, 10)) ? dst = (!strnlen(cfg.destination_address, 10)) ?
"Broadcast" : cfg.destination_address; currentLanguage->broadcast : cfg.destination_address;
gfx_print(layout.line2_pos, layout.line2_font, TEXT_ALIGN_CENTER, gfx_print(layout.line2_pos, layout.line2_font, TEXT_ALIGN_CENTER,
color_white, "#%s", dst); color_white, "#%s", dst);
break; break;

Plik binarny nie jest wyświetlany.