mirror of
https://codeberg.org/mclemens/ubitxv6.git
synced 2024-09-05 06:24:23 -04:00
Move button declarations together, declaring rather than defining required functions
This commit is contained in:
parent
25d5f3aaa9
commit
8239761a26
@ -45,6 +45,259 @@ static const unsigned int LAYOUT_TX_Y = LAYOUT_MODE_TEXT_Y;
|
|||||||
static const unsigned int LAYOUT_TX_WIDTH = 40;
|
static const unsigned int LAYOUT_TX_WIDTH = 40;
|
||||||
static const unsigned int LAYOUT_TX_HEIGHT = 36;
|
static const unsigned int LAYOUT_TX_HEIGHT = 36;
|
||||||
|
|
||||||
|
void toVfoA(char* text_out, const uint16_t max_text_size);
|
||||||
|
ButtonStatus_e bsVfoA();
|
||||||
|
void osVfoA();
|
||||||
|
constexpr Button bVfoA PROGMEM = {
|
||||||
|
LAYOUT_VFO_LABEL_X + 0*LAYOUT_VFO_LABEL_PITCH_X,
|
||||||
|
LAYOUT_VFO_LABEL_Y,
|
||||||
|
LAYOUT_VFO_LABEL_WIDTH,
|
||||||
|
LAYOUT_VFO_LABEL_HEIGHT,
|
||||||
|
nullptr,
|
||||||
|
toVfoA,
|
||||||
|
bsVfoA,
|
||||||
|
osVfoA,
|
||||||
|
'A'
|
||||||
|
};
|
||||||
|
|
||||||
|
void toVfoB(char* text_out, const uint16_t max_text_size);
|
||||||
|
ButtonStatus_e bsVfoB();
|
||||||
|
void osVfoB();
|
||||||
|
constexpr Button bVfoB PROGMEM = {
|
||||||
|
LAYOUT_VFO_LABEL_X + 1*LAYOUT_VFO_LABEL_PITCH_X,
|
||||||
|
LAYOUT_VFO_LABEL_Y,
|
||||||
|
LAYOUT_VFO_LABEL_WIDTH,
|
||||||
|
LAYOUT_VFO_LABEL_HEIGHT,
|
||||||
|
nullptr,
|
||||||
|
toVfoB,
|
||||||
|
bsVfoB,
|
||||||
|
osVfoB,
|
||||||
|
'B'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtRit [] PROGMEM = "RIT";
|
||||||
|
ButtonStatus_e bsRit();
|
||||||
|
void osRit();
|
||||||
|
constexpr Button bRit PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtRit,
|
||||||
|
nullptr,
|
||||||
|
bsRit,
|
||||||
|
osRit,
|
||||||
|
'R'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtUsb [] PROGMEM = "USB";
|
||||||
|
ButtonStatus_e bsUsb();
|
||||||
|
void osUsb();
|
||||||
|
constexpr Button bUsb PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtUsb,
|
||||||
|
nullptr,
|
||||||
|
bsUsb,
|
||||||
|
osUsb,
|
||||||
|
'U'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtLsb [] PROGMEM = "LSB";
|
||||||
|
ButtonStatus_e bsLsb();
|
||||||
|
void osLsb();
|
||||||
|
constexpr Button bLsb PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtLsb,
|
||||||
|
nullptr,
|
||||||
|
bsLsb,
|
||||||
|
osLsb,
|
||||||
|
'L'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtCw [] PROGMEM = "CW";
|
||||||
|
ButtonStatus_e bsCw();
|
||||||
|
void osCw();
|
||||||
|
constexpr Button bCw PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtCw,
|
||||||
|
nullptr,
|
||||||
|
bsCw,
|
||||||
|
osCw,
|
||||||
|
'C'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtSpl [] PROGMEM = "SPL";
|
||||||
|
ButtonStatus_e bsSpl();
|
||||||
|
void osSpl();
|
||||||
|
constexpr Button bSpl PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtSpl,
|
||||||
|
nullptr,
|
||||||
|
bsSpl,
|
||||||
|
osSpl,
|
||||||
|
'S'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt80 [] PROGMEM = "80";
|
||||||
|
ButtonStatus_e bs80();
|
||||||
|
void os80();
|
||||||
|
constexpr Button b80 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt80,
|
||||||
|
nullptr,
|
||||||
|
bs80,
|
||||||
|
os80,
|
||||||
|
'8'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt40 [] PROGMEM = "40";
|
||||||
|
ButtonStatus_e bs40();
|
||||||
|
void os40();
|
||||||
|
constexpr Button b40 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt40,
|
||||||
|
nullptr,
|
||||||
|
bs40,
|
||||||
|
os40,
|
||||||
|
'4'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt30 [] PROGMEM = "30";
|
||||||
|
ButtonStatus_e bs30();
|
||||||
|
void os30();
|
||||||
|
constexpr Button b30 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt30,
|
||||||
|
nullptr,
|
||||||
|
bs30,
|
||||||
|
os30,
|
||||||
|
'3'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt20 [] PROGMEM = "20";
|
||||||
|
ButtonStatus_e bs20();
|
||||||
|
void os20();
|
||||||
|
constexpr Button b20 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt20,
|
||||||
|
nullptr,
|
||||||
|
bs20,
|
||||||
|
os20,
|
||||||
|
'2'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt17 [] PROGMEM = "17";
|
||||||
|
ButtonStatus_e bs17();
|
||||||
|
void os17();
|
||||||
|
constexpr Button b17 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt17,
|
||||||
|
nullptr,
|
||||||
|
bs17,
|
||||||
|
os17,
|
||||||
|
'7'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt15 [] PROGMEM = "15";
|
||||||
|
ButtonStatus_e bs15();
|
||||||
|
void os15();
|
||||||
|
constexpr Button b15 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt15,
|
||||||
|
nullptr,
|
||||||
|
bs15,
|
||||||
|
os15,
|
||||||
|
'5'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txt10 [] PROGMEM = "10";
|
||||||
|
ButtonStatus_e bs10();
|
||||||
|
void os10();
|
||||||
|
constexpr Button b10 PROGMEM = {
|
||||||
|
LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txt10,
|
||||||
|
nullptr,
|
||||||
|
bs10,
|
||||||
|
os10,
|
||||||
|
'1'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtMenu [] PROGMEM = "\x7F";//gear icon
|
||||||
|
ButtonStatus_e bsIgnore();
|
||||||
|
void osMenu();
|
||||||
|
constexpr Button bMenu = {
|
||||||
|
LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtMenu,
|
||||||
|
nullptr,
|
||||||
|
bsIgnore,
|
||||||
|
osMenu,
|
||||||
|
'M'
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr char txtNumpad [] PROGMEM = "FRQ";
|
||||||
|
ButtonStatus_e bsIgnore();
|
||||||
|
void osNumpad();
|
||||||
|
constexpr Button bNumpad = {
|
||||||
|
LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X,
|
||||||
|
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
||||||
|
LAYOUT_BUTTON_WIDTH,
|
||||||
|
LAYOUT_BUTTON_HEIGHT,
|
||||||
|
txtNumpad,
|
||||||
|
nullptr,
|
||||||
|
bsIgnore,
|
||||||
|
osNumpad,
|
||||||
|
'F'
|
||||||
|
};
|
||||||
|
|
||||||
|
static constexpr const Button *const buttons[] PROGMEM = {
|
||||||
|
&bVfoA, &bVfoB,
|
||||||
|
|
||||||
|
&bRit, &bUsb, &bLsb, &bCw, &bSpl,
|
||||||
|
&b80, &b40, &b30, &b20, &b17,
|
||||||
|
&b15, &b10, &bMenu, &bNumpad
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
const Button* const* mainMenuButtons = buttons;
|
||||||
|
const uint8_t MAIN_MENU_NUM_BUTTONS = sizeof(buttons) / sizeof(buttons[0]);
|
||||||
|
|
||||||
|
|
||||||
void toVfo(char* text_out, const uint16_t max_text_size, const Vfo_e vfo)
|
void toVfo(char* text_out, const uint16_t max_text_size, const Vfo_e vfo)
|
||||||
{
|
{
|
||||||
if(max_text_size < 2){
|
if(max_text_size < 2){
|
||||||
@ -108,17 +361,6 @@ ButtonStatus_e bsVfoA(){
|
|||||||
void osVfoA(){
|
void osVfoA(){
|
||||||
osVfo(Vfo_e::VFO_A);
|
osVfo(Vfo_e::VFO_A);
|
||||||
}
|
}
|
||||||
constexpr Button bVfoA PROGMEM = {
|
|
||||||
LAYOUT_VFO_LABEL_X + 0*LAYOUT_VFO_LABEL_PITCH_X,
|
|
||||||
LAYOUT_VFO_LABEL_Y,
|
|
||||||
LAYOUT_VFO_LABEL_WIDTH,
|
|
||||||
LAYOUT_VFO_LABEL_HEIGHT,
|
|
||||||
nullptr,
|
|
||||||
toVfoA,
|
|
||||||
bsVfoA,
|
|
||||||
osVfoA,
|
|
||||||
'A'
|
|
||||||
};
|
|
||||||
|
|
||||||
void toVfoB(char* text_out, const uint16_t max_text_size){
|
void toVfoB(char* text_out, const uint16_t max_text_size){
|
||||||
toVfo(text_out,max_text_size,Vfo_e::VFO_B);
|
toVfo(text_out,max_text_size,Vfo_e::VFO_B);
|
||||||
@ -129,19 +371,6 @@ ButtonStatus_e bsVfoB(){
|
|||||||
void osVfoB(){
|
void osVfoB(){
|
||||||
osVfo(Vfo_e::VFO_B);
|
osVfo(Vfo_e::VFO_B);
|
||||||
}
|
}
|
||||||
constexpr Button bVfoB PROGMEM = {
|
|
||||||
LAYOUT_VFO_LABEL_X + 1*LAYOUT_VFO_LABEL_PITCH_X,
|
|
||||||
LAYOUT_VFO_LABEL_Y,
|
|
||||||
LAYOUT_VFO_LABEL_WIDTH,
|
|
||||||
LAYOUT_VFO_LABEL_HEIGHT,
|
|
||||||
nullptr,
|
|
||||||
toVfoB,
|
|
||||||
bsVfoB,
|
|
||||||
osVfoB,
|
|
||||||
'B'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txtRit [] PROGMEM = "RIT";
|
|
||||||
|
|
||||||
ButtonStatus_e bsRit(){
|
ButtonStatus_e bsRit(){
|
||||||
return globalSettings.ritOn ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
return globalSettings.ritOn ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
||||||
@ -179,17 +408,6 @@ void osRit(){
|
|||||||
memcpy_P(&button,&bRit,sizeof(button));
|
memcpy_P(&button,&bRit,sizeof(button));
|
||||||
drawButton(&button);
|
drawButton(&button);
|
||||||
}
|
}
|
||||||
constexpr Button bRit PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtRit,
|
|
||||||
nullptr,
|
|
||||||
bsRit,
|
|
||||||
osRit,
|
|
||||||
'R'
|
|
||||||
};
|
|
||||||
|
|
||||||
void osSidebandMode(VfoMode_e mode){
|
void osSidebandMode(VfoMode_e mode){
|
||||||
SetActiveVfoMode(mode);
|
SetActiveVfoMode(mode);
|
||||||
@ -201,8 +419,6 @@ void osSidebandMode(VfoMode_e mode){
|
|||||||
drawButton(&button);
|
drawButton(&button);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr char txtUsb [] PROGMEM = "USB";
|
|
||||||
|
|
||||||
ButtonStatus_e bsUsb(){
|
ButtonStatus_e bsUsb(){
|
||||||
return (VfoMode_e::VFO_MODE_USB == GetActiveVfoMode()) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
return (VfoMode_e::VFO_MODE_USB == GetActiveVfoMode()) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
||||||
}
|
}
|
||||||
@ -211,20 +427,6 @@ void osUsb(){
|
|||||||
osSidebandMode(VfoMode_e::VFO_MODE_USB);
|
osSidebandMode(VfoMode_e::VFO_MODE_USB);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button bUsb PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtUsb,
|
|
||||||
nullptr,
|
|
||||||
bsUsb,
|
|
||||||
osUsb,
|
|
||||||
'U'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txtLsb [] PROGMEM = "LSB";
|
|
||||||
|
|
||||||
ButtonStatus_e bsLsb(){
|
ButtonStatus_e bsLsb(){
|
||||||
return (VfoMode_e::VFO_MODE_LSB == GetActiveVfoMode()) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
return (VfoMode_e::VFO_MODE_LSB == GetActiveVfoMode()) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
||||||
}
|
}
|
||||||
@ -233,20 +435,6 @@ void osLsb(){
|
|||||||
osSidebandMode(VfoMode_e::VFO_MODE_LSB);
|
osSidebandMode(VfoMode_e::VFO_MODE_LSB);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button bLsb PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtLsb,
|
|
||||||
nullptr,
|
|
||||||
bsLsb,
|
|
||||||
osLsb,
|
|
||||||
'L'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txtCw [] PROGMEM = "CW";
|
|
||||||
|
|
||||||
ButtonStatus_e bsCw(){
|
ButtonStatus_e bsCw(){
|
||||||
return (TuningMode_e::TUNE_CW == globalSettings.tuningMode) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
return (TuningMode_e::TUNE_CW == globalSettings.tuningMode) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
||||||
}
|
}
|
||||||
@ -264,20 +452,6 @@ void osCw(){
|
|||||||
drawButton(&button);
|
drawButton(&button);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button bCw PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtCw,
|
|
||||||
nullptr,
|
|
||||||
bsCw,
|
|
||||||
osCw,
|
|
||||||
'C'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txtSpl [] PROGMEM = "SPL";
|
|
||||||
|
|
||||||
ButtonStatus_e bsSpl(){
|
ButtonStatus_e bsSpl(){
|
||||||
return globalSettings.splitOn ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
return globalSettings.splitOn ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
||||||
}
|
}
|
||||||
@ -294,18 +468,6 @@ void osSpl(){
|
|||||||
drawButton(&button);
|
drawButton(&button);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button bSpl PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtSpl,
|
|
||||||
nullptr,
|
|
||||||
bsSpl,
|
|
||||||
osSpl,
|
|
||||||
'S'
|
|
||||||
};
|
|
||||||
|
|
||||||
ButtonStatus_e bsBand(const uint8_t band){
|
ButtonStatus_e bsBand(const uint8_t band){
|
||||||
return isFreqInBand(GetActiveVfoFreq(),band) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
return isFreqInBand(GetActiveVfoFreq(),band) ? ButtonStatus_e::Active : ButtonStatus_e::Inactive;
|
||||||
}
|
}
|
||||||
@ -314,8 +476,6 @@ void osBand(const uint8_t band){
|
|||||||
SetActiveVfoFreq(getFreqInBand(GetActiveVfoFreq(),band));
|
SetActiveVfoFreq(getFreqInBand(GetActiveVfoFreq(),band));
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr char txt80 [] PROGMEM = "80";
|
|
||||||
|
|
||||||
ButtonStatus_e bs80(){
|
ButtonStatus_e bs80(){
|
||||||
return bsBand(80);
|
return bsBand(80);
|
||||||
}
|
}
|
||||||
@ -324,20 +484,6 @@ void os80(){
|
|||||||
osBand(80);
|
osBand(80);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b80 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt80,
|
|
||||||
nullptr,
|
|
||||||
bs80,
|
|
||||||
os80,
|
|
||||||
'8'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txt40 [] PROGMEM = "40";
|
|
||||||
|
|
||||||
ButtonStatus_e bs40(){
|
ButtonStatus_e bs40(){
|
||||||
return bsBand(40);
|
return bsBand(40);
|
||||||
}
|
}
|
||||||
@ -346,20 +492,6 @@ void os40(){
|
|||||||
osBand(40);
|
osBand(40);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b40 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt40,
|
|
||||||
nullptr,
|
|
||||||
bs40,
|
|
||||||
os40,
|
|
||||||
'4'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txt30 [] PROGMEM = "30";
|
|
||||||
|
|
||||||
ButtonStatus_e bs30(){
|
ButtonStatus_e bs30(){
|
||||||
return bsBand(30);
|
return bsBand(30);
|
||||||
}
|
}
|
||||||
@ -368,20 +500,6 @@ void os30(){
|
|||||||
osBand(30);
|
osBand(30);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b30 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt30,
|
|
||||||
nullptr,
|
|
||||||
bs30,
|
|
||||||
os30,
|
|
||||||
'3'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txt20 [] PROGMEM = "20";
|
|
||||||
|
|
||||||
ButtonStatus_e bs20(){
|
ButtonStatus_e bs20(){
|
||||||
return bsBand(20);
|
return bsBand(20);
|
||||||
}
|
}
|
||||||
@ -390,20 +508,6 @@ void os20(){
|
|||||||
osBand(20);
|
osBand(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b20 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt20,
|
|
||||||
nullptr,
|
|
||||||
bs20,
|
|
||||||
os20,
|
|
||||||
'2'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txt17 [] PROGMEM = "17";
|
|
||||||
|
|
||||||
ButtonStatus_e bs17(){
|
ButtonStatus_e bs17(){
|
||||||
return bsBand(17);
|
return bsBand(17);
|
||||||
}
|
}
|
||||||
@ -412,20 +516,6 @@ void os17(){
|
|||||||
osBand(17);
|
osBand(17);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b17 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt17,
|
|
||||||
nullptr,
|
|
||||||
bs17,
|
|
||||||
os17,
|
|
||||||
'7'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txt15 [] PROGMEM = "15";
|
|
||||||
|
|
||||||
ButtonStatus_e bs15(){
|
ButtonStatus_e bs15(){
|
||||||
return bsBand(15);
|
return bsBand(15);
|
||||||
}
|
}
|
||||||
@ -434,20 +524,6 @@ void os15(){
|
|||||||
osBand(15);
|
osBand(15);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b15 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt15,
|
|
||||||
nullptr,
|
|
||||||
bs15,
|
|
||||||
os15,
|
|
||||||
'5'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txt10 [] PROGMEM = "10";
|
|
||||||
|
|
||||||
ButtonStatus_e bs10(){
|
ButtonStatus_e bs10(){
|
||||||
return bsBand(10);
|
return bsBand(10);
|
||||||
}
|
}
|
||||||
@ -456,70 +532,18 @@ void os10(){
|
|||||||
osBand(10);
|
osBand(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button b10 PROGMEM = {
|
|
||||||
LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txt10,
|
|
||||||
nullptr,
|
|
||||||
bs10,
|
|
||||||
os10,
|
|
||||||
'1'
|
|
||||||
};
|
|
||||||
|
|
||||||
ButtonStatus_e bsIgnore(){
|
ButtonStatus_e bsIgnore(){
|
||||||
return ButtonStatus_e::Stateless;
|
return ButtonStatus_e::Stateless;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr char txtMenu [] PROGMEM = "\x7F";//gear icon
|
|
||||||
|
|
||||||
void osMenu(){
|
void osMenu(){
|
||||||
//TODO
|
//TODO
|
||||||
//rootSettingsMenu->initMenu();
|
//rootSettingsMenu->initMenu();
|
||||||
//mainmenu.active_submenu = rootSettingsMenu;
|
//mainmenu.active_submenu = rootSettingsMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button bMenu = {
|
|
||||||
LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtMenu,
|
|
||||||
nullptr,
|
|
||||||
bsIgnore,
|
|
||||||
osMenu,
|
|
||||||
'M'
|
|
||||||
};
|
|
||||||
|
|
||||||
constexpr char txtNumpad [] PROGMEM = "FRQ";
|
|
||||||
|
|
||||||
void osNumpad(){
|
void osNumpad(){
|
||||||
//TODO
|
//TODO
|
||||||
//numpadMenu->initMenu();
|
//numpadMenu->initMenu();
|
||||||
//mainMenu.active_submenu = numpadMenu;
|
//mainMenu.active_submenu = numpadMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr Button bNumpad = {
|
|
||||||
LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X,
|
|
||||||
LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y,
|
|
||||||
LAYOUT_BUTTON_WIDTH,
|
|
||||||
LAYOUT_BUTTON_HEIGHT,
|
|
||||||
txtNumpad,
|
|
||||||
nullptr,
|
|
||||||
bsIgnore,
|
|
||||||
osNumpad,
|
|
||||||
'F'
|
|
||||||
};
|
|
||||||
|
|
||||||
static constexpr const Button *const buttons[] PROGMEM = {
|
|
||||||
&bVfoA, &bVfoB,
|
|
||||||
|
|
||||||
&bRit, &bUsb, &bLsb, &bCw, &bSpl,
|
|
||||||
&b80, &b40, &b30, &b20, &b17,
|
|
||||||
&b15, &b10, &bMenu, &bNumpad
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const Button* const* mainMenuButtons = buttons;
|
|
||||||
const uint8_t MAIN_MENU_NUM_BUTTONS = sizeof(buttons) / sizeof(buttons[0]);
|
|
||||||
|
Loading…
Reference in New Issue
Block a user