summaryrefslogtreecommitdiff
path: root/converter/x68k_usb
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-06-21 21:48:18 +0900
committertmk <nobody@nowhere>2013-06-22 02:33:08 +0900
commitf45f4193f221d3ede706e02fc6b67916f90adf36 (patch)
treeae0eebc099b4867637a1880a2149b62e5d045ecb /converter/x68k_usb
parent42c962412b92a0ab4bd26c95f25867c645064bd6 (diff)
Use serial_uart.c instead of x68k.c now
Diffstat (limited to 'converter/x68k_usb')
-rw-r--r--converter/x68k_usb/Makefile3
-rw-r--r--converter/x68k_usb/config_pjrc.h18
-rw-r--r--converter/x68k_usb/led.c5
-rw-r--r--converter/x68k_usb/matrix.c13
4 files changed, 13 insertions, 26 deletions
diff --git a/converter/x68k_usb/Makefile b/converter/x68k_usb/Makefile
index fd66ed563b..948622c7c8 100644
--- a/converter/x68k_usb/Makefile
+++ b/converter/x68k_usb/Makefile
@@ -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
diff --git a/converter/x68k_usb/config_pjrc.h b/converter/x68k_usb/config_pjrc.h
index dd277cff18..c49b4a73e1 100644
--- a/converter/x68k_usb/config_pjrc.h
+++ b/converter/x68k_usb/config_pjrc.h
@@ -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
diff --git a/converter/x68k_usb/led.c b/converter/x68k_usb/led.c
index a1c1d546ec..ccc38699c7 100644
--- a/converter/x68k_usb/led.c
+++ b/converter/x68k_usb/led.c
@@ -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);
}
diff --git a/converter/x68k_usb/matrix.c b/converter/x68k_usb/matrix.c
index 954e7ef129..2d5a1e1169 100644
--- a/converter/x68k_usb/matrix.c
+++ b/converter/x68k_usb/matrix.c
@@ -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))) {