kopia lustrzana https://github.com/OpenRTX/OpenRTX
Added Broadcast to string table for use with voice prompts. Cleaned up hash key announcement.
rodzic
3ea4431b35
commit
7cc287643e
|
@ -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);
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -89,6 +89,7 @@ const stringsTable_t englishStrings =
|
|||
.forEmergencyUse = "For emergency use",
|
||||
.pressAnyButton = "press any button.",
|
||||
.accessibility = "Accessibility",
|
||||
.usedHeap="Used heap"
|
||||
.usedHeap = "Used heap",
|
||||
.broadcast = "Broadcast"
|
||||
};
|
||||
#endif // ENGLISHSTRINGS_H
|
||||
|
|
|
@ -95,6 +95,7 @@ typedef struct
|
|||
const char* pressAnyButton;
|
||||
const char* accessibility;
|
||||
const char* usedHeap;
|
||||
const char* broadcast;
|
||||
}
|
||||
stringsTable_t;
|
||||
|
||||
|
|
|
@ -250,7 +250,7 @@ void vp_announceChannelSummary(const channel_t* channel,
|
|||
}
|
||||
else if (channel->mode == OPMODE_M17)
|
||||
{
|
||||
vp_announceM17Info(channel, localFlags);
|
||||
vp_announceM17Info(channel, false, localFlags);
|
||||
}
|
||||
else if (channel->mode == OPMODE_DMR)
|
||||
{
|
||||
|
@ -502,26 +502,31 @@ void vp_announceBank(const uint16_t bank, const vpQueueFlags_t 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);
|
||||
|
||||
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')
|
||||
{
|
||||
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);
|
||||
}
|
||||
else
|
||||
{
|
||||
vp_queueStringTableEntry(¤tLanguage->broadcast);
|
||||
}
|
||||
|
||||
playIfNeeded(flags);
|
||||
}
|
||||
|
|
|
@ -1280,20 +1280,19 @@ void ui_updateFSM(bool *sync_rtx)
|
|||
_ui_textInputConfirm(ui_state.new_callsign);
|
||||
// Save selected dst ID and disable input mode
|
||||
strncpy(state.m17_data.dst_addr, ui_state.new_callsign, 10);
|
||||
vp_announceBuffer(¤tLanguage->callsign,
|
||||
false, true,
|
||||
state.m17_data.dst_addr);
|
||||
ui_state.edit_mode = false;
|
||||
*sync_rtx = true;
|
||||
vp_announceM17Info(NULL, ui_state.edit_mode,
|
||||
queueFlags);
|
||||
}
|
||||
else if(msg.keys & KEY_HASH)
|
||||
{
|
||||
// Save selected dst ID and disable input mode
|
||||
strncpy(state.m17_data.dst_addr, "", 1);
|
||||
vp_announceBuffer(¤tLanguage->callsign,
|
||||
false, true, "-");
|
||||
ui_state.edit_mode = false;
|
||||
*sync_rtx = true;
|
||||
vp_announceM17Info(NULL, ui_state.edit_mode,
|
||||
queueFlags);
|
||||
}
|
||||
else if(msg.keys & KEY_ESC)
|
||||
// Discard selected dst ID and disable input mode
|
||||
|
@ -1338,9 +1337,8 @@ void ui_updateFSM(bool *sync_rtx)
|
|||
ui_state.edit_mode = true;
|
||||
// Reset text input variables
|
||||
_ui_textInputReset(ui_state.new_callsign);
|
||||
vp_announceBuffer(¤tLanguage->callsign,
|
||||
true, true,
|
||||
"");
|
||||
vp_announceM17Info(NULL, ui_state.edit_mode,
|
||||
queueFlags);
|
||||
}
|
||||
else if(msg.keys & KEY_UP || msg.keys & KNOB_RIGHT)
|
||||
{
|
||||
|
|
|
@ -127,12 +127,12 @@ void _ui_drawModeInfo(ui_state_t* ui_state)
|
|||
case OPMODE_M17:
|
||||
{
|
||||
// Print M17 Destination ID on line 3 of 3
|
||||
char *dst = NULL;
|
||||
const char *dst = NULL;
|
||||
if(ui_state->edit_mode)
|
||||
dst = ui_state->new_callsign;
|
||||
else
|
||||
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,
|
||||
color_white, "#%s", dst);
|
||||
break;
|
||||
|
|
BIN
voiceprompts.vpc
BIN
voiceprompts.vpc
Plik binarny nie jest wyświetlany.
Ładowanie…
Reference in New Issue