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",
|
.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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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(¤tLanguage->broadcast);
|
||||||
|
}
|
||||||
|
|
||||||
playIfNeeded(flags);
|
playIfNeeded(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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(¤tLanguage->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(¤tLanguage->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(¤tLanguage->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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
||||||
|
|
BIN
voiceprompts.vpc
BIN
voiceprompts.vpc
Plik binarny nie jest wyświetlany.
Ładowanie…
Reference in New Issue