[X9D] Some work on navigation with the 6 keys (+ - Enter Menu Page Exit)
This commit is contained in:
+25
-22
@@ -240,45 +240,48 @@ long Open9xSim::onTimeout(FXObject*,FXSelector,void*)
|
||||
|
||||
if(hasFocus()) {
|
||||
#ifdef REVB
|
||||
#define ERSKY9X_MENU_MASK (0x20)
|
||||
#define ERSKY9X_EXIT_MASK (0x01000000)
|
||||
#define ERSKY9X_EXIT_PIO PIOC
|
||||
#define ERSKY9X_UP_MASK (0x04 >> 1)
|
||||
#define ERSKY9X_RIGHT_MASK (0x20 >> 1)
|
||||
#define ERSKY9X_DOWN_MASK (0x40 >> 1)
|
||||
#define ERSKY9X_LEFT_MASK (0x10 >> 1)
|
||||
#define ERSKY9X_RETURN_MASK (0x20)
|
||||
#define ERSKY9X_EXIT_MASK (0x01000000)
|
||||
#define ERSKY9X_EXIT_PIO PIOC
|
||||
#define ERSKY9X_UP_MASK (0x04 >> 1)
|
||||
#define ERSKY9X_RIGHT_MASK (0x20 >> 1)
|
||||
#define ERSKY9X_DOWN_MASK (0x40 >> 1)
|
||||
#define ERSKY9X_LEFT_MASK (0x10 >> 1)
|
||||
#define ERSKY9X_MENU_MASK (0x04 >> 1)
|
||||
#define ERSKY9X_PAGE_MASK (0x40 >> 1)
|
||||
#else
|
||||
#define ERSKY9X_MENU_MASK (0x40)
|
||||
#define ERSKY9X_EXIT_MASK (0x80000000)
|
||||
#define ERSKY9X_EXIT_PIO PIOA
|
||||
#define ERSKY9X_UP_MASK (0x08 >> 1)
|
||||
#define ERSKY9X_RIGHT_MASK (0x20 >> 1)
|
||||
#define ERSKY9X_DOWN_MASK (0x10 >> 1)
|
||||
#define ERSKY9X_LEFT_MASK (0x40 >> 1)
|
||||
#define ERSKY9X_RETURN_MASK (0x40)
|
||||
#define ERSKY9X_EXIT_MASK (0x80000000)
|
||||
#define ERSKY9X_EXIT_PIO PIOA
|
||||
#define ERSKY9X_UP_MASK (0x08 >> 1)
|
||||
#define ERSKY9X_RIGHT_MASK (0x20 >> 1)
|
||||
#define ERSKY9X_DOWN_MASK (0x10 >> 1)
|
||||
#define ERSKY9X_LEFT_MASK (0x40 >> 1)
|
||||
#endif
|
||||
static uint64_t keys1[]={
|
||||
KEY_Return, INP_B_KEY_MEN, INP_L_KEY_MEN, (uint64_t)PIOB, ERSKY9X_MENU_MASK,
|
||||
KEY_Page_Up, INP_B_KEY_MEN, INP_L_KEY_MEN, (uint64_t)PIOB, ERSKY9X_MENU_MASK,
|
||||
KEY_KP_1, INP_B_KEY_MEN, INP_L_KEY_MEN, (uint64_t)PIOB, ERSKY9X_MENU_MASK,
|
||||
KEY_Page_Down, INP_B_KEY_EXT, INP_L_KEY_EXT, (uint64_t)ERSKY9X_EXIT_PIO, ERSKY9X_EXIT_MASK,
|
||||
KEY_Return, INP_B_KEY_MEN, INP_L_KEY_MEN, (uint64_t)PIOB, ERSKY9X_RETURN_MASK,
|
||||
KEY_BackSpace, INP_B_KEY_EXT, INP_L_KEY_EXT, (uint64_t)ERSKY9X_EXIT_PIO, ERSKY9X_EXIT_MASK,
|
||||
KEY_KP_0, INP_B_KEY_EXT, INP_L_KEY_EXT, (uint64_t)ERSKY9X_EXIT_PIO, ERSKY9X_EXIT_MASK,
|
||||
KEY_Down, INP_B_KEY_DWN, INP_L_KEY_DWN, (uint64_t)PIOC, ERSKY9X_DOWN_MASK,
|
||||
KEY_Up, INP_B_KEY_UP, INP_L_KEY_UP, (uint64_t)PIOC, ERSKY9X_UP_MASK,
|
||||
KEY_Right, INP_B_KEY_RGT, INP_L_KEY_RGT, (uint64_t)PIOC, ERSKY9X_RIGHT_MASK,
|
||||
KEY_Left, INP_B_KEY_LFT, INP_L_KEY_LFT, (uint64_t)PIOC, ERSKY9X_LEFT_MASK,
|
||||
#if defined(PCBX9D)
|
||||
KEY_Page_Up, INP_B_KEY_MEN, INP_L_KEY_MEN, (uint64_t)PIOC, ERSKY9X_MENU_MASK,
|
||||
KEY_Page_Down, INP_B_KEY_EXT, INP_L_KEY_EXT, (uint64_t)PIOC, ERSKY9X_PAGE_MASK,
|
||||
#else
|
||||
KEY_Up, INP_B_KEY_UP, INP_L_KEY_UP, (uint64_t)PIOC, ERSKY9X_UP_MASK,
|
||||
KEY_Down, INP_B_KEY_DWN, INP_L_KEY_DWN, (uint64_t)PIOC, ERSKY9X_DOWN_MASK,
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(PCBSKY9X)
|
||||
PIOC->PIO_PDSR |= ERSKY9X_DOWN_MASK | ERSKY9X_UP_MASK | ERSKY9X_RIGHT_MASK | ERSKY9X_LEFT_MASK ;
|
||||
ERSKY9X_EXIT_PIO->PIO_PDSR |= ERSKY9X_EXIT_MASK;
|
||||
PIOB->PIO_PDSR |= ERSKY9X_MENU_MASK;
|
||||
PIOB->PIO_PDSR |= ERSKY9X_RETURN_MASK;
|
||||
// PIOA->PIO_PDSR = 0xFFFFFFFF;
|
||||
temperature = 31;
|
||||
Coproc_temp = 23;
|
||||
Coproc_maxtemp = 28;
|
||||
maxTemperature = 42;
|
||||
|
||||
#elif defined(PCBGRUVIN9X)
|
||||
uint8_t pin = (pinl & ~0x3f);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user