kopia lustrzana https://github.com/OpenRTX/OpenRTX
Using newlib-specific sniprintf in place of snprintf
Using the newlib's printing functions without floating point support in order to reduce the overall binary size. This allows to free up around 15kB of space in the .text section.pull/238/head
rodzic
44385b3b25
commit
1791e70eef
|
@ -285,6 +285,7 @@ pulse_dep = dependency('libpulse', required: false)
|
|||
linux_src += openrtx_src
|
||||
linux_inc += openrtx_inc
|
||||
linux_def += openrtx_def
|
||||
linux_def += {'sniprintf':'snprintf', 'vsniprintf':'vsnprintf'}
|
||||
|
||||
#
|
||||
# Standard UI
|
||||
|
|
|
@ -566,7 +566,7 @@ point_t gfx_print(point_t start, fontSize_t size, textAlign_t alignment,
|
|||
// Get format string and arguments from var char
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(text, sizeof(text)-1, fmt, ap);
|
||||
vsniprintf(text, sizeof(text)-1, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
return gfx_printBuffer(start, size, alignment, color, text);
|
||||
|
@ -579,7 +579,7 @@ point_t gfx_printLine(uint8_t cur, uint8_t tot, int16_t startY, int16_t endY,
|
|||
// Get format string and arguments from var char
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(text, sizeof(text)-1, fmt, ap);
|
||||
vsniprintf(text, sizeof(text)-1, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
// Estimate font height by reading the gliph | height
|
||||
|
|
|
@ -78,7 +78,7 @@ void vp_announceChannelName(const channel_t* channel,
|
|||
// Only queue the name if it is not the same as the raw number.
|
||||
// Otherwise the radio will repeat channel 1 channel 1 for channel 1.
|
||||
char numAsStr[16] = "\0";
|
||||
snprintf(numAsStr, 16, "Channel%d", channelNumber);
|
||||
sniprintf(numAsStr, 16, "Channel%d", channelNumber);
|
||||
|
||||
if (strcmp(numAsStr, channel->name) != 0)
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ void vp_queueFrequency(const freq_t freq)
|
|||
int MHz = (freq / 1000000);
|
||||
int kHz = ((freq % 1000000) / 100);
|
||||
|
||||
snprintf(buffer, 16, "%d.%05d", MHz, kHz);
|
||||
sniprintf(buffer, 16, "%d.%05d", MHz, kHz);
|
||||
|
||||
stripTrailingZeroes(buffer);
|
||||
|
||||
|
@ -177,7 +177,7 @@ void vp_announcePower(const uint32_t power, const vpQueueFlags_t flags)
|
|||
// Compute x.y format avoiding to pull in floating point math.
|
||||
// Remember that power is expressed in mW!
|
||||
char buffer[16] = "\0";
|
||||
snprintf(buffer, 16, "%lu.%lu", (power / 1000), (power % 1000) / 100);
|
||||
sniprintf(buffer, 16, "%lu.%lu", (power / 1000), (power % 1000) / 100);
|
||||
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
vp_queuePrompt(PROMPT_WATTS);
|
||||
|
@ -367,7 +367,7 @@ void vp_announceCTCSS(const bool rxToneEnabled, const uint8_t rxTone,
|
|||
vp_queuePrompt(PROMPT_TONE);
|
||||
|
||||
uint16_t tone = ctcss_tone[rxTone];
|
||||
snprintf(buffer, sizeof(buffer), "%d.%d", (tone / 10), (tone % 10));
|
||||
sniprintf(buffer, sizeof(buffer), "%d.%d", (tone / 10), (tone % 10));
|
||||
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
vp_queuePrompt(PROMPT_HERTZ);
|
||||
|
@ -386,7 +386,7 @@ void vp_announceCTCSS(const bool rxToneEnabled, const uint8_t rxTone,
|
|||
}
|
||||
|
||||
uint16_t tone = ctcss_tone[rxTone];
|
||||
snprintf(buffer, sizeof(buffer), "%d.%d", (tone / 10), (tone % 10));
|
||||
sniprintf(buffer, sizeof(buffer), "%d.%d", (tone / 10), (tone % 10));
|
||||
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
vp_queuePrompt(PROMPT_HERTZ);
|
||||
|
@ -400,7 +400,7 @@ void vp_announceCTCSS(const bool rxToneEnabled, const uint8_t rxTone,
|
|||
}
|
||||
|
||||
uint16_t tone = ctcss_tone[txTone];
|
||||
snprintf(buffer, sizeof(buffer), "%d.%d", (tone / 10), (tone % 10));
|
||||
sniprintf(buffer, sizeof(buffer), "%d.%d", (tone / 10), (tone % 10));
|
||||
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
vp_queuePrompt(PROMPT_HERTZ);
|
||||
|
@ -637,7 +637,7 @@ void vp_announceGPSInfo(vpGPSInfoFlags_t gpsInfoFlags)
|
|||
vp_queuePrompt(PROMPT_COMPASS);
|
||||
if (!IsCompassCloseEnoughToCardinalPoint())
|
||||
{
|
||||
snprintf(buffer, 16, "%3.1f", state.gps_data.tmg_true);
|
||||
sniprintf(buffer, 16, "%3.1f", state.gps_data.tmg_true);
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
vp_queuePrompt(PROMPT_DEGREES);
|
||||
}
|
||||
|
@ -672,7 +672,7 @@ void vp_announceGPSInfo(vpGPSInfoFlags_t gpsInfoFlags)
|
|||
if ((gpsInfoFlags & vpGPSSpeed) != 0)
|
||||
{
|
||||
// speed/altitude:
|
||||
snprintf(buffer, 16, "%4.1fkm/h", state.gps_data.speed);
|
||||
sniprintf(buffer, 16, "%4.1fkm/h", state.gps_data.speed);
|
||||
vp_queuePrompt(PROMPT_SPEED);
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols |
|
||||
vpAnnounceLessCommonSymbols);
|
||||
|
@ -682,7 +682,7 @@ void vp_announceGPSInfo(vpGPSInfoFlags_t gpsInfoFlags)
|
|||
{
|
||||
vp_queuePrompt(PROMPT_ALTITUDE);
|
||||
|
||||
snprintf(buffer, 16, "%4.1fm", state.gps_data.altitude);
|
||||
sniprintf(buffer, 16, "%4.1fm", state.gps_data.altitude);
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
addSilenceIfNeeded(flags);
|
||||
}
|
||||
|
@ -690,7 +690,7 @@ void vp_announceGPSInfo(vpGPSInfoFlags_t gpsInfoFlags)
|
|||
if ((gpsInfoFlags & vpGPSLatitude) != 0)
|
||||
{
|
||||
// lat/long
|
||||
snprintf(buffer, 16, "%8.6f", state.gps_data.latitude);
|
||||
sniprintf(buffer, 16, "%8.6f", state.gps_data.latitude);
|
||||
stripTrailingZeroes(buffer);
|
||||
vp_queuePrompt(PROMPT_LATITUDE);
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols);
|
||||
|
@ -702,7 +702,7 @@ void vp_announceGPSInfo(vpGPSInfoFlags_t gpsInfoFlags)
|
|||
float longitude = state.gps_data.longitude;
|
||||
voicePrompt_t direction = (longitude < 0) ? PROMPT_WEST : PROMPT_EAST;
|
||||
longitude = (longitude < 0) ? -longitude : longitude;
|
||||
snprintf(buffer, 16, "%8.6f", longitude);
|
||||
sniprintf(buffer, 16, "%8.6f", longitude);
|
||||
stripTrailingZeroes(buffer);
|
||||
|
||||
vp_queuePrompt(PROMPT_LONGITUDE);
|
||||
|
@ -775,7 +775,7 @@ void vp_announceSettingsTimeDate()
|
|||
state.settings.utc_timezone);
|
||||
|
||||
char buffer[16] = "\0";
|
||||
snprintf(buffer, 16, "%02d/%02d/%02d", local_time.date, local_time.month,
|
||||
sniprintf(buffer, 16, "%02d/%02d/%02d", local_time.date, local_time.month,
|
||||
local_time.year);
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols |
|
||||
vpAnnounceLessCommonSymbols);
|
||||
|
@ -783,7 +783,7 @@ void vp_announceSettingsTimeDate()
|
|||
vp_queuePrompt(PROMPT_SILENCE);
|
||||
vp_queuePrompt(PROMPT_SILENCE);
|
||||
|
||||
snprintf(buffer, 16, "%02d:%02d:%02d", local_time.hour, local_time.minute,
|
||||
sniprintf(buffer, 16, "%02d:%02d:%02d", local_time.hour, local_time.minute,
|
||||
local_time.second);
|
||||
vp_queueString(buffer, vpAnnounceCommonSymbols |
|
||||
vpAnnounceLessCommonSymbols);
|
||||
|
|
|
@ -520,7 +520,7 @@ void vp_queueInteger(const int value)
|
|||
if (value < 0)
|
||||
vp_queuePrompt(PROMPT_MINUS);
|
||||
|
||||
snprintf(buf, 12, "%d", value);
|
||||
sniprintf(buf, 12, "%d", value);
|
||||
vp_queueString(buf, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -82,24 +82,24 @@ void _ui_drawModeInfo(ui_state_t* ui_state)
|
|||
|
||||
// Get Bandwidth string
|
||||
if(last_state.channel.bandwidth == BW_12_5)
|
||||
snprintf(bw_str, 8, "NFM");
|
||||
sniprintf(bw_str, 8, "NFM");
|
||||
else if(last_state.channel.bandwidth == BW_20)
|
||||
snprintf(bw_str, 8, "FM20");
|
||||
sniprintf(bw_str, 8, "FM20");
|
||||
else if(last_state.channel.bandwidth == BW_25)
|
||||
snprintf(bw_str, 8, "FM");
|
||||
sniprintf(bw_str, 8, "FM");
|
||||
|
||||
// Get encdec string
|
||||
bool tone_tx_enable = last_state.channel.fm.txToneEn;
|
||||
bool tone_rx_enable = last_state.channel.fm.rxToneEn;
|
||||
|
||||
if (tone_tx_enable && tone_rx_enable)
|
||||
snprintf(encdec_str, 9, "ED");
|
||||
sniprintf(encdec_str, 9, "ED");
|
||||
else if (tone_tx_enable && !tone_rx_enable)
|
||||
snprintf(encdec_str, 9, " E");
|
||||
sniprintf(encdec_str, 9, " E");
|
||||
else if (!tone_tx_enable && tone_rx_enable)
|
||||
snprintf(encdec_str, 9, " D");
|
||||
sniprintf(encdec_str, 9, " D");
|
||||
else
|
||||
snprintf(encdec_str, 9, " ");
|
||||
sniprintf(encdec_str, 9, " ");
|
||||
|
||||
// Print Bandwidth, Tone and encdec info
|
||||
if (tone_tx_enable || tone_rx_enable)
|
||||
|
@ -195,7 +195,7 @@ void _ui_drawFrequency()
|
|||
|
||||
// Print big numbers frequency
|
||||
char freq_str[16] = {0};
|
||||
snprintf(freq_str, sizeof(freq_str), "%lu.%lu", (freq / 1000000), (freq % 1000000));
|
||||
sniprintf(freq_str, sizeof(freq_str), "%lu.%lu", (freq / 1000000), (freq % 1000000));
|
||||
stripTrailingZeroes(freq_str);
|
||||
|
||||
gfx_print(layout.line3_large_pos, layout.line3_large_font, TEXT_ALIGN_CENTER,
|
||||
|
|
|
@ -246,21 +246,21 @@ void _ui_drawMenuListValue(ui_state_t* ui_state, uint8_t selected,
|
|||
int _ui_getMenuTopEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= menu_num) return -1;
|
||||
snprintf(buf, max_len, "%s", menu_items[index]);
|
||||
sniprintf(buf, max_len, "%s", menu_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _ui_getSettingsEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= settings_num) return -1;
|
||||
snprintf(buf, max_len, "%s", settings_items[index]);
|
||||
sniprintf(buf, max_len, "%s", settings_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _ui_getDisplayEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= display_num) return -1;
|
||||
snprintf(buf, max_len, "%s", display_items[index]);
|
||||
sniprintf(buf, max_len, "%s", display_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -281,11 +281,11 @@ int _ui_getDisplayValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
break;
|
||||
#endif
|
||||
case D_TIMER:
|
||||
snprintf(buf, max_len, "%s",
|
||||
sniprintf(buf, max_len, "%s",
|
||||
display_timer_values[last_state.settings.display_timer]);
|
||||
return 0;
|
||||
}
|
||||
snprintf(buf, max_len, "%d", value);
|
||||
sniprintf(buf, max_len, "%d", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -293,7 +293,7 @@ int _ui_getDisplayValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
int _ui_getSettingsGPSEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= settings_gps_num) return -1;
|
||||
snprintf(buf, max_len, "%s", settings_gps_items[index]);
|
||||
sniprintf(buf, max_len, "%s", settings_gps_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -303,12 +303,12 @@ int _ui_getSettingsGPSValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
switch(index)
|
||||
{
|
||||
case G_ENABLED:
|
||||
snprintf(buf, max_len, "%s", (last_state.settings.gps_enabled) ?
|
||||
sniprintf(buf, max_len, "%s", (last_state.settings.gps_enabled) ?
|
||||
currentLanguage->on :
|
||||
currentLanguage->off);
|
||||
break;
|
||||
case G_SET_TIME:
|
||||
snprintf(buf, max_len, "%s", (last_state.gps_set_time) ?
|
||||
sniprintf(buf, max_len, "%s", (last_state.gps_set_time) ?
|
||||
currentLanguage->on :
|
||||
currentLanguage->off);
|
||||
break;
|
||||
|
@ -329,7 +329,7 @@ int _ui_getSettingsGPSValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
tz_mn *= (-1);
|
||||
}
|
||||
|
||||
snprintf(buf, max_len, "%c%d.%d", sign, tz_hr, tz_mn);
|
||||
sniprintf(buf, max_len, "%c%d.%d", sign, tz_hr, tz_mn);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -340,7 +340,7 @@ int _ui_getSettingsGPSValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
int _ui_getRadioEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= settings_radio_num) return -1;
|
||||
snprintf(buf, max_len, "%s", settings_radio_items[index]);
|
||||
sniprintf(buf, max_len, "%s", settings_radio_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -397,12 +397,12 @@ int _ui_getRadioValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
}
|
||||
|
||||
// NOTE: casts are there only to squelch -Wformat warnings on the
|
||||
// snprintf.
|
||||
// sniprintf.
|
||||
char str[16];
|
||||
snprintf(str, sizeof(str), "%u.%u", (unsigned int)(value / div),
|
||||
sniprintf(str, sizeof(str), "%u.%u", (unsigned int)(value / div),
|
||||
(unsigned int)(value % div));
|
||||
stripTrailingZeroes(str);
|
||||
snprintf(buf, max_len, "%s%cHz", str, prefix);
|
||||
sniprintf(buf, max_len, "%s%cHz", str, prefix);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -411,7 +411,7 @@ int _ui_getRadioValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
int _ui_getM17EntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= settings_m17_num) return -1;
|
||||
snprintf(buf, max_len, "%s", settings_m17_items[index]);
|
||||
sniprintf(buf, max_len, "%s", settings_m17_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -423,14 +423,14 @@ int _ui_getM17ValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
switch(index)
|
||||
{
|
||||
case M17_CALLSIGN:
|
||||
snprintf(buf, max_len, "%s", last_state.settings.callsign);
|
||||
sniprintf(buf, max_len, "%s", last_state.settings.callsign);
|
||||
break;
|
||||
|
||||
case M17_CAN:
|
||||
snprintf(buf, max_len, "%d", last_state.settings.m17_can);
|
||||
sniprintf(buf, max_len, "%d", last_state.settings.m17_can);
|
||||
break;
|
||||
case M17_CAN_RX:
|
||||
snprintf(buf, max_len, "%s", (last_state.settings.m17_can_rx) ?
|
||||
sniprintf(buf, max_len, "%s", (last_state.settings.m17_can_rx) ?
|
||||
currentLanguage->on :
|
||||
currentLanguage->off);
|
||||
break;
|
||||
|
@ -443,7 +443,7 @@ int _ui_getM17ValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
int _ui_getAccessibilityEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= settings_accessibility_num) return -1;
|
||||
snprintf(buf, max_len, "%s", settings_accessibility_items[index]);
|
||||
sniprintf(buf, max_len, "%s", settings_accessibility_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -459,22 +459,22 @@ int _ui_getAccessibilityValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
switch (value)
|
||||
{
|
||||
case vpNone:
|
||||
snprintf(buf, max_len, "%s", currentLanguage->off);
|
||||
sniprintf(buf, max_len, "%s", currentLanguage->off);
|
||||
break;
|
||||
case vpBeep:
|
||||
snprintf(buf, max_len, "%s", currentLanguage->beep);
|
||||
sniprintf(buf, max_len, "%s", currentLanguage->beep);
|
||||
break;
|
||||
default:
|
||||
snprintf(buf, max_len, "%d", (value-vpBeep));
|
||||
sniprintf(buf, max_len, "%d", (value-vpBeep));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case A_PHONETIC:
|
||||
snprintf(buf, max_len, "%s", last_state.settings.vpPhoneticSpell ? currentLanguage->on : currentLanguage->off);
|
||||
sniprintf(buf, max_len, "%s", last_state.settings.vpPhoneticSpell ? currentLanguage->on : currentLanguage->off);
|
||||
break;
|
||||
case A_MACRO_LATCH:
|
||||
snprintf(buf, max_len, "%s", last_state.settings.macroMenuLatch ? currentLanguage->on : currentLanguage->off);
|
||||
sniprintf(buf, max_len, "%s", last_state.settings.macroMenuLatch ? currentLanguage->on : currentLanguage->off);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
@ -483,14 +483,14 @@ int _ui_getAccessibilityValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
int _ui_getBackupRestoreEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= backup_restore_num) return -1;
|
||||
snprintf(buf, max_len, "%s", backup_restore_items[index]);
|
||||
sniprintf(buf, max_len, "%s", backup_restore_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _ui_getInfoEntryName(char *buf, uint8_t max_len, uint8_t index)
|
||||
{
|
||||
if(index >= info_num) return -1;
|
||||
snprintf(buf, max_len, "%s", info_items[index]);
|
||||
sniprintf(buf, max_len, "%s", info_items[index]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -501,7 +501,7 @@ int _ui_getInfoValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
switch(index)
|
||||
{
|
||||
case 0: // Git Version
|
||||
snprintf(buf, max_len, "%s", GIT_VERSION);
|
||||
sniprintf(buf, max_len, "%s", GIT_VERSION);
|
||||
break;
|
||||
case 1: // Battery voltage
|
||||
{
|
||||
|
@ -509,29 +509,29 @@ int _ui_getInfoValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
// to mantissa for rounding to nearest integer
|
||||
uint16_t volt = (last_state.v_bat + 50) / 1000;
|
||||
uint16_t mvolt = ((last_state.v_bat - volt * 1000) + 50) / 100;
|
||||
snprintf(buf, max_len, "%d.%dV", volt, mvolt);
|
||||
sniprintf(buf, max_len, "%d.%dV", volt, mvolt);
|
||||
}
|
||||
break;
|
||||
case 2: // Battery charge
|
||||
snprintf(buf, max_len, "%d%%", last_state.charge);
|
||||
sniprintf(buf, max_len, "%d%%", last_state.charge);
|
||||
break;
|
||||
case 3: // RSSI
|
||||
snprintf(buf, max_len, "%ddBm", last_state.rssi);
|
||||
sniprintf(buf, max_len, "%ddBm", last_state.rssi);
|
||||
break;
|
||||
case 4: // Heap usage
|
||||
snprintf(buf, max_len, "%dB", getHeapSize() - getCurrentFreeHeap());
|
||||
sniprintf(buf, max_len, "%dB", getHeapSize() - getCurrentFreeHeap());
|
||||
break;
|
||||
case 5: // Band
|
||||
snprintf(buf, max_len, "%s %s", hwinfo->vhf_band ? currentLanguage->VHF : "", hwinfo->uhf_band ? currentLanguage->UHF : "");
|
||||
sniprintf(buf, max_len, "%s %s", hwinfo->vhf_band ? currentLanguage->VHF : "", hwinfo->uhf_band ? currentLanguage->UHF : "");
|
||||
break;
|
||||
case 6: // VHF
|
||||
snprintf(buf, max_len, "%d - %d", hwinfo->vhf_minFreq, hwinfo->vhf_maxFreq);
|
||||
sniprintf(buf, max_len, "%d - %d", hwinfo->vhf_minFreq, hwinfo->vhf_maxFreq);
|
||||
break;
|
||||
case 7: // UHF
|
||||
snprintf(buf, max_len, "%d - %d", hwinfo->uhf_minFreq, hwinfo->uhf_maxFreq);
|
||||
sniprintf(buf, max_len, "%d - %d", hwinfo->uhf_minFreq, hwinfo->uhf_maxFreq);
|
||||
break;
|
||||
case 8: // LCD Type
|
||||
snprintf(buf, max_len, "%d", hwinfo->hw_version);
|
||||
sniprintf(buf, max_len, "%d", hwinfo->hw_version);
|
||||
break;
|
||||
#ifdef PLATFORM_TTWRPLUS
|
||||
case 9: // Radio model
|
||||
|
@ -544,7 +544,7 @@ int _ui_getInfoValueName(char *buf, uint8_t max_len, uint8_t index)
|
|||
const char *fwVer = sa8x8_getFwVersion();
|
||||
|
||||
sscanf(fwVer, "sa8x8-fw/v%hhu.%hhu.%hhu.r%hhu", &major, &minor, &patch, &release);
|
||||
snprintf(buf, max_len,"v%hhu.%hhu.%hhu.r%hhu", major, minor, patch, release);
|
||||
sniprintf(buf, max_len,"v%hhu.%hhu.%hhu.r%hhu", major, minor, patch, release);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
@ -565,7 +565,7 @@ int _ui_getBankName(char *buf, uint8_t max_len, uint8_t index)
|
|||
bankHdr_t bank;
|
||||
result = cps_readBankHeader(&bank, index - 1);
|
||||
if(result != -1)
|
||||
snprintf(buf, max_len, "%s", bank.name);
|
||||
sniprintf(buf, max_len, "%s", bank.name);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -575,7 +575,7 @@ int _ui_getChannelName(char *buf, uint8_t max_len, uint8_t index)
|
|||
channel_t channel;
|
||||
int result = cps_readChannel(&channel, index);
|
||||
if(result != -1)
|
||||
snprintf(buf, max_len, "%s", channel.name);
|
||||
sniprintf(buf, max_len, "%s", channel.name);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -584,7 +584,7 @@ int _ui_getContactName(char *buf, uint8_t max_len, uint8_t index)
|
|||
contact_t contact;
|
||||
int result = cps_readContact(&contact, index);
|
||||
if(result != -1)
|
||||
snprintf(buf, max_len, "%s", contact.name);
|
||||
sniprintf(buf, max_len, "%s", contact.name);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -1019,8 +1019,8 @@ void _ui_drawSettingsRadio(ui_state_t* ui_state)
|
|||
}
|
||||
|
||||
// NOTE: casts are there only to squelch -Wformat warnings on the
|
||||
// snprintf.
|
||||
snprintf(buf, sizeof(buf), "%u.%u", (unsigned int)(ui_state->new_offset / div),
|
||||
// sniprintf.
|
||||
sniprintf(buf, sizeof(buf), "%u.%u", (unsigned int)(ui_state->new_offset / div),
|
||||
(unsigned int)(ui_state->new_offset % div));
|
||||
stripTrailingZeroes(buf);
|
||||
|
||||
|
@ -1113,13 +1113,13 @@ bool _ui_drawMacroMenu(ui_state_t* ui_state)
|
|||
bool tone_tx_enable = last_state.channel.fm.txToneEn;
|
||||
bool tone_rx_enable = last_state.channel.fm.rxToneEn;
|
||||
if (tone_tx_enable && tone_rx_enable)
|
||||
snprintf(encdec_str, 9, " E+D");
|
||||
sniprintf(encdec_str, 9, " E+D");
|
||||
else if (tone_tx_enable && !tone_rx_enable)
|
||||
snprintf(encdec_str, 9, " E ");
|
||||
sniprintf(encdec_str, 9, " E ");
|
||||
else if (!tone_tx_enable && tone_rx_enable)
|
||||
snprintf(encdec_str, 9, " D ");
|
||||
sniprintf(encdec_str, 9, " D ");
|
||||
else
|
||||
snprintf(encdec_str, 9, " ");
|
||||
sniprintf(encdec_str, 9, " ");
|
||||
gfx_print(layout.line1_pos, layout.top_font, TEXT_ALIGN_RIGHT,
|
||||
color_white, encdec_str);
|
||||
}
|
||||
|
@ -1149,13 +1149,13 @@ bool _ui_drawMacroMenu(ui_state_t* ui_state)
|
|||
switch (last_state.channel.bandwidth)
|
||||
{
|
||||
case BW_12_5:
|
||||
snprintf(bw_str, 12, " BW 12.5");
|
||||
sniprintf(bw_str, 12, " BW 12.5");
|
||||
break;
|
||||
case BW_20:
|
||||
snprintf(bw_str, 12, " BW 20 ");
|
||||
sniprintf(bw_str, 12, " BW 20 ");
|
||||
break;
|
||||
case BW_25:
|
||||
snprintf(bw_str, 12, " BW 25 ");
|
||||
sniprintf(bw_str, 12, " BW 25 ");
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1181,14 +1181,14 @@ bool _ui_drawMacroMenu(ui_state_t* ui_state)
|
|||
switch(last_state.channel.mode)
|
||||
{
|
||||
case OPMODE_FM:
|
||||
snprintf(mode_str, 12," FM");
|
||||
sniprintf(mode_str, 12," FM");
|
||||
break;
|
||||
case OPMODE_DMR:
|
||||
snprintf(mode_str, 12," DMR");
|
||||
sniprintf(mode_str, 12," DMR");
|
||||
break;
|
||||
#ifdef CONFIG_M17
|
||||
case OPMODE_M17:
|
||||
snprintf(mode_str, 12," M17");
|
||||
sniprintf(mode_str, 12," M17");
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -20,3 +20,4 @@ CONFIG_GEN_ISR_TABLES=y
|
|||
CONFIG_GEN_IRQ_VECTOR_TABLE=n
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_NEWLIB_LIBC=y
|
||||
|
|
|
@ -19,7 +19,6 @@ CONFIG_SPI=y
|
|||
CONFIG_LED_STRIP=y
|
||||
CONFIG_WS2812_STRIP=y
|
||||
CONFIG_WS2812_STRIP_SPI=y
|
||||
CONFIG_PICOLIBC_IO_FLOAT=y
|
||||
CONFIG_POSIX_API=y
|
||||
CONFIG_FLASH=y
|
||||
CONFIG_FLASH_MAP=y
|
||||
|
|
Ładowanie…
Reference in New Issue