Code: Select all
#if defined(PLATFORM_MDUV380)
{
{
KEYPAD_ROW0_GPIO_Port,
KEYPAD_ROW0_Pin,
{
{ LCD_D0_GPIO_Port, LCD_D0_Pin, KEY_1 },
{ LCD_D1_GPIO_Port, LCD_D1_Pin, KEY_2 },
{ LCD_D2_GPIO_Port, LCD_D2_Pin, KEY_3 },
{ LCD_D3_GPIO_Port, LCD_D3_Pin, KEY_4 },
{ LCD_D4_GPIO_Port, LCD_D4_Pin, KEY_5 },
{ LCD_D5_GPIO_Port, LCD_D5_Pin, KEY_6 },
{ LCD_D6_GPIO_Port, LCD_D6_Pin, KEY_0 },
{ LCD_D7_GPIO_Port, LCD_D7_Pin, KEY_STAR }
}
},
{
KEYPAD_ROW1_GPIO_Port,
KEYPAD_ROW1_Pin,
{
{ LCD_D0_GPIO_Port, LCD_D0_Pin, KEY_GREEN },
{ LCD_D1_GPIO_Port, LCD_D1_Pin, KEY_FRONT_UP },
{ LCD_D2_GPIO_Port, LCD_D2_Pin, KEY_FRONT_DOWN },
{ LCD_D3_GPIO_Port, LCD_D3_Pin, KEY_7 },
{ LCD_D4_GPIO_Port, LCD_D4_Pin, KEY_8 },
{ LCD_D5_GPIO_Port, LCD_D5_Pin, KEY_9 },
{ LCD_D6_GPIO_Port, LCD_D6_Pin, KEY_HASH },
{ LCD_D7_GPIO_Port, LCD_D7_Pin, KEY_RED }
}
},
{
KEYPAD_ROW2_GPIO_Port,
KEYPAD_ROW2_Pin,
{
{ LCD_D0_GPIO_Port, LCD_D0_Pin, KEY_NONE },
{ LCD_D1_GPIO_Port, LCD_D1_Pin, KEY_NONE },
{ LCD_D2_GPIO_Port, LCD_D2_Pin, KEY_NONE },
{ LCD_D3_GPIO_Port, LCD_D3_Pin, KEY_NONE },
{ LCD_D4_GPIO_Port, LCD_D4_Pin, KEY_NONE },
{ LCD_D5_GPIO_Port, LCD_D5_Pin, KEY_NONE },
{ LCD_D6_GPIO_Port, LCD_D6_Pin, KEY_NONE },
{ LCD_D7_GPIO_Port, LCD_D7_Pin, KEY_NONE }
}
}
};
#elif defined(PLATFORM_DM1701)
{
{
KEYPAD_ROW0_GPIO_Port,
KEYPAD_ROW0_Pin,
{
{ LCD_D0_GPIO_Port, LCD_D0_Pin, KEY_1 },
{ LCD_D1_GPIO_Port, LCD_D1_Pin, KEY_4 },
{ LCD_D2_GPIO_Port, LCD_D2_Pin, KEY_7 },
{ LCD_D3_GPIO_Port, LCD_D3_Pin, KEY_STAR },
{ LCD_D4_GPIO_Port, LCD_D4_Pin, KEY_FRONT_UP },
{ LCD_D5_GPIO_Port, LCD_D5_Pin, KEY_RIGHT },
{ LCD_D6_GPIO_Port, LCD_D6_Pin, KEY_LEFT },
{ LCD_D7_GPIO_Port, LCD_D7_Pin, KEY_NONE }
}
},
{
KEYPAD_ROW1_GPIO_Port,
KEYPAD_ROW1_Pin,
{
{ LCD_D0_GPIO_Port, LCD_D0_Pin, KEY_2 },
{ LCD_D1_GPIO_Port, LCD_D1_Pin, KEY_5 },
{ LCD_D2_GPIO_Port, LCD_D2_Pin, KEY_8 },
{ LCD_D3_GPIO_Port, LCD_D3_Pin, KEY_0 },
{ LCD_D4_GPIO_Port, LCD_D4_Pin, KEY_FRONT_DOWN },
{ LCD_D5_GPIO_Port, LCD_D5_Pin, KEY_RED },
{ LCD_D6_GPIO_Port, LCD_D6_Pin, KEY_GREEN },
{ LCD_D7_GPIO_Port, LCD_D7_Pin, KEY_NONE }
}
},
{
KEYPAD_ROW2_GPIO_Port,
KEYPAD_ROW2_Pin,
{
{ LCD_D0_GPIO_Port, LCD_D0_Pin, KEY_3 },
{ LCD_D1_GPIO_Port, LCD_D1_Pin, KEY_6 },
{ LCD_D2_GPIO_Port, LCD_D2_Pin, KEY_9 },
{ LCD_D3_GPIO_Port, LCD_D3_Pin, KEY_HASH },
{ LCD_D4_GPIO_Port, LCD_D4_Pin, KEY_NONE },
{ LCD_D5_GPIO_Port, LCD_D5_Pin, KEY_NONE },
{ LCD_D6_GPIO_Port, LCD_D6_Pin, KEY_NONE },
{ LCD_D7_GPIO_Port, LCD_D7_Pin, KEY_NONE }
}
}
};
#endif
Perhaps you can check it..
Buttons SK1, SK2, SK3 aka P1,Mon are handled separately from the keymap, because in radios like the GD77 buttons SK1 and SK2 have decidated GPIO pins to each button, and the code is originally ported from the GD77 code
At the moment I think the functions of SK3 and SK2 will function as SK1 and SK2 (i.e reversed) but button SK1 on the 1701 will probably do nothing at the moment.
Also FYI. Because the UV380 code is a version of the MD9600 code, there is a separate definition for FRONT_PANEL UP and DOWN to Microphone Up and Down
In the case of the UV380 we are using FRONT_PANEL Up / Down events for the keys on the radio.