fixed adb_usb to comply new API.
This commit is contained in:
		
							parent
							
								
									fb8d23c60c
								
							
						
					
					
						commit
						c958b2d19b
					
				
							
								
								
									
										82
									
								
								adb/Makefile
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								adb/Makefile
									
									
									
									
									
								
							@ -1,82 +0,0 @@
 | 
				
			|||||||
# Hey Emacs, this is a -*- makefile -*-
 | 
					 | 
				
			||||||
#----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
# WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Released to the Public Domain
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Additional material for this makefile was written by:
 | 
					 | 
				
			||||||
# Peter Fleury
 | 
					 | 
				
			||||||
# Tim Henigan
 | 
					 | 
				
			||||||
# Colin O'Flynn
 | 
					 | 
				
			||||||
# Reiner Patommel
 | 
					 | 
				
			||||||
# Markus Pfaff
 | 
					 | 
				
			||||||
# Sander Pool
 | 
					 | 
				
			||||||
# Frederik Rouleau
 | 
					 | 
				
			||||||
# Carlos Lamas
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
# On command line:
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make all = Make software.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make clean = Clean out built project files.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make coff = Convert ELF to AVR COFF.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make extcoff = Convert ELF to AVR Extended COFF.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make program = Download the hex file to the device, using avrdude.
 | 
					 | 
				
			||||||
#                Please customize the avrdude settings below first!
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make debug = Start either simulavr or avarice as specified for debugging, 
 | 
					 | 
				
			||||||
#              with avr-gdb or avr-insight as the front end for debugging.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make filename.s = Just compile filename.c into the assembler code only.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make filename.i = Create a preprocessed source file for use in submitting
 | 
					 | 
				
			||||||
#                   bug reports to the GCC project.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# To rebuild project do "make clean" then "make all".
 | 
					 | 
				
			||||||
#----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Target file name (without extension).
 | 
					 | 
				
			||||||
TARGET = tmk_adb
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Directory common source filess exist
 | 
					 | 
				
			||||||
COMMON_DIR = ..
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Directory keyboard dependent files exist
 | 
					 | 
				
			||||||
TARGET_DIR = .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# keyboard dependent files
 | 
					 | 
				
			||||||
TARGET_SRC =	keymap.c \
 | 
					 | 
				
			||||||
  	        matrix.c \
 | 
					 | 
				
			||||||
		adb.c
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# MCU name, you MUST set this to match the board you are using
 | 
					 | 
				
			||||||
# type "make clean" after changing this, so all files will be rebuilt
 | 
					 | 
				
			||||||
#MCU = at90usb162       # Teensy 1.0
 | 
					 | 
				
			||||||
MCU = atmega32u4       # Teensy 2.0
 | 
					 | 
				
			||||||
#MCU = at90usb646       # Teensy++ 1.0
 | 
					 | 
				
			||||||
#MCU = at90usb1286      # Teensy++ 2.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Processor frequency.
 | 
					 | 
				
			||||||
#   Normally the first thing your program should do is set the clock prescaler,
 | 
					 | 
				
			||||||
#   so your program will run at the correct speed.  You should also set this
 | 
					 | 
				
			||||||
#   variable to same clock speed.  The _delay_ms() macro uses this, and many
 | 
					 | 
				
			||||||
#   examples use this variable to calculate timings.  Do not add a "UL" here.
 | 
					 | 
				
			||||||
F_CPU = 16000000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Build Options
 | 
					 | 
				
			||||||
#   comment out to disable the options.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = yes	# Mouse keys
 | 
					 | 
				
			||||||
#PS2_MOUSE_ENABLE = yes	# PS/2 mouse(TrackPoint) support
 | 
					 | 
				
			||||||
USB_EXTRA_ENABLE = yes	# Enhanced feature for Windows(Audio control and System control)
 | 
					 | 
				
			||||||
#USB_NKRO_ENABLE = yes	# USB Nkey Rollover
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
include $(COMMON_DIR)/Makefile.common
 | 
					 | 
				
			||||||
							
								
								
									
										52
									
								
								adb_usb/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								adb_usb/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					# Target file name (without extension).
 | 
				
			||||||
 | 
					TARGET = adb_usb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Directory common source filess exist
 | 
				
			||||||
 | 
					COMMON_DIR = ..
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Directory keyboard dependent files exist
 | 
				
			||||||
 | 
					TARGET_DIR = .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# keyboard dependent files
 | 
				
			||||||
 | 
					TARGET_SRC =	main_pjrc.c \
 | 
				
			||||||
 | 
							keymap.c \
 | 
				
			||||||
 | 
					  	        matrix.c \
 | 
				
			||||||
 | 
							led.c \
 | 
				
			||||||
 | 
							adb.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CONFIG_H = config.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MCU name, you MUST set this to match the board you are using
 | 
				
			||||||
 | 
					# type "make clean" after changing this, so all files will be rebuilt
 | 
				
			||||||
 | 
					#MCU = at90usb162       # Teensy 1.0
 | 
				
			||||||
 | 
					MCU = atmega32u4       # Teensy 2.0
 | 
				
			||||||
 | 
					#MCU = at90usb646       # Teensy++ 1.0
 | 
				
			||||||
 | 
					#MCU = at90usb1286      # Teensy++ 2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Processor frequency.
 | 
				
			||||||
 | 
					#   Normally the first thing your program should do is set the clock prescaler,
 | 
				
			||||||
 | 
					#   so your program will run at the correct speed.  You should also set this
 | 
				
			||||||
 | 
					#   variable to same clock speed.  The _delay_ms() macro uses this, and many
 | 
				
			||||||
 | 
					#   examples use this variable to calculate timings.  Do not add a "UL" here.
 | 
				
			||||||
 | 
					F_CPU = 16000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   comment out to disable the options.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = yes	# Mouse keys
 | 
				
			||||||
 | 
					#PS2_MOUSE_ENABLE = yes	# PS/2 mouse(TrackPoint) support
 | 
				
			||||||
 | 
					USB_EXTRA_ENABLE = yes	# Enhanced feature for Windows(Audio control and System control)
 | 
				
			||||||
 | 
					#USB_NKRO_ENABLE = yes	# USB Nkey Rollover
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#---------------- Programming Options --------------------------
 | 
				
			||||||
 | 
					PROGRAM_CMD = teensy_loader_cli.exe -mmcu=$(MCU) -w -v $(TARGET).hex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(COMMON_DIR)/Makefile.pjrc
 | 
				
			||||||
 | 
					include $(COMMON_DIR)/Makefile.common
 | 
				
			||||||
@ -13,18 +13,21 @@
 | 
				
			|||||||
/* matrix size */
 | 
					/* matrix size */
 | 
				
			||||||
#define MATRIX_ROWS 16  // keycode bit: 3-0
 | 
					#define MATRIX_ROWS 16  // keycode bit: 3-0
 | 
				
			||||||
#define MATRIX_COLS 8   // keycode bit: 6-4
 | 
					#define MATRIX_COLS 8   // keycode bit: 6-4
 | 
				
			||||||
/* define if matrix has ghost */
 | 
					 | 
				
			||||||
//#define MATRIX_HAS_GHOST
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* USB NKey Rollover */
 | 
					
 | 
				
			||||||
#ifdef USB_NKRO_ENABLE
 | 
					/* key combination for command */
 | 
				
			||||||
#endif
 | 
					#define IS_COMMAND() ( \
 | 
				
			||||||
 | 
					    keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \
 | 
				
			||||||
 | 
					    keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* mouse keys */
 | 
					/* mouse keys */
 | 
				
			||||||
#ifdef MOUSEKEY_ENABLE
 | 
					#ifdef MOUSEKEY_ENABLE
 | 
				
			||||||
#   define MOUSEKEY_DELAY_TIME 192
 | 
					#   define MOUSEKEY_DELAY_TIME 192
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PS/2 mouse */
 | 
					/* PS/2 mouse */
 | 
				
			||||||
#ifdef PS2_MOUSE_ENABLE
 | 
					#ifdef PS2_MOUSE_ENABLE
 | 
				
			||||||
#   define PS2_CLOCK_PORT  PORTF
 | 
					#   define PS2_CLOCK_PORT  PORTF
 | 
				
			||||||
@ -37,6 +40,7 @@
 | 
				
			|||||||
#   define PS2_DATA_BIT    1
 | 
					#   define PS2_DATA_BIT    1
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ADB port setting */
 | 
					/* ADB port setting */
 | 
				
			||||||
#define ADB_PORT        PORTF
 | 
					#define ADB_PORT        PORTF
 | 
				
			||||||
#define ADB_PIN         PINF
 | 
					#define ADB_PIN         PINF
 | 
				
			||||||
@ -9,7 +9,7 @@
 | 
				
			|||||||
#include "print.h"
 | 
					#include "print.h"
 | 
				
			||||||
#include "debug.h"
 | 
					#include "debug.h"
 | 
				
			||||||
#include "util.h"
 | 
					#include "util.h"
 | 
				
			||||||
#include "keymap_skel.h"
 | 
					#include "keymap.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)]))
 | 
					#define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)]))
 | 
				
			||||||
@ -131,10 +131,3 @@ uint8_t keymap_fn_keycode(uint8_t fn_bits)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    return pgm_read_byte(&fn_keycode[(biton(fn_bits))]);
 | 
					    return pgm_read_byte(&fn_keycode[(biton(fn_bits))]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// define a condition to enter special function mode
 | 
					 | 
				
			||||||
bool keymap_is_special_mode(uint8_t fn_bits)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    //return (usb_keyboard_mods == (BIT_LCTRL | BIT_LSHIFT | BIT_LALT | BIT_LGUI));
 | 
					 | 
				
			||||||
    return (usb_keyboard_mods == (BIT_RSHIFT));
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										9
									
								
								adb_usb/led.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								adb_usb/led.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#include "stdint.h"
 | 
				
			||||||
 | 
					#include "adb.h"
 | 
				
			||||||
 | 
					#include "led.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void led_set(uint8_t usb_led)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    adb_host_kbd_led(~usb_led);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -9,8 +9,7 @@
 | 
				
			|||||||
#include "util.h"
 | 
					#include "util.h"
 | 
				
			||||||
#include "debug.h"
 | 
					#include "debug.h"
 | 
				
			||||||
#include "adb.h"
 | 
					#include "adb.h"
 | 
				
			||||||
#include "usb_keyboard.h"
 | 
					#include "matrix.h"
 | 
				
			||||||
#include "matrix_skel.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if (MATRIX_COLS > 16)
 | 
					#if (MATRIX_COLS > 16)
 | 
				
			||||||
@ -72,12 +71,6 @@ uint8_t matrix_scan(void)
 | 
				
			|||||||
    uint16_t codes;
 | 
					    uint16_t codes;
 | 
				
			||||||
    uint8_t key0, key1;
 | 
					    uint8_t key0, key1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static uint8_t prev_led = 0;
 | 
					 | 
				
			||||||
    if (prev_led != usb_keyboard_leds) {
 | 
					 | 
				
			||||||
        adb_host_kbd_led(~usb_keyboard_leds);
 | 
					 | 
				
			||||||
        prev_led = usb_keyboard_leds;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    _matrix_is_modified = false;
 | 
					    _matrix_is_modified = false;
 | 
				
			||||||
    codes = adb_host_kbd_recv();
 | 
					    codes = adb_host_kbd_recv();
 | 
				
			||||||
    key0 = codes>>8;
 | 
					    key0 = codes>>8;
 | 
				
			||||||
@ -81,8 +81,12 @@ static inline int8_t send_report(report_keyboard_t *report, uint8_t endpoint, ui
 | 
				
			|||||||
            UENUM = endpoint;
 | 
					            UENUM = endpoint;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    UEDATX = report->mods;
 | 
					    UEDATX = report->mods;
 | 
				
			||||||
 | 
					#ifdef USB_NKRO_ENABLE
 | 
				
			||||||
    if (!keyboard_nkro)
 | 
					    if (!keyboard_nkro)
 | 
				
			||||||
        UEDATX = 0;
 | 
					        UEDATX = 0;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    UEDATX = 0;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
    for (uint8_t i = keys_start; i < keys_end; i++) {
 | 
					    for (uint8_t i = keys_start; i < keys_end; i++) {
 | 
				
			||||||
            UEDATX = report->keys[i];
 | 
					            UEDATX = report->keys[i];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user