@@ -8,3 +8,5 @@ | |||
*.map | |||
*.sym | |||
tags | |||
build/ | |||
*.bak |
@@ -0,0 +1,256 @@ | |||
#include <stdint.h> | |||
#include "USBHID.h" | |||
#include "USBHID_Types.h" | |||
#include "USBDescriptor.h" | |||
#include "HIDKeyboard.h" | |||
#define DEFAULT_CONFIGURATION (1) | |||
HIDKeyboard::HIDKeyboard(uint16_t vendor_id, uint16_t product_id, uint16_t product_release): USBDevice(vendor_id, product_id, product_release) | |||
{ | |||
USBDevice::connect(); | |||
} | |||
bool HIDKeyboard::sendReport(report_keyboard_t report) { | |||
USBDevice::write(EP1IN, report.raw, sizeof(report), MAX_PACKET_SIZE_EP1); | |||
return true; | |||
} | |||
bool HIDKeyboard::USBCallback_setConfiguration(uint8_t configuration) { | |||
if (configuration != DEFAULT_CONFIGURATION) { | |||
return false; | |||
} | |||
// Configure endpoints > 0 | |||
addEndpoint(EPINT_IN, MAX_PACKET_SIZE_EPINT); | |||
//addEndpoint(EPINT_OUT, MAX_PACKET_SIZE_EPINT); | |||
// We activate the endpoint to be able to recceive data | |||
//readStart(EPINT_OUT, MAX_PACKET_SIZE_EPINT); | |||
return true; | |||
} | |||
uint8_t * HIDKeyboard::stringImanufacturerDesc() { | |||
static uint8_t stringImanufacturerDescriptor[] = { | |||
0x18, /*bLength*/ | |||
STRING_DESCRIPTOR, /*bDescriptorType 0x03*/ | |||
't',0,'m',0,'k',0,'-',0,'k',0,'b',0,'d',0,'.',0,'c',0,'o',0,'m',0 /*bString iManufacturer*/ | |||
}; | |||
return stringImanufacturerDescriptor; | |||
} | |||
uint8_t * HIDKeyboard::stringIproductDesc() { | |||
static uint8_t stringIproductDescriptor[] = { | |||
0x0a, /*bLength*/ | |||
STRING_DESCRIPTOR, /*bDescriptorType 0x03*/ | |||
'm',0,'b',0,'e',0,'d',0 /*bString iProduct*/ | |||
}; | |||
return stringIproductDescriptor; | |||
} | |||
uint8_t * HIDKeyboard::stringIserialDesc() { | |||
static uint8_t stringIserialDescriptor[] = { | |||
0x04, /*bLength*/ | |||
STRING_DESCRIPTOR, /*bDescriptorType 0x03*/ | |||
'0',0 /*bString iSerial*/ | |||
}; | |||
return stringIserialDescriptor; | |||
} | |||
uint8_t * HIDKeyboard::reportDesc() { | |||
static uint8_t reportDescriptor[] = { | |||
USAGE_PAGE(1), 0x01, // Generic Desktop | |||
USAGE(1), 0x06, // Keyboard | |||
COLLECTION(1), 0x01, // Application | |||
USAGE_PAGE(1), 0x07, // Key Codes | |||
USAGE_MINIMUM(1), 0xE0, | |||
USAGE_MAXIMUM(1), 0xE7, | |||
LOGICAL_MINIMUM(1), 0x00, | |||
LOGICAL_MAXIMUM(1), 0x01, | |||
REPORT_SIZE(1), 0x01, | |||
REPORT_COUNT(1), 0x08, | |||
INPUT(1), 0x02, // Data, Variable, Absolute | |||
REPORT_COUNT(1), 0x01, | |||
REPORT_SIZE(1), 0x08, | |||
INPUT(1), 0x01, // Constant | |||
REPORT_COUNT(1), 0x05, | |||
REPORT_SIZE(1), 0x01, | |||
USAGE_PAGE(1), 0x08, // LEDs | |||
USAGE_MINIMUM(1), 0x01, | |||
USAGE_MAXIMUM(1), 0x05, | |||
OUTPUT(1), 0x02, // Data, Variable, Absolute | |||
REPORT_COUNT(1), 0x01, | |||
REPORT_SIZE(1), 0x03, | |||
OUTPUT(1), 0x01, // Constant | |||
REPORT_COUNT(1), 0x06, | |||
REPORT_SIZE(1), 0x08, | |||
LOGICAL_MINIMUM(1), 0x00, | |||
LOGICAL_MAXIMUM(1), 0xFF, | |||
USAGE_PAGE(1), 0x07, // Key Codes | |||
USAGE_MINIMUM(1), 0x00, | |||
USAGE_MAXIMUM(1), 0xFF, | |||
INPUT(1), 0x00, // Data, Array | |||
END_COLLECTION(0), | |||
}; | |||
reportLength = sizeof(reportDescriptor); | |||
return reportDescriptor; | |||
} | |||
uint16_t HIDKeyboard::reportDescLength() { | |||
reportDesc(); | |||
return reportLength; | |||
} | |||
#define TOTAL_DESCRIPTOR_LENGTH ((1 * CONFIGURATION_DESCRIPTOR_LENGTH) \ | |||
+ (1 * INTERFACE_DESCRIPTOR_LENGTH) \ | |||
+ (1 * HID_DESCRIPTOR_LENGTH) \ | |||
+ (1 * ENDPOINT_DESCRIPTOR_LENGTH)) | |||
uint8_t * HIDKeyboard::configurationDesc() { | |||
static uint8_t configurationDescriptor[] = { | |||
CONFIGURATION_DESCRIPTOR_LENGTH,// bLength | |||
CONFIGURATION_DESCRIPTOR, // bDescriptorType | |||
LSB(TOTAL_DESCRIPTOR_LENGTH), // wTotalLength (LSB) | |||
MSB(TOTAL_DESCRIPTOR_LENGTH), // wTotalLength (MSB) | |||
0x01, // bNumInterfaces | |||
DEFAULT_CONFIGURATION, // bConfigurationValue | |||
0x00, // iConfiguration | |||
C_RESERVED | C_REMOTE_WAKEUP, // bmAttributes | |||
C_POWER(100), // bMaxPowerHello World from Mbed | |||
INTERFACE_DESCRIPTOR_LENGTH, // bLength | |||
INTERFACE_DESCRIPTOR, // bDescriptorType | |||
0x00, // bInterfaceNumber | |||
0x00, // bAlternateSetting | |||
0x01, // bNumEndpoints | |||
HID_CLASS, // bInterfaceClass | |||
1, // bInterfaceSubClass (boot) | |||
1, // bInterfaceProtocol (keyboard) | |||
0x00, // iInterface | |||
HID_DESCRIPTOR_LENGTH, // bLength | |||
HID_DESCRIPTOR, // bDescriptorType | |||
LSB(HID_VERSION_1_11), // bcdHID (LSB) | |||
MSB(HID_VERSION_1_11), // bcdHID (MSB) | |||
0x00, // bCountryCode | |||
0x01, // bNumDescriptors | |||
REPORT_DESCRIPTOR, // bDescriptorType | |||
(uint8_t)(LSB(reportDescLength())), // wDescriptorLength (LSB) | |||
(uint8_t)(MSB(reportDescLength())), // wDescriptorLength (MSB) | |||
ENDPOINT_DESCRIPTOR_LENGTH, // bLength | |||
ENDPOINT_DESCRIPTOR, // bDescriptorType | |||
PHY_TO_DESC(EP1IN), // bEndpointAddress | |||
E_INTERRUPT, // bmAttributes | |||
LSB(MAX_PACKET_SIZE_EPINT), // wMaxPacketSize (LSB) | |||
MSB(MAX_PACKET_SIZE_EPINT), // wMaxPacketSize (MSB) | |||
1, // bInterval (milliseconds) | |||
}; | |||
return configurationDescriptor; | |||
} | |||
#if 0 | |||
uint8_t * HIDKeyboard::deviceDesc() { | |||
static uint8_t deviceDescriptor[] = { | |||
DEVICE_DESCRIPTOR_LENGTH, /* bLength */ | |||
DEVICE_DESCRIPTOR, /* bDescriptorType */ | |||
LSB(USB_VERSION_2_0), /* bcdUSB (LSB) */ | |||
MSB(USB_VERSION_2_0), /* bcdUSB (MSB) */ | |||
0x00, /* bDeviceClass */ | |||
0x00, /* bDeviceSubClass */ | |||
0x00, /* bDeviceprotocol */ | |||
MAX_PACKET_SIZE_EP0, /* bMaxPacketSize0 */ | |||
(uint8_t)(LSB(0xfeed)), /* idVendor (LSB) */ | |||
(uint8_t)(MSB(0xfeed)), /* idVendor (MSB) */ | |||
(uint8_t)(LSB(0x1bed)), /* idProduct (LSB) */ | |||
(uint8_t)(MSB(0x1bed)), /* idProduct (MSB) */ | |||
(uint8_t)(LSB(0x0002)), /* bcdDevice (LSB) */ | |||
(uint8_t)(MSB(0x0002)), /* bcdDevice (MSB) */ | |||
0, /* iManufacturer */ | |||
0, /* iProduct */ | |||
0, /* iSerialNumber */ | |||
0x01 /* bNumConfigurations */ | |||
}; | |||
return deviceDescriptor; | |||
} | |||
#endif | |||
bool HIDKeyboard::USBCallback_request() { | |||
bool success = false; | |||
CONTROL_TRANSFER * transfer = getTransferPtr(); | |||
uint8_t *hidDescriptor; | |||
// Process additional standard requests | |||
if ((transfer->setup.bmRequestType.Type == STANDARD_TYPE)) | |||
{ | |||
switch (transfer->setup.bRequest) | |||
{ | |||
case GET_DESCRIPTOR: | |||
switch (DESCRIPTOR_TYPE(transfer->setup.wValue)) | |||
{ | |||
case REPORT_DESCRIPTOR: | |||
if ((reportDesc() != NULL) \ | |||
&& (reportDescLength() != 0)) | |||
{ | |||
transfer->remaining = reportDescLength(); | |||
transfer->ptr = reportDesc(); | |||
transfer->direction = DEVICE_TO_HOST; | |||
success = true; | |||
} | |||
break; | |||
case HID_DESCRIPTOR: | |||
// Find the HID descriptor, after the configuration descriptor | |||
hidDescriptor = findDescriptor(HID_DESCRIPTOR); | |||
if (hidDescriptor != NULL) | |||
{ | |||
transfer->remaining = HID_DESCRIPTOR_LENGTH; | |||
transfer->ptr = hidDescriptor; | |||
transfer->direction = DEVICE_TO_HOST; | |||
success = true; | |||
} | |||
break; | |||
default: | |||
break; | |||
} | |||
break; | |||
default: | |||
break; | |||
} | |||
} | |||
// Process class-specific requests | |||
/* | |||
if (transfer->setup.bmRequestType.Type == CLASS_TYPE) | |||
{ | |||
switch (transfer->setup.bRequest) | |||
{ | |||
case SET_REPORT: | |||
// First byte will be used for report ID | |||
//outputReport.data[0] = transfer->setup.wValue & 0xff; | |||
//outputReport.length = transfer->setup.wLength + 1; | |||
outputReport.length = transfer->setup.wLength; | |||
//transfer->remaining = sizeof(outputReport.data) - 1; | |||
//transfer->ptr = &outputReport.data[1]; | |||
transfer->remaining = sizeof(outputReport.data); | |||
transfer->ptr = &outputReport.data[0]; | |||
transfer->direction = HOST_TO_DEVICE; | |||
transfer->notify = true; | |||
success = true; | |||
default: | |||
break; | |||
} | |||
} | |||
*/ | |||
return success; | |||
} |
@@ -0,0 +1,27 @@ | |||
#ifndef HIDKEYBOARD_H | |||
#include "stdint.h" | |||
#include "stdbool.h" | |||
#include "USBHID.h" | |||
#include "report.h" | |||
class HIDKeyboard : public USBDevice { | |||
public: | |||
HIDKeyboard(uint16_t vendor_id = 0xFEED, uint16_t product_id = 0xabed, uint16_t product_release = 0x0001); | |||
bool sendReport(report_keyboard_t report); | |||
protected: | |||
uint16_t reportLength; | |||
virtual bool USBCallback_setConfiguration(uint8_t configuration); | |||
virtual uint8_t * stringImanufacturerDesc(); | |||
virtual uint8_t * stringIproductDesc(); | |||
virtual uint8_t * stringIserialDesc(); | |||
virtual uint16_t reportDescLength(); | |||
virtual uint8_t * reportDesc(); | |||
virtual uint8_t * configurationDesc(); | |||
//virtual uint8_t * deviceDesc(); | |||
virtual bool USBCallback_request(); | |||
}; | |||
#endif |
@@ -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) | |||
{ | |||
} |
@@ -0,0 +1,3 @@ | |||
#include "host_driver.h" | |||
extern host_driver_t mbed_driver; |
@@ -0,0 +1,79 @@ | |||
COMMON_DIR = common | |||
OBJECTS += \ | |||
$(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) | |||
# 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 |
@@ -0,0 +1,80 @@ | |||
############################################################################### | |||
GCC_BIN = | |||
AS = $(GCC_BIN)arm-none-eabi-as | |||
CC = $(GCC_BIN)arm-none-eabi-gcc | |||
CPP = $(GCC_BIN)arm-none-eabi-g++ | |||
LD = $(GCC_BIN)arm-none-eabi-gcc | |||
OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy | |||
OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump | |||
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 += -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 | |||
LD_FLAGS = -mcpu=cortex-m0 -mthumb -Wl,--gc-sections --specs=nano.specs | |||
LD_FLAGS += -Wl,-Map=$(OBJDIR)/$(PROJECT).map,--cref | |||
LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys | |||
ifeq ($(DEBUG), 1) | |||
CC_FLAGS += -DDEBUG -O0 | |||
else | |||
CC_FLAGS += -DNDEBUG -Os | |||
endif | |||
all: $(OBJDIR)/$(PROJECT).bin $(OBJDIR)/$(PROJECT).hex size | |||
clean: | |||
rm -f $(OBJDIR)/$(PROJECT).bin $(OBJDIR)/$(PROJECT).elf $(OBJDIR)/$(PROJECT).hex $(OBJDIR)/$(PROJECT).map $(OBJDIR)/$(PROJECT).lst $(OBJECTS) $(DEPS) | |||
rm -fr $(OBJDIR) | |||
$(OBJDIR)/%.o: %.s | |||
mkdir -p $(@D) | |||
$(AS) $(CPU) -o $@ $< | |||
$(OBJDIR)/%.o: %.c | |||
mkdir -p $(@D) | |||
$(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $< | |||
$(OBJDIR)/%.o: %.cpp | |||
mkdir -p $(@D) | |||
$(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 $(INCLUDE_PATHS) -o $@ $< | |||
$(OBJDIR)/$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) | |||
$(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS) | |||
@echo "" | |||
@echo "*****" | |||
@echo "***** You must modify vector checksum value in *.bin and *.hex files." | |||
@echo "*****" | |||
@echo "" | |||
$(OBJDIR)/$(PROJECT).bin: $(OBJDIR)/$(PROJECT).elf | |||
@$(OBJCOPY) -O binary $< $@ | |||
@echo "Writing vector checksum value into $@ ..." | |||
@$(CHKSUM) $@ | |||
@echo | |||
$(OBJDIR)/$(PROJECT).hex: $(OBJDIR)/$(PROJECT).elf | |||
@$(OBJCOPY) -O ihex $< $@ | |||
$(OBJDIR)/$(PROJECT).lst: $(OBJDIR)/$(PROJECT).elf | |||
@$(OBJDUMP) -Sdh $< > $@ | |||
lst: $(OBJDIR)/$(PROJECT).lst | |||
size: | |||
$(SIZE) $(OBJDIR)/$(PROJECT).elf | |||
prog: $(OBJDIR)/$(PROJECT).bin | |||
@echo "Program..." | |||
ifneq ($(shell mount | grep 'CRP DISABLD'),) | |||
umount /dev/nxpisp >/dev/null 2>&1 | |||
endif | |||
dd if=$< of=/dev/nxpisp seek=4 | |||
DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d) | |||
-include $(DEPS) |
@@ -0,0 +1,99 @@ | |||
OBJECTS += \ | |||
$(OBJDIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM/startup_LPC11xx.o \ | |||
$(OBJDIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/cmsis_nvic.o \ | |||
$(OBJDIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/system_LPC11Uxx.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/port_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/spi_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/analogin_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/gpio_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/gpio_irq_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/i2c_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/pwmout_api.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/sleep.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/pinmap.o \ | |||
$(OBJDIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/us_ticker.o \ | |||
$(OBJDIR)/libraries/mbed/common/board.o \ | |||
$(OBJDIR)/libraries/mbed/common/mbed_interface.o \ | |||
$(OBJDIR)/libraries/mbed/common/exit.o \ | |||
$(OBJDIR)/libraries/mbed/common/rtc_time.o \ | |||
$(OBJDIR)/libraries/mbed/common/us_ticker_api.o \ | |||
$(OBJDIR)/libraries/mbed/common/pinmap_common.o \ | |||
$(OBJDIR)/libraries/mbed/common/error.o \ | |||
$(OBJDIR)/libraries/mbed/common/gpio.o \ | |||
$(OBJDIR)/libraries/mbed/common/semihost_api.o \ | |||
$(OBJDIR)/libraries/mbed/common/wait_api.o \ | |||
$(OBJDIR)/libraries/mbed/common/RawSerial.o \ | |||
$(OBJDIR)/libraries/mbed/common/Ticker.o \ | |||
$(OBJDIR)/libraries/mbed/common/FilePath.o \ | |||
$(OBJDIR)/libraries/mbed/common/I2C.o \ | |||
$(OBJDIR)/libraries/mbed/common/FileBase.o \ | |||
$(OBJDIR)/libraries/mbed/common/retarget.o \ | |||
$(OBJDIR)/libraries/mbed/common/Serial.o \ | |||
$(OBJDIR)/libraries/mbed/common/Stream.o \ | |||
$(OBJDIR)/libraries/mbed/common/FileSystemLike.o \ | |||
$(OBJDIR)/libraries/mbed/common/CallChain.o \ | |||
$(OBJDIR)/libraries/mbed/common/InterruptManager.o \ | |||
$(OBJDIR)/libraries/mbed/common/SerialBase.o \ | |||
$(OBJDIR)/libraries/mbed/common/BusInOut.o \ | |||
$(OBJDIR)/libraries/mbed/common/SPISlave.o \ | |||
$(OBJDIR)/libraries/mbed/common/I2CSlave.o \ | |||
$(OBJDIR)/libraries/mbed/common/FunctionPointer.o \ | |||
$(OBJDIR)/libraries/mbed/common/Timer.o \ | |||
$(OBJDIR)/libraries/mbed/common/SPI.o \ | |||
$(OBJDIR)/libraries/mbed/common/Timeout.o \ | |||
$(OBJDIR)/libraries/mbed/common/Ethernet.o \ | |||
$(OBJDIR)/libraries/mbed/common/TimerEvent.o \ | |||
$(OBJDIR)/libraries/mbed/common/CAN.o \ | |||
$(OBJDIR)/libraries/mbed/common/BusOut.o \ | |||
$(OBJDIR)/libraries/mbed/common/FileLike.o \ | |||
$(OBJDIR)/libraries/mbed/common/BusIn.o \ | |||
$(OBJDIR)/libraries/mbed/common/InterruptIn.o \ | |||
$(OBJDIR)/libraries/mbed/common/LocalFileSystem.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBHID/USBMouse.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBHID/USBHID.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBHID/USBMouseKeyboard.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBHID/USBKeyboard.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBDevice/USBHAL_KL25Z.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBDevice/USBDevice.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBDevice/USBHAL_LPC17.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBDevice/USBHAL_LPC40.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBDevice/USBHAL_LPC11U.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBDevice/USBHAL_STM32F4.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBAudio/USBAudio.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBSerial/USBSerial.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBSerial/USBCDC.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBMSD/USBMSD.o \ | |||
$(OBJDIR)/libraries/USBDevice/USBMIDI/USBMIDI.o | |||
INCLUDE_PATHS += \ | |||
-I$(MBED_DIR)/libraries/mbed/targets \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/hal \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/hal/TARGET_NXP \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/TARGET_LPC11U35_401 \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/cmsis \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/cmsis/TARGET_NXP \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM \ | |||
-I$(MBED_DIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM/TARGET_LPC11U35_401 \ | |||
-I$(MBED_DIR)/libraries/mbed \ | |||
-I$(MBED_DIR)/libraries/mbed/hal \ | |||
-I$(MBED_DIR)/libraries/mbed/api \ | |||
-I$(MBED_DIR)/libraries/mbed/common \ | |||
-I$(MBED_DIR)/libraries/USBDevice \ | |||
-I$(MBED_DIR)/libraries/USBDevice/USBHID \ | |||
-I$(MBED_DIR)/libraries/USBDevice/USBDevice \ | |||
-I$(MBED_DIR)/libraries/USBDevice/USBAudio \ | |||
-I$(MBED_DIR)/libraries/USBDevice/USBSerial \ | |||
-I$(MBED_DIR)/libraries/USBDevice/USBMSD \ | |||
-I$(MBED_DIR)/libraries/USBDevice/USBMIDI | |||
OBJECTS += \ | |||
$(OBJDIR)/protocol/mbed/mbed_driver.o \ | |||
$(OBJDIR)/protocol/mbed/HIDKeyboard.o \ | |||
INCLUDE_PATHS += \ | |||
-I$(TMK_DIR)/protocol/mbed | |||
LINKER_SCRIPT = $(MBED_DIR)/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11UXX/TOOLCHAIN_GCC_ARM/TARGET_LPC11U35_401/LPC11U35.ld |