mirror of
https://codeberg.org/mclemens/ubitxv6.git
synced 2025-02-21 06:57:27 -05:00
Make more strings progmem. Probably should consolidate strings at some point so that we don't have lots of duplicate '.' and 'Hz' floating around
This commit is contained in:
parent
a2109de63f
commit
4674230f51
44
ubitx_ui.cpp
44
ubitx_ui.cpp
@ -165,12 +165,12 @@ void formatFreq(long f, char *buff) {
|
|||||||
if (f < 10000000l){
|
if (f < 10000000l){
|
||||||
buff[0] = ' ';
|
buff[0] = ' ';
|
||||||
strncat(buff, b, 4);
|
strncat(buff, b, 4);
|
||||||
strcat(buff, ".");
|
strcat_P(buff,(const char*)F("."));
|
||||||
strncat(buff, &b[4], 2);
|
strncat(buff, &b[4], 2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
strncat(buff, b, 5);
|
strncat(buff, b, 5);
|
||||||
strcat(buff, ".");
|
strcat_P(buff,(const char*)F("."));
|
||||||
strncat(buff, &b[5], 2);
|
strncat(buff, &b[5], 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ inline void drawCommandbar(char* text){
|
|||||||
|
|
||||||
/** A generic control to read variable values
|
/** A generic control to read variable values
|
||||||
*/
|
*/
|
||||||
int getValueByKnob(int minimum, int maximum, int step_size, int initial, char* prefix, char *postfix)
|
int getValueByKnob(int minimum, int maximum, int step_size, int initial, const __FlashStringHelper* prefix, const __FlashStringHelper* postfix)
|
||||||
{
|
{
|
||||||
int knob = 0;
|
int knob = 0;
|
||||||
int knob_value;
|
int knob_value;
|
||||||
@ -192,10 +192,10 @@ int getValueByKnob(int minimum, int maximum, int step_size, int initial, char*
|
|||||||
active_delay(200);
|
active_delay(200);
|
||||||
knob_value = initial;
|
knob_value = initial;
|
||||||
|
|
||||||
strcpy(b, prefix);
|
strcpy_P(b,(const char*)prefix);
|
||||||
itoa(knob_value, c, 10);
|
itoa(knob_value, c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
strcat(b, postfix);
|
strcat_P(b, (const char*)postfix);
|
||||||
drawCommandbar(b);
|
drawCommandbar(b);
|
||||||
|
|
||||||
while(!btnDown() && digitalRead(PTT) == HIGH){
|
while(!btnDown() && digitalRead(PTT) == HIGH){
|
||||||
@ -206,10 +206,10 @@ int getValueByKnob(int minimum, int maximum, int step_size, int initial, char*
|
|||||||
if (knob_value < maximum && knob > 0)
|
if (knob_value < maximum && knob > 0)
|
||||||
knob_value += step_size;
|
knob_value += step_size;
|
||||||
|
|
||||||
strcpy(b, prefix);
|
strcpy_P(b,(const char*)prefix);
|
||||||
itoa(knob_value, c, 10);
|
itoa(knob_value, c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
strcat(b, postfix);
|
strcat_P(b,(const char*)postfix);
|
||||||
drawCommandbar(b);
|
drawCommandbar(b);
|
||||||
}
|
}
|
||||||
checkCAT();
|
checkCAT();
|
||||||
@ -376,7 +376,8 @@ void fastTune(){
|
|||||||
active_delay(50);
|
active_delay(50);
|
||||||
active_delay(300);
|
active_delay(300);
|
||||||
|
|
||||||
displayText("Fast tune", LAYOUT_MODE_TEXT_X, LAYOUT_MODE_TEXT_Y, LAYOUT_MODE_TEXT_WIDTH, LAYOUT_MODE_TEXT_HEIGHT, COLOR_TEXT, COLOR_BACKGROUND, COLOR_BACKGROUND);
|
strcpy_P(c,(const char*)F("Fast tune"));
|
||||||
|
displayText(c, LAYOUT_MODE_TEXT_X, LAYOUT_MODE_TEXT_Y, LAYOUT_MODE_TEXT_WIDTH, LAYOUT_MODE_TEXT_HEIGHT, COLOR_TEXT, COLOR_BACKGROUND, COLOR_BACKGROUND);
|
||||||
while(1){
|
while(1){
|
||||||
checkCAT();
|
checkCAT();
|
||||||
|
|
||||||
@ -498,7 +499,7 @@ void enterFreq(){
|
|||||||
}//if button hit test
|
}//if button hit test
|
||||||
}// end of the button scanning loop
|
}// end of the button scanning loop
|
||||||
strcpy(b, c);
|
strcpy(b, c);
|
||||||
strcat(b, " KHz");
|
strcat_P(b,(const char*)F(" KHz"));
|
||||||
displayText(b, LAYOUT_MODE_TEXT_X, LAYOUT_MODE_TEXT_Y, LAYOUT_MODE_TEXT_WIDTH, LAYOUT_MODE_TEXT_HEIGHT, COLOR_TEXT, COLOR_BACKGROUND, COLOR_BACKGROUND);
|
displayText(b, LAYOUT_MODE_TEXT_X, LAYOUT_MODE_TEXT_Y, LAYOUT_MODE_TEXT_WIDTH, LAYOUT_MODE_TEXT_HEIGHT, COLOR_TEXT, COLOR_BACKGROUND, COLOR_BACKGROUND);
|
||||||
active_delay(300);
|
active_delay(300);
|
||||||
while(readTouch())
|
while(readTouch())
|
||||||
@ -507,23 +508,26 @@ void enterFreq(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void drawCWStatus(){
|
void drawCWStatus(){
|
||||||
strcpy(b, " cw: ");
|
strcpy_P(b,(const char*)F(" cw: "));
|
||||||
int wpm = 1200/globalSettings.cwDitDurationMs;
|
int wpm = 1200/globalSettings.cwDitDurationMs;
|
||||||
itoa(wpm,c, 10);
|
itoa(wpm,c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
strcat(b, "wpm, ");
|
strcat_P(b,(const char*)F("wpm, "));
|
||||||
itoa(globalSettings.cwSideToneFreq, c, 10);
|
itoa(globalSettings.cwSideToneFreq, c, 10);
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
strcat(b, "hz");
|
strcat_P(b,(const char*)F("hz"));
|
||||||
displayText(b, LAYOUT_CW_TEXT_X, LAYOUT_CW_TEXT_Y, LAYOUT_CW_TEXT_WIDTH, LAYOUT_CW_TEXT_HEIGHT, COLOR_TEXT, COLOR_BACKGROUND, COLOR_BACKGROUND);
|
displayText(b, LAYOUT_CW_TEXT_X, LAYOUT_CW_TEXT_Y, LAYOUT_CW_TEXT_WIDTH, LAYOUT_CW_TEXT_HEIGHT, COLOR_TEXT, COLOR_BACKGROUND, COLOR_BACKGROUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void drawTx(){
|
void drawTx(){
|
||||||
if (globalSettings.txActive)
|
if (globalSettings.txActive){
|
||||||
displayText("TX", LAYOUT_TX_X, LAYOUT_TX_Y, LAYOUT_TX_WIDTH, LAYOUT_TX_HEIGHT, COLOR_ACTIVE_TEXT, COLOR_ACTIVE_BACKGROUND, COLOR_BACKGROUND);
|
strcpy_P(b,(const char*)F("TX"));
|
||||||
else
|
displayText(b, LAYOUT_TX_X, LAYOUT_TX_Y, LAYOUT_TX_WIDTH, LAYOUT_TX_HEIGHT, COLOR_ACTIVE_TEXT, COLOR_ACTIVE_BACKGROUND, COLOR_BACKGROUND);
|
||||||
|
}
|
||||||
|
else{
|
||||||
displayFillrect(LAYOUT_TX_X, LAYOUT_TX_Y, LAYOUT_TX_WIDTH, LAYOUT_TX_HEIGHT, COLOR_BACKGROUND);
|
displayFillrect(LAYOUT_TX_X, LAYOUT_TX_Y, LAYOUT_TX_WIDTH, LAYOUT_TX_HEIGHT, COLOR_BACKGROUND);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void drawStatusbar(){
|
void drawStatusbar(){
|
||||||
drawCWStatus();
|
drawCWStatus();
|
||||||
@ -748,7 +752,7 @@ void setCwSpeed()
|
|||||||
{
|
{
|
||||||
int wpm = 1200/globalSettings.cwDitDurationMs;
|
int wpm = 1200/globalSettings.cwDitDurationMs;
|
||||||
|
|
||||||
wpm = getValueByKnob(1, 100, 1, wpm, "CW: ", " WPM");
|
wpm = getValueByKnob(1, 100, 1, wpm,F("CW: "),F(" WPM"));
|
||||||
|
|
||||||
globalSettings.cwDitDurationMs = 1200/wpm;
|
globalSettings.cwDitDurationMs = 1200/wpm;
|
||||||
SaveSettingsToEeprom();
|
SaveSettingsToEeprom();
|
||||||
@ -764,9 +768,9 @@ void setCwTone(){
|
|||||||
|
|
||||||
tone(CW_TONE, globalSettings.cwSideToneFreq);
|
tone(CW_TONE, globalSettings.cwSideToneFreq);
|
||||||
itoa(globalSettings.cwSideToneFreq, c, 10);
|
itoa(globalSettings.cwSideToneFreq, c, 10);
|
||||||
strcpy(b, "CW Tone: ");
|
strcpy_P(b,(const char*)F("CW Tone: "));
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
strcat(b, " Hz");
|
strcat_P(b,(const char*)F(" Hz"));
|
||||||
drawCommandbar(b);
|
drawCommandbar(b);
|
||||||
|
|
||||||
//disable all clock 1 and clock 2
|
//disable all clock 1 and clock 2
|
||||||
@ -783,9 +787,9 @@ void setCwTone(){
|
|||||||
|
|
||||||
tone(CW_TONE, globalSettings.cwSideToneFreq);
|
tone(CW_TONE, globalSettings.cwSideToneFreq);
|
||||||
itoa(globalSettings.cwSideToneFreq, c, 10);
|
itoa(globalSettings.cwSideToneFreq, c, 10);
|
||||||
strcpy(b, "CW Tone: ");
|
strcpy_P(b,(const char*)F("CW Tone: "));
|
||||||
strcat(b, c);
|
strcat(b, c);
|
||||||
strcat(b, " Hz");
|
strcat_P(b,(const char*)F(" Hz"));
|
||||||
drawCommandbar(b);
|
drawCommandbar(b);
|
||||||
//printLine2(b);
|
//printLine2(b);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user