working backlight support, need to figure out why BACKLIGHT_ENABLE crashes.

clueboard_arm
skullY 8 years ago
parent 31782fa961
commit 21ca52fdea

@ -1,4 +1,4 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME /* Copyright 2017 skully <skullydazed@gmail.com>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -14,45 +14,39 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "simontester.h" #include "simontester.h"
#include "printf.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP( [0] = KEYMAP(
KC_1, F(2), \ KC_1, KC_2, \
F(0), F(1) \ F(0), F(1) \
), ),
}; };
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_FUNCTION(0),
[1] = ACTION_FUNCTION(1),
};
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static bool backlight; if (!record->event.pressed) {
return;
}
switch (id) { switch (id) {
case 0: case 0:
print("Turning backlight off.\n");
palSetPad(GPIOA, 6); palSetPad(GPIOA, 6);
palSetPad(GPIOA, 3); palSetPad(GPIOA, 3);
palSetPad(GPIOA, 15); palSetPad(GPIOA, 15);
palSetPad(GPIOB, 5); palSetPad(GPIOB, 5);
backlight = false;
break; break;
case 1: case 1:
print("Turning backlight on.\n");
palClearPad(GPIOA, 6); palClearPad(GPIOA, 6);
palClearPad(GPIOA, 3); palClearPad(GPIOA, 3);
palClearPad(GPIOA, 15); palClearPad(GPIOA, 15);
palClearPad(GPIOB, 5); palClearPad(GPIOB, 5);
backlight = true;
break; break;
case 2:
if (backlight) {
palSetPad(GPIOA, 6);
palSetPad(GPIOA, 3);
palSetPad(GPIOA, 15);
palSetPad(GPIOB, 5);
backlight = false;
} else {
palClearPad(GPIOA, 6);
palClearPad(GPIOA, 3);
palClearPad(GPIOA, 15);
palClearPad(GPIOB, 5);
backlight = true;
}
} }
} }

@ -18,10 +18,10 @@
#include "hal.h" #include "hal.h"
#include "backlight.h" #include "backlight.h"
#include "led.h" #include "led.h"
#include "print.h" #include "printf.h"
void backlight_init_ports(void) { void backlight_init_ports(void) {
print("backlight_init_ports()\n"); printf("backlight_init_ports()\n");
/* /*
palSetPadMode(GPIOA, 6, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(GPIOA, 6, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOA, 3, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(GPIOA, 3, PAL_MODE_OUTPUT_PUSHPULL);

@ -4,7 +4,7 @@
#include "hal.h" #include "hal.h"
#include "timer.h" #include "timer.h"
#include "wait.h" #include "wait.h"
#include "print.h" #include "printf.h"
#include "backlight.h" #include "backlight.h"
#include "matrix.h" #include "matrix.h"
@ -26,6 +26,7 @@ static uint16_t debouncing_time = 0;
void matrix_init(void) { void matrix_init(void) {
printf("matrix init\n");
//debug_matrix = true; //debug_matrix = true;
/* Column(sense) */ /* Column(sense) */
@ -44,18 +45,16 @@ void matrix_init(void) {
memset(matrix_debouncing, 0, MATRIX_ROWS); memset(matrix_debouncing, 0, MATRIX_ROWS);
/* Setup the backlight */ /* Setup the backlight */
/*
palSetPadMode(GPIOA, 6, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(GPIOA, 6, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOA, 3, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(GPIOA, 3, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOA, 15, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(GPIOA, 15, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOB, 5, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(GPIOB, 5, PAL_MODE_OUTPUT_PUSHPULL);
// Set them high to turn off the LEDs // Set them high to turn off the LEDs
palSetPad(GPIOA, 6); palClearPad(GPIOA, 6);
palSetPad(GPIOA, 3); palSetPad(GPIOA, 3);
palSetPad(GPIOA, 15); palSetPad(GPIOA, 15);
palSetPad(GPIOB, 5); palSetPad(GPIOB, 5);
*/
} }
uint8_t matrix_scan(void) { uint8_t matrix_scan(void) {
@ -77,6 +76,7 @@ uint8_t matrix_scan(void) {
matrix[0] = matrix_debouncing[0]; matrix[0] = matrix_debouncing[0];
debouncing = false; debouncing = false;
} }
return 1; return 1;
} }
@ -89,16 +89,16 @@ matrix_row_t matrix_get_row(uint8_t row) {
} }
void matrix_print(void) { void matrix_print(void) {
xprintf("\nr/c 01234567\n"); printf("\nr/c 01234567\n");
for (uint8_t row = 0; row < MATRIX_ROWS; row++) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
xprintf("%X0: ", row); printf("%X0: ", row);
matrix_row_t data = matrix_get_row(row); matrix_row_t data = matrix_get_row(row);
for (int col = 0; col < MATRIX_COLS; col++) { for (int col = 0; col < MATRIX_COLS; col++) {
if (data & (1<<col)) if (data & (1<<col))
xprintf("1"); printf("1");
else else
xprintf("0"); printf("0");
} }
xprintf("\n"); printf("\n");
} }
} }

Loading…
Cancel
Save