瀏覽代碼

brings alps64 up-to-date (needs testing)

Jack Humbert 9 年之前
父節點
當前提交
de57799530

+ 4 - 5
keyboard/alps64/Makefile

@@ -42,14 +42,14 @@
 TARGET = alps64
 TARGET = alps64
 
 
 # Directory common source filess exist
 # Directory common source filess exist
+TOP_DIR = ../..
 TMK_DIR = ../../tmk_core
 TMK_DIR = ../../tmk_core
 
 
 # Directory keyboard dependent files exist
 # Directory keyboard dependent files exist
 TARGET_DIR = .
 TARGET_DIR = .
 
 
 # project specific files
 # project specific files
-SRC =	keymap_common.c \
-	matrix.c \
+SRC =	alps64.c \
 	led.c
 	led.c
 
 
 ifdef KEYMAP
 ifdef KEYMAP
@@ -127,8 +127,7 @@ COMMAND_ENABLE = yes    # Commands for debug and configuration
 
 
 # Search Path
 # Search Path
 VPATH += $(TARGET_DIR)
 VPATH += $(TARGET_DIR)
+VPATH += $(TOP_DIR)
 VPATH += $(TMK_DIR)
 VPATH += $(TMK_DIR)
 
 
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
+include $(TOP_DIR)/quantum/quantum.mk

+ 22 - 9
keyboard/alps64/keymap_common.c → keyboard/alps64/alps64.c

@@ -14,17 +14,30 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 You should have received a copy of the GNU General Public License
 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 "keymap_common.h"
+#include "quantum.h"
 
 
+#define LED_ON()    do { DDRC |= (1<<5); PORTC |= (1<<5); } while (0)
+#define LED_OFF()   do { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } while (0)
+#define LED_TGL()   do { DDRC |= (1<<5); PINC |= (1<<5); } while (0)
 
 
-/* translates key to keycode */
-uint8_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
-{
-    return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]);
+__attribute__ ((weak))
+void matrix_init_user(void) {
+
+}
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {
+
+}
+
+void matrix_init_kb(void) {
+    LED_ON();
+    _delay_ms(500);
+    LED_OFF();
+    
+    matrix_init_user();
 }
 }
 
 
-/* translates Fn keycode to action */
-action_t keymap_fn_to_action(uint8_t keycode)
-{
-    return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) };
+void matrix_scan_kb(void) {
+    matrix_scan_user();
 }
 }

+ 3 - 18
keyboard/alps64/keymap_common.h → keyboard/alps64/alps64.h

@@ -14,25 +14,10 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 */
-#ifndef KEYMAP_COMMON_H
-#define KEYMAP_COMMON_H
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/pgmspace.h>
-#include "keycode.h"
-#include "action.h"
-#include "action_macro.h"
-#include "report.h"
-#include "host.h"
-#include "print.h"
-#include "debug.h"
-#include "keymap.h"
-
-
-extern const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
-extern const uint16_t fn_actions[];
+#ifndef ALPS64_H
+#define ALPS64_H
 
 
+#include "quantum.h"
 
 
 /* Alps64 keymap definition macro */
 /* Alps64 keymap definition macro */
 #define KEYMAP( \
 #define KEYMAP( \

+ 5 - 0
keyboard/alps64/config.h

@@ -18,6 +18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef CONFIG_H
 #ifndef CONFIG_H
 #define CONFIG_H
 #define CONFIG_H
 
 
+#include "config_common.h"
 
 
 /* USB Device descriptor parameter */
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xFEED
 #define VENDOR_ID       0xFEED
@@ -31,6 +32,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROWS 8
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 8
 #define MATRIX_COLS 8
 
 
+#define MATRIX_COL_PINS {  B0, B1, B2, B3, B4, B5, B6, B7 }
+#define MATRIX_ROW_PINS {  D0, D1, D2, D3, D4, D5, D6, C2 }
+#define UNUSED_PINS
+
 /* define if matrix has ghost */
 /* define if matrix has ghost */
 //#define MATRIX_HAS_GHOST
 //#define MATRIX_HAS_GHOST
 
 

+ 2 - 2
keyboard/alps64/keymaps/default.c

@@ -1,6 +1,6 @@
-#include "keymap_common.h"
+#include "alps64.h"
 
 
-const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* 0: qwerty */
     /* 0: qwerty */
     KEYMAP( \
     KEYMAP( \
         GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, NUHS, BSPC, \
         GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, NUHS, BSPC, \

+ 2 - 2
keyboard/alps64/keymaps/hasu.c

@@ -1,9 +1,9 @@
-#include "keymap_common.h"
+#include "alps64.h"
 
 
 /*
 /*
  * Hasu
  * Hasu
  */
  */
-const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Default Layer
     /* Default Layer
      * ,-----------------------------------------------------------.
      * ,-----------------------------------------------------------.
      * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|   \   |
      * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|   \   |

+ 1 - 4
keyboard/alps64/matrix.c

@@ -55,10 +55,6 @@ uint8_t matrix_cols(void)
     return MATRIX_COLS;
     return MATRIX_COLS;
 }
 }
 
 
-#define LED_ON()    do { DDRC |= (1<<5); PORTC |= (1<<5); } while (0)
-#define LED_OFF()   do { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } while (0)
-#define LED_TGL()   do { DDRC |= (1<<5); PINC |= (1<<5); } while (0)
-
 void matrix_init(void)
 void matrix_init(void)
 {
 {
     // initialize row and col
     // initialize row and col
@@ -160,6 +156,7 @@ static void unselect_rows(void)
     PORTC &= ~0b00000100;
     PORTC &= ~0b00000100;
 }
 }
 
 
+
 static void select_row(uint8_t row)
 static void select_row(uint8_t row)
 {
 {
     // Output low(DDR:1, PORT:0) to select
     // Output low(DDR:1, PORT:0) to select

+ 4 - 2
quantum/matrix.c

@@ -68,8 +68,10 @@ uint8_t matrix_cols(void) {
 
 
 void matrix_init(void) {
 void matrix_init(void) {
     /* frees PORTF by setting the JTD bit twice within four cycles */
     /* frees PORTF by setting the JTD bit twice within four cycles */
-    MCUCR |= _BV(JTD);
-    MCUCR |= _BV(JTD);
+    #ifdef __AVR_ATmega32U4__
+        MCUCR |= _BV(JTD);
+        MCUCR |= _BV(JTD);
+    #endif
     /* initializes the I/O pins */
     /* initializes the I/O pins */
 #if DIODE_DIRECTION == COL2ROW
 #if DIODE_DIRECTION == COL2ROW
     for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
     for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {

+ 1 - 0
quantum/quantum.h

@@ -23,6 +23,7 @@
 #include "eeconfig.h"
 #include "eeconfig.h"
 #include <stddef.h>
 #include <stddef.h>
 #include <avr/io.h>
 #include <avr/io.h>
+#include <util/delay.h>
 
 
 extern uint32_t default_layer_state;
 extern uint32_t default_layer_state;