di0ib 6 years ago
parent
commit
bcd8e2cd90
1 changed files with 24 additions and 21 deletions
  1. 24
    21
      keyboard/5x5x9/matrix.c

+ 24
- 21
keyboard/5x5x9/matrix.c View File

@@ -70,6 +70,9 @@ uint8_t matrix_cols(void)

void matrix_init(void)
{
// disable JTAG SWD
AFIO->MAPR = AFIO_MAPR_SWJ_CFG_DISABLE;

// initialize row and col
unselect_rows();
init_cols();
@@ -144,16 +147,16 @@ static void init_cols(void)
{
palSetPadMode(GPIOB, 11, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 10, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 2, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 0, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 7, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 3, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 2, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 1, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 0, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 2, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 0, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 7, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 4, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 3, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 2, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 1, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOA, 0, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOC, 15, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOC, 14, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOC, 13, PAL_MODE_INPUT_PULLUP);
@@ -174,9 +177,9 @@ static matrix_row_t read_cols(void)
| ((palReadPad(GPIOA, 2)==PAL_HIGH) ? 0 : (1<<9))
| ((palReadPad(GPIOA, 1)==PAL_HIGH) ? 0 : (1<<10))
| ((palReadPad(GPIOA, 0)==PAL_HIGH) ? 0 : (1<<11))
| ((palReadPad(GPIOC, 15)==PAL_HIGH) ? 0 : (1<<12))
| ((palReadPad(GPIOC, 14)==PAL_HIGH) ? 0 : (1<<13))
| ((palReadPad(GPIOC, 13)==PAL_HIGH) ? 0 : (1<<14));
| ((palReadPad(GPIOC, 15)==PAL_HIGH) ? 0 : (1<<12))
| ((palReadPad(GPIOC, 14)==PAL_HIGH) ? 0 : (1<<13))
| ((palReadPad(GPIOC, 13)==PAL_HIGH) ? 0 : (1<<14));
}

/* Row pin configuration
@@ -218,12 +221,12 @@ static void select_row(uint8_t row)
palClearPad(GPIOB, 5);
break;
case 3:
palSetPadMode(GPIOB, 4, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOB, 4);
palSetPadMode(GPIOB, 4, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOB, 4);
break;
case 4:
palSetPadMode(GPIOB, 3, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOB, 3);
palSetPadMode(GPIOB, 3, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOB, 3);
break;
case 5:
palSetPadMode(GPIOA, 15, PAL_MODE_OUTPUT_PUSHPULL);
@@ -242,12 +245,12 @@ static void select_row(uint8_t row)
palClearPad(GPIOA, 10);
break;
case 9:
palSetPadMode(GPIOA, 9, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOA, 9);
palSetPadMode(GPIOA, 9, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOA, 9);
break;
case 10:
palSetPadMode(GPIOA, 8, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOA, 8);
palSetPadMode(GPIOA, 8, PAL_MODE_OUTPUT_PUSHPULL);
palClearPad(GPIOA, 8);
break;
case 11:
palSetPadMode(GPIOB, 15, PAL_MODE_OUTPUT_PUSHPULL);

Loading…
Cancel
Save