0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-06-19 06:39:49 +03:00

Fixed button/ptt being ignored, re-wrote a keyboard function as well.

This commit is contained in:
OneOfEleven
2023-10-09 22:49:29 +01:00
parent fe77e62fe0
commit c76891be6d
19 changed files with 387 additions and 359 deletions

View File

@ -22,10 +22,17 @@
#include "driver/i2c.h"
#include "misc.h"
key_code_t g_key_reading_0 = KEY_INVALID;
key_code_t g_key_reading_1 = KEY_INVALID;
uint16_t g_debounce_counter = 0;
bool g_f_key_was_pressed = false;
uint8_t g_ptt_debounce;
uint8_t g_key_debounce_press;
uint8_t g_key_debounce_repeat;
key_code_t g_key_prev = KEY_INVALID;
bool g_key_held;
bool g_fkey_pressed;
bool g_ptt_is_pressed;
bool g_ptt_was_released;
bool g_ptt_was_pressed;
uint8_t g_keypad_locked;
static const struct {
@ -96,9 +103,6 @@ key_code_t KEYBOARD_Poll(void)
{
key_code_t Key = KEY_INVALID;
// if (!GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_PTT))
// return KEY_PTT;
// *****************
for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++)

View File

@ -22,33 +22,41 @@
#include <stdint.h>
enum key_code_e {
KEY_0 = 0, // 0
KEY_1, // 1
KEY_2, // 2
KEY_3, // 3
KEY_4, // 4
KEY_5, // 5
KEY_6, // 6
KEY_7, // 7
KEY_8, // 8
KEY_9, // 9
KEY_MENU, // A
KEY_UP, // B
KEY_DOWN, // C
KEY_EXIT, // D
KEY_STAR, // *
KEY_F, // #
KEY_INVALID = 0,
KEY_0, // DTMF 0
KEY_1, // DTMF 1
KEY_2, // DTMF 2
KEY_3, // DTMF 3
KEY_4, // DTMF 4
KEY_5, // DTMF 5
KEY_6, // DTMF 6
KEY_7, // DTMF 7
KEY_8, // DTMF 8
KEY_9, // DTMF 9
KEY_MENU, // DTMF A
KEY_UP, // DTMF B
KEY_DOWN, // DTMF C
KEY_EXIT, // DTMF D
KEY_STAR, // DTMF *
KEY_F, // DTMF #
KEY_PTT, //
KEY_SIDE2, //
KEY_SIDE1, //
KEY_INVALID //
// KEY_INVALID //
};
typedef enum key_code_e key_code_t;
extern key_code_t g_key_reading_0;
extern key_code_t g_key_reading_1;
extern uint16_t g_debounce_counter;
extern bool g_f_key_was_pressed;
extern uint8_t g_ptt_debounce;
extern uint8_t g_key_debounce_press;
extern uint8_t g_key_debounce_repeat;
extern key_code_t g_key_prev;
extern bool g_key_held;
extern bool g_fkey_pressed;
extern bool g_ptt_is_pressed;
extern bool g_ptt_was_released;
extern bool g_ptt_was_pressed;
extern uint8_t g_keypad_locked;
key_code_t KEYBOARD_Poll(void);