Fix common files for mbed
This commit is contained in:
parent
ee70fe59ee
commit
e81c70149e
23 changed files with 323 additions and 110 deletions
|
@ -18,6 +18,8 @@ OBJECTS = \
|
|||
$(OBJDIR)/./mbed_driver.o \
|
||||
$(OBJDIR)/./main.o
|
||||
|
||||
CONFIG_H = config.h
|
||||
|
||||
SYS_OBJECTS =
|
||||
|
||||
INCLUDE_PATHS = -I.
|
||||
|
@ -25,6 +27,12 @@ INCLUDE_PATHS = -I.
|
|||
LIBRARY_PATHS =
|
||||
LIBRARIES =
|
||||
|
||||
# Build Options
|
||||
# Comment out to disable
|
||||
#BOOTMAGIC_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes
|
||||
|
||||
|
||||
include mbed.mk
|
||||
include common.mk
|
||||
include gcc.mk
|
||||
|
|
|
@ -1,21 +1,79 @@
|
|||
COMMON_DIR = common
|
||||
OBJECTS += \
|
||||
$(OBJDIR)/$(COMMON_DIR)/mbed/timer.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/mbed/xprintf.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/action.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/action_tapping.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/action_macro.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/action_layer.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/action_util.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/host.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/keymap.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/keyboard.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/util.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/mbed/suspend.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/mbed/timer.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/mbed/xprintf.o \
|
||||
$(OBJDIR)/$(COMMON_DIR)/mbed/bootloader.o \
|
||||
|
||||
INCLUDE_PATHS += \
|
||||
-I$(TMK_DIR)/$(COMMON_DIR)
|
||||
|
||||
CC_FLAGS += -include $(CONFIG_H)
|
||||
|
||||
|
||||
|
||||
# $(OBJDIR)/$(COMMON_DIR)/keyboard.o \
|
||||
# $(OBJDIR)/$(COMMON_DIR)/keymap.o \
|
||||
# $(OBJDIR)/$(COMMON_DIR)/bootloader.o \
|
||||
# $(OBJDIR)/$(COMMON_DIR)/suspend.o \
|
||||
# Option modules
|
||||
ifdef BOOTMAGIC_ENABLE
|
||||
$(error Not Supported)
|
||||
OBJECTS += $(OBJDIR)/$(COMMON_DIR)/bootmagic.o
|
||||
OBJECTS += $(OBJDIR)/$(COMMON_DIR)/mbed/eeprom.o
|
||||
OPT_DEFS += -DBOOTMAGIC_ENABLE
|
||||
endif
|
||||
|
||||
ifdef MOUSEKEY_ENABLE
|
||||
OBJECTS += $(OBJDIR)/$(COMMON_DIR)/mousekey.o
|
||||
OPT_DEFS += -DMOUSEKEY_ENABLE
|
||||
OPT_DEFS += -DMOUSE_ENABLE
|
||||
endif
|
||||
|
||||
ifdef EXTRAKEY_ENABLE
|
||||
$(error Not Supported)
|
||||
OPT_DEFS += -DEXTRAKEY_ENABLE
|
||||
endif
|
||||
|
||||
ifdef CONSOLE_ENABLE
|
||||
$(error Not Supported)
|
||||
OPT_DEFS += -DCONSOLE_ENABLE
|
||||
else
|
||||
OPT_DEFS += -DNO_PRINT
|
||||
OPT_DEFS += -DNO_DEBUG
|
||||
endif
|
||||
|
||||
ifdef COMMAND_ENABLE
|
||||
$(error Not Supported)
|
||||
SRC += $(COMMON_DIR)/command.c
|
||||
OPT_DEFS += -DCOMMAND_ENABLE
|
||||
endif
|
||||
|
||||
ifdef NKRO_ENABLE
|
||||
$(error Not Supported)
|
||||
OPT_DEFS += -DNKRO_ENABLE
|
||||
endif
|
||||
|
||||
ifdef SLEEP_LED_ENABLE
|
||||
$(error Not Supported)
|
||||
SRC += $(COMMON_DIR)/sleep_led.c
|
||||
OPT_DEFS += -DSLEEP_LED_ENABLE
|
||||
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
|
||||
endif
|
||||
|
||||
ifdef BACKLIGHT_ENABLE
|
||||
$(error Not Supported)
|
||||
SRC += $(COMMON_DIR)/backlight.c
|
||||
OPT_DEFS += -DBACKLIGHT_ENABLE
|
||||
endif
|
||||
|
||||
ifdef KEYMAP_SECTION_ENABLE
|
||||
$(error Not Supported)
|
||||
OPT_DEFS += -DKEYMAP_SECTION_ENABLE
|
||||
EXTRALDFLAGS = -Wl,-L$(TOP_DIR),-Tldscript_keymap_avr5.x
|
||||
endif
|
||||
|
|
7
keyboard/mbed_onekey/config.h
Normal file
7
keyboard/mbed_onekey/config.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#define MATRIX_ROWS 1
|
||||
#define MATRIX_COLS 1
|
||||
|
||||
#endif
|
|
@ -10,7 +10,8 @@ SIZE = $(GCC_BIN)arm-none-eabi-size
|
|||
CHKSUM = ~/Dropbox/MBED/tool/lpc-vector-checksum
|
||||
|
||||
CPU = -mcpu=cortex-m0 -mthumb
|
||||
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
|
||||
|
||||
CC_FLAGS += $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections
|
||||
CC_FLAGS += -MMD -MP
|
||||
CC_SYMBOLS = -DTARGET_LPC11U35_401 -DTARGET_M0 -DTARGET_NXP -DTARGET_LPC11UXX -DTOOLCHAIN_GCC_ARM -DTOOLCHAIN_GCC -D__CORTEX_M0 -DARM_MATH_CM0 -DMBED_BUILD_TIMESTAMP=1399108688.49 -D__MBED__=1
|
||||
|
||||
|
|
|
@ -1,66 +1,43 @@
|
|||
#include "mbed.h"
|
||||
#include "HIDKeyboard.h"
|
||||
#include "debug.h"
|
||||
#include "timer.h"
|
||||
|
||||
/*
|
||||
//#define DEBUG
|
||||
#ifdef DEBUG
|
||||
Serial ser(UART_TX, UART_RX);
|
||||
#define dprintf(fmt, ...) ser.printf(fmt, ## __VA_ARGS__)
|
||||
#else
|
||||
#define dprintf(fmt, ...)
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
||||
// button and LEDs
|
||||
DigitalIn isp(P0_1);
|
||||
DigitalOut led_red(P0_20);
|
||||
DigitalOut led_green(P0_21);
|
||||
|
||||
//USBKeyboard
|
||||
HIDKeyboard keyboard;
|
||||
|
||||
|
||||
int main(void) {
|
||||
//isp.mode(PullUp);
|
||||
//led_red = 0;
|
||||
//led_green = 0;
|
||||
debug_enable = true;
|
||||
dprintf("HIDKeyboard:\r\n");
|
||||
|
||||
timer_init();
|
||||
xprintf("timer: %i\r\n", timer_read());
|
||||
|
||||
report_keyboard_t report = { 2, 0, 4, }; //a
|
||||
report_keyboard_t report_off = { 0 };
|
||||
|
||||
bool last_isp = isp;
|
||||
uint32_t last_timer;
|
||||
while (1) {
|
||||
//keyboard.mediaControl(KEY_VOLUME_DOWN);
|
||||
//keyboard.printf("Hello World from Mbed\r\n");
|
||||
//keyboard.keyCode('s', KEY_CTRL);
|
||||
//keyboard.keyCode(KEY_CAPS_LOCK);
|
||||
|
||||
//led_green = !led_green;
|
||||
//leds = keyboard.lockStatus();
|
||||
//ser.putc(ser.getc());
|
||||
|
||||
if (last_isp == isp) continue;
|
||||
if (isp == 0) {
|
||||
led_red = 0; // on
|
||||
xprintf("timer: %i\r\n", timer_read32());
|
||||
xprintf("diff: %i\r\n", timer_elapsed32(last_timer));
|
||||
//keyboard.sendReport(report);
|
||||
} else {
|
||||
led_red = 1; // off
|
||||
//keyboard.sendReport(report_off);
|
||||
}
|
||||
last_isp = isp;
|
||||
last_timer = timer_read();
|
||||
//led_green = !led_green;
|
||||
//wait(0.5);
|
||||
}
|
||||
}
|
||||
#include "mbed.h"
|
||||
#include "debug.h"
|
||||
#include "timer.h"
|
||||
#include "action.h"
|
||||
#include "keycode.h"
|
||||
#include "host.h"
|
||||
#include "host_driver.h"
|
||||
#include "mbed_driver.h"
|
||||
|
||||
|
||||
// Button and LEDs of LPC11U35 board
|
||||
DigitalIn isp(P0_1); // ISP button
|
||||
DigitalOut led_red(P0_20);
|
||||
DigitalOut led_green(P0_21);
|
||||
|
||||
|
||||
int main(void) {
|
||||
isp.mode(PullUp);
|
||||
led_red = 1;
|
||||
led_green = 0;
|
||||
|
||||
timer_init();
|
||||
host_set_driver(&mbed_driver);
|
||||
|
||||
//debug_enable = true;
|
||||
xprintf("mbed_onekey ver.eee:\r\n");
|
||||
|
||||
|
||||
bool last_isp = isp;
|
||||
while (1) {
|
||||
//led_green = !led_green;
|
||||
if (last_isp == isp) continue;
|
||||
last_isp = isp;
|
||||
if (last_isp == 0) {
|
||||
led_red = 0; // on
|
||||
dprintf("timer: %i\r\n", timer_read());
|
||||
register_code(KC_A);
|
||||
} else {
|
||||
led_red = 1; // off
|
||||
unregister_code(KC_A);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
41
keyboard/mbed_onekey/mbed_driver.cpp
Normal file
41
keyboard/mbed_onekey/mbed_driver.cpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
#include "HIDKeyboard.h"
|
||||
#include "host.h"
|
||||
#include "host_driver.h"
|
||||
#include "mbed_driver.h"
|
||||
|
||||
HIDKeyboard keyboard;
|
||||
|
||||
|
||||
/* Host driver */
|
||||
static uint8_t keyboard_leds(void);
|
||||
static void send_keyboard(report_keyboard_t *report);
|
||||
static void send_mouse(report_mouse_t *report);
|
||||
static void send_system(uint16_t data);
|
||||
static void send_consumer(uint16_t data);
|
||||
|
||||
host_driver_t mbed_driver = {
|
||||
keyboard_leds,
|
||||
send_keyboard,
|
||||
send_mouse,
|
||||
send_system,
|
||||
send_consumer
|
||||
};
|
||||
|
||||
|
||||
static uint8_t keyboard_leds(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static void send_keyboard(report_keyboard_t *report)
|
||||
{
|
||||
keyboard.sendReport(*report);
|
||||
}
|
||||
static void send_mouse(report_mouse_t *report)
|
||||
{
|
||||
}
|
||||
static void send_system(uint16_t data)
|
||||
{
|
||||
}
|
||||
static void send_consumer(uint16_t data)
|
||||
{
|
||||
}
|
3
keyboard/mbed_onekey/mbed_driver.h
Normal file
3
keyboard/mbed_onekey/mbed_driver.h
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include "host_driver.h"
|
||||
|
||||
extern host_driver_t mbed_driver;
|
Loading…
Add table
Add a link
Reference in a new issue