From 97ee1be59da06063275d315d1ea5fa4f14eee6b0 Mon Sep 17 00:00:00 2001 From: tmk Date: Thu, 18 Oct 2012 10:41:37 +0900 Subject: Add Sun converter initial files. --- converter/sun_usb/config.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 converter/sun_usb/config.h (limited to 'converter/sun_usb/config.h') diff --git a/converter/sun_usb/config.h b/converter/sun_usb/config.h new file mode 100644 index 0000000000..f5b0758ca4 --- /dev/null +++ b/converter/sun_usb/config.h @@ -0,0 +1,61 @@ +/* +Copyright 2012 Jun Wako + +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 +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +/* controller configuration */ +#include "controller_teensy.h" + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x3333 +#define MANUFACTURER t.m.k. +#define PRODUCT Sun keyboard converter +#define DESCRIPTION converts Sun keyboard protocol into USB + + +/* matrix size */ +#define MATRIX_ROWS 16 +#define MATRIX_COLS 8 + + +/* 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)) \ +) + + +/* Serial(USART) configuration + * asynchronous, negative logic, 1200baud, no flow control + * 1-start bit, 8-data bit, non parity, 1-stop bit + */ +#ifdef __AVR_ATmega32U4__ +# define SERIAL_RX_VECT USART1_RX_vect +# define SERIAL_RX_DATA UDR1 +# define SERIAL_RX_BAUD 1200 +# define SERIAL_RX_UBBR ((F_CPU/(16UL*SERIAL_RX_BAUD))-1) +# define SERIAL_RX_INIT() do { \ + UBRR1L = (uint8_t) SERIAL_RX_UBBR; \ + UBRR1H = (uint8_t) (SERIAL_RX_UBBR>>8); \ + UCSR1B |= (1< Date: Fri, 19 Oct 2012 14:06:18 +0900 Subject: Use software serial for Sun. --- converter/sun_usb/config.h | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'converter/sun_usb/config.h') diff --git a/converter/sun_usb/config.h b/converter/sun_usb/config.h index f5b0758ca4..66961d9330 100644 --- a/converter/sun_usb/config.h +++ b/converter/sun_usb/config.h @@ -18,11 +18,9 @@ along with this program. If not, see . #ifndef CONFIG_H #define CONFIG_H -/* controller configuration */ -#include "controller_teensy.h" - #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x3333 +#define DEVICE_VER 0x0100 #define MANUFACTURER t.m.k. #define PRODUCT Sun keyboard converter #define DESCRIPTION converts Sun keyboard protocol into USB @@ -36,7 +34,8 @@ along with this program. If not, see . /* 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_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) @@ -44,18 +43,25 @@ along with this program. If not, see . * asynchronous, negative logic, 1200baud, no flow control * 1-start bit, 8-data bit, non parity, 1-stop bit */ -#ifdef __AVR_ATmega32U4__ -# define SERIAL_RX_VECT USART1_RX_vect -# define SERIAL_RX_DATA UDR1 -# define SERIAL_RX_BAUD 1200 -# define SERIAL_RX_UBBR ((F_CPU/(16UL*SERIAL_RX_BAUD))-1) -# define SERIAL_RX_INIT() do { \ - UBRR1L = (uint8_t) SERIAL_RX_UBBR; \ - UBRR1H = (uint8_t) (SERIAL_RX_UBBR>>8); \ - UCSR1B |= (1<