]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
Use serial_uart.c instead of x68k.c now
authortmk <nobody@nowhere>
Fri, 21 Jun 2013 12:48:18 +0000 (21:48 +0900)
committertmk <nobody@nowhere>
Fri, 21 Jun 2013 17:33:08 +0000 (02:33 +0900)
converter/x68k_usb/Makefile
converter/x68k_usb/config_pjrc.h
converter/x68k_usb/led.c
converter/x68k_usb/matrix.c
protocol/x68k.c [deleted file]
protocol/x68k.h [deleted file]

index fd66ed563b1fc8441bf19220d72e2c4e33cdd9b6..948622c7c8697a2b407ec380f6bc305b3325c378 100644 (file)
@@ -16,8 +16,7 @@ TARGET_DIR = .
 SRC =  keymap.c \
        matrix.c \
        led.c \
-       protocol/x68k.c
-#      protocol/serial_uart.c
+       protocol/serial_uart.c
 
 CONFIG_H = config_pjrc.h
 
index dd277cff18bf0ea32769dce073f7db5c27615e5a..c49b4a73e1de9446ec38b59f4304ca3c0ff8714e 100644 (file)
@@ -34,7 +34,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* key combination for command */
 #define IS_COMMAND() ( \
     keyboard_report->mods == (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) || \
-    keyboard_report->mods == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \
+    keyboard_report->mods == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \
+    keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) \
 )
 
 /* legacy keymap support */
@@ -45,17 +46,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *     asynchronous, 2400baud, 8-data bit, non parity, 1-stop bit, no flow control
  */
 #ifdef __AVR_ATmega32U4__
-#   define KBD_RX_VECT        USART1_RX_vect
-#   define KBD_RX_DATA        UDR1
-#   define KBD_RX_BAUD        2400
-#   define KBD_RX_UBBR        ((F_CPU/(16UL*KBD_RX_BAUD))-1)
-#   define KBD_RX_INIT()      do { \
-        UBRR1L = (uint8_t) KBD_RX_UBBR; \
-        UBRR1H = (uint8_t) (KBD_RX_UBBR>>8); \
-        UCSR1B |= (1<<RXCIE1) | (1<<RXEN1) | (1<<TXEN1); \
-    } while(0)
-
-
     #define SERIAL_UART_BAUD       2400
     #define SERIAL_UART_DATA       UDR1
     #define SERIAL_UART_UBRR       ((F_CPU/(16UL*SERIAL_UART_BAUD))-1)
@@ -66,8 +56,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
         UBRR1H = (uint8_t) (SERIAL_UART_UBRR>>8);  /* baud rate */ \
         UCSR1B = (1<<RXCIE1) | (1<<RXEN1) | /* RX: interrupt, RX: enable */ \
                  (1<<TXEN1);                /* TX: enable */ \
-        UCSR1C = (1<<UPM11) | (1<<UPM10) | /* parity: none(00), even(01), odd(11) */ \
-                 (0<<UCSZ12) | (1<<UCSZ11) | (1<<UCSZ10); /* 8bit-data(011) */ \
+        UCSR1C = (0<<UPM11) | (0<<UPM10) | /* parity: none(00), even(01), odd(11) */ \
+                 (0<<UCSZ12) | (1<<UCSZ11) | (1<<UCSZ10); /* data-8bit(011) */ \
         sei(); \
     } while(0)
 #else
index a1c1d546ece44048d700ac124ce593a0e05d3c8c..ccc38699c76bcffdfe31c42cc31c981a679aefc2 100644 (file)
@@ -19,7 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "serial.h"
 #include "led.h"
 #include "debug.h"
-#include "x68k.h"
 
 
 void led_set(uint8_t usb_led)
@@ -35,12 +34,10 @@ void led_set(uint8_t usb_led)
      * bit 0   かな
      */
     uint8_t led = 0xFF;
-    xprintf("usb_led: %02X\n", usb_led);
     if (usb_led&(1<<USB_LED_NUM_LOCK))      led &= ~(1<<2);
     if (usb_led&(1<<USB_LED_CAPS_LOCK))     led &= ~(1<<3);
     if (usb_led&(1<<USB_LED_SCROLL_LOCK))   led &= ~(1<<1);
     if (usb_led&(1<<USB_LED_COMPOSE))       led &= ~(1<<4);
     if (usb_led&(1<<USB_LED_KANA))          led &= ~(1<<0);
-    xprintf("led: %02X\n", led);
-    x68k_send(led);
+    serial_send(led);
 }
index 954e7ef12921366fb535eb0bc7817e8f18f8e9be..2d5a1e1169d3b38ef1d7af4c91c614fd295b8920 100644 (file)
@@ -21,8 +21,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include <util/delay.h>
 #include "print.h"
 #include "util.h"
-#include "x68k.h"
+#include "serial.h"
 #include "matrix.h"
+#include "debug.h"
 
 
 /*
@@ -63,7 +64,7 @@ uint8_t matrix_cols(void)
 
 void matrix_init(void)
 {
-    x68k_init();
+    serial_init();
 
     // initialize matrix state: all keys off
     for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
@@ -75,13 +76,13 @@ uint8_t matrix_scan(void)
 {
     is_modified = false;
 
-    uint8_t code;
-    code = x68k_recv();
-    if (code == 0) {
+    uint16_t code;
+    code = serial_recv2();
+    if (code == -1) {
         return 0;
     }
 
-    phex(code); print(" ");
+    dprintf("%02X\n", code);
     if (code&0x80) {
         // break code
         if (matrix_is_on(ROW(code), COL(code))) {
diff --git a/protocol/x68k.c b/protocol/x68k.c
deleted file mode 100644 (file)
index b54e3d9..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-Copyright 2012 Jun WAKO <wakojun@gmail.com>
-
-This software is licensed with a Modified BSD License.
-All of this is supposed to be Free Software, Open Source, DFSG-free,
-GPL-compatible, and OK to use in both free and proprietary applications.
-Additions and corrections to this file are welcome.
-
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in
-  the documentation and/or other materials provided with the
-  distribution.
-
-* Neither the name of the copyright holders nor the names of
-  contributors may be used to endorse or promote products derived
-  from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <stdbool.h>
-#include <avr/io.h>
-#include <avr/interrupt.h>
-#include "x68k.h"
-
-
-void x68k_init(void)
-{
-    KBD_RX_INIT();
-}
-
-// RX ring buffer
-#define RBUF_SIZE   8
-static uint8_t rbuf[RBUF_SIZE];
-static uint8_t rbuf_head = 0;
-static uint8_t rbuf_tail = 0;
-
-uint8_t x68k_recv(void)
-{
-    uint8_t data = 0;
-    if (rbuf_head == rbuf_tail) {
-        return 0;
-    }
-
-    data = rbuf[rbuf_tail];
-    rbuf_tail = (rbuf_tail + 1) % RBUF_SIZE;
-    return data;
-}
-
-void x68k_send(uint8_t d)
-{
-    while (!(UCSR1A&(1<<UDRE1)));
-    UDR1 = d;
-}
-
-// USART RX complete interrupt
-ISR(KBD_RX_VECT)
-{
-    uint8_t next = (rbuf_head + 1) % RBUF_SIZE;
-    if (next != rbuf_tail) {
-        rbuf[rbuf_head] = KBD_RX_DATA;
-        rbuf_head = next;
-    }
-}
diff --git a/protocol/x68k.h b/protocol/x68k.h
deleted file mode 100644 (file)
index 0d9c7de..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2012 Jun WAKO <wakojun@gmail.com>
-
-This software is licensed with a Modified BSD License.
-All of this is supposed to be Free Software, Open Source, DFSG-free,
-GPL-compatible, and OK to use in both free and proprietary applications.
-Additions and corrections to this file are welcome.
-
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in
-  the documentation and/or other materials provided with the
-  distribution.
-
-* Neither the name of the copyright holders nor the names of
-  contributors may be used to endorse or promote products derived
-  from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef X68K_H
-#define X68K_H
-
-/* host role */
-void x68k_init(void);
-uint8_t x68k_recv(void);
-void x68k_send(uint8_t d);
-
-/* device role */
-
-#endif