mirror of
https://codeberg.org/mclemens/ubitxv6.git
synced 2024-11-13 01:36:10 -05:00
Partial move of main menu buttons
This commit is contained in:
parent
4483852742
commit
d4867ac35b
@ -1,23 +1,35 @@
|
|||||||
#include "menu_main.h"
|
#include "menu_main.h"
|
||||||
|
#include "menu_main_buttons.h"
|
||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
|
#include "color_theme.h"
|
||||||
#include "menu_utils.h"
|
#include "menu_utils.h"
|
||||||
#include "morse.h"
|
#include "morse.h"
|
||||||
|
#include "nano_gui.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "ubitx.h"//THRESHOLD_USB_LSB
|
#include "ubitx.h"//THRESHOLD_USB_LSB
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
|
//The startup menu stuff is a little hack to render the main screen on boot
|
||||||
|
MenuReturn_e runStartupMenu(const ButtonPress_e tuner_button,
|
||||||
|
const ButtonPress_e touch_button,
|
||||||
|
const Point touch_point,
|
||||||
|
const int16_t knob);
|
||||||
|
Menu_t startupMenu = {
|
||||||
|
runStartupMenu,
|
||||||
|
nullptr
|
||||||
|
};
|
||||||
|
|
||||||
MenuReturn_e runMainMenu(const ButtonPress_e tuner_button,
|
MenuReturn_e runMainMenu(const ButtonPress_e tuner_button,
|
||||||
const ButtonPress_e touch_button,
|
const ButtonPress_e touch_button,
|
||||||
const Point touch_point,
|
const Point touch_point,
|
||||||
const int16_t knob);
|
const int16_t knob);
|
||||||
|
|
||||||
Menu_t mainMenu = {
|
Menu_t mainMenu = {
|
||||||
runMainMenu,
|
runMainMenu,
|
||||||
nullptr
|
&startupMenu
|
||||||
};
|
};
|
||||||
|
|
||||||
Menu_t* const rootMenu = &mainMenu;
|
Menu_t* const rootMenu = &mainMenu;
|
||||||
@ -25,12 +37,23 @@ Menu_t* const rootMenu = &mainMenu;
|
|||||||
bool mainMenuSelecting = false;//Tracks if we're selecting buttons with knob, or adjusting frequency
|
bool mainMenuSelecting = false;//Tracks if we're selecting buttons with knob, or adjusting frequency
|
||||||
int16_t mainMenuSelectedItemRaw = 0;//Allow negative only for easier checks on wrap around
|
int16_t mainMenuSelectedItemRaw = 0;//Allow negative only for easier checks on wrap around
|
||||||
|
|
||||||
const Button mainMenuButtons [] PROGMEM = {};
|
|
||||||
static constexpr uint8_t MAIN_MENU_NUM_BUTTONS = sizeof(mainMenuButtons) / sizeof(mainMenuButtons[0]);
|
|
||||||
|
|
||||||
void drawMainMenu(void)
|
void drawMainMenu(void)
|
||||||
{
|
{
|
||||||
//TODO
|
displayClear(COLOR_BACKGROUND);
|
||||||
|
Button button;
|
||||||
|
for(uint8_t i = 0; i < MAIN_MENU_NUM_BUTTONS; ++i){
|
||||||
|
memcpy_P(&button, &(mainMenuButtons[i]), sizeof(Button));
|
||||||
|
displayText(button.text, button.x, button.y, button.w, button.h, COLOR_INACTIVE_TEXT, COLOR_INACTIVE_BACKGROUND, COLOR_INACTIVE_BORDER);
|
||||||
|
Serial.println(button.text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuReturn_e runStartupMenu(const ButtonPress_e,
|
||||||
|
const ButtonPress_e,
|
||||||
|
const Point,
|
||||||
|
const int16_t)
|
||||||
|
{
|
||||||
|
return MenuReturn_e::ExitedRedraw;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mainMenuTune(int16_t knob)
|
void mainMenuTune(int16_t knob)
|
||||||
@ -57,6 +80,10 @@ void mainMenuTune(int16_t knob)
|
|||||||
|
|
||||||
setFrequency(new_freq);
|
setFrequency(new_freq);
|
||||||
current_freq = new_freq;
|
current_freq = new_freq;
|
||||||
|
|
||||||
|
Button button;
|
||||||
|
memcpy_P(&button, &(mainMenuButtons[0]), sizeof(Button));
|
||||||
|
displayText(button.text, button.x, button.y, button.w, button.h, COLOR_INACTIVE_TEXT, COLOR_INACTIVE_BACKGROUND, COLOR_INACTIVE_BORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuReturn_e runMainMenu(const ButtonPress_e tuner_button,
|
MenuReturn_e runMainMenu(const ButtonPress_e tuner_button,
|
||||||
|
110
menu_main_buttons.h
Normal file
110
menu_main_buttons.h
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
//This file is only meant to be included by menu_main.cpp
|
||||||
|
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
|
||||||
|
#include "button.h"
|
||||||
|
#include "settings.h"
|
||||||
|
|
||||||
|
static const unsigned int LAYOUT_VFO_LABEL_X = 0;
|
||||||
|
static const unsigned int LAYOUT_VFO_LABEL_Y = 10;
|
||||||
|
static const unsigned int LAYOUT_VFO_LABEL_WIDTH = 159;
|
||||||
|
static const unsigned int LAYOUT_VFO_LABEL_HEIGHT = 36;
|
||||||
|
static const unsigned int LAYOUT_VFO_LABEL_PITCH_X = 160;
|
||||||
|
|
||||||
|
static const unsigned int LAYOUT_MODE_TEXT_X = 0;
|
||||||
|
static const unsigned int LAYOUT_MODE_TEXT_Y = LAYOUT_VFO_LABEL_Y + LAYOUT_VFO_LABEL_HEIGHT + 1;
|
||||||
|
static const unsigned int LAYOUT_MODE_TEXT_WIDTH = 320;
|
||||||
|
static const unsigned int LAYOUT_MODE_TEXT_HEIGHT = 36;
|
||||||
|
|
||||||
|
static const unsigned int LAYOUT_BUTTON_X = 2;
|
||||||
|
static const unsigned int LAYOUT_BUTTON_Y = LAYOUT_MODE_TEXT_Y + LAYOUT_MODE_TEXT_HEIGHT + 1;
|
||||||
|
static const unsigned int LAYOUT_BUTTON_WIDTH = 60;
|
||||||
|
static const unsigned int LAYOUT_BUTTON_HEIGHT = 36;
|
||||||
|
static const unsigned int LAYOUT_BUTTON_PITCH_X = 64;
|
||||||
|
static const unsigned int LAYOUT_BUTTON_PITCH_Y = 40;
|
||||||
|
|
||||||
|
static const unsigned int LAYOUT_CW_TEXT_X = 0;
|
||||||
|
static const unsigned int LAYOUT_CW_TEXT_Y = LAYOUT_BUTTON_Y + 3*LAYOUT_BUTTON_PITCH_Y + 1;
|
||||||
|
static const unsigned int LAYOUT_CW_TEXT_WIDTH = 220;
|
||||||
|
static const unsigned int LAYOUT_CW_TEXT_HEIGHT = 36;
|
||||||
|
|
||||||
|
static const unsigned int LAYOUT_VERSION_TEXT_X = LAYOUT_CW_TEXT_X + LAYOUT_CW_TEXT_WIDTH + 1;
|
||||||
|
static const unsigned int LAYOUT_VERSION_TEXT_Y = LAYOUT_CW_TEXT_Y;
|
||||||
|
static const unsigned int LAYOUT_VERSION_TEXT_WIDTH = 320 - LAYOUT_CW_TEXT_WIDTH - 1;
|
||||||
|
static const unsigned int LAYOUT_VERSION_TEXT_HEIGHT = LAYOUT_CW_TEXT_HEIGHT;
|
||||||
|
|
||||||
|
static const unsigned int LAYOUT_TX_X = 280;
|
||||||
|
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_HEIGHT = 36;
|
||||||
|
|
||||||
|
enum btn_set_e {
|
||||||
|
BUTTON_VFOA,
|
||||||
|
BUTTON_VFOB,
|
||||||
|
BUTTON_RIT,
|
||||||
|
BUTTON_USB,
|
||||||
|
BUTTON_LSB,
|
||||||
|
BUTTON_CW,
|
||||||
|
BUTTON_SPL,
|
||||||
|
BUTTON_80,
|
||||||
|
BUTTON_40,
|
||||||
|
BUTTON_30,
|
||||||
|
BUTTON_20,
|
||||||
|
BUTTON_17,
|
||||||
|
BUTTON_15,
|
||||||
|
BUTTON_10,
|
||||||
|
BUTTON_BLANK_1,
|
||||||
|
BUTTON_MNU,
|
||||||
|
BUTTON_FRQ,
|
||||||
|
BUTTON_TOTAL
|
||||||
|
};
|
||||||
|
|
||||||
|
void msVfoA(int8_t* val_out){
|
||||||
|
*val_out = (Vfo_e::VFO_A == globalSettings.activeVfo) ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msVfoB(int8_t* val_out){
|
||||||
|
*val_out = (Vfo_e::VFO_B == globalSettings.activeVfo) ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msRit(int8_t* val_out){
|
||||||
|
*val_out = globalSettings.ritOn ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msUsb(int8_t* val_out){
|
||||||
|
*val_out = (VfoMode_e::VFO_MODE_USB == GetActiveVfoMode()) ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msLsb(int8_t* val_out){
|
||||||
|
*val_out = (VfoMode_e::VFO_MODE_LSB == GetActiveVfoMode()) ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msCw(int8_t* val_out){
|
||||||
|
*val_out = (TuningMode_e::TUNE_CW == globalSettings.tuningMode) ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msSpl(int8_t* val_out){
|
||||||
|
*val_out = globalSettings.splitOn ? 1 : -1;
|
||||||
|
}
|
||||||
|
void msIgnore(int8_t* val_out){
|
||||||
|
*val_out = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr Button mainMenuButtons[] PROGMEM = {
|
||||||
|
{LAYOUT_VFO_LABEL_X + 0*LAYOUT_VFO_LABEL_PITCH_X, LAYOUT_VFO_LABEL_Y, LAYOUT_VFO_LABEL_WIDTH, LAYOUT_VFO_LABEL_HEIGHT, BUTTON_VFOA, "VFOA", 'A', msVfoA},
|
||||||
|
{LAYOUT_VFO_LABEL_X + 1*LAYOUT_VFO_LABEL_PITCH_X, LAYOUT_VFO_LABEL_Y, LAYOUT_VFO_LABEL_WIDTH, LAYOUT_VFO_LABEL_HEIGHT, BUTTON_VFOB, "VFOB", 'B', msVfoB},
|
||||||
|
|
||||||
|
{LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_RIT, "RIT", 'R', msRit},
|
||||||
|
{LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_USB, "USB", 'U', msUsb},
|
||||||
|
{LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_LSB, "LSB", 'L', msLsb},
|
||||||
|
{LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_CW , "CW", 'C', msCw},
|
||||||
|
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_SPL, "SPL", 'S', msSpl},
|
||||||
|
|
||||||
|
{LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_80, "80", '8', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_40, "40", '4', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_30, "30", '3', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_20, "20", '2', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_17, "17", '7', msIgnore},
|
||||||
|
|
||||||
|
{LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_15 , "15", '5', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_10 , "10", '1', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_BLANK_1, "", '\0', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_MNU, "\x7F", 'M', msIgnore},
|
||||||
|
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_FRQ, "FRQ", 'F', msIgnore},
|
||||||
|
};
|
||||||
|
|
||||||
|
static constexpr uint8_t MAIN_MENU_NUM_BUTTONS = sizeof(mainMenuButtons) / sizeof(mainMenuButtons[0]);
|
50
ubitx_ui.cpp
50
ubitx_ui.cpp
@ -63,53 +63,9 @@ enum btn_set_e {
|
|||||||
BUTTON_TOTAL
|
BUTTON_TOTAL
|
||||||
};
|
};
|
||||||
|
|
||||||
void msVfoA(int8_t* val_out){
|
void msIgnore(int8_t* val_out);
|
||||||
*val_out = (Vfo_e::VFO_A == globalSettings.activeVfo) ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msVfoB(int8_t* val_out){
|
|
||||||
*val_out = (Vfo_e::VFO_B == globalSettings.activeVfo) ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msRit(int8_t* val_out){
|
|
||||||
*val_out = globalSettings.ritOn ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msUsb(int8_t* val_out){
|
|
||||||
*val_out = (VfoMode_e::VFO_MODE_USB == GetActiveVfoMode()) ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msLsb(int8_t* val_out){
|
|
||||||
*val_out = (VfoMode_e::VFO_MODE_LSB == GetActiveVfoMode()) ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msCw(int8_t* val_out){
|
|
||||||
*val_out = (TuningMode_e::TUNE_CW == globalSettings.tuningMode) ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msSpl(int8_t* val_out){
|
|
||||||
*val_out = globalSettings.splitOn ? 1 : -1;
|
|
||||||
}
|
|
||||||
void msIgnore(int8_t* val_out){
|
|
||||||
*val_out = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
constexpr Button btn_set[BUTTON_TOTAL] PROGMEM = {
|
Button* btn_set;
|
||||||
{LAYOUT_VFO_LABEL_X + 0*LAYOUT_VFO_LABEL_PITCH_X, LAYOUT_VFO_LABEL_Y, LAYOUT_VFO_LABEL_WIDTH, LAYOUT_VFO_LABEL_HEIGHT, BUTTON_VFOA, "VFOA", 'A', msVfoA},
|
|
||||||
{LAYOUT_VFO_LABEL_X + 1*LAYOUT_VFO_LABEL_PITCH_X, LAYOUT_VFO_LABEL_Y, LAYOUT_VFO_LABEL_WIDTH, LAYOUT_VFO_LABEL_HEIGHT, BUTTON_VFOB, "VFOB", 'B', msVfoB},
|
|
||||||
|
|
||||||
{LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_RIT, "RIT", 'R', msRit},
|
|
||||||
{LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_USB, "USB", 'U', msUsb},
|
|
||||||
{LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_LSB, "LSB", 'L', msLsb},
|
|
||||||
{LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_CW , "CW", 'C', msCw},
|
|
||||||
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 0*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_SPL, "SPL", 'S', msSpl},
|
|
||||||
|
|
||||||
{LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_80, "80", '8', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_40, "40", '4', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_30, "30", '3', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_20, "20", '2', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 1*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_17, "17", '7', msIgnore},
|
|
||||||
|
|
||||||
{LAYOUT_BUTTON_X + 0*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_15 , "15", '5', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 1*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_10 , "10", '1', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 2*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_BLANK_1, "", '\0', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 3*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_MNU, "\x7F", 'M', msIgnore},
|
|
||||||
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, BUTTON_FRQ, "FRQ", 'F', msIgnore},
|
|
||||||
};
|
|
||||||
|
|
||||||
static const unsigned int KEYS_OFFSET = 256;//Unique from buttons
|
static const unsigned int KEYS_OFFSET = 256;//Unique from buttons
|
||||||
enum keypad_e {
|
enum keypad_e {
|
||||||
@ -150,7 +106,7 @@ constexpr Button keypad[KEYS_TOTAL] PROGMEM = {
|
|||||||
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, KEYS_CANCEL, "Can", 'C', msIgnore},
|
{LAYOUT_BUTTON_X + 4*LAYOUT_BUTTON_PITCH_X, LAYOUT_BUTTON_Y + 2*LAYOUT_BUTTON_PITCH_Y, LAYOUT_BUTTON_WIDTH, LAYOUT_BUTTON_HEIGHT, KEYS_CANCEL, "Can", 'C', msIgnore},
|
||||||
};
|
};
|
||||||
|
|
||||||
boolean getButton(btn_set_e index, Button* button){
|
bool getButton(btn_set_e index, Button* button){
|
||||||
if(BUTTON_TOTAL == index){
|
if(BUTTON_TOTAL == index){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user