diff options
Diffstat (limited to 'tmk_core')
71 files changed, 6037 insertions, 5642 deletions
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index cb67ac6f2..062a712bd 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk | |||
| @@ -89,9 +89,9 @@ CHIBISRC = $(STARTUPSRC) \ | |||
| 89 | $(STARTUPASM) \ | 89 | $(STARTUPASM) \ |
| 90 | $(PORTASM) \ | 90 | $(PORTASM) \ |
| 91 | $(OSALASM) | 91 | $(OSALASM) |
| 92 | |||
| 93 | SRC += $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC)) | ||
| 94 | 92 | ||
| 93 | CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC)) | ||
| 94 | |||
| 95 | EXTRAINCDIRS += $(CHIBIOS)/os/license \ | 95 | EXTRAINCDIRS += $(CHIBIOS)/os/license \ |
| 96 | $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ | 96 | $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ |
| 97 | $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ | 97 | $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ |
| @@ -143,14 +143,6 @@ MCUFLAGS = -mcpu=$(MCU) | |||
| 143 | 143 | ||
| 144 | DEBUG = gdb | 144 | DEBUG = gdb |
| 145 | 145 | ||
| 146 | # Define ASM defines here | ||
| 147 | # bootloader definitions may be used in the startup .s file | ||
| 148 | ifneq ("$(wildcard $(KEYBOARD_PATH)/bootloader_defs.h)","") | ||
| 149 | OPT_DEFS += -include $(KEYBOARD_PATH)/bootloader_defs.h | ||
| 150 | else ifneq ("$(wildcard $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h)","") | ||
| 151 | OPT_DEFS += -include $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h | ||
| 152 | endif | ||
| 153 | |||
| 154 | # List any extra directories to look for libraries here. | 146 | # List any extra directories to look for libraries here. |
| 155 | EXTRALIBDIRS = $(RULESPATH)/ld | 147 | EXTRALIBDIRS = $(RULESPATH)/ld |
| 156 | 148 | ||
diff --git a/tmk_core/common.mk b/tmk_core/common.mk index aa05b9491..f826a7b54 100644 --- a/tmk_core/common.mk +++ b/tmk_core/common.mk | |||
| @@ -5,7 +5,7 @@ else ifeq ($(PLATFORM),CHIBIOS) | |||
| 5 | PLATFORM_COMMON_DIR = $(COMMON_DIR)/chibios | 5 | PLATFORM_COMMON_DIR = $(COMMON_DIR)/chibios |
| 6 | endif | 6 | endif |
| 7 | 7 | ||
| 8 | SRC += $(COMMON_DIR)/host.c \ | 8 | TMK_COMMON_SRC += $(COMMON_DIR)/host.c \ |
| 9 | $(COMMON_DIR)/keyboard.c \ | 9 | $(COMMON_DIR)/keyboard.c \ |
| 10 | $(COMMON_DIR)/action.c \ | 10 | $(COMMON_DIR)/action.c \ |
| 11 | $(COMMON_DIR)/action_tapping.c \ | 11 | $(COMMON_DIR)/action_tapping.c \ |
| @@ -21,97 +21,89 @@ SRC += $(COMMON_DIR)/host.c \ | |||
| 21 | $(PLATFORM_COMMON_DIR)/bootloader.c \ | 21 | $(PLATFORM_COMMON_DIR)/bootloader.c \ |
| 22 | 22 | ||
| 23 | ifeq ($(PLATFORM),AVR) | 23 | ifeq ($(PLATFORM),AVR) |
| 24 | SRC += $(PLATFORM_COMMON_DIR)/xprintf.S | 24 | TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/xprintf.S |
| 25 | endif | 25 | endif |
| 26 | 26 | ||
| 27 | ifeq ($(PLATFORM),CHIBIOS) | 27 | ifeq ($(PLATFORM),CHIBIOS) |
| 28 | SRC += $(PLATFORM_COMMON_DIR)/printf.c | 28 | TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/printf.c |
| 29 | SRC += $(PLATFORM_COMMON_DIR)/eeprom.c | 29 | TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/eeprom.c |
| 30 | endif | 30 | endif |
| 31 | 31 | ||
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | # Option modules | 34 | # Option modules |
| 35 | ifeq ($(strip $(BOOTMAGIC_ENABLE)), yes) | 35 | ifeq ($(strip $(BOOTMAGIC_ENABLE)), yes) |
| 36 | OPT_DEFS += -DBOOTMAGIC_ENABLE | 36 | TMK_COMMON_DEFS += -DBOOTMAGIC_ENABLE |
| 37 | SRC += $(COMMON_DIR)/bootmagic.c | 37 | TMK_COMMON_SRC += $(COMMON_DIR)/bootmagic.c |
| 38 | else | 38 | else |
| 39 | OPT_DEFS += -DMAGIC_ENABLE | 39 | TMK_COMMON_DEFS += -DMAGIC_ENABLE |
| 40 | SRC += $(COMMON_DIR)/magic.c | 40 | TMK_COMMON_SRC += $(COMMON_DIR)/magic.c |
| 41 | endif | 41 | endif |
| 42 | 42 | ||
| 43 | ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) | 43 | ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) |
| 44 | SRC += $(COMMON_DIR)/mousekey.c | 44 | TMK_COMMON_SRC += $(COMMON_DIR)/mousekey.c |
| 45 | OPT_DEFS += -DMOUSEKEY_ENABLE | 45 | TMK_COMMON_DEFS += -DMOUSEKEY_ENABLE |
| 46 | OPT_DEFS += -DMOUSE_ENABLE | 46 | TMK_COMMON_DEFS += -DMOUSE_ENABLE |
| 47 | endif | 47 | endif |
| 48 | 48 | ||
| 49 | ifeq ($(strip $(EXTRAKEY_ENABLE)), yes) | 49 | ifeq ($(strip $(EXTRAKEY_ENABLE)), yes) |
| 50 | OPT_DEFS += -DEXTRAKEY_ENABLE | 50 | TMK_COMMON_DEFS += -DEXTRAKEY_ENABLE |
| 51 | endif | 51 | endif |
| 52 | 52 | ||
| 53 | ifeq ($(strip $(CONSOLE_ENABLE)), yes) | 53 | ifeq ($(strip $(CONSOLE_ENABLE)), yes) |
| 54 | OPT_DEFS += -DCONSOLE_ENABLE | 54 | TMK_COMMON_DEFS += -DCONSOLE_ENABLE |
| 55 | else | 55 | else |
| 56 | OPT_DEFS += -DNO_PRINT | 56 | TMK_COMMON_DEFS += -DNO_PRINT |
| 57 | OPT_DEFS += -DNO_DEBUG | 57 | TMK_COMMON_DEFS += -DNO_DEBUG |
| 58 | endif | 58 | endif |
| 59 | 59 | ||
| 60 | ifeq ($(strip $(COMMAND_ENABLE)), yes) | 60 | ifeq ($(strip $(COMMAND_ENABLE)), yes) |
| 61 | SRC += $(COMMON_DIR)/command.c | 61 | TMK_COMMON_SRC += $(COMMON_DIR)/command.c |
| 62 | OPT_DEFS += -DCOMMAND_ENABLE | 62 | TMK_COMMON_DEFS += -DCOMMAND_ENABLE |
| 63 | endif | 63 | endif |
| 64 | 64 | ||
| 65 | ifeq ($(strip $(NKRO_ENABLE)), yes) | 65 | ifeq ($(strip $(NKRO_ENABLE)), yes) |
| 66 | OPT_DEFS += -DNKRO_ENABLE | 66 | TMK_COMMON_DEFS += -DNKRO_ENABLE |
| 67 | endif | 67 | endif |
| 68 | 68 | ||
| 69 | ifeq ($(strip $(USB_6KRO_ENABLE)), yes) | 69 | ifeq ($(strip $(USB_6KRO_ENABLE)), yes) |
| 70 | OPT_DEFS += -DUSB_6KRO_ENABLE | 70 | TMK_COMMON_DEFS += -DUSB_6KRO_ENABLE |
| 71 | endif | 71 | endif |
| 72 | 72 | ||
| 73 | ifeq ($(strip $(SLEEP_LED_ENABLE)), yes) | 73 | ifeq ($(strip $(SLEEP_LED_ENABLE)), yes) |
| 74 | SRC += $(PLATFORM_COMMON_DIR)/sleep_led.c | 74 | TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/sleep_led.c |
| 75 | OPT_DEFS += -DSLEEP_LED_ENABLE | 75 | TMK_COMMON_DEFS += -DSLEEP_LED_ENABLE |
| 76 | OPT_DEFS += -DNO_SUSPEND_POWER_DOWN | 76 | TMK_COMMON_DEFS += -DNO_SUSPEND_POWER_DOWN |
| 77 | endif | 77 | endif |
| 78 | 78 | ||
| 79 | ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) | 79 | ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) |
| 80 | SRC += $(COMMON_DIR)/backlight.c | 80 | TMK_COMMON_SRC += $(COMMON_DIR)/backlight.c |
| 81 | OPT_DEFS += -DBACKLIGHT_ENABLE | 81 | TMK_COMMON_DEFS += -DBACKLIGHT_ENABLE |
| 82 | endif | 82 | endif |
| 83 | 83 | ||
| 84 | ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) | 84 | ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) |
| 85 | OPT_DEFS += -DBLUETOOTH_ENABLE | 85 | TMK_COMMON_DEFS += -DBLUETOOTH_ENABLE |
| 86 | endif | ||
| 87 | |||
| 88 | ifeq ($(strip $(ONEHAND_ENABLE)), yes) | ||
| 89 | TMK_COMMON_DEFS += -DONEHAND_ENABLE | ||
| 86 | endif | 90 | endif |
| 87 | 91 | ||
| 88 | ifeq ($(strip $(KEYMAP_SECTION_ENABLE)), yes) | 92 | ifeq ($(strip $(KEYMAP_SECTION_ENABLE)), yes) |
| 89 | OPT_DEFS += -DKEYMAP_SECTION_ENABLE | 93 | TMK_COMMON_DEFS += -DKEYMAP_SECTION_ENABLE |
| 90 | 94 | ||
| 91 | ifeq ($(strip $(MCU)),atmega32u2) | 95 | ifeq ($(strip $(MCU)),atmega32u2) |
| 92 | EXTRALDFLAGS = -Wl,-L$(TMK_DIR),-Tldscript_keymap_avr35.x | 96 | TMK_COMMON_LDFLAGS = -Wl,-L$(TMK_DIR),-Tldscript_keymap_avr35.x |
| 93 | else ifeq ($(strip $(MCU)),atmega32u4) | 97 | else ifeq ($(strip $(MCU)),atmega32u4) |
| 94 | EXTRALDFLAGS = -Wl,-L$(TMK_DIR),-Tldscript_keymap_avr5.x | 98 | TMK_COMMON_LDFLAGS = -Wl,-L$(TMK_DIR),-Tldscript_keymap_avr5.x |
| 95 | else | 99 | else |
| 96 | EXTRALDFLAGS = $(error no ldscript for keymap section) | 100 | TMK_COMMON_LDFLAGS = $(error no ldscript for keymap section) |
| 97 | endif | 101 | endif |
| 98 | endif | 102 | endif |
| 99 | 103 | ||
| 100 | ifeq ($(MASTER),right) | ||
| 101 | OPT_DEFS += -DMASTER_IS_ON_RIGHT | ||
| 102 | else | ||
| 103 | ifneq ($(MASTER),left) | ||
| 104 | $(error MASTER does not have a valid value(left/right)) | ||
| 105 | endif | ||
| 106 | endif | ||
| 107 | |||
| 108 | |||
| 109 | # Version string | ||
| 110 | OPT_DEFS += -DVERSION=$(GIT_VERSION) | ||
| 111 | |||
| 112 | # Bootloader address | 104 | # Bootloader address |
| 113 | ifdef STM32_BOOTLOADER_ADDRESS | 105 | ifdef STM32_BOOTLOADER_ADDRESS |
| 114 | OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) | 106 | TMK_COMMON_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) |
| 115 | endif | 107 | endif |
| 116 | 108 | ||
| 117 | # Search Path | 109 | # Search Path |
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index be6dea2b7..d485b46c7 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c | |||
| @@ -41,6 +41,12 @@ void action_exec(keyevent_t event) | |||
| 41 | dprint("EVENT: "); debug_event(event); dprintln(); | 41 | dprint("EVENT: "); debug_event(event); dprintln(); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | #ifdef ONEHAND_ENABLE | ||
| 45 | if (!IS_NOEVENT(event)) { | ||
| 46 | process_hand_swap(&event); | ||
| 47 | } | ||
| 48 | #endif | ||
| 49 | |||
| 44 | keyrecord_t record = { .event = event }; | 50 | keyrecord_t record = { .event = event }; |
| 45 | 51 | ||
| 46 | #ifndef NO_ACTION_TAPPING | 52 | #ifndef NO_ACTION_TAPPING |
| @@ -53,6 +59,26 @@ void action_exec(keyevent_t event) | |||
| 53 | #endif | 59 | #endif |
| 54 | } | 60 | } |
| 55 | 61 | ||
| 62 | #ifdef ONEHAND_ENABLE | ||
| 63 | bool swap_hands = false; | ||
| 64 | |||
| 65 | void process_hand_swap(keyevent_t *event) { | ||
| 66 | static swap_state_row_t swap_state[MATRIX_ROWS]; | ||
| 67 | |||
| 68 | keypos_t pos = event->key; | ||
| 69 | swap_state_row_t col_bit = (swap_state_row_t)1<<pos.col; | ||
| 70 | bool do_swap = event->pressed ? swap_hands : | ||
| 71 | swap_state[pos.row] & (col_bit); | ||
| 72 | |||
| 73 | if (do_swap) { | ||
| 74 | event->key = hand_swap_config[pos.row][pos.col]; | ||
| 75 | swap_state[pos.row] |= col_bit; | ||
| 76 | } else { | ||
| 77 | swap_state[pos.row] &= ~(col_bit); | ||
| 78 | } | ||
| 79 | } | ||
| 80 | #endif | ||
| 81 | |||
| 56 | #if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) | 82 | #if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) |
| 57 | bool disable_action_cache = false; | 83 | bool disable_action_cache = false; |
| 58 | 84 | ||
| @@ -129,9 +155,10 @@ void process_action(keyrecord_t *record, action_t action) | |||
| 129 | action.key.mods<<4; | 155 | action.key.mods<<4; |
| 130 | if (event.pressed) { | 156 | if (event.pressed) { |
| 131 | if (mods) { | 157 | if (mods) { |
| 132 | if (IS_MOD(action.key.code)) { | 158 | if (IS_MOD(action.key.code) || action.key.code == KC_NO) { |
| 133 | // e.g. LSFT(KC_LGUI): we don't want the LSFT to be weak as it would make it useless. | 159 | // e.g. LSFT(KC_LGUI): we don't want the LSFT to be weak as it would make it useless. |
| 134 | // this also makes LSFT(KC_LGUI) behave exactly the same as LGUI(KC_LSFT) | 160 | // This also makes LSFT(KC_LGUI) behave exactly the same as LGUI(KC_LSFT). |
| 161 | // Same applies for some keys like KC_MEH which are declared as MEH(KC_NO). | ||
| 135 | add_mods(mods); | 162 | add_mods(mods); |
| 136 | } else { | 163 | } else { |
| 137 | add_weak_mods(mods); | 164 | add_weak_mods(mods); |
| @@ -142,7 +169,7 @@ void process_action(keyrecord_t *record, action_t action) | |||
| 142 | } else { | 169 | } else { |
| 143 | unregister_code(action.key.code); | 170 | unregister_code(action.key.code); |
| 144 | if (mods) { | 171 | if (mods) { |
| 145 | if (IS_MOD(action.key.code)) { | 172 | if (IS_MOD(action.key.code) || action.key.code == KC_NO) { |
| 146 | del_mods(mods); | 173 | del_mods(mods); |
| 147 | } else { | 174 | } else { |
| 148 | del_weak_mods(mods); | 175 | del_weak_mods(mods); |
| @@ -440,6 +467,54 @@ void process_action(keyrecord_t *record, action_t action) | |||
| 440 | #endif | 467 | #endif |
| 441 | case ACT_COMMAND: | 468 | case ACT_COMMAND: |
| 442 | break; | 469 | break; |
| 470 | #ifdef ONEHAND_ENABLE | ||
| 471 | case ACT_SWAP_HANDS: | ||
| 472 | switch (action.swap.code) { | ||
| 473 | case OP_SH_TOGGLE: | ||
| 474 | if (event.pressed) { | ||
| 475 | swap_hands = !swap_hands; | ||
| 476 | } | ||
| 477 | break; | ||
| 478 | case OP_SH_ON_OFF: | ||
| 479 | swap_hands = event.pressed; | ||
| 480 | break; | ||
| 481 | case OP_SH_OFF_ON: | ||
| 482 | swap_hands = !event.pressed; | ||
| 483 | break; | ||
| 484 | case OP_SH_ON: | ||
| 485 | if (!event.pressed) { | ||
| 486 | swap_hands = true; | ||
| 487 | } | ||
| 488 | break; | ||
| 489 | case OP_SH_OFF: | ||
| 490 | if (!event.pressed) { | ||
| 491 | swap_hands = false; | ||
| 492 | } | ||
| 493 | break; | ||
| 494 | #ifndef NO_ACTION_TAPPING | ||
| 495 | case OP_SH_TAP_TOGGLE: | ||
| 496 | /* tap toggle */ | ||
| 497 | if (tap_count > 0) { | ||
| 498 | if (!event.pressed) { | ||
| 499 | swap_hands = !swap_hands; | ||
| 500 | } | ||
| 501 | } else { | ||
| 502 | swap_hands = event.pressed; | ||
| 503 | } | ||
| 504 | break; | ||
| 505 | default: | ||
| 506 | if (tap_count > 0) { | ||
| 507 | if (event.pressed) { | ||
| 508 | register_code(action.swap.code); | ||
| 509 | } else { | ||
| 510 | unregister_code(action.swap.code); | ||
| 511 | } | ||
| 512 | } else { | ||
| 513 | swap_hands = event.pressed; | ||
| 514 | } | ||
| 515 | #endif | ||
| 516 | } | ||
| 517 | #endif | ||
| 443 | #ifndef NO_ACTION_FUNCTION | 518 | #ifndef NO_ACTION_FUNCTION |
| 444 | case ACT_FUNCTION: | 519 | case ACT_FUNCTION: |
| 445 | action_function(record, action.func.id, action.func.opt); | 520 | action_function(record, action.func.id, action.func.opt); |
| @@ -652,6 +727,13 @@ bool is_tap_key(keypos_t key) | |||
| 652 | return true; | 727 | return true; |
| 653 | } | 728 | } |
| 654 | return false; | 729 | return false; |
| 730 | case ACT_SWAP_HANDS: | ||
| 731 | switch (action.swap.code) { | ||
| 732 | case 0x00 ... 0xdf: | ||
| 733 | case OP_SH_TAP_TOGGLE: | ||
| 734 | return true; | ||
| 735 | } | ||
| 736 | return false; | ||
| 655 | case ACT_MACRO: | 737 | case ACT_MACRO: |
| 656 | case ACT_FUNCTION: | 738 | case ACT_FUNCTION: |
| 657 | if (action.func.opt & FUNC_TAP) { return true; } | 739 | if (action.func.opt & FUNC_TAP) { return true; } |
| @@ -692,6 +774,7 @@ void debug_action(action_t action) | |||
| 692 | case ACT_MACRO: dprint("ACT_MACRO"); break; | 774 | case ACT_MACRO: dprint("ACT_MACRO"); break; |
| 693 | case ACT_COMMAND: dprint("ACT_COMMAND"); break; | 775 | case ACT_COMMAND: dprint("ACT_COMMAND"); break; |
| 694 | case ACT_FUNCTION: dprint("ACT_FUNCTION"); break; | 776 | case ACT_FUNCTION: dprint("ACT_FUNCTION"); break; |
| 777 | case ACT_SWAP_HANDS: dprint("ACT_SWAP_HANDS"); break; | ||
| 695 | default: dprint("UNKNOWN"); break; | 778 | default: dprint("UNKNOWN"); break; |
| 696 | } | 779 | } |
| 697 | dprintf("[%X:%02X]", action.kind.param>>8, action.kind.param&0xff); | 780 | dprintf("[%X:%02X]", action.kind.param>>8, action.kind.param&0xff); |
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h index e8aa12a7c..b9bdfe642 100644 --- a/tmk_core/common/action.h +++ b/tmk_core/common/action.h | |||
| @@ -65,6 +65,24 @@ bool process_record_quantum(keyrecord_t *record); | |||
| 65 | #if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) | 65 | #if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS) |
| 66 | extern bool disable_action_cache; | 66 | extern bool disable_action_cache; |
| 67 | #endif | 67 | #endif |
| 68 | |||
| 69 | /* Code for handling one-handed key modifiers. */ | ||
| 70 | #ifdef ONEHAND_ENABLE | ||
| 71 | extern bool swap_hands; | ||
| 72 | extern const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS]; | ||
| 73 | #if (MATRIX_COLS <= 8) | ||
| 74 | typedef uint8_t swap_state_row_t; | ||
| 75 | #elif (MATRIX_COLS <= 16) | ||
| 76 | typedef uint16_t swap_state_row_t; | ||
| 77 | #elif (MATRIX_COLS <= 32) | ||
| 78 | typedef uint32_t swap_state_row_t; | ||
| 79 | #else | ||
| 80 | #error "MATRIX_COLS: invalid value" | ||
| 81 | #endif | ||
| 82 | |||
| 83 | void process_hand_swap(keyevent_t *record); | ||
| 84 | #endif | ||
| 85 | |||
| 68 | void process_record_nocache(keyrecord_t *record); | 86 | void process_record_nocache(keyrecord_t *record); |
| 69 | void process_record(keyrecord_t *record); | 87 | void process_record(keyrecord_t *record); |
| 70 | void process_action(keyrecord_t *record, action_t action); | 88 | void process_action(keyrecord_t *record, action_t action); |
diff --git a/tmk_core/common/action_code.h b/tmk_core/common/action_code.h index ca729aaec..33da35f35 100644 --- a/tmk_core/common/action_code.h +++ b/tmk_core/common/action_code.h | |||
| @@ -108,6 +108,8 @@ enum action_kind_id { | |||
| 108 | /* Other Keys */ | 108 | /* Other Keys */ |
| 109 | ACT_USAGE = 0b0100, | 109 | ACT_USAGE = 0b0100, |
| 110 | ACT_MOUSEKEY = 0b0101, | 110 | ACT_MOUSEKEY = 0b0101, |
| 111 | /* One-hand Support */ | ||
| 112 | ACT_SWAP_HANDS = 0b0110, | ||
| 111 | /* Layer Actions */ | 113 | /* Layer Actions */ |
| 112 | ACT_LAYER = 0b1000, | 114 | ACT_LAYER = 0b1000, |
| 113 | ACT_LAYER_TAP = 0b1010, /* Layer 0-15 */ | 115 | ACT_LAYER_TAP = 0b1010, /* Layer 0-15 */ |
| @@ -178,6 +180,11 @@ typedef union { | |||
| 178 | uint8_t opt :4; | 180 | uint8_t opt :4; |
| 179 | uint8_t kind :4; | 181 | uint8_t kind :4; |
| 180 | } func; | 182 | } func; |
| 183 | struct action_swap { | ||
| 184 | uint8_t code :8; | ||
| 185 | uint8_t opt :4; | ||
| 186 | uint8_t kind :4; | ||
| 187 | } swap; | ||
| 181 | } action_t; | 188 | } action_t; |
| 182 | 189 | ||
| 183 | 190 | ||
| @@ -295,6 +302,7 @@ enum backlight_opt { | |||
| 295 | BACKLIGHT_STEP = 3, | 302 | BACKLIGHT_STEP = 3, |
| 296 | BACKLIGHT_LEVEL = 4, | 303 | BACKLIGHT_LEVEL = 4, |
| 297 | }; | 304 | }; |
| 305 | |||
| 298 | /* Macro */ | 306 | /* Macro */ |
| 299 | #define ACTION_MACRO(id) ACTION(ACT_MACRO, (id)) | 307 | #define ACTION_MACRO(id) ACTION(ACT_MACRO, (id)) |
| 300 | #define ACTION_MACRO_TAP(id) ACTION(ACT_MACRO, FUNC_TAP<<8 | (id)) | 308 | #define ACTION_MACRO_TAP(id) ACTION(ACT_MACRO, FUNC_TAP<<8 | (id)) |
| @@ -306,7 +314,7 @@ enum backlight_opt { | |||
| 306 | #define ACTION_BACKLIGHT_STEP() ACTION(ACT_BACKLIGHT, BACKLIGHT_STEP << 8) | 314 | #define ACTION_BACKLIGHT_STEP() ACTION(ACT_BACKLIGHT, BACKLIGHT_STEP << 8) |
| 307 | #define ACTION_BACKLIGHT_LEVEL(level) ACTION(ACT_BACKLIGHT, BACKLIGHT_LEVEL << 8 | (level)) | 315 | #define ACTION_BACKLIGHT_LEVEL(level) ACTION(ACT_BACKLIGHT, BACKLIGHT_LEVEL << 8 | (level)) |
| 308 | /* Command */ | 316 | /* Command */ |
| 309 | #define ACTION_COMMAND(id, opt) ACTION(ACT_COMMAND, (opt)<<8 | (addr)) | 317 | #define ACTION_COMMAND(id, opt) ACTION(ACT_COMMAND, (opt)<<8 | (id)) |
| 310 | /* Function */ | 318 | /* Function */ |
| 311 | enum function_opts { | 319 | enum function_opts { |
| 312 | FUNC_TAP = 0x8, /* indciates function is tappable */ | 320 | FUNC_TAP = 0x8, /* indciates function is tappable */ |
| @@ -314,5 +322,23 @@ enum function_opts { | |||
| 314 | #define ACTION_FUNCTION(id) ACTION(ACT_FUNCTION, (id)) | 322 | #define ACTION_FUNCTION(id) ACTION(ACT_FUNCTION, (id)) |
| 315 | #define ACTION_FUNCTION_TAP(id) ACTION(ACT_FUNCTION, FUNC_TAP<<8 | (id)) | 323 | #define ACTION_FUNCTION_TAP(id) ACTION(ACT_FUNCTION, FUNC_TAP<<8 | (id)) |
| 316 | #define ACTION_FUNCTION_OPT(id, opt) ACTION(ACT_FUNCTION, (opt)<<8 | (id)) | 324 | #define ACTION_FUNCTION_OPT(id, opt) ACTION(ACT_FUNCTION, (opt)<<8 | (id)) |
| 325 | /* OneHand Support */ | ||
| 326 | enum swap_hands_pram_tap_op { | ||
| 327 | OP_SH_TOGGLE = 0xF0, | ||
| 328 | OP_SH_TAP_TOGGLE, | ||
| 329 | OP_SH_ON_OFF, | ||
| 330 | OP_SH_OFF_ON, | ||
| 331 | OP_SH_OFF, | ||
| 332 | OP_SH_ON, | ||
| 333 | }; | ||
| 334 | |||
| 335 | #define ACTION_SWAP_HANDS() ACTION_SWAP_HANDS_ON_OFF() | ||
| 336 | #define ACTION_SWAP_HANDS_TOGGLE() ACTION(ACT_SWAP_HANDS, OP_SH_TOGGLE) | ||
| 337 | #define ACTION_SWAP_HANDS_TAP_TOGGLE() ACTION(ACT_SWAP_HANDS, OP_SH_TAP_TOGGLE) | ||
| 338 | #define ACTION_SWAP_HANDS_TAP_KEY(key) ACTION(ACT_SWAP_HANDS, key) | ||
| 339 | #define ACTION_SWAP_HANDS_ON_OFF() ACTION(ACT_SWAP_HANDS, OP_SH_ON_OFF) | ||
| 340 | #define ACTION_SWAP_HANDS_OFF_ON() ACTION(ACT_SWAP_HANDS, OP_SH_OFF_ON) | ||
| 341 | #define ACTION_SWAP_HANDS_ON() ACTION(ACT_SWAP_HANDS, OP_SH_ON) | ||
| 342 | #define ACTION_SWAP_HANDS_OFF() ACTION(ACT_SWAP_HANDS, OP_SH_OFF) | ||
| 317 | 343 | ||
| 318 | #endif /* ACTION_CODE_H */ | 344 | #endif /* ACTION_CODE_H */ |
diff --git a/tmk_core/common/action_util.c b/tmk_core/common/action_util.c index 61ff202be..cb4b25264 100644 --- a/tmk_core/common/action_util.c +++ b/tmk_core/common/action_util.c | |||
| @@ -20,6 +20,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 20 | #include "action_util.h" | 20 | #include "action_util.h" |
| 21 | #include "action_layer.h" | 21 | #include "action_layer.h" |
| 22 | #include "timer.h" | 22 | #include "timer.h" |
| 23 | #include "keycode_config.h" | ||
| 24 | |||
| 25 | extern keymap_config_t keymap_config; | ||
| 26 | |||
| 23 | 27 | ||
| 24 | static inline void add_key_byte(uint8_t code); | 28 | static inline void add_key_byte(uint8_t code); |
| 25 | static inline void del_key_byte(uint8_t code); | 29 | static inline void del_key_byte(uint8_t code); |
| @@ -139,7 +143,7 @@ void send_keyboard_report(void) { | |||
| 139 | void add_key(uint8_t key) | 143 | void add_key(uint8_t key) |
| 140 | { | 144 | { |
| 141 | #ifdef NKRO_ENABLE | 145 | #ifdef NKRO_ENABLE |
| 142 | if (keyboard_protocol && keyboard_nkro) { | 146 | if (keyboard_protocol && keymap_config.nkro) { |
| 143 | add_key_bit(key); | 147 | add_key_bit(key); |
| 144 | return; | 148 | return; |
| 145 | } | 149 | } |
| @@ -150,7 +154,7 @@ void add_key(uint8_t key) | |||
| 150 | void del_key(uint8_t key) | 154 | void del_key(uint8_t key) |
| 151 | { | 155 | { |
| 152 | #ifdef NKRO_ENABLE | 156 | #ifdef NKRO_ENABLE |
| 153 | if (keyboard_protocol && keyboard_nkro) { | 157 | if (keyboard_protocol && keymap_config.nkro) { |
| 154 | del_key_bit(key); | 158 | del_key_bit(key); |
| 155 | return; | 159 | return; |
| 156 | } | 160 | } |
| @@ -231,7 +235,7 @@ uint8_t has_anymod(void) | |||
| 231 | uint8_t get_first_key(void) | 235 | uint8_t get_first_key(void) |
| 232 | { | 236 | { |
| 233 | #ifdef NKRO_ENABLE | 237 | #ifdef NKRO_ENABLE |
| 234 | if (keyboard_protocol && keyboard_nkro) { | 238 | if (keyboard_protocol && keymap_config.nkro) { |
| 235 | uint8_t i = 0; | 239 | uint8_t i = 0; |
| 236 | for (; i < KEYBOARD_REPORT_BITS && !keyboard_report->nkro.bits[i]; i++) | 240 | for (; i < KEYBOARD_REPORT_BITS && !keyboard_report->nkro.bits[i]; i++) |
| 237 | ; | 241 | ; |
diff --git a/tmk_core/common/avr/bootloader.c b/tmk_core/common/avr/bootloader.c index fb9bf2d1c..ad547b985 100644 --- a/tmk_core/common/avr/bootloader.c +++ b/tmk_core/common/avr/bootloader.c | |||
| @@ -38,7 +38,7 @@ | |||
| 38 | * | | | | | 38 | * | | | | |
| 39 | * = = = = | 39 | * = = = = |
| 40 | * | | 32KB-4KB | | 128KB-8KB | 40 | * | | 32KB-4KB | | 128KB-8KB |
| 41 | * 0x6000 +---------------+ 0x1FC00 +---------------+ | 41 | * 0x7000 +---------------+ 0x1E000 +---------------+ |
| 42 | * | Bootloader | 4KB | Bootloader | 8KB | 42 | * | Bootloader | 4KB | Bootloader | 8KB |
| 43 | * 0x7FFF +---------------+ 0x1FFFF +---------------+ | 43 | * 0x7FFF +---------------+ 0x1FFFF +---------------+ |
| 44 | * | 44 | * |
| @@ -64,8 +64,8 @@ | |||
| 64 | #define BOOTLOADER_START (FLASH_SIZE - BOOTLOADER_SIZE) | 64 | #define BOOTLOADER_START (FLASH_SIZE - BOOTLOADER_SIZE) |
| 65 | 65 | ||
| 66 | 66 | ||
| 67 | /* | 67 | /* |
| 68 | * Entering the Bootloader via Software | 68 | * Entering the Bootloader via Software |
| 69 | * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html | 69 | * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html |
| 70 | */ | 70 | */ |
| 71 | #define BOOTLOADER_RESET_KEY 0xB007B007 | 71 | #define BOOTLOADER_RESET_KEY 0xB007B007 |
| @@ -137,7 +137,7 @@ void bootloader_jump_after_watchdog_reset(void) | |||
| 137 | #if 0 | 137 | #if 0 |
| 138 | /* Jumping To The Bootloader | 138 | /* Jumping To The Bootloader |
| 139 | * http://www.pjrc.com/teensy/jump_to_bootloader.html | 139 | * http://www.pjrc.com/teensy/jump_to_bootloader.html |
| 140 | * | 140 | * |
| 141 | * This method doen't work when using LUFA. idk why. | 141 | * This method doen't work when using LUFA. idk why. |
| 142 | * - needs to initialize more regisers or interrupt setting? | 142 | * - needs to initialize more regisers or interrupt setting? |
| 143 | */ | 143 | */ |
diff --git a/tmk_core/common/avr/xprintf.S b/tmk_core/common/avr/xprintf.S index 0cec70ce2..06434b98d 100644 --- a/tmk_core/common/avr/xprintf.S +++ b/tmk_core/common/avr/xprintf.S | |||
| @@ -1,500 +1,500 @@ | |||
| 1 | ;---------------------------------------------------------------------------; | 1 | ;---------------------------------------------------------------------------; |
| 2 | ; Extended itoa, puts, printf and atoi (C)ChaN, 2011 | 2 | ; Extended itoa, puts, printf and atoi (C)ChaN, 2011 |
| 3 | ;---------------------------------------------------------------------------; | 3 | ;---------------------------------------------------------------------------; |
| 4 | 4 | ||
| 5 | // Base size is 152 bytes | 5 | // Base size is 152 bytes |
| 6 | #define CR_CRLF 0 // Convert \n to \r\n (+10 bytes) | 6 | #define CR_CRLF 0 // Convert \n to \r\n (+10 bytes) |
| 7 | #define USE_XPRINTF 1 // Enable xprintf function (+194 bytes) | 7 | #define USE_XPRINTF 1 // Enable xprintf function (+194 bytes) |
| 8 | #define USE_XSPRINTF 0 // Add xsprintf function (+78 bytes) | 8 | #define USE_XSPRINTF 0 // Add xsprintf function (+78 bytes) |
| 9 | #define USE_XFPRINTF 0 // Add xfprintf function (+54 bytes) | 9 | #define USE_XFPRINTF 0 // Add xfprintf function (+54 bytes) |
| 10 | #define USE_XATOI 0 // Enable xatoi function (+182 bytes) | 10 | #define USE_XATOI 0 // Enable xatoi function (+182 bytes) |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | #if FLASHEND > 0x1FFFF | 13 | #if FLASHEND > 0x1FFFF |
| 14 | #error xitoa module does not support 256K devices | 14 | #error xitoa module does not support 256K devices |
| 15 | #endif | 15 | #endif |
| 16 | 16 | ||
| 17 | .nolist | 17 | .nolist |
| 18 | #include <avr/io.h> // Include device specific definitions. | 18 | #include <avr/io.h> // Include device specific definitions. |
| 19 | .list | 19 | .list |
| 20 | 20 | ||
| 21 | #ifdef SPM_PAGESIZE // Recent devices have "lpm Rd,Z+" and "movw". | 21 | #ifdef SPM_PAGESIZE // Recent devices have "lpm Rd,Z+" and "movw". |
| 22 | .macro _LPMI reg | 22 | .macro _LPMI reg |
| 23 | lpm \reg, Z+ | 23 | lpm \reg, Z+ |
| 24 | .endm | 24 | .endm |
| 25 | .macro _MOVW dh,dl, sh,sl | 25 | .macro _MOVW dh,dl, sh,sl |
| 26 | movw \dl, \sl | 26 | movw \dl, \sl |
| 27 | .endm | 27 | .endm |
| 28 | #else // Earlier devices do not have "lpm Rd,Z+" nor "movw". | 28 | #else // Earlier devices do not have "lpm Rd,Z+" nor "movw". |
| 29 | .macro _LPMI reg | 29 | .macro _LPMI reg |
| 30 | lpm | 30 | lpm |
| 31 | mov \reg, r0 | 31 | mov \reg, r0 |
| 32 | adiw ZL, 1 | 32 | adiw ZL, 1 |
| 33 | .endm | 33 | .endm |
| 34 | .macro _MOVW dh,dl, sh,sl | 34 | .macro _MOVW dh,dl, sh,sl |
| 35 | mov \dl, \sl | 35 | mov \dl, \sl |
| 36 | mov \dh, \sh | 36 | mov \dh, \sh |
| 37 | .endm | 37 | .endm |
| 38 | #endif | 38 | #endif |
| 39 | 39 | ||
| 40 | 40 | ||
| 41 | 41 | ||
| 42 | ;--------------------------------------------------------------------------- | 42 | ;--------------------------------------------------------------------------- |
| 43 | ; Stub function to forward to user output function | 43 | ; Stub function to forward to user output function |
| 44 | ; | 44 | ; |
| 45 | ;Prototype: void xputc (char chr // a character to be output | 45 | ;Prototype: void xputc (char chr // a character to be output |
| 46 | ; ); | 46 | ; ); |
| 47 | ;Size: 12/12 words | 47 | ;Size: 12/12 words |
| 48 | 48 | ||
| 49 | .section .bss | 49 | .section .bss |
| 50 | .global xfunc_out ; xfunc_out must be initialized before using this module. | 50 | .global xfunc_out ; xfunc_out must be initialized before using this module. |
| 51 | xfunc_out: .ds.w 1 | 51 | xfunc_out: .ds.w 1 |
| 52 | .section .text | 52 | .section .text |
| 53 | 53 | ||
| 54 | 54 | ||
| 55 | .func xputc | 55 | .func xputc |
| 56 | .global xputc | 56 | .global xputc |
| 57 | xputc: | 57 | xputc: |
| 58 | #if CR_CRLF | 58 | #if CR_CRLF |
| 59 | cpi r24, 10 ;LF --> CRLF | 59 | cpi r24, 10 ;LF --> CRLF |
| 60 | brne 1f ; | 60 | brne 1f ; |
| 61 | ldi r24, 13 ; | 61 | ldi r24, 13 ; |
| 62 | rcall 1f ; | 62 | rcall 1f ; |
| 63 | ldi r24, 10 ;/ | 63 | ldi r24, 10 ;/ |
| 64 | 1: | 64 | 1: |
| 65 | #endif | 65 | #endif |
| 66 | push ZH | 66 | push ZH |
| 67 | push ZL | 67 | push ZL |
| 68 | lds ZL, xfunc_out+0 ;Pointer to the registered output function. | 68 | lds ZL, xfunc_out+0 ;Pointer to the registered output function. |
| 69 | lds ZH, xfunc_out+1 ;/ | 69 | lds ZH, xfunc_out+1 ;/ |
| 70 | sbiw ZL, 0 ;Skip if null | 70 | sbiw ZL, 0 ;Skip if null |
| 71 | breq 2f ;/ | 71 | breq 2f ;/ |
| 72 | icall | 72 | icall |
| 73 | 2: pop ZL | 73 | 2: pop ZL |
| 74 | pop ZH | 74 | pop ZH |
| 75 | ret | 75 | ret |
| 76 | .endfunc | 76 | .endfunc |
| 77 | 77 | ||
| 78 | 78 | ||
| 79 | 79 | ||
| 80 | ;--------------------------------------------------------------------------- | 80 | ;--------------------------------------------------------------------------- |
| 81 | ; Direct ROM string output | 81 | ; Direct ROM string output |
| 82 | ; | 82 | ; |
| 83 | ;Prototype: void xputs (const char *str_p // rom string to be output | 83 | ;Prototype: void xputs (const char *str_p // rom string to be output |
| 84 | ; ); | 84 | ; ); |
| 85 | 85 | ||
| 86 | .func xputs | 86 | .func xputs |
| 87 | .global xputs | 87 | .global xputs |
| 88 | xputs: | 88 | xputs: |
| 89 | _MOVW ZH,ZL, r25,r24 ; Z = pointer to rom string | 89 | _MOVW ZH,ZL, r25,r24 ; Z = pointer to rom string |
| 90 | 1: _LPMI r24 | 90 | 1: _LPMI r24 |
| 91 | cpi r24, 0 | 91 | cpi r24, 0 |
| 92 | breq 2f | 92 | breq 2f |
| 93 | rcall xputc | 93 | rcall xputc |
| 94 | rjmp 1b | 94 | rjmp 1b |
| 95 | 2: ret | 95 | 2: ret |
| 96 | .endfunc | 96 | .endfunc |
| 97 | 97 | ||
| 98 | 98 | ||
| 99 | ;--------------------------------------------------------------------------- | 99 | ;--------------------------------------------------------------------------- |
| 100 | ; Extended direct numeral string output (32bit version) | 100 | ; Extended direct numeral string output (32bit version) |
| 101 | ; | 101 | ; |
| 102 | ;Prototype: void xitoa (long value, // value to be output | 102 | ;Prototype: void xitoa (long value, // value to be output |
| 103 | ; char radix, // radix | 103 | ; char radix, // radix |
| 104 | ; char width); // minimum width | 104 | ; char width); // minimum width |
| 105 | ; | 105 | ; |
| 106 | 106 | ||
| 107 | .func xitoa | 107 | .func xitoa |
| 108 | .global xitoa | 108 | .global xitoa |
| 109 | xitoa: | 109 | xitoa: |
| 110 | ;r25:r22 = value, r20 = base, r18 = digits | 110 | ;r25:r22 = value, r20 = base, r18 = digits |
| 111 | clr r31 ;r31 = stack level | 111 | clr r31 ;r31 = stack level |
| 112 | ldi r30, ' ' ;r30 = sign | 112 | ldi r30, ' ' ;r30 = sign |
| 113 | ldi r19, ' ' ;r19 = filler | 113 | ldi r19, ' ' ;r19 = filler |
| 114 | sbrs r20, 7 ;When base indicates signd format and the value | 114 | sbrs r20, 7 ;When base indicates signd format and the value |
| 115 | rjmp 0f ;is minus, add a '-'. | 115 | rjmp 0f ;is minus, add a '-'. |
| 116 | neg r20 ; | 116 | neg r20 ; |
| 117 | sbrs r25, 7 ; | 117 | sbrs r25, 7 ; |
| 118 | rjmp 0f ; | 118 | rjmp 0f ; |
| 119 | ldi r30, '-' ; | 119 | ldi r30, '-' ; |
| 120 | com r22 ; | 120 | com r22 ; |
| 121 | com r23 ; | 121 | com r23 ; |
| 122 | com r24 ; | 122 | com r24 ; |
| 123 | com r25 ; | 123 | com r25 ; |
| 124 | adc r22, r1 ; | 124 | adc r22, r1 ; |
| 125 | adc r23, r1 ; | 125 | adc r23, r1 ; |
| 126 | adc r24, r1 ; | 126 | adc r24, r1 ; |
| 127 | adc r25, r1 ;/ | 127 | adc r25, r1 ;/ |
| 128 | 0: sbrs r18, 7 ;When digits indicates zero filled, | 128 | 0: sbrs r18, 7 ;When digits indicates zero filled, |
| 129 | rjmp 1f ;filler is '0'. | 129 | rjmp 1f ;filler is '0'. |
| 130 | neg r18 ; | 130 | neg r18 ; |
| 131 | ldi r19, '0' ;/ | 131 | ldi r19, '0' ;/ |
| 132 | ;----- string conversion loop | 132 | ;----- string conversion loop |
| 133 | 1: ldi r21, 32 ;r26 = r25:r22 % r20 | 133 | 1: ldi r21, 32 ;r26 = r25:r22 % r20 |
| 134 | clr r26 ;r25:r22 /= r20 | 134 | clr r26 ;r25:r22 /= r20 |
| 135 | 2: lsl r22 ; | 135 | 2: lsl r22 ; |
| 136 | rol r23 ; | 136 | rol r23 ; |
| 137 | rol r24 ; | 137 | rol r24 ; |
| 138 | rol r25 ; | 138 | rol r25 ; |
| 139 | rol r26 ; | 139 | rol r26 ; |
| 140 | cp r26, r20 ; | 140 | cp r26, r20 ; |
| 141 | brcs 3f ; | 141 | brcs 3f ; |
| 142 | sub r26, r20 ; | 142 | sub r26, r20 ; |
| 143 | inc r22 ; | 143 | inc r22 ; |
| 144 | 3: dec r21 ; | 144 | 3: dec r21 ; |
| 145 | brne 2b ;/ | 145 | brne 2b ;/ |
| 146 | cpi r26, 10 ;r26 is a numeral digit '0'-'F' | 146 | cpi r26, 10 ;r26 is a numeral digit '0'-'F' |
| 147 | brcs 4f ; | 147 | brcs 4f ; |
| 148 | subi r26, -7 ; | 148 | subi r26, -7 ; |
| 149 | 4: subi r26, -'0' ;/ | 149 | 4: subi r26, -'0' ;/ |
| 150 | push r26 ;Stack it | 150 | push r26 ;Stack it |
| 151 | inc r31 ;/ | 151 | inc r31 ;/ |
| 152 | cp r22, r1 ;Repeat until r25:r22 gets zero | 152 | cp r22, r1 ;Repeat until r25:r22 gets zero |
| 153 | cpc r23, r1 ; | 153 | cpc r23, r1 ; |
| 154 | cpc r24, r1 ; | 154 | cpc r24, r1 ; |
| 155 | cpc r25, r1 ; | 155 | cpc r25, r1 ; |
| 156 | brne 1b ;/ | 156 | brne 1b ;/ |
| 157 | 157 | ||
| 158 | cpi r30, '-' ;Minus sign if needed | 158 | cpi r30, '-' ;Minus sign if needed |
| 159 | brne 5f ; | 159 | brne 5f ; |
| 160 | push r30 ; | 160 | push r30 ; |
| 161 | inc r31 ;/ | 161 | inc r31 ;/ |
| 162 | 5: cp r31, r18 ;Filler | 162 | 5: cp r31, r18 ;Filler |
| 163 | brcc 6f ; | 163 | brcc 6f ; |
| 164 | push r19 ; | 164 | push r19 ; |
| 165 | inc r31 ; | 165 | inc r31 ; |
| 166 | rjmp 5b ;/ | 166 | rjmp 5b ;/ |
| 167 | 167 | ||
| 168 | 6: pop r24 ;Flush stacked digits and exit | 168 | 6: pop r24 ;Flush stacked digits and exit |
| 169 | rcall xputc ; | 169 | rcall xputc ; |
| 170 | dec r31 ; | 170 | dec r31 ; |
| 171 | brne 6b ;/ | 171 | brne 6b ;/ |
| 172 | 172 | ||
| 173 | ret | 173 | ret |
| 174 | .endfunc | 174 | .endfunc |
| 175 | 175 | ||
| 176 | 176 | ||
| 177 | 177 | ||
| 178 | ;---------------------------------------------------------------------------; | 178 | ;---------------------------------------------------------------------------; |
| 179 | ; Formatted string output (16/32bit version) | 179 | ; Formatted string output (16/32bit version) |
| 180 | ; | 180 | ; |
| 181 | ;Prototype: | 181 | ;Prototype: |
| 182 | ; void __xprintf (const char *format_p, ...); | 182 | ; void __xprintf (const char *format_p, ...); |
| 183 | ; void __xsprintf(char*, const char *format_p, ...); | 183 | ; void __xsprintf(char*, const char *format_p, ...); |
| 184 | ; void __xfprintf(void(*func)(char), const char *format_p, ...); | 184 | ; void __xfprintf(void(*func)(char), const char *format_p, ...); |
| 185 | ; | 185 | ; |
| 186 | 186 | ||
| 187 | #if USE_XPRINTF | 187 | #if USE_XPRINTF |
| 188 | 188 | ||
| 189 | .func xvprintf | 189 | .func xvprintf |
| 190 | xvprintf: | 190 | xvprintf: |
| 191 | ld ZL, Y+ ;Z = pointer to format string | 191 | ld ZL, Y+ ;Z = pointer to format string |
| 192 | ld ZH, Y+ ;/ | 192 | ld ZH, Y+ ;/ |
| 193 | 193 | ||
| 194 | 0: _LPMI r24 ;Get a format char | 194 | 0: _LPMI r24 ;Get a format char |
| 195 | cpi r24, 0 ;End of format string? | 195 | cpi r24, 0 ;End of format string? |
| 196 | breq 90f ;/ | 196 | breq 90f ;/ |
| 197 | cpi r24, '%' ;Is format? | 197 | cpi r24, '%' ;Is format? |
| 198 | breq 20f ;/ | 198 | breq 20f ;/ |
| 199 | 1: rcall xputc ;Put a normal character | 199 | 1: rcall xputc ;Put a normal character |
| 200 | rjmp 0b ;/ | 200 | rjmp 0b ;/ |
| 201 | 90: ret | 201 | 90: ret |
| 202 | 202 | ||
| 203 | 20: ldi r18, 0 ;r18: digits | 203 | 20: ldi r18, 0 ;r18: digits |
| 204 | clt ;T: filler | 204 | clt ;T: filler |
| 205 | _LPMI r21 ;Get flags | 205 | _LPMI r21 ;Get flags |
| 206 | cpi r21, '%' ;Is a %? | 206 | cpi r21, '%' ;Is a %? |
| 207 | breq 1b ;/ | 207 | breq 1b ;/ |
| 208 | cpi r21, '0' ;Zero filled? | 208 | cpi r21, '0' ;Zero filled? |
| 209 | brne 23f ; | 209 | brne 23f ; |
| 210 | set ;/ | 210 | set ;/ |
| 211 | 22: _LPMI r21 ;Get width | 211 | 22: _LPMI r21 ;Get width |
| 212 | 23: cpi r21, '9'+1 ; | 212 | 23: cpi r21, '9'+1 ; |
| 213 | brcc 24f ; | 213 | brcc 24f ; |
| 214 | subi r21, '0' ; | 214 | subi r21, '0' ; |
| 215 | brcs 90b ; | 215 | brcs 90b ; |
| 216 | lsl r18 ; | 216 | lsl r18 ; |
| 217 | mov r0, r18 ; | 217 | mov r0, r18 ; |
| 218 | lsl r18 ; | 218 | lsl r18 ; |
| 219 | lsl r18 ; | 219 | lsl r18 ; |
| 220 | add r18, r0 ; | 220 | add r18, r0 ; |
| 221 | add r18, r21 ; | 221 | add r18, r21 ; |
| 222 | rjmp 22b ;/ | 222 | rjmp 22b ;/ |
| 223 | 223 | ||
| 224 | 24: brtc 25f ;get value (low word) | 224 | 24: brtc 25f ;get value (low word) |
| 225 | neg r18 ; | 225 | neg r18 ; |
| 226 | 25: ld r24, Y+ ; | 226 | 25: ld r24, Y+ ; |
| 227 | ld r25, Y+ ;/ | 227 | ld r25, Y+ ;/ |
| 228 | cpi r21, 'c' ;Is type character? | 228 | cpi r21, 'c' ;Is type character? |
| 229 | breq 1b ;/ | 229 | breq 1b ;/ |
| 230 | cpi r21, 's' ;Is type RAM string? | 230 | cpi r21, 's' ;Is type RAM string? |
| 231 | breq 50f ;/ | 231 | breq 50f ;/ |
| 232 | cpi r21, 'S' ;Is type ROM string? | 232 | cpi r21, 'S' ;Is type ROM string? |
| 233 | breq 60f ;/ | 233 | breq 60f ;/ |
| 234 | _MOVW r23,r22,r25,r24 ;r25:r22 = value | 234 | _MOVW r23,r22,r25,r24 ;r25:r22 = value |
| 235 | clr r24 ; | 235 | clr r24 ; |
| 236 | clr r25 ; | 236 | clr r25 ; |
| 237 | clt ;/ | 237 | clt ;/ |
| 238 | cpi r21, 'l' ;Is long int? | 238 | cpi r21, 'l' ;Is long int? |
| 239 | brne 26f ; | 239 | brne 26f ; |
| 240 | ld r24, Y+ ;get value (high word) | 240 | ld r24, Y+ ;get value (high word) |
| 241 | ld r25, Y+ ; | 241 | ld r25, Y+ ; |
| 242 | set ; | 242 | set ; |
| 243 | _LPMI r21 ;/ | 243 | _LPMI r21 ;/ |
| 244 | 26: cpi r21, 'd' ;Is type signed decimal? | 244 | 26: cpi r21, 'd' ;Is type signed decimal? |
| 245 | brne 27f ;/ | 245 | brne 27f ;/ |
| 246 | ldi r20, -10 ; | 246 | ldi r20, -10 ; |
| 247 | brts 40f ; | 247 | brts 40f ; |
| 248 | sbrs r23, 7 ; | 248 | sbrs r23, 7 ; |
| 249 | rjmp 40f ; | 249 | rjmp 40f ; |
| 250 | ldi r24, -1 ; | 250 | ldi r24, -1 ; |
| 251 | ldi r25, -1 ; | 251 | ldi r25, -1 ; |
| 252 | rjmp 40f ;/ | 252 | rjmp 40f ;/ |
| 253 | 27: cpi r21, 'u' ;Is type unsigned decimal? | 253 | 27: cpi r21, 'u' ;Is type unsigned decimal? |
| 254 | ldi r20, 10 ; | 254 | ldi r20, 10 ; |
| 255 | breq 40f ;/ | 255 | breq 40f ;/ |
| 256 | cpi r21, 'X' ;Is type hexdecimal? | 256 | cpi r21, 'X' ;Is type hexdecimal? |
| 257 | ldi r20, 16 ; | 257 | ldi r20, 16 ; |
| 258 | breq 40f ;/ | 258 | breq 40f ;/ |
| 259 | cpi r21, 'b' ;Is type binary? | 259 | cpi r21, 'b' ;Is type binary? |
| 260 | ldi r20, 2 ; | 260 | ldi r20, 2 ; |
| 261 | breq 40f ;/ | 261 | breq 40f ;/ |
| 262 | ret ;abort | 262 | ret ;abort |
| 263 | 40: push ZH ;Output the value | 263 | 40: push ZH ;Output the value |
| 264 | push ZL ; | 264 | push ZL ; |
| 265 | rcall xitoa ; | 265 | rcall xitoa ; |
| 266 | 42: pop ZL ; | 266 | 42: pop ZL ; |
| 267 | pop ZH ; | 267 | pop ZH ; |
| 268 | rjmp 0b ;/ | 268 | rjmp 0b ;/ |
| 269 | 269 | ||
| 270 | 50: push ZH ;Put a string on the RAM | 270 | 50: push ZH ;Put a string on the RAM |
| 271 | push ZL | 271 | push ZL |
| 272 | _MOVW ZH,ZL, r25,r24 | 272 | _MOVW ZH,ZL, r25,r24 |
| 273 | 51: ld r24, Z+ | 273 | 51: ld r24, Z+ |
| 274 | cpi r24, 0 | 274 | cpi r24, 0 |
| 275 | breq 42b | 275 | breq 42b |
| 276 | rcall xputc | 276 | rcall xputc |
| 277 | rjmp 51b | 277 | rjmp 51b |
| 278 | 278 | ||
| 279 | 60: push ZH ;Put a string on the ROM | 279 | 60: push ZH ;Put a string on the ROM |
| 280 | push ZL | 280 | push ZL |
| 281 | rcall xputs | 281 | rcall xputs |
| 282 | rjmp 42b | 282 | rjmp 42b |
| 283 | .endfunc | 283 | .endfunc |
| 284 | 284 | ||
| 285 | 285 | ||
| 286 | .func __xprintf | 286 | .func __xprintf |
| 287 | .global __xprintf | 287 | .global __xprintf |
| 288 | __xprintf: | 288 | __xprintf: |
| 289 | push YH | 289 | push YH |
| 290 | push YL | 290 | push YL |
| 291 | in YL, _SFR_IO_ADDR(SPL) | 291 | in YL, _SFR_IO_ADDR(SPL) |
| 292 | #ifdef SPH | 292 | #ifdef SPH |
| 293 | in YH, _SFR_IO_ADDR(SPH) | 293 | in YH, _SFR_IO_ADDR(SPH) |
| 294 | #else | 294 | #else |
| 295 | clr YH | 295 | clr YH |
| 296 | #endif | 296 | #endif |
| 297 | adiw YL, 5 ;Y = pointer to arguments | 297 | adiw YL, 5 ;Y = pointer to arguments |
| 298 | rcall xvprintf | 298 | rcall xvprintf |
| 299 | pop YL | 299 | pop YL |
| 300 | pop YH | 300 | pop YH |
| 301 | ret | 301 | ret |
| 302 | .endfunc | 302 | .endfunc |
| 303 | 303 | ||
| 304 | 304 | ||
| 305 | #if USE_XSPRINTF | 305 | #if USE_XSPRINTF |
| 306 | 306 | ||
| 307 | .func __xsprintf | 307 | .func __xsprintf |
| 308 | putram: | 308 | putram: |
| 309 | _MOVW ZH,ZL, r15,r14 | 309 | _MOVW ZH,ZL, r15,r14 |
| 310 | st Z+, r24 | 310 | st Z+, r24 |
| 311 | _MOVW r15,r14, ZH,ZL | 311 | _MOVW r15,r14, ZH,ZL |
| 312 | ret | 312 | ret |
| 313 | .global __xsprintf | 313 | .global __xsprintf |
| 314 | __xsprintf: | 314 | __xsprintf: |
| 315 | push YH | 315 | push YH |
| 316 | push YL | 316 | push YL |
| 317 | in YL, _SFR_IO_ADDR(SPL) | 317 | in YL, _SFR_IO_ADDR(SPL) |
| 318 | #ifdef SPH | 318 | #ifdef SPH |
| 319 | in YH, _SFR_IO_ADDR(SPH) | 319 | in YH, _SFR_IO_ADDR(SPH) |
| 320 | #else | 320 | #else |
| 321 | clr YH | 321 | clr YH |
| 322 | #endif | 322 | #endif |
| 323 | adiw YL, 5 ;Y = pointer to arguments | 323 | adiw YL, 5 ;Y = pointer to arguments |
| 324 | lds ZL, xfunc_out+0 ;Save registered output function | 324 | lds ZL, xfunc_out+0 ;Save registered output function |
| 325 | lds ZH, xfunc_out+1 ; | 325 | lds ZH, xfunc_out+1 ; |
| 326 | push ZL ; | 326 | push ZL ; |
| 327 | push ZH ;/ | 327 | push ZH ;/ |
| 328 | ldi ZL, lo8(pm(putram));Set local output function | 328 | ldi ZL, lo8(pm(putram));Set local output function |
| 329 | ldi ZH, hi8(pm(putram)); | 329 | ldi ZH, hi8(pm(putram)); |
| 330 | sts xfunc_out+0, ZL ; | 330 | sts xfunc_out+0, ZL ; |
| 331 | sts xfunc_out+1, ZH ;/ | 331 | sts xfunc_out+1, ZH ;/ |
| 332 | push r15 ;Initialize pointer to string buffer | 332 | push r15 ;Initialize pointer to string buffer |
| 333 | push r14 ; | 333 | push r14 ; |
| 334 | ld r14, Y+ ; | 334 | ld r14, Y+ ; |
| 335 | ld r15, Y+ ;/ | 335 | ld r15, Y+ ;/ |
| 336 | rcall xvprintf | 336 | rcall xvprintf |
| 337 | _MOVW ZH,ZL, r15,r14 ;Terminate string | 337 | _MOVW ZH,ZL, r15,r14 ;Terminate string |
| 338 | st Z, r1 ; | 338 | st Z, r1 ; |
| 339 | pop r14 ; | 339 | pop r14 ; |
| 340 | pop r15 ;/ | 340 | pop r15 ;/ |
| 341 | pop ZH ;Restore registered output function | 341 | pop ZH ;Restore registered output function |
| 342 | pop ZL ; | 342 | pop ZL ; |
| 343 | sts xfunc_out+0, ZL ; | 343 | sts xfunc_out+0, ZL ; |
| 344 | sts xfunc_out+1, ZH ;/ | 344 | sts xfunc_out+1, ZH ;/ |
| 345 | pop YL | 345 | pop YL |
| 346 | pop YH | 346 | pop YH |
| 347 | ret | 347 | ret |
| 348 | .endfunc | 348 | .endfunc |
| 349 | #endif | 349 | #endif |
| 350 | 350 | ||
| 351 | 351 | ||
| 352 | #if USE_XFPRINTF | 352 | #if USE_XFPRINTF |
| 353 | .func __xfprintf | 353 | .func __xfprintf |
| 354 | .global __xfprintf | 354 | .global __xfprintf |
| 355 | __xfprintf: | 355 | __xfprintf: |
| 356 | push YH | 356 | push YH |
| 357 | push YL | 357 | push YL |
| 358 | in YL, _SFR_IO_ADDR(SPL) | 358 | in YL, _SFR_IO_ADDR(SPL) |
| 359 | #ifdef SPH | 359 | #ifdef SPH |
| 360 | in YH, _SFR_IO_ADDR(SPH) | 360 | in YH, _SFR_IO_ADDR(SPH) |
| 361 | #else | 361 | #else |
| 362 | clr YH | 362 | clr YH |
| 363 | #endif | 363 | #endif |
| 364 | adiw YL, 5 ;Y = pointer to arguments | 364 | adiw YL, 5 ;Y = pointer to arguments |
| 365 | lds ZL, xfunc_out+0 ;Save registered output function | 365 | lds ZL, xfunc_out+0 ;Save registered output function |
| 366 | lds ZH, xfunc_out+1 ; | 366 | lds ZH, xfunc_out+1 ; |
| 367 | push ZL ; | 367 | push ZL ; |
| 368 | push ZH ;/ | 368 | push ZH ;/ |
| 369 | ld ZL, Y+ ;Set output function | 369 | ld ZL, Y+ ;Set output function |
| 370 | ld ZH, Y+ ; | 370 | ld ZH, Y+ ; |
| 371 | sts xfunc_out+0, ZL ; | 371 | sts xfunc_out+0, ZL ; |
| 372 | sts xfunc_out+1, ZH ;/ | 372 | sts xfunc_out+1, ZH ;/ |
| 373 | rcall xvprintf | 373 | rcall xvprintf |
| 374 | pop ZH ;Restore registered output function | 374 | pop ZH ;Restore registered output function |
| 375 | pop ZL ; | 375 | pop ZL ; |
| 376 | sts xfunc_out+0, ZL ; | 376 | sts xfunc_out+0, ZL ; |
| 377 | sts xfunc_out+1, ZH ;/ | 377 | sts xfunc_out+1, ZH ;/ |
| 378 | pop YL | 378 | pop YL |
| 379 | pop YH | 379 | pop YH |
| 380 | ret | 380 | ret |
| 381 | .endfunc | 381 | .endfunc |
| 382 | #endif | 382 | #endif |
| 383 | 383 | ||
| 384 | #endif | 384 | #endif |
| 385 | 385 | ||
| 386 | 386 | ||
| 387 | 387 | ||
| 388 | ;--------------------------------------------------------------------------- | 388 | ;--------------------------------------------------------------------------- |
| 389 | ; Extended numeral string input | 389 | ; Extended numeral string input |
| 390 | ; | 390 | ; |
| 391 | ;Prototype: | 391 | ;Prototype: |
| 392 | ; char xatoi ( /* 1: Successful, 0: Failed */ | 392 | ; char xatoi ( /* 1: Successful, 0: Failed */ |
| 393 | ; const char **str, /* pointer to pointer to source string */ | 393 | ; const char **str, /* pointer to pointer to source string */ |
| 394 | ; long *res /* result */ | 394 | ; long *res /* result */ |
| 395 | ; ); | 395 | ; ); |
| 396 | ; | 396 | ; |
| 397 | 397 | ||
| 398 | 398 | ||
| 399 | #if USE_XATOI | 399 | #if USE_XATOI |
| 400 | .func xatoi | 400 | .func xatoi |
| 401 | .global xatoi | 401 | .global xatoi |
| 402 | xatoi: | 402 | xatoi: |
| 403 | _MOVW r1, r0, r23, r22 | 403 | _MOVW r1, r0, r23, r22 |
| 404 | _MOVW XH, XL, r25, r24 | 404 | _MOVW XH, XL, r25, r24 |
| 405 | ld ZL, X+ | 405 | ld ZL, X+ |
| 406 | ld ZH, X+ | 406 | ld ZH, X+ |
| 407 | clr r18 ;r21:r18 = 0; | 407 | clr r18 ;r21:r18 = 0; |
| 408 | clr r19 ; | 408 | clr r19 ; |
| 409 | clr r20 ; | 409 | clr r20 ; |
| 410 | clr r21 ;/ | 410 | clr r21 ;/ |
| 411 | clt ;T = 0; | 411 | clt ;T = 0; |
| 412 | 412 | ||
| 413 | ldi r25, 10 ;r25 = 10; | 413 | ldi r25, 10 ;r25 = 10; |
| 414 | rjmp 41f ;/ | 414 | rjmp 41f ;/ |
| 415 | 40: adiw ZL, 1 ;Z++; | 415 | 40: adiw ZL, 1 ;Z++; |
| 416 | 41: ld r22, Z ;r22 = *Z; | 416 | 41: ld r22, Z ;r22 = *Z; |
| 417 | cpi r22, ' ' ;if(r22 == ' ') continue | 417 | cpi r22, ' ' ;if(r22 == ' ') continue |
| 418 | breq 40b ;/ | 418 | breq 40b ;/ |
| 419 | brcs 70f ;if(r22 < ' ') error; | 419 | brcs 70f ;if(r22 < ' ') error; |
| 420 | cpi r22, '-' ;if(r22 == '-') { | 420 | cpi r22, '-' ;if(r22 == '-') { |
| 421 | brne 42f ; T = 1; | 421 | brne 42f ; T = 1; |
| 422 | set ; continue; | 422 | set ; continue; |
| 423 | rjmp 40b ;} | 423 | rjmp 40b ;} |
| 424 | 42: cpi r22, '9'+1 ;if(r22 > '9') error; | 424 | 42: cpi r22, '9'+1 ;if(r22 > '9') error; |
| 425 | brcc 70f ;/ | 425 | brcc 70f ;/ |
| 426 | cpi r22, '0' ;if(r22 < '0') error; | 426 | cpi r22, '0' ;if(r22 < '0') error; |
| 427 | brcs 70f ;/ | 427 | brcs 70f ;/ |
| 428 | brne 51f ;if(r22 > '0') cv_start; | 428 | brne 51f ;if(r22 > '0') cv_start; |
| 429 | ldi r25, 8 ;r25 = 8; | 429 | ldi r25, 8 ;r25 = 8; |
| 430 | adiw ZL, 1 ;r22 = *(++Z); | 430 | adiw ZL, 1 ;r22 = *(++Z); |
| 431 | ld r22, Z ;/ | 431 | ld r22, Z ;/ |
| 432 | cpi r22, ' '+1 ;if(r22 <= ' ') exit; | 432 | cpi r22, ' '+1 ;if(r22 <= ' ') exit; |
| 433 | brcs 80f ;/ | 433 | brcs 80f ;/ |
| 434 | cpi r22, 'b' ;if(r22 == 'b') { | 434 | cpi r22, 'b' ;if(r22 == 'b') { |
| 435 | brne 43f ; r25 = 2; | 435 | brne 43f ; r25 = 2; |
| 436 | ldi r25, 2 ; cv_start; | 436 | ldi r25, 2 ; cv_start; |
| 437 | rjmp 50f ;} | 437 | rjmp 50f ;} |
| 438 | 43: cpi r22, 'x' ;if(r22 != 'x') error; | 438 | 43: cpi r22, 'x' ;if(r22 != 'x') error; |
| 439 | brne 51f ;/ | 439 | brne 51f ;/ |
| 440 | ldi r25, 16 ;r25 = 16; | 440 | ldi r25, 16 ;r25 = 16; |
| 441 | 441 | ||
| 442 | 50: adiw ZL, 1 ;Z++; | 442 | 50: adiw ZL, 1 ;Z++; |
| 443 | ld r22, Z ;r22 = *Z; | 443 | ld r22, Z ;r22 = *Z; |
| 444 | 51: cpi r22, ' '+1 ;if(r22 <= ' ') break; | 444 | 51: cpi r22, ' '+1 ;if(r22 <= ' ') break; |
| 445 | brcs 80f ;/ | 445 | brcs 80f ;/ |
| 446 | cpi r22, 'a' ;if(r22 >= 'a') r22 =- 0x20; | 446 | cpi r22, 'a' ;if(r22 >= 'a') r22 =- 0x20; |
| 447 | brcs 52f ; | 447 | brcs 52f ; |
| 448 | subi r22, 0x20 ;/ | 448 | subi r22, 0x20 ;/ |
| 449 | 52: subi r22, '0' ;if((r22 -= '0') < 0) error; | 449 | 52: subi r22, '0' ;if((r22 -= '0') < 0) error; |
| 450 | brcs 70f ;/ | 450 | brcs 70f ;/ |
| 451 | cpi r22, 10 ;if(r22 >= 10) { | 451 | cpi r22, 10 ;if(r22 >= 10) { |
| 452 | brcs 53f ; r22 -= 7; | 452 | brcs 53f ; r22 -= 7; |
| 453 | subi r22, 7 ; if(r22 < 10) | 453 | subi r22, 7 ; if(r22 < 10) |
| 454 | cpi r22, 10 ; | 454 | cpi r22, 10 ; |
| 455 | brcs 70f ;} | 455 | brcs 70f ;} |
| 456 | 53: cp r22, r25 ;if(r22 >= r25) error; | 456 | 53: cp r22, r25 ;if(r22 >= r25) error; |
| 457 | brcc 70f ;/ | 457 | brcc 70f ;/ |
| 458 | 60: ldi r24, 33 ;r21:r18 *= r25; | 458 | 60: ldi r24, 33 ;r21:r18 *= r25; |
| 459 | sub r23, r23 ; | 459 | sub r23, r23 ; |
| 460 | 61: brcc 62f ; | 460 | 61: brcc 62f ; |
| 461 | add r23, r25 ; | 461 | add r23, r25 ; |
| 462 | 62: lsr r23 ; | 462 | 62: lsr r23 ; |
| 463 | ror r21 ; | 463 | ror r21 ; |
| 464 | ror r20 ; | 464 | ror r20 ; |
| 465 | ror r19 ; | 465 | ror r19 ; |
| 466 | ror r18 ; | 466 | ror r18 ; |
| 467 | dec r24 ; | 467 | dec r24 ; |
| 468 | brne 61b ;/ | 468 | brne 61b ;/ |
| 469 | add r18, r22 ;r21:r18 += r22; | 469 | add r18, r22 ;r21:r18 += r22; |
| 470 | adc r19, r24 ; | 470 | adc r19, r24 ; |
| 471 | adc r20, r24 ; | 471 | adc r20, r24 ; |
| 472 | adc r21, r24 ;/ | 472 | adc r21, r24 ;/ |
| 473 | rjmp 50b ;repeat | 473 | rjmp 50b ;repeat |
| 474 | 474 | ||
| 475 | 70: ldi r24, 0 | 475 | 70: ldi r24, 0 |
| 476 | rjmp 81f | 476 | rjmp 81f |
| 477 | 80: ldi r24, 1 | 477 | 80: ldi r24, 1 |
| 478 | 81: brtc 82f | 478 | 81: brtc 82f |
| 479 | clr r22 | 479 | clr r22 |
| 480 | com r18 | 480 | com r18 |
| 481 | com r19 | 481 | com r19 |
| 482 | com r20 | 482 | com r20 |
| 483 | com r21 | 483 | com r21 |
| 484 | adc r18, r22 | 484 | adc r18, r22 |
| 485 | adc r19, r22 | 485 | adc r19, r22 |
| 486 | adc r20, r22 | 486 | adc r20, r22 |
| 487 | adc r21, r22 | 487 | adc r21, r22 |
| 488 | 82: st -X, ZH | 488 | 82: st -X, ZH |
| 489 | st -X, ZL | 489 | st -X, ZL |
| 490 | _MOVW XH, XL, r1, r0 | 490 | _MOVW XH, XL, r1, r0 |
| 491 | st X+, r18 | 491 | st X+, r18 |
| 492 | st X+, r19 | 492 | st X+, r19 |
| 493 | st X+, r20 | 493 | st X+, r20 |
| 494 | st X+, r21 | 494 | st X+, r21 |
| 495 | clr r1 | 495 | clr r1 |
| 496 | ret | 496 | ret |
| 497 | .endfunc | 497 | .endfunc |
| 498 | #endif | 498 | #endif |
| 499 | 499 | ||
| 500 | 500 | ||
diff --git a/tmk_core/common/avr/xprintf.h b/tmk_core/common/avr/xprintf.h index 59c6f2531..08d9f93a0 100644 --- a/tmk_core/common/avr/xprintf.h +++ b/tmk_core/common/avr/xprintf.h | |||
| @@ -1,111 +1,111 @@ | |||
| 1 | /*--------------------------------------------------------------------------- | 1 | /*--------------------------------------------------------------------------- |
| 2 | Extended itoa, puts and printf (C)ChaN, 2011 | 2 | Extended itoa, puts and printf (C)ChaN, 2011 |
| 3 | -----------------------------------------------------------------------------*/ | 3 | -----------------------------------------------------------------------------*/ |
| 4 | 4 | ||
| 5 | #ifndef XPRINTF_H | 5 | #ifndef XPRINTF_H |
| 6 | #define XPRINTF_H | 6 | #define XPRINTF_H |
| 7 | 7 | ||
| 8 | #include <inttypes.h> | 8 | #include <inttypes.h> |
| 9 | #include <avr/pgmspace.h> | 9 | #include <avr/pgmspace.h> |
| 10 | 10 | ||
| 11 | #ifdef __cplusplus | 11 | #ifdef __cplusplus |
| 12 | extern "C" { | 12 | extern "C" { |
| 13 | #endif | 13 | #endif |
| 14 | 14 | ||
| 15 | extern void (*xfunc_out)(uint8_t); | 15 | extern void (*xfunc_out)(uint8_t); |
| 16 | #define xdev_out(func) xfunc_out = (void(*)(uint8_t))(func) | 16 | #define xdev_out(func) xfunc_out = (void(*)(uint8_t))(func) |
| 17 | 17 | ||
| 18 | /* This is a pointer to user defined output function. It must be initialized | 18 | /* This is a pointer to user defined output function. It must be initialized |
| 19 | before using this modle. | 19 | before using this modle. |
| 20 | */ | 20 | */ |
| 21 | 21 | ||
| 22 | void xputc(char chr); | 22 | void xputc(char chr); |
| 23 | 23 | ||
| 24 | /* This is a stub function to forward outputs to user defined output function. | 24 | /* This is a stub function to forward outputs to user defined output function. |
| 25 | All outputs from this module are output via this function. | 25 | All outputs from this module are output via this function. |
| 26 | */ | 26 | */ |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | /*-----------------------------------------------------------------------------*/ | 29 | /*-----------------------------------------------------------------------------*/ |
| 30 | void xputs(const char *string_p); | 30 | void xputs(const char *string_p); |
| 31 | 31 | ||
| 32 | /* The string placed in the ROM is forwarded to xputc() directly. | 32 | /* The string placed in the ROM is forwarded to xputc() directly. |
| 33 | */ | 33 | */ |
| 34 | 34 | ||
| 35 | 35 | ||
| 36 | /*-----------------------------------------------------------------------------*/ | 36 | /*-----------------------------------------------------------------------------*/ |
| 37 | void xitoa(long value, char radix, char width); | 37 | void xitoa(long value, char radix, char width); |
| 38 | 38 | ||
| 39 | /* Extended itoa(). | 39 | /* Extended itoa(). |
| 40 | 40 | ||
| 41 | value radix width output | 41 | value radix width output |
| 42 | 100 10 6 " 100" | 42 | 100 10 6 " 100" |
| 43 | 100 10 -6 "000100" | 43 | 100 10 -6 "000100" |
| 44 | 100 10 0 "100" | 44 | 100 10 0 "100" |
| 45 | 4294967295 10 0 "4294967295" | 45 | 4294967295 10 0 "4294967295" |
| 46 | 4294967295 -10 0 "-1" | 46 | 4294967295 -10 0 "-1" |
| 47 | 655360 16 -8 "000A0000" | 47 | 655360 16 -8 "000A0000" |
| 48 | 1024 16 0 "400" | 48 | 1024 16 0 "400" |
| 49 | 0x55 2 -8 "01010101" | 49 | 0x55 2 -8 "01010101" |
| 50 | */ | 50 | */ |
| 51 | 51 | ||
| 52 | 52 | ||
| 53 | /*-----------------------------------------------------------------------------*/ | 53 | /*-----------------------------------------------------------------------------*/ |
| 54 | #define xprintf(format, ...) __xprintf(PSTR(format), ##__VA_ARGS__) | 54 | #define xprintf(format, ...) __xprintf(PSTR(format), ##__VA_ARGS__) |
| 55 | #define xsprintf(str, format, ...) __xsprintf(str, PSTR(format), ##__VA_ARGS__) | 55 | #define xsprintf(str, format, ...) __xsprintf(str, PSTR(format), ##__VA_ARGS__) |
| 56 | #define xfprintf(func, format, ...) __xfprintf(func, PSTR(format), ##__VA_ARGS__) | 56 | #define xfprintf(func, format, ...) __xfprintf(func, PSTR(format), ##__VA_ARGS__) |
| 57 | 57 | ||
| 58 | void __xprintf(const char *format_p, ...); /* Send formatted string to the registered device */ | 58 | void __xprintf(const char *format_p, ...); /* Send formatted string to the registered device */ |
| 59 | void __xsprintf(char*, const char *format_p, ...); /* Put formatted string to the memory */ | 59 | // void __xsprintf(char*, const char *format_p, ...); /* Put formatted string to the memory */ |
| 60 | void __xfprintf(void(*func)(uint8_t), const char *format_p, ...); /* Send formatted string to the specified device */ | 60 | // void __xfprintf(void(*func)(uint8_t), const char *format_p, ...); /* Send formatted string to the specified device */ |
| 61 | 61 | ||
| 62 | /* Format string is placed in the ROM. The format flags is similar to printf(). | 62 | /* Format string is placed in the ROM. The format flags is similar to printf(). |
| 63 | 63 | ||
| 64 | %[flag][width][size]type | 64 | %[flag][width][size]type |
| 65 | 65 | ||
| 66 | flag | 66 | flag |
| 67 | A '0' means filled with '0' when output is shorter than width. | 67 | A '0' means filled with '0' when output is shorter than width. |
| 68 | ' ' is used in default. This is effective only numeral type. | 68 | ' ' is used in default. This is effective only numeral type. |
| 69 | width | 69 | width |
| 70 | Minimum width in decimal number. This is effective only numeral type. | 70 | Minimum width in decimal number. This is effective only numeral type. |
| 71 | Default width is zero. | 71 | Default width is zero. |
| 72 | size | 72 | size |
| 73 | A 'l' means the argument is long(32bit). Default is short(16bit). | 73 | A 'l' means the argument is long(32bit). Default is short(16bit). |
| 74 | This is effective only numeral type. | 74 | This is effective only numeral type. |
| 75 | type | 75 | type |
| 76 | 'c' : Character, argument is the value | 76 | 'c' : Character, argument is the value |
| 77 | 's' : String placed on the RAM, argument is the pointer | 77 | 's' : String placed on the RAM, argument is the pointer |
| 78 | 'S' : String placed on the ROM, argument is the pointer | 78 | 'S' : String placed on the ROM, argument is the pointer |
| 79 | 'd' : Signed decimal, argument is the value | 79 | 'd' : Signed decimal, argument is the value |
| 80 | 'u' : Unsigned decimal, argument is the value | 80 | 'u' : Unsigned decimal, argument is the value |
| 81 | 'X' : Hexdecimal, argument is the value | 81 | 'X' : Hexdecimal, argument is the value |
| 82 | 'b' : Binary, argument is the value | 82 | 'b' : Binary, argument is the value |
| 83 | '%' : '%' | 83 | '%' : '%' |
| 84 | 84 | ||
| 85 | */ | 85 | */ |
| 86 | 86 | ||
| 87 | 87 | ||
| 88 | /*-----------------------------------------------------------------------------*/ | 88 | /*-----------------------------------------------------------------------------*/ |
| 89 | char xatoi(char **str, long *ret); | 89 | char xatoi(char **str, long *ret); |
| 90 | 90 | ||
| 91 | /* Get value of the numeral string. | 91 | /* Get value of the numeral string. |
| 92 | 92 | ||
| 93 | str | 93 | str |
| 94 | Pointer to pointer to source string | 94 | Pointer to pointer to source string |
| 95 | 95 | ||
| 96 | "0b11001010" binary | 96 | "0b11001010" binary |
| 97 | "0377" octal | 97 | "0377" octal |
| 98 | "0xff800" hexdecimal | 98 | "0xff800" hexdecimal |
| 99 | "1250000" decimal | 99 | "1250000" decimal |
| 100 | "-25000" decimal | 100 | "-25000" decimal |
| 101 | 101 | ||
| 102 | ret | 102 | ret |
| 103 | Pointer to return value | 103 | Pointer to return value |
| 104 | */ | 104 | */ |
| 105 | 105 | ||
| 106 | #ifdef __cplusplus | 106 | #ifdef __cplusplus |
| 107 | } | 107 | } |
| 108 | #endif | 108 | #endif |
| 109 | 109 | ||
| 110 | #endif | 110 | #endif |
| 111 | 111 | ||
diff --git a/tmk_core/common/bootmagic.c b/tmk_core/common/bootmagic.c index 6730a2a4a..2c6bcbae5 100644 --- a/tmk_core/common/bootmagic.c +++ b/tmk_core/common/bootmagic.c | |||
| @@ -83,10 +83,6 @@ void bootmagic(void) | |||
| 83 | } | 83 | } |
| 84 | eeconfig_update_keymap(keymap_config.raw); | 84 | eeconfig_update_keymap(keymap_config.raw); |
| 85 | 85 | ||
| 86 | #ifdef NKRO_ENABLE | ||
| 87 | keyboard_nkro = keymap_config.nkro; | ||
| 88 | #endif | ||
| 89 | |||
| 90 | /* default layer */ | 86 | /* default layer */ |
| 91 | uint8_t default_layer = 0; | 87 | uint8_t default_layer = 0; |
| 92 | if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_0)) { default_layer |= (1<<0); } | 88 | if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_0)) { default_layer |= (1<<0); } |
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c index 084c9fe15..f3e1bf623 100644 --- a/tmk_core/common/command.c +++ b/tmk_core/common/command.c | |||
| @@ -34,6 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 34 | #include "command.h" | 34 | #include "command.h" |
| 35 | #include "backlight.h" | 35 | #include "backlight.h" |
| 36 | #include "quantum.h" | 36 | #include "quantum.h" |
| 37 | #include "version.h" | ||
| 37 | 38 | ||
| 38 | #ifdef MOUSEKEY_ENABLE | 39 | #ifdef MOUSEKEY_ENABLE |
| 39 | #include "mousekey.h" | 40 | #include "mousekey.h" |
| @@ -180,7 +181,7 @@ static void print_version(void) | |||
| 180 | print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " | 181 | print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " |
| 181 | "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " | 182 | "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " |
| 182 | "VER: " STR(DEVICE_VER) "\n"); | 183 | "VER: " STR(DEVICE_VER) "\n"); |
| 183 | print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n"); | 184 | print("BUILD: " STR(QMK_VERSION) " (" __TIME__ " " __DATE__ ")\n"); |
| 184 | 185 | ||
| 185 | /* build options */ | 186 | /* build options */ |
| 186 | print("OPTIONS:" | 187 | print("OPTIONS:" |
| @@ -237,7 +238,7 @@ static void print_status(void) | |||
| 237 | print_val_hex8(keyboard_protocol); | 238 | print_val_hex8(keyboard_protocol); |
| 238 | print_val_hex8(keyboard_idle); | 239 | print_val_hex8(keyboard_idle); |
| 239 | #ifdef NKRO_ENABLE | 240 | #ifdef NKRO_ENABLE |
| 240 | print_val_hex8(keyboard_nkro); | 241 | print_val_hex8(keymap_config.nkro); |
| 241 | #endif | 242 | #endif |
| 242 | print_val_hex32(timer_read32()); | 243 | print_val_hex32(timer_read32()); |
| 243 | 244 | ||
| @@ -260,7 +261,10 @@ static void print_status(void) | |||
| 260 | #ifdef BOOTMAGIC_ENABLE | 261 | #ifdef BOOTMAGIC_ENABLE |
| 261 | static void print_eeconfig(void) | 262 | static void print_eeconfig(void) |
| 262 | { | 263 | { |
| 263 | #ifndef NO_PRINT | 264 | |
| 265 | // Print these variables if NO_PRINT or USER_PRINT are not defined. | ||
| 266 | #if !defined(NO_PRINT) && !defined(USER_PRINT) | ||
| 267 | |||
| 264 | print("default_layer: "); print_dec(eeconfig_read_default_layer()); print("\n"); | 268 | print("default_layer: "); print_dec(eeconfig_read_default_layer()); print("\n"); |
| 265 | 269 | ||
| 266 | debug_config_t dc; | 270 | debug_config_t dc; |
| @@ -380,9 +384,6 @@ static bool command_common(uint8_t code) | |||
| 380 | debug_mouse = true; | 384 | debug_mouse = true; |
| 381 | } else { | 385 | } else { |
| 382 | print("\ndebug: off\n"); | 386 | print("\ndebug: off\n"); |
| 383 | debug_matrix = false; | ||
| 384 | debug_keyboard = false; | ||
| 385 | debug_mouse = false; | ||
| 386 | } | 387 | } |
| 387 | break; | 388 | break; |
| 388 | 389 | ||
| @@ -434,8 +435,8 @@ static bool command_common(uint8_t code) | |||
| 434 | // NKRO toggle | 435 | // NKRO toggle |
| 435 | case MAGIC_KC(MAGIC_KEY_NKRO): | 436 | case MAGIC_KC(MAGIC_KEY_NKRO): |
| 436 | clear_keyboard(); // clear to prevent stuck keys | 437 | clear_keyboard(); // clear to prevent stuck keys |
| 437 | keyboard_nkro = !keyboard_nkro; | 438 | keymap_config.nkro = !keymap_config.nkro; |
| 438 | if (keyboard_nkro) { | 439 | if (keymap_config.nkro) { |
| 439 | print("NKRO: on\n"); | 440 | print("NKRO: on\n"); |
| 440 | } else { | 441 | } else { |
| 441 | print("NKRO: off\n"); | 442 | print("NKRO: off\n"); |
| @@ -570,7 +571,8 @@ static uint8_t mousekey_param = 0; | |||
| 570 | 571 | ||
| 571 | static void mousekey_param_print(void) | 572 | static void mousekey_param_print(void) |
| 572 | { | 573 | { |
| 573 | #ifndef NO_PRINT | 574 | // Print these variables if NO_PRINT or USER_PRINT are not defined. |
| 575 | #if !defined(NO_PRINT) && !defined(USER_PRINT) | ||
| 574 | print("\n\t- Values -\n"); | 576 | print("\n\t- Values -\n"); |
| 575 | print("1: delay(*10ms): "); pdec(mk_delay); print("\n"); | 577 | print("1: delay(*10ms): "); pdec(mk_delay); print("\n"); |
| 576 | print("2: interval(ms): "); pdec(mk_interval); print("\n"); | 578 | print("2: interval(ms): "); pdec(mk_interval); print("\n"); |
diff --git a/tmk_core/common/host.c b/tmk_core/common/host.c index 11a05c2dd..e12b62216 100644 --- a/tmk_core/common/host.c +++ b/tmk_core/common/host.c | |||
| @@ -22,11 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 22 | #include "util.h" | 22 | #include "util.h" |
| 23 | #include "debug.h" | 23 | #include "debug.h" |
| 24 | 24 | ||
| 25 | |||
| 26 | #ifdef NKRO_ENABLE | ||
| 27 | bool keyboard_nkro = true; | ||
| 28 | #endif | ||
| 29 | |||
| 30 | static host_driver_t *driver; | 25 | static host_driver_t *driver; |
| 31 | static uint16_t last_system_report = 0; | 26 | static uint16_t last_system_report = 0; |
| 32 | static uint16_t last_consumer_report = 0; | 27 | static uint16_t last_consumer_report = 0; |
diff --git a/tmk_core/common/host.h b/tmk_core/common/host.h index 9814b10d2..aeabba710 100644 --- a/tmk_core/common/host.h +++ b/tmk_core/common/host.h | |||
| @@ -28,10 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 28 | extern "C" { | 28 | extern "C" { |
| 29 | #endif | 29 | #endif |
| 30 | 30 | ||
| 31 | #ifdef NKRO_ENABLE | ||
| 32 | extern bool keyboard_nkro; | ||
| 33 | #endif | ||
| 34 | |||
| 35 | extern uint8_t keyboard_idle; | 31 | extern uint8_t keyboard_idle; |
| 36 | extern uint8_t keyboard_protocol; | 32 | extern uint8_t keyboard_protocol; |
| 37 | 33 | ||
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index c46a701b3..371d93f3e 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c | |||
| @@ -57,6 +57,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 57 | # include "visualizer/visualizer.h" | 57 | # include "visualizer/visualizer.h" |
| 58 | #endif | 58 | #endif |
| 59 | 59 | ||
| 60 | |||
| 61 | |||
| 60 | #ifdef MATRIX_HAS_GHOST | 62 | #ifdef MATRIX_HAS_GHOST |
| 61 | static bool has_ghost_in_row(uint8_t row) | 63 | static bool has_ghost_in_row(uint8_t row) |
| 62 | { | 64 | { |
| @@ -106,7 +108,7 @@ void keyboard_init(void) { | |||
| 106 | rgblight_init(); | 108 | rgblight_init(); |
| 107 | #endif | 109 | #endif |
| 108 | #if defined(NKRO_ENABLE) && defined(FORCE_NKRO) | 110 | #if defined(NKRO_ENABLE) && defined(FORCE_NKRO) |
| 109 | keyboard_nkro = true; | 111 | keymap_config.nkro = 1; |
| 110 | #endif | 112 | #endif |
| 111 | } | 113 | } |
| 112 | 114 | ||
diff --git a/tmk_core/common/magic.c b/tmk_core/common/magic.c index 194e4cc02..49617a3d1 100644 --- a/tmk_core/common/magic.c +++ b/tmk_core/common/magic.c | |||
| @@ -27,10 +27,6 @@ void magic(void) | |||
| 27 | /* keymap config */ | 27 | /* keymap config */ |
| 28 | keymap_config.raw = eeconfig_read_keymap(); | 28 | keymap_config.raw = eeconfig_read_keymap(); |
| 29 | 29 | ||
| 30 | #ifdef NKRO_ENABLE | ||
| 31 | keyboard_nkro = keymap_config.nkro; | ||
| 32 | #endif | ||
| 33 | |||
| 34 | uint8_t default_layer = 0; | 30 | uint8_t default_layer = 0; |
| 35 | default_layer = eeconfig_read_default_layer(); | 31 | default_layer = eeconfig_read_default_layer(); |
| 36 | default_layer_set((uint32_t)default_layer); | 32 | default_layer_set((uint32_t)default_layer); |
diff --git a/tmk_core/common/mbed/xprintf.cpp b/tmk_core/common/mbed/xprintf.cpp index 3647ece75..b1aac2c99 100644 --- a/tmk_core/common/mbed/xprintf.cpp +++ b/tmk_core/common/mbed/xprintf.cpp | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | #define STRING_STACK_LIMIT 120 | 7 | #define STRING_STACK_LIMIT 120 |
| 8 | 8 | ||
| 9 | //TODO | 9 | //TODO |
| 10 | int xprintf(const char* format, ...) { return 0; } | 10 | int __xprintf(const char* format, ...) { return 0; } |
| 11 | 11 | ||
| 12 | #if 0 | 12 | #if 0 |
| 13 | /* mbed Serial */ | 13 | /* mbed Serial */ |
diff --git a/tmk_core/common/mbed/xprintf.h b/tmk_core/common/mbed/xprintf.h index 26bc529e5..1e7a48c06 100644 --- a/tmk_core/common/mbed/xprintf.h +++ b/tmk_core/common/mbed/xprintf.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | extern "C" { | 7 | extern "C" { |
| 8 | #endif | 8 | #endif |
| 9 | 9 | ||
| 10 | int xprintf(const char *format, ...); | 10 | int __xprintf(const char *format, ...); |
| 11 | 11 | ||
| 12 | #ifdef __cplusplus | 12 | #ifdef __cplusplus |
| 13 | } | 13 | } |
diff --git a/tmk_core/common/print.h b/tmk_core/common/print.h index a1352527f..8836c0fc7 100644 --- a/tmk_core/common/print.h +++ b/tmk_core/common/print.h | |||
| @@ -36,40 +36,140 @@ | |||
| 36 | 36 | ||
| 37 | #ifndef NO_PRINT | 37 | #ifndef NO_PRINT |
| 38 | 38 | ||
| 39 | #if defined(__AVR__) /* __AVR__ */ | ||
| 39 | 40 | ||
| 40 | #if defined(__AVR__) | 41 | # include "avr/xprintf.h" |
| 41 | 42 | ||
| 42 | #include "avr/xprintf.h" | 43 | # ifdef USER_PRINT /* USER_PRINT */ |
| 43 | #define print(s) xputs(PSTR(s)) | ||
| 44 | #define println(s) xputs(PSTR(s "\r\n")) | ||
| 45 | 44 | ||
| 46 | #ifdef __cplusplus | 45 | // Remove normal print defines |
| 46 | # define print(s) | ||
| 47 | # define println(s) | ||
| 48 | # undef xprintf | ||
| 49 | # define xprintf(fmt, ...) | ||
| 50 | |||
| 51 | // Create user print defines | ||
| 52 | # define uprint(s) xputs(PSTR(s)) | ||
| 53 | # define uprintln(s) xputs(PSTR(s "\r\n")) | ||
| 54 | # define uprintf(fmt, ...) __xprintf(PSTR(fmt), ##__VA_ARGS__) | ||
| 55 | |||
| 56 | # else /* NORMAL PRINT */ | ||
| 57 | |||
| 58 | // Create user & normal print defines | ||
| 59 | # define print(s) xputs(PSTR(s)) | ||
| 60 | # define println(s) xputs(PSTR(s "\r\n")) | ||
| 61 | # define uprint(s) print(s) | ||
| 62 | # define uprintln(s) println(s) | ||
| 63 | # define uprintf(fmt, ...) xprintf(fmt, ...) | ||
| 64 | |||
| 65 | # endif /* USER_PRINT / NORMAL PRINT */ | ||
| 66 | |||
| 67 | # ifdef __cplusplus | ||
| 47 | extern "C" | 68 | extern "C" |
| 48 | #endif | 69 | # endif |
| 70 | |||
| 49 | /* function pointer of sendchar to be used by print utility */ | 71 | /* function pointer of sendchar to be used by print utility */ |
| 50 | void print_set_sendchar(int8_t (*print_sendchar_func)(uint8_t)); | 72 | void print_set_sendchar(int8_t (*print_sendchar_func)(uint8_t)); |
| 51 | 73 | ||
| 52 | #elif defined(PROTOCOL_CHIBIOS) /* __AVR__ */ | 74 | #elif defined(PROTOCOL_CHIBIOS) /* PROTOCOL_CHIBIOS */ |
| 75 | |||
| 76 | # include "chibios/printf.h" | ||
| 77 | |||
| 78 | # ifdef USER_PRINT /* USER_PRINT */ | ||
| 79 | |||
| 80 | // Remove normal print defines | ||
| 81 | # define print(s) | ||
| 82 | # define println(s) | ||
| 83 | # define xprintf(fmt, ...) | ||
| 84 | |||
| 85 | // Create user print defines | ||
| 86 | # define uprint(s) printf(s) | ||
| 87 | # define uprintln(s) printf(s "\r\n") | ||
| 88 | # define uprintf printf | ||
| 89 | |||
| 90 | # else /* NORMAL PRINT */ | ||
| 91 | |||
| 92 | // Create user & normal print defines | ||
| 93 | # define print(s) printf(s) | ||
| 94 | # define println(s) printf(s "\r\n") | ||
| 95 | # define xprintf printf | ||
| 96 | # define uprint(s) printf(s) | ||
| 97 | # define uprintln(s) printf(s "\r\n") | ||
| 98 | # define uprintf printf | ||
| 53 | 99 | ||
| 54 | #include "chibios/printf.h" | 100 | # endif /* USER_PRINT / NORMAL PRINT */ |
| 55 | 101 | ||
| 56 | #define print(s) printf(s) | 102 | #elif defined(__arm__) /* __arm__ */ |
| 57 | #define println(s) printf(s "\r\n") | ||
| 58 | #define xprintf printf | ||
| 59 | 103 | ||
| 60 | #elif defined(__arm__) /* __AVR__ */ | 104 | # include "mbed/xprintf.h" |
| 61 | 105 | ||
| 62 | #include "mbed/xprintf.h" | 106 | # ifdef USER_PRINT /* USER_PRINT */ |
| 63 | 107 | ||
| 64 | #define print(s) xprintf(s) | 108 | // Remove normal print defines |
| 65 | #define println(s) xprintf(s "\r\n") | 109 | # define print(s) |
| 110 | # define println(s) | ||
| 111 | # define xprintf(fmt, ...) | ||
| 112 | |||
| 113 | // Create user print defines | ||
| 114 | # define uprintf(fmt, ...) __xprintf(fmt, ...) | ||
| 115 | # define uprint(s) xprintf(s) | ||
| 116 | # define uprintln(s) xprintf(s "\r\n") | ||
| 117 | |||
| 118 | # else /* NORMAL PRINT */ | ||
| 119 | |||
| 120 | // Create user & normal print defines | ||
| 121 | # define xprintf(fmt, ...) __xprintf(fmt, ...) | ||
| 122 | # define print(s) xprintf(s) | ||
| 123 | # define println(s) xprintf(s "\r\n") | ||
| 124 | # define uprint(s) print(s) | ||
| 125 | # define uprintln(s) println(s) | ||
| 126 | # define uprintf(fmt, ...) xprintf(fmt, ...) | ||
| 127 | |||
| 128 | # endif /* USER_PRINT / NORMAL PRINT */ | ||
| 66 | 129 | ||
| 67 | /* TODO: to select output destinations: UART/USBSerial */ | 130 | /* TODO: to select output destinations: UART/USBSerial */ |
| 68 | #define print_set_sendchar(func) | 131 | # define print_set_sendchar(func) |
| 132 | |||
| 133 | #endif /* __AVR__ / PROTOCOL_CHIBIOS / __arm__ */ | ||
| 134 | |||
| 135 | // User print disables the normal print messages in the body of QMK/TMK code and | ||
| 136 | // is meant as a lightweight alternative to NOPRINT. Use it when you only want to do | ||
| 137 | // a spot of debugging but lack flash resources for allowing all of the codebase to | ||
| 138 | // print (and store their wasteful strings). | ||
| 139 | // | ||
| 140 | // !!! DO NOT USE USER PRINT CALLS IN THE BODY OF QMK/TMK !!! | ||
| 141 | // | ||
| 142 | #ifdef USER_PRINT | ||
| 69 | 143 | ||
| 70 | #endif /* __AVR__ */ | 144 | // Disable normal print |
| 145 | #define print_dec(data) | ||
| 146 | #define print_decs(data) | ||
| 147 | #define print_hex4(data) | ||
| 148 | #define print_hex8(data) | ||
| 149 | #define print_hex16(data) | ||
| 150 | #define print_hex32(data) | ||
| 151 | #define print_bin4(data) | ||
| 152 | #define print_bin8(data) | ||
| 153 | #define print_bin16(data) | ||
| 154 | #define print_bin32(data) | ||
| 155 | #define print_bin_reverse8(data) | ||
| 156 | #define print_bin_reverse16(data) | ||
| 157 | #define print_bin_reverse32(data) | ||
| 158 | #define print_val_dec(v) | ||
| 159 | #define print_val_decs(v) | ||
| 160 | #define print_val_hex8(v) | ||
| 161 | #define print_val_hex16(v) | ||
| 162 | #define print_val_hex32(v) | ||
| 163 | #define print_val_bin8(v) | ||
| 164 | #define print_val_bin16(v) | ||
| 165 | #define print_val_bin32(v) | ||
| 166 | #define print_val_bin_reverse8(v) | ||
| 167 | #define print_val_bin_reverse16(v) | ||
| 168 | #define print_val_bin_reverse32(v) | ||
| 71 | 169 | ||
| 170 | #else /* NORMAL_PRINT */ | ||
| 72 | 171 | ||
| 172 | //Enable normal print | ||
| 73 | /* decimal */ | 173 | /* decimal */ |
| 74 | #define print_dec(i) xprintf("%u", i) | 174 | #define print_dec(i) xprintf("%u", i) |
| 75 | #define print_decs(i) xprintf("%d", i) | 175 | #define print_decs(i) xprintf("%d", i) |
| @@ -99,6 +199,39 @@ void print_set_sendchar(int8_t (*print_sendchar_func)(uint8_t)); | |||
| 99 | #define print_val_bin_reverse16(v) xprintf(#v ": %016b\n", bitrev16(v)) | 199 | #define print_val_bin_reverse16(v) xprintf(#v ": %016b\n", bitrev16(v)) |
| 100 | #define print_val_bin_reverse32(v) xprintf(#v ": %032lb\n", bitrev32(v)) | 200 | #define print_val_bin_reverse32(v) xprintf(#v ": %032lb\n", bitrev32(v)) |
| 101 | 201 | ||
| 202 | #endif /* USER_PRINT / NORMAL_PRINT */ | ||
| 203 | |||
| 204 | // User Print | ||
| 205 | |||
| 206 | /* decimal */ | ||
| 207 | #define uprint_dec(i) uprintf("%u", i) | ||
| 208 | #define uprint_decs(i) uprintf("%d", i) | ||
| 209 | /* hex */ | ||
| 210 | #define uprint_hex4(i) uprintf("%X", i) | ||
| 211 | #define uprint_hex8(i) uprintf("%02X", i) | ||
| 212 | #define uprint_hex16(i) uprintf("%04X", i) | ||
| 213 | #define uprint_hex32(i) uprintf("%08lX", i) | ||
| 214 | /* binary */ | ||
| 215 | #define uprint_bin4(i) uprintf("%04b", i) | ||
| 216 | #define uprint_bin8(i) uprintf("%08b", i) | ||
| 217 | #define uprint_bin16(i) uprintf("%016b", i) | ||
| 218 | #define uprint_bin32(i) uprintf("%032lb", i) | ||
| 219 | #define uprint_bin_reverse8(i) uprintf("%08b", bitrev(i)) | ||
| 220 | #define uprint_bin_reverse16(i) uprintf("%016b", bitrev16(i)) | ||
| 221 | #define uprint_bin_reverse32(i) uprintf("%032lb", bitrev32(i)) | ||
| 222 | /* print value utility */ | ||
| 223 | #define uprint_val_dec(v) uprintf(#v ": %u\n", v) | ||
| 224 | #define uprint_val_decs(v) uprintf(#v ": %d\n", v) | ||
| 225 | #define uprint_val_hex8(v) uprintf(#v ": %X\n", v) | ||
| 226 | #define uprint_val_hex16(v) uprintf(#v ": %02X\n", v) | ||
| 227 | #define uprint_val_hex32(v) uprintf(#v ": %04lX\n", v) | ||
| 228 | #define uprint_val_bin8(v) uprintf(#v ": %08b\n", v) | ||
| 229 | #define uprint_val_bin16(v) uprintf(#v ": %016b\n", v) | ||
| 230 | #define uprint_val_bin32(v) uprintf(#v ": %032lb\n", v) | ||
| 231 | #define uprint_val_bin_reverse8(v) uprintf(#v ": %08b\n", bitrev(v)) | ||
| 232 | #define uprint_val_bin_reverse16(v) uprintf(#v ": %016b\n", bitrev16(v)) | ||
| 233 | #define uprint_val_bin_reverse32(v) uprintf(#v ": %032lb\n", bitrev32(v)) | ||
| 234 | |||
| 102 | #else /* NO_PRINT */ | 235 | #else /* NO_PRINT */ |
| 103 | 236 | ||
| 104 | #define xprintf(fmt, ...) | 237 | #define xprintf(fmt, ...) |
| @@ -143,5 +276,4 @@ void print_set_sendchar(int8_t (*print_sendchar_func)(uint8_t)); | |||
| 143 | #define pbin_reverse(data) print_bin_reverse8(data) | 276 | #define pbin_reverse(data) print_bin_reverse8(data) |
| 144 | #define pbin_reverse16(data) print_bin_reverse16(data) | 277 | #define pbin_reverse16(data) print_bin_reverse16(data) |
| 145 | 278 | ||
| 146 | |||
| 147 | #endif | 279 | #endif |
diff --git a/tmk_core/common/virtser.h b/tmk_core/common/virtser.h new file mode 100644 index 000000000..74891b6ae --- /dev/null +++ b/tmk_core/common/virtser.h | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #ifndef _VIRTSER_H_ | ||
| 2 | #define _VIRTSER_H_ | ||
| 3 | |||
| 4 | /* Define this function in your code to process incoming bytes */ | ||
| 5 | void virtser_recv(const uint8_t ch); | ||
| 6 | |||
| 7 | /* Call this to send a character over the Virtual Serial Device */ | ||
| 8 | void virtser_send(const uint8_t byte); | ||
| 9 | |||
| 10 | #endif | ||
diff --git a/tmk_core/native.mk b/tmk_core/native.mk new file mode 100644 index 000000000..50232ee9b --- /dev/null +++ b/tmk_core/native.mk | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | CC = gcc | ||
| 2 | OBJCOPY = | ||
| 3 | OBJDUMP = | ||
| 4 | SIZE = | ||
| 5 | AR = | ||
| 6 | NM = | ||
| 7 | HEX = | ||
| 8 | EEP = | ||
| 9 | BIN = | ||
| 10 | |||
| 11 | |||
| 12 | COMPILEFLAGS += -funsigned-char | ||
| 13 | COMPILEFLAGS += -funsigned-bitfields | ||
| 14 | COMPILEFLAGS += -ffunction-sections | ||
| 15 | COMPILEFLAGS += -fdata-sections | ||
| 16 | COMPILEFLAGS += -fshort-enums | ||
| 17 | |||
| 18 | CFLAGS += $(COMPILEFLAGS) | ||
| 19 | CFLAGS += -fno-inline-small-functions | ||
| 20 | CFLAGS += -fno-strict-aliasing | ||
| 21 | |||
| 22 | CPPFLAGS += $(COMPILEFLAGS) | ||
| 23 | CPPFLAGS += -fno-exceptions | ||
| 24 | CPPFLAGS += -std=gnu++11 \ No newline at end of file | ||
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index e2c9d9bf1..d0c72c46c 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c | |||
| @@ -28,6 +28,12 @@ | |||
| 28 | #include "led.h" | 28 | #include "led.h" |
| 29 | #endif | 29 | #endif |
| 30 | 30 | ||
| 31 | #ifdef NKRO_ENABLE | ||
| 32 | #include "keycode_config.h" | ||
| 33 | |||
| 34 | extern keymap_config_t keymap_config; | ||
| 35 | #endif | ||
| 36 | |||
| 31 | /* --------------------------------------------------------- | 37 | /* --------------------------------------------------------- |
| 32 | * Global interface variables and declarations | 38 | * Global interface variables and declarations |
| 33 | * --------------------------------------------------------- | 39 | * --------------------------------------------------------- |
| @@ -39,9 +45,6 @@ uint16_t keyboard_led_stats __attribute__((aligned(2))) = 0; | |||
| 39 | volatile uint16_t keyboard_idle_count = 0; | 45 | volatile uint16_t keyboard_idle_count = 0; |
| 40 | static virtual_timer_t keyboard_idle_timer; | 46 | static virtual_timer_t keyboard_idle_timer; |
| 41 | static void keyboard_idle_timer_cb(void *arg); | 47 | static void keyboard_idle_timer_cb(void *arg); |
| 42 | #ifdef NKRO_ENABLE | ||
| 43 | extern bool keyboard_nkro; | ||
| 44 | #endif /* NKRO_ENABLE */ | ||
| 45 | 48 | ||
| 46 | report_keyboard_t keyboard_report_sent = {{0}}; | 49 | report_keyboard_t keyboard_report_sent = {{0}}; |
| 47 | #ifdef MOUSE_ENABLE | 50 | #ifdef MOUSE_ENABLE |
| @@ -943,8 +946,8 @@ static bool usb_request_hook_cb(USBDriver *usbp) { | |||
| 943 | if((usbp->setup[4] == KBD_INTERFACE) && (usbp->setup[5] == 0)) { /* wIndex */ | 946 | if((usbp->setup[4] == KBD_INTERFACE) && (usbp->setup[5] == 0)) { /* wIndex */ |
| 944 | keyboard_protocol = ((usbp->setup[2]) != 0x00); /* LSB(wValue) */ | 947 | keyboard_protocol = ((usbp->setup[2]) != 0x00); /* LSB(wValue) */ |
| 945 | #ifdef NKRO_ENABLE | 948 | #ifdef NKRO_ENABLE |
| 946 | keyboard_nkro = !!keyboard_protocol; | 949 | keymap_config.nkro = !!keyboard_protocol; |
| 947 | if(!keyboard_nkro && keyboard_idle) { | 950 | if(!keymap_config.nkro && keyboard_idle) { |
| 948 | #else /* NKRO_ENABLE */ | 951 | #else /* NKRO_ENABLE */ |
| 949 | if(keyboard_idle) { | 952 | if(keyboard_idle) { |
| 950 | #endif /* NKRO_ENABLE */ | 953 | #endif /* NKRO_ENABLE */ |
| @@ -962,7 +965,7 @@ static bool usb_request_hook_cb(USBDriver *usbp) { | |||
| 962 | keyboard_idle = usbp->setup[3]; /* MSB(wValue) */ | 965 | keyboard_idle = usbp->setup[3]; /* MSB(wValue) */ |
| 963 | /* arm the timer */ | 966 | /* arm the timer */ |
| 964 | #ifdef NKRO_ENABLE | 967 | #ifdef NKRO_ENABLE |
| 965 | if(!keyboard_nkro && keyboard_idle) { | 968 | if(!keymap_config.nkro && keyboard_idle) { |
| 966 | #else /* NKRO_ENABLE */ | 969 | #else /* NKRO_ENABLE */ |
| 967 | if(keyboard_idle) { | 970 | if(keyboard_idle) { |
| 968 | #endif /* NKRO_ENABLE */ | 971 | #endif /* NKRO_ENABLE */ |
| @@ -1089,7 +1092,7 @@ static void keyboard_idle_timer_cb(void *arg) { | |||
| 1089 | } | 1092 | } |
| 1090 | 1093 | ||
| 1091 | #ifdef NKRO_ENABLE | 1094 | #ifdef NKRO_ENABLE |
| 1092 | if(!keyboard_nkro && keyboard_idle) { | 1095 | if(!keymap_config.nkro && keyboard_idle) { |
| 1093 | #else /* NKRO_ENABLE */ | 1096 | #else /* NKRO_ENABLE */ |
| 1094 | if(keyboard_idle) { | 1097 | if(keyboard_idle) { |
| 1095 | #endif /* NKRO_ENABLE */ | 1098 | #endif /* NKRO_ENABLE */ |
| @@ -1122,7 +1125,7 @@ void send_keyboard(report_keyboard_t *report) { | |||
| 1122 | osalSysUnlock(); | 1125 | osalSysUnlock(); |
| 1123 | 1126 | ||
| 1124 | #ifdef NKRO_ENABLE | 1127 | #ifdef NKRO_ENABLE |
| 1125 | if(keyboard_nkro) { /* NKRO protocol */ | 1128 | if(keymap_config.nkro) { /* NKRO protocol */ |
| 1126 | /* need to wait until the previous packet has made it through */ | 1129 | /* need to wait until the previous packet has made it through */ |
| 1127 | /* can rewrite this using the synchronous API, then would wait | 1130 | /* can rewrite this using the synchronous API, then would wait |
| 1128 | * until *after* the packet has been transmitted. I think | 1131 | * until *after* the packet has been transmitted. I think |
diff --git a/tmk_core/protocol/iwrap/suart.S b/tmk_core/protocol/iwrap/suart.S index 1b0290963..a873515e1 100644 --- a/tmk_core/protocol/iwrap/suart.S +++ b/tmk_core/protocol/iwrap/suart.S | |||
| @@ -1,156 +1,156 @@ | |||
| 1 | ;---------------------------------------------------------------------------; | 1 | ;---------------------------------------------------------------------------; |
| 2 | ; Software implemented UART module ; | 2 | ; Software implemented UART module ; |
| 3 | ; (C)ChaN, 2005 (http://elm-chan.org/) ; | 3 | ; (C)ChaN, 2005 (http://elm-chan.org/) ; |
| 4 | ;---------------------------------------------------------------------------; | 4 | ;---------------------------------------------------------------------------; |
| 5 | ; Bit rate settings: | 5 | ; Bit rate settings: |
| 6 | ; | 6 | ; |
| 7 | ; 1MHz 2MHz 4MHz 6MHz 8MHz 10MHz 12MHz 16MHz 20MHz | 7 | ; 1MHz 2MHz 4MHz 6MHz 8MHz 10MHz 12MHz 16MHz 20MHz |
| 8 | ; 2.4kbps 138 - - - - - - - - | 8 | ; 2.4kbps 138 - - - - - - - - |
| 9 | ; 4.8kbps 68 138 - - - - - - - | 9 | ; 4.8kbps 68 138 - - - - - - - |
| 10 | ; 9.6kbps 33 68 138 208 - - - - - | 10 | ; 9.6kbps 33 68 138 208 - - - - - |
| 11 | ; 19.2kbps - 33 68 102 138 173 208 - - | 11 | ; 19.2kbps - 33 68 102 138 173 208 - - |
| 12 | ; 38.4kbps - - 33 50 68 85 102 138 172 | 12 | ; 38.4kbps - - 33 50 68 85 102 138 172 |
| 13 | ; 57.6kbps - - 21 33 44 56 68 91 114 | 13 | ; 57.6kbps - - 21 33 44 56 68 91 114 |
| 14 | ; 115.2kbps - - - - 21 27 33 44 56 | 14 | ; 115.2kbps - - - - 21 27 33 44 56 |
| 15 | 15 | ||
| 16 | .nolist | 16 | .nolist |
| 17 | #include <avr/io.h> | 17 | #include <avr/io.h> |
| 18 | .list | 18 | .list |
| 19 | 19 | ||
| 20 | #define BPS 102 /* Bit delay. (see above table) */ | 20 | #define BPS 102 /* Bit delay. (see above table) */ |
| 21 | #define BIDIR 0 /* 0:Separated Tx/Rx, 1:Shared Tx/Rx */ | 21 | #define BIDIR 0 /* 0:Separated Tx/Rx, 1:Shared Tx/Rx */ |
| 22 | 22 | ||
| 23 | #define OUT_1 sbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 1 */ | 23 | #define OUT_1 sbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 1 */ |
| 24 | #define OUT_0 cbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 0 */ | 24 | #define OUT_0 cbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 0 */ |
| 25 | #define SKIP_IN_1 sbis _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 1 */ | 25 | #define SKIP_IN_1 sbis _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 1 */ |
| 26 | #define SKIP_IN_0 sbic _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 0 */ | 26 | #define SKIP_IN_0 sbic _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 0 */ |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | 29 | ||
| 30 | #ifdef SPM_PAGESIZE | 30 | #ifdef SPM_PAGESIZE |
| 31 | .macro _LPMI reg | 31 | .macro _LPMI reg |
| 32 | lpm \reg, Z+ | 32 | lpm \reg, Z+ |
| 33 | .endm | 33 | .endm |
| 34 | .macro _MOVW dh,dl, sh,sl | 34 | .macro _MOVW dh,dl, sh,sl |
| 35 | movw \dl, \sl | 35 | movw \dl, \sl |
| 36 | .endm | 36 | .endm |
| 37 | #else | 37 | #else |
| 38 | .macro _LPMI reg | 38 | .macro _LPMI reg |
| 39 | lpm | 39 | lpm |
| 40 | mov \reg, r0 | 40 | mov \reg, r0 |
| 41 | adiw ZL, 1 | 41 | adiw ZL, 1 |
| 42 | .endm | 42 | .endm |
| 43 | .macro _MOVW dh,dl, sh,sl | 43 | .macro _MOVW dh,dl, sh,sl |
| 44 | mov \dl, \sl | 44 | mov \dl, \sl |
| 45 | mov \dh, \sh | 45 | mov \dh, \sh |
| 46 | .endm | 46 | .endm |
| 47 | #endif | 47 | #endif |
| 48 | 48 | ||
| 49 | 49 | ||
| 50 | 50 | ||
| 51 | ;---------------------------------------------------------------------------; | 51 | ;---------------------------------------------------------------------------; |
| 52 | ; Transmit a byte in serial format of N81 | 52 | ; Transmit a byte in serial format of N81 |
| 53 | ; | 53 | ; |
| 54 | ;Prototype: void xmit (uint8_t data); | 54 | ;Prototype: void xmit (uint8_t data); |
| 55 | ;Size: 16 words | 55 | ;Size: 16 words |
| 56 | 56 | ||
| 57 | .global xmit | 57 | .global xmit |
| 58 | .func xmit | 58 | .func xmit |
| 59 | xmit: | 59 | xmit: |
| 60 | #if BIDIR | 60 | #if BIDIR |
| 61 | ldi r23, BPS-1 ;Pre-idle time for bidirectional data line | 61 | ldi r23, BPS-1 ;Pre-idle time for bidirectional data line |
| 62 | 5: dec r23 ; | 62 | 5: dec r23 ; |
| 63 | brne 5b ;/ | 63 | brne 5b ;/ |
| 64 | #endif | 64 | #endif |
| 65 | in r0, _SFR_IO_ADDR(SREG) ;Save flags | 65 | in r0, _SFR_IO_ADDR(SREG) ;Save flags |
| 66 | 66 | ||
| 67 | com r24 ;C = start bit | 67 | com r24 ;C = start bit |
| 68 | ldi r25, 10 ;Bit counter | 68 | ldi r25, 10 ;Bit counter |
| 69 | cli ;Start critical section | 69 | cli ;Start critical section |
| 70 | 70 | ||
| 71 | 1: ldi r23, BPS-1 ;----- Bit transferring loop | 71 | 1: ldi r23, BPS-1 ;----- Bit transferring loop |
| 72 | 2: dec r23 ;Wait for a bit time | 72 | 2: dec r23 ;Wait for a bit time |
| 73 | brne 2b ;/ | 73 | brne 2b ;/ |
| 74 | brcs 3f ;MISO = bit to be sent | 74 | brcs 3f ;MISO = bit to be sent |
| 75 | OUT_1 ; | 75 | OUT_1 ; |
| 76 | 3: brcc 4f ; | 76 | 3: brcc 4f ; |
| 77 | OUT_0 ;/ | 77 | OUT_0 ;/ |
| 78 | 4: lsr r24 ;Get next bit into C | 78 | 4: lsr r24 ;Get next bit into C |
| 79 | dec r25 ;All bits sent? | 79 | dec r25 ;All bits sent? |
| 80 | brne 1b ; no, coutinue | 80 | brne 1b ; no, coutinue |
| 81 | 81 | ||
| 82 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section | 82 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section |
| 83 | ret | 83 | ret |
| 84 | .endfunc | 84 | .endfunc |
| 85 | 85 | ||
| 86 | 86 | ||
| 87 | 87 | ||
| 88 | ;---------------------------------------------------------------------------; | 88 | ;---------------------------------------------------------------------------; |
| 89 | ; Receive a byte | 89 | ; Receive a byte |
| 90 | ; | 90 | ; |
| 91 | ;Prototype: uint8_t rcvr (void); | 91 | ;Prototype: uint8_t rcvr (void); |
| 92 | ;Size: 19 words | 92 | ;Size: 19 words |
| 93 | 93 | ||
| 94 | .global rcvr | 94 | .global rcvr |
| 95 | .func rcvr | 95 | .func rcvr |
| 96 | rcvr: | 96 | rcvr: |
| 97 | in r0, _SFR_IO_ADDR(SREG) ;Save flags | 97 | in r0, _SFR_IO_ADDR(SREG) ;Save flags |
| 98 | 98 | ||
| 99 | ldi r24, 0x80 ;Receiving shift reg | 99 | ldi r24, 0x80 ;Receiving shift reg |
| 100 | cli ;Start critical section | 100 | cli ;Start critical section |
| 101 | 101 | ||
| 102 | 1: SKIP_IN_1 ;Wait for idle | 102 | 1: SKIP_IN_1 ;Wait for idle |
| 103 | rjmp 1b | 103 | rjmp 1b |
| 104 | 2: SKIP_IN_0 ;Wait for start bit | 104 | 2: SKIP_IN_0 ;Wait for start bit |
| 105 | rjmp 2b | 105 | rjmp 2b |
| 106 | ldi r25, BPS/2 ;Wait for half bit time | 106 | ldi r25, BPS/2 ;Wait for half bit time |
| 107 | 3: dec r25 | 107 | 3: dec r25 |
| 108 | brne 3b | 108 | brne 3b |
| 109 | 109 | ||
| 110 | 4: ldi r25, BPS ;----- Bit receiving loop | 110 | 4: ldi r25, BPS ;----- Bit receiving loop |
| 111 | 5: dec r25 ;Wait for a bit time | 111 | 5: dec r25 ;Wait for a bit time |
| 112 | brne 5b ;/ | 112 | brne 5b ;/ |
| 113 | lsr r24 ;Next bit | 113 | lsr r24 ;Next bit |
| 114 | SKIP_IN_0 ;Get a data bit into r24.7 | 114 | SKIP_IN_0 ;Get a data bit into r24.7 |
| 115 | ori r24, 0x80 | 115 | ori r24, 0x80 |
| 116 | brcc 4b ;All bits received? no, continue | 116 | brcc 4b ;All bits received? no, continue |
| 117 | 117 | ||
| 118 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section | 118 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section |
| 119 | ret | 119 | ret |
| 120 | .endfunc | 120 | .endfunc |
| 121 | 121 | ||
| 122 | 122 | ||
| 123 | ; Not wait for start bit. This should be called after detecting start bit. | 123 | ; Not wait for start bit. This should be called after detecting start bit. |
| 124 | .global recv | 124 | .global recv |
| 125 | .func recv | 125 | .func recv |
| 126 | recv: | 126 | recv: |
| 127 | in r0, _SFR_IO_ADDR(SREG) ;Save flags | 127 | in r0, _SFR_IO_ADDR(SREG) ;Save flags |
| 128 | 128 | ||
| 129 | ldi r24, 0x80 ;Receiving shift reg | 129 | ldi r24, 0x80 ;Receiving shift reg |
| 130 | cli ;Start critical section | 130 | cli ;Start critical section |
| 131 | 131 | ||
| 132 | ;1: SKIP_IN_1 ;Wait for idle | 132 | ;1: SKIP_IN_1 ;Wait for idle |
| 133 | ; rjmp 1b | 133 | ; rjmp 1b |
| 134 | ;2: SKIP_IN_0 ;Wait for start bit | 134 | ;2: SKIP_IN_0 ;Wait for start bit |
| 135 | ; rjmp 2b | 135 | ; rjmp 2b |
| 136 | ldi r25, BPS/2 ;Wait for half bit time | 136 | ldi r25, BPS/2 ;Wait for half bit time |
| 137 | 3: dec r25 | 137 | 3: dec r25 |
| 138 | brne 3b | 138 | brne 3b |
| 139 | 139 | ||
| 140 | 4: ldi r25, BPS ;----- Bit receiving loop | 140 | 4: ldi r25, BPS ;----- Bit receiving loop |
| 141 | 5: dec r25 ;Wait for a bit time | 141 | 5: dec r25 ;Wait for a bit time |
| 142 | brne 5b ;/ | 142 | brne 5b ;/ |
| 143 | lsr r24 ;Next bit | 143 | lsr r24 ;Next bit |
| 144 | SKIP_IN_0 ;Get a data bit into r24.7 | 144 | SKIP_IN_0 ;Get a data bit into r24.7 |
| 145 | ori r24, 0x80 | 145 | ori r24, 0x80 |
| 146 | brcc 4b ;All bits received? no, continue | 146 | brcc 4b ;All bits received? no, continue |
| 147 | 147 | ||
| 148 | ldi r25, BPS/2 ;Wait for half bit time | 148 | ldi r25, BPS/2 ;Wait for half bit time |
| 149 | 6: dec r25 | 149 | 6: dec r25 |
| 150 | brne 6b | 150 | brne 6b |
| 151 | 7: SKIP_IN_1 ;Wait for stop bit | 151 | 7: SKIP_IN_1 ;Wait for stop bit |
| 152 | rjmp 7b | 152 | rjmp 7b |
| 153 | 153 | ||
| 154 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section | 154 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section |
| 155 | ret | 155 | ret |
| 156 | .endfunc | 156 | .endfunc |
diff --git a/tmk_core/protocol/iwrap/suart.h b/tmk_core/protocol/iwrap/suart.h index 72725b998..7d92be069 100644 --- a/tmk_core/protocol/iwrap/suart.h +++ b/tmk_core/protocol/iwrap/suart.h | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | #ifndef SUART | 1 | #ifndef SUART |
| 2 | #define SUART | 2 | #define SUART |
| 3 | 3 | ||
| 4 | void xmit(uint8_t); | 4 | void xmit(uint8_t); |
| 5 | uint8_t rcvr(void); | 5 | uint8_t rcvr(void); |
| 6 | uint8_t recv(void); | 6 | uint8_t recv(void); |
| 7 | 7 | ||
| 8 | #endif /* SUART */ | 8 | #endif /* SUART */ |
diff --git a/tmk_core/protocol/iwrap/wd.h b/tmk_core/protocol/iwrap/wd.h index 99058f033..12395bf69 100644 --- a/tmk_core/protocol/iwrap/wd.h +++ b/tmk_core/protocol/iwrap/wd.h | |||
| @@ -1,159 +1,159 @@ | |||
| 1 | /* This is from http://www.mtcnet.net/~henryvm/wdt/ */ | 1 | /* This is from http://www.mtcnet.net/~henryvm/wdt/ */ |
| 2 | #ifndef _AVR_WD_H_ | 2 | #ifndef _AVR_WD_H_ |
| 3 | #define _AVR_WD_H_ | 3 | #define _AVR_WD_H_ |
| 4 | 4 | ||
| 5 | #include <avr/io.h> | 5 | #include <avr/io.h> |
| 6 | 6 | ||
| 7 | /* | 7 | /* |
| 8 | Copyright (c) 2009, Curt Van Maanen | 8 | Copyright (c) 2009, Curt Van Maanen |
| 9 | 9 | ||
| 10 | Permission to use, copy, modify, and/or distribute this software for any | 10 | Permission to use, copy, modify, and/or distribute this software for any |
| 11 | purpose with or without fee is hereby granted, provided that the above | 11 | purpose with or without fee is hereby granted, provided that the above |
| 12 | copyright notice and this permission notice appear in all copies. | 12 | copyright notice and this permission notice appear in all copies. |
| 13 | 13 | ||
| 14 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 14 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| 15 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 15 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| 16 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 16 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| 17 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | 17 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| 18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| 19 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 19 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| 20 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 20 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| 21 | 21 | ||
| 22 | 22 | ||
| 23 | include usage- | 23 | include usage- |
| 24 | #include "wd.h" //if in same directory as project | 24 | #include "wd.h" //if in same directory as project |
| 25 | #include <avr/wd.h> //if wd.h is in avr directory | 25 | #include <avr/wd.h> //if wd.h is in avr directory |
| 26 | 26 | ||
| 27 | set watchdog modes and prescale | 27 | set watchdog modes and prescale |
| 28 | 28 | ||
| 29 | usage- | 29 | usage- |
| 30 | WD_SET(mode,[timeout]); //prescale always set | 30 | WD_SET(mode,[timeout]); //prescale always set |
| 31 | 31 | ||
| 32 | modes- | 32 | modes- |
| 33 | WD_OFF disabled | 33 | WD_OFF disabled |
| 34 | WD_RST normal reset mode | 34 | WD_RST normal reset mode |
| 35 | WD_IRQ interrupt only mode (if supported) | 35 | WD_IRQ interrupt only mode (if supported) |
| 36 | WD_RST_IRQ interrupt+reset mode (if supported) | 36 | WD_RST_IRQ interrupt+reset mode (if supported) |
| 37 | 37 | ||
| 38 | timeout- | 38 | timeout- |
| 39 | WDTO_15MS default if no timeout provided | 39 | WDTO_15MS default if no timeout provided |
| 40 | WDTO_30MS | 40 | WDTO_30MS |
| 41 | WDTO_60MS | 41 | WDTO_60MS |
| 42 | WDTO_120MS | 42 | WDTO_120MS |
| 43 | WDTO_250MS | 43 | WDTO_250MS |
| 44 | WDTO_500MS | 44 | WDTO_500MS |
| 45 | WDTO_1S | 45 | WDTO_1S |
| 46 | WDTO_2S | 46 | WDTO_2S |
| 47 | WDTO_4S (if supported) | 47 | WDTO_4S (if supported) |
| 48 | WDTO_8S (if supported) | 48 | WDTO_8S (if supported) |
| 49 | 49 | ||
| 50 | examples- | 50 | examples- |
| 51 | WD_SET(WD_RST,WDTO_1S); //reset mode, 1s timeout | 51 | WD_SET(WD_RST,WDTO_1S); //reset mode, 1s timeout |
| 52 | WD_SET(WD_OFF); //watchdog disabled (if not fused on) | 52 | WD_SET(WD_OFF); //watchdog disabled (if not fused on) |
| 53 | WD_SET(WD_RST); //reset mode, 15ms (default timeout) | 53 | WD_SET(WD_RST); //reset mode, 15ms (default timeout) |
| 54 | WD_SET(WD_IRQ,WDTO_120MS); //interrupt only mode, 120ms timeout | 54 | WD_SET(WD_IRQ,WDTO_120MS); //interrupt only mode, 120ms timeout |
| 55 | WD_SET(WD_RST_IRQ,WDTO_2S); //interrupt+reset mode, 2S timeout | 55 | WD_SET(WD_RST_IRQ,WDTO_2S); //interrupt+reset mode, 2S timeout |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | for enhanced watchdogs, if the watchdog is not being used WDRF should be | 58 | for enhanced watchdogs, if the watchdog is not being used WDRF should be |
| 59 | cleared on every power up or reset, along with disabling the watchdog- | 59 | cleared on every power up or reset, along with disabling the watchdog- |
| 60 | WD_DISABLE(); //clear WDRF, then turn off watchdog | 60 | WD_DISABLE(); //clear WDRF, then turn off watchdog |
| 61 | 61 | ||
| 62 | */ | 62 | */ |
| 63 | 63 | ||
| 64 | //reset registers to the same name (MCUCSR) | 64 | //reset registers to the same name (MCUCSR) |
| 65 | #if !defined(MCUCSR) | 65 | #if !defined(MCUCSR) |
| 66 | #define MCUCSR MCUSR | 66 | #define MCUCSR MCUSR |
| 67 | #endif | 67 | #endif |
| 68 | 68 | ||
| 69 | //watchdog registers to the same name (WDTCSR) | 69 | //watchdog registers to the same name (WDTCSR) |
| 70 | #if !defined(WDTCSR) | 70 | #if !defined(WDTCSR) |
| 71 | #define WDTCSR WDTCR | 71 | #define WDTCSR WDTCR |
| 72 | #endif | 72 | #endif |
| 73 | 73 | ||
| 74 | //if enhanced watchdog, define irq values, create disable macro | 74 | //if enhanced watchdog, define irq values, create disable macro |
| 75 | #if defined(WDIF) | 75 | #if defined(WDIF) |
| 76 | #define WD_IRQ 0xC0 | 76 | #define WD_IRQ 0xC0 |
| 77 | #define WD_RST_IRQ 0xC8 | 77 | #define WD_RST_IRQ 0xC8 |
| 78 | #define WD_DISABLE() do{ \ | 78 | #define WD_DISABLE() do{ \ |
| 79 | MCUCSR &= ~(1<<WDRF); \ | 79 | MCUCSR &= ~(1<<WDRF); \ |
| 80 | WD_SET(WD_OFF); \ | 80 | WD_SET(WD_OFF); \ |
| 81 | }while(0) | 81 | }while(0) |
| 82 | #endif | 82 | #endif |
| 83 | 83 | ||
| 84 | //all watchdogs | 84 | //all watchdogs |
| 85 | #define WD_RST 8 | 85 | #define WD_RST 8 |
| 86 | #define WD_OFF 0 | 86 | #define WD_OFF 0 |
| 87 | 87 | ||
| 88 | //prescale values | 88 | //prescale values |
| 89 | #define WDTO_15MS 0 | 89 | #define WDTO_15MS 0 |
| 90 | #define WDTO_30MS 1 | 90 | #define WDTO_30MS 1 |
| 91 | #define WDTO_60MS 2 | 91 | #define WDTO_60MS 2 |
| 92 | #define WDTO_120MS 3 | 92 | #define WDTO_120MS 3 |
| 93 | #define WDTO_250MS 4 | 93 | #define WDTO_250MS 4 |
| 94 | #define WDTO_500MS 5 | 94 | #define WDTO_500MS 5 |
| 95 | #define WDTO_1S 6 | 95 | #define WDTO_1S 6 |
| 96 | #define WDTO_2S 7 | 96 | #define WDTO_2S 7 |
| 97 | 97 | ||
| 98 | //prescale values for avrs with WDP3 | 98 | //prescale values for avrs with WDP3 |
| 99 | #if defined(WDP3) | 99 | #if defined(WDP3) |
| 100 | #define WDTO_4S 0x20 | 100 | #define WDTO_4S 0x20 |
| 101 | #define WDTO_8S 0x21 | 101 | #define WDTO_8S 0x21 |
| 102 | #endif | 102 | #endif |
| 103 | 103 | ||
| 104 | //watchdog reset | 104 | //watchdog reset |
| 105 | #define WDR() __asm__ __volatile__("wdr") | 105 | #define WDR() __asm__ __volatile__("wdr") |
| 106 | 106 | ||
| 107 | //avr reset using watchdog | 107 | //avr reset using watchdog |
| 108 | #define WD_AVR_RESET() do{ \ | 108 | #define WD_AVR_RESET() do{ \ |
| 109 | __asm__ __volatile__("cli"); \ | 109 | __asm__ __volatile__("cli"); \ |
| 110 | WD_SET_UNSAFE(WD_RST); \ | 110 | WD_SET_UNSAFE(WD_RST); \ |
| 111 | while(1); \ | 111 | while(1); \ |
| 112 | }while(0) | 112 | }while(0) |
| 113 | 113 | ||
| 114 | /*set the watchdog- | 114 | /*set the watchdog- |
| 115 | 1. save SREG | 115 | 1. save SREG |
| 116 | 2. turn off irq's | 116 | 2. turn off irq's |
| 117 | 3. reset watchdog timer | 117 | 3. reset watchdog timer |
| 118 | 4. enable watchdog change | 118 | 4. enable watchdog change |
| 119 | 5. write watchdog value | 119 | 5. write watchdog value |
| 120 | 6. restore SREG (restoring irq status) | 120 | 6. restore SREG (restoring irq status) |
| 121 | */ | 121 | */ |
| 122 | #define WD_SET(val,...) \ | 122 | #define WD_SET(val,...) \ |
| 123 | __asm__ __volatile__( \ | 123 | __asm__ __volatile__( \ |
| 124 | "in __tmp_reg__,__SREG__" "\n\t" \ | 124 | "in __tmp_reg__,__SREG__" "\n\t" \ |
| 125 | "cli" "\n\t" \ | 125 | "cli" "\n\t" \ |
| 126 | "wdr" "\n\t" \ | 126 | "wdr" "\n\t" \ |
| 127 | "sts %[wdreg],%[wden]" "\n\t" \ | 127 | "sts %[wdreg],%[wden]" "\n\t" \ |
| 128 | "sts %[wdreg],%[wdval]" "\n\t" \ | 128 | "sts %[wdreg],%[wdval]" "\n\t" \ |
| 129 | "out __SREG__,__tmp_reg__" "\n\t" \ | 129 | "out __SREG__,__tmp_reg__" "\n\t" \ |
| 130 | : \ | 130 | : \ |
| 131 | : [wdreg] "M" (&WDTCSR), \ | 131 | : [wdreg] "M" (&WDTCSR), \ |
| 132 | [wden] "r" ((uint8_t)(0x18)), \ | 132 | [wden] "r" ((uint8_t)(0x18)), \ |
| 133 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ | 133 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ |
| 134 | : "r0" \ | 134 | : "r0" \ |
| 135 | ) | 135 | ) |
| 136 | 136 | ||
| 137 | /*set the watchdog when I bit in SREG known to be clear- | 137 | /*set the watchdog when I bit in SREG known to be clear- |
| 138 | 1. reset watchdog timer | 138 | 1. reset watchdog timer |
| 139 | 2. enable watchdog change | 139 | 2. enable watchdog change |
| 140 | 5. write watchdog value | 140 | 5. write watchdog value |
| 141 | */ | 141 | */ |
| 142 | #define WD_SET_UNSAFE(val,...) \ | 142 | #define WD_SET_UNSAFE(val,...) \ |
| 143 | __asm__ __volatile__( \ | 143 | __asm__ __volatile__( \ |
| 144 | "wdr" "\n\t" \ | 144 | "wdr" "\n\t" \ |
| 145 | "sts %[wdreg],%[wden]" "\n\t" \ | 145 | "sts %[wdreg],%[wden]" "\n\t" \ |
| 146 | "sts %[wdreg],%[wdval]" "\n\t" \ | 146 | "sts %[wdreg],%[wdval]" "\n\t" \ |
| 147 | : \ | 147 | : \ |
| 148 | : [wdreg] "M" (&WDTCSR), \ | 148 | : [wdreg] "M" (&WDTCSR), \ |
| 149 | [wden] "r" ((uint8_t)(0x18)), \ | 149 | [wden] "r" ((uint8_t)(0x18)), \ |
| 150 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ | 150 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ |
| 151 | ) | 151 | ) |
| 152 | 152 | ||
| 153 | 153 | ||
| 154 | //for compatibility with avr/wdt.h | 154 | //for compatibility with avr/wdt.h |
| 155 | #define wdt_enable(val) WD_SET(WD_RST,val) | 155 | #define wdt_enable(val) WD_SET(WD_RST,val) |
| 156 | #define wdt_disable() WD_SET(WD_OFF) | 156 | #define wdt_disable() WD_SET(WD_OFF) |
| 157 | 157 | ||
| 158 | 158 | ||
| 159 | #endif /* _AVR_WD_H_ */ | 159 | #endif /* _AVR_WD_H_ */ |
diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa.mk index 0eeace44e..5b1e3d19d 100644 --- a/tmk_core/protocol/lufa.mk +++ b/tmk_core/protocol/lufa.mk | |||
| @@ -26,6 +26,10 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) | |||
| 26 | $(TMK_DIR)/protocol/serial_uart.c | 26 | $(TMK_DIR)/protocol/serial_uart.c |
| 27 | endif | 27 | endif |
| 28 | 28 | ||
| 29 | ifeq ($(strip $(VIRTSER_ENABLE)), yes) | ||
| 30 | LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c | ||
| 31 | endif | ||
| 32 | |||
| 29 | SRC += $(LUFA_SRC) | 33 | SRC += $(LUFA_SRC) |
| 30 | 34 | ||
| 31 | # Search Path | 35 | # Search Path |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml index 72f3ff04c..02e7063c6 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml | |||
| @@ -1,161 +1,161 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_"> | 2 | <project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.cdc"/> | 3 | <require idref="lufa.bootloaders.cdc"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | 17 | ||
| 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_"> | 26 | <project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_"> |
| 27 | <require idref="lufa.bootloaders.cdc"/> | 27 | <require idref="lufa.bootloaders.cdc"/> |
| 28 | <require idref="lufa.boards.dummy.avr8"/> | 28 | <require idref="lufa.boards.dummy.avr8"/> |
| 29 | <generator value="as5_8"/> | 29 | <generator value="as5_8"/> |
| 30 | 30 | ||
| 31 | <device-support value="at90usb647"/> | 31 | <device-support value="at90usb647"/> |
| 32 | <config name="lufa.drivers.board.name" value="none"/> | 32 | <config name="lufa.drivers.board.name" value="none"/> |
| 33 | 33 | ||
| 34 | <config name="config.compiler.optimization.level" value="size"/> | 34 | <config name="config.compiler.optimization.level" value="size"/> |
| 35 | 35 | ||
| 36 | <build type="define" name="F_CPU" value="16000000UL"/> | 36 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 37 | <build type="define" name="F_USB" value="16000000UL"/> | 37 | <build type="define" name="F_USB" value="16000000UL"/> |
| 38 | 38 | ||
| 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 41 | 41 | ||
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 48 | </project> | 48 | </project> |
| 49 | 49 | ||
| 50 | <project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_"> | 50 | <project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_"> |
| 51 | <require idref="lufa.bootloaders.cdc"/> | 51 | <require idref="lufa.bootloaders.cdc"/> |
| 52 | <require idref="lufa.boards.dummy.avr8"/> | 52 | <require idref="lufa.boards.dummy.avr8"/> |
| 53 | <generator value="as5_8"/> | 53 | <generator value="as5_8"/> |
| 54 | 54 | ||
| 55 | <device-support value="atmega32u4"/> | 55 | <device-support value="atmega32u4"/> |
| 56 | <config name="lufa.drivers.board.name" value="none"/> | 56 | <config name="lufa.drivers.board.name" value="none"/> |
| 57 | 57 | ||
| 58 | <config name="config.compiler.optimization.level" value="size"/> | 58 | <config name="config.compiler.optimization.level" value="size"/> |
| 59 | 59 | ||
| 60 | <build type="define" name="F_CPU" value="16000000UL"/> | 60 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 61 | <build type="define" name="F_USB" value="16000000UL"/> | 61 | <build type="define" name="F_USB" value="16000000UL"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 65 | 65 | ||
| 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 72 | </project> | 72 | </project> |
| 73 | 73 | ||
| 74 | <project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_"> | 74 | <project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_"> |
| 75 | <require idref="lufa.bootloaders.cdc"/> | 75 | <require idref="lufa.bootloaders.cdc"/> |
| 76 | <require idref="lufa.boards.dummy.avr8"/> | 76 | <require idref="lufa.boards.dummy.avr8"/> |
| 77 | <generator value="as5_8"/> | 77 | <generator value="as5_8"/> |
| 78 | 78 | ||
| 79 | <device-support value="atmega16u2"/> | 79 | <device-support value="atmega16u2"/> |
| 80 | <config name="lufa.drivers.board.name" value="none"/> | 80 | <config name="lufa.drivers.board.name" value="none"/> |
| 81 | 81 | ||
| 82 | <config name="config.compiler.optimization.level" value="size"/> | 82 | <config name="config.compiler.optimization.level" value="size"/> |
| 83 | 83 | ||
| 84 | <build type="define" name="F_CPU" value="16000000UL"/> | 84 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 85 | <build type="define" name="F_USB" value="16000000UL"/> | 85 | <build type="define" name="F_USB" value="16000000UL"/> |
| 86 | 86 | ||
| 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 89 | 89 | ||
| 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 96 | </project> | 96 | </project> |
| 97 | 97 | ||
| 98 | <project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_"> | 98 | <project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_"> |
| 99 | <require idref="lufa.bootloaders.cdc"/> | 99 | <require idref="lufa.bootloaders.cdc"/> |
| 100 | <require idref="lufa.boards.dummy.avr8"/> | 100 | <require idref="lufa.boards.dummy.avr8"/> |
| 101 | <generator value="as5_8"/> | 101 | <generator value="as5_8"/> |
| 102 | 102 | ||
| 103 | <device-support value="atmega8u2"/> | 103 | <device-support value="atmega8u2"/> |
| 104 | <config name="lufa.drivers.board.name" value="none"/> | 104 | <config name="lufa.drivers.board.name" value="none"/> |
| 105 | 105 | ||
| 106 | <config name="config.compiler.optimization.level" value="size"/> | 106 | <config name="config.compiler.optimization.level" value="size"/> |
| 107 | 107 | ||
| 108 | <build type="define" name="F_CPU" value="16000000UL"/> | 108 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 109 | <build type="define" name="F_USB" value="16000000UL"/> | 109 | <build type="define" name="F_USB" value="16000000UL"/> |
| 110 | 110 | ||
| 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> | 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> |
| 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> | 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> |
| 113 | 113 | ||
| 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> | 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> |
| 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> | 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> |
| 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> | 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> |
| 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 120 | </project> | 120 | </project> |
| 121 | 121 | ||
| 122 | <module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader"> | 122 | <module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader"> |
| 123 | <info type="description" value="summary"> | 123 | <info type="description" value="summary"> |
| 124 | CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host. | 124 | CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host. |
| 125 | </info> | 125 | </info> |
| 126 | 126 | ||
| 127 | <info type="gui-flag" value="move-to-root"/> | 127 | <info type="gui-flag" value="move-to-root"/> |
| 128 | 128 | ||
| 129 | <info type="keyword" value="Technology"> | 129 | <info type="keyword" value="Technology"> |
| 130 | <keyword value="Bootloaders"/> | 130 | <keyword value="Bootloaders"/> |
| 131 | <keyword value="USB Device"/> | 131 | <keyword value="USB Device"/> |
| 132 | </info> | 132 | </info> |
| 133 | 133 | ||
| 134 | <device-support-alias value="lufa_avr8"/> | 134 | <device-support-alias value="lufa_avr8"/> |
| 135 | <device-support-alias value="lufa_xmega"/> | 135 | <device-support-alias value="lufa_xmega"/> |
| 136 | <device-support-alias value="lufa_uc3"/> | 136 | <device-support-alias value="lufa_uc3"/> |
| 137 | 137 | ||
| 138 | <build type="include-path" value="."/> | 138 | <build type="include-path" value="."/> |
| 139 | <build type="c-source" value="BootloaderCDC.c"/> | 139 | <build type="c-source" value="BootloaderCDC.c"/> |
| 140 | <build type="header-file" value="BootloaderCDC.h"/> | 140 | <build type="header-file" value="BootloaderCDC.h"/> |
| 141 | <build type="c-source" value="Descriptors.c"/> | 141 | <build type="c-source" value="Descriptors.c"/> |
| 142 | <build type="header-file" value="Descriptors.h"/> | 142 | <build type="header-file" value="Descriptors.h"/> |
| 143 | <build type="c-source" value="BootloaderAPI.c"/> | 143 | <build type="c-source" value="BootloaderAPI.c"/> |
| 144 | <build type="header-file" value="BootloaderAPI.h"/> | 144 | <build type="header-file" value="BootloaderAPI.h"/> |
| 145 | <build type="asm-source" value="BootloaderAPITable.S"/> | 145 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 146 | 146 | ||
| 147 | <build type="module-config" subtype="path" value="Config"/> | 147 | <build type="module-config" subtype="path" value="Config"/> |
| 148 | <build type="header-file" value="Config/LUFAConfig.h"/> | 148 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 149 | <build type="header-file" value="Config/AppConfig.h"/> | 149 | <build type="header-file" value="Config/AppConfig.h"/> |
| 150 | 150 | ||
| 151 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 151 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 152 | <build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/> | 152 | <build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/> |
| 153 | <build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/> | 153 | <build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/> |
| 154 | 154 | ||
| 155 | <require idref="lufa.common"/> | 155 | <require idref="lufa.common"/> |
| 156 | <require idref="lufa.platform"/> | 156 | <require idref="lufa.platform"/> |
| 157 | <require idref="lufa.drivers.usb"/> | 157 | <require idref="lufa.drivers.usb"/> |
| 158 | <require idref="lufa.drivers.board"/> | 158 | <require idref="lufa.drivers.board"/> |
| 159 | <require idref="lufa.drivers.board.leds"/> | 159 | <require idref="lufa.drivers.board.leds"/> |
| 160 | </module> | 160 | </module> |
| 161 | </asf> | 161 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml index 6f3312b76..f56aba69f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml | |||
| @@ -1,156 +1,156 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_"> | 2 | <project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.dfu"/> | 3 | <require idref="lufa.bootloaders.dfu"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | 17 | ||
| 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_"> | 26 | <project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_"> |
| 27 | <require idref="lufa.bootloaders.dfu"/> | 27 | <require idref="lufa.bootloaders.dfu"/> |
| 28 | <require idref="lufa.boards.dummy.avr8"/> | 28 | <require idref="lufa.boards.dummy.avr8"/> |
| 29 | <generator value="as5_8"/> | 29 | <generator value="as5_8"/> |
| 30 | 30 | ||
| 31 | <device-support value="at90usb647"/> | 31 | <device-support value="at90usb647"/> |
| 32 | <config name="lufa.drivers.board.name" value="none"/> | 32 | <config name="lufa.drivers.board.name" value="none"/> |
| 33 | 33 | ||
| 34 | <config name="config.compiler.optimization.level" value="size"/> | 34 | <config name="config.compiler.optimization.level" value="size"/> |
| 35 | 35 | ||
| 36 | <build type="define" name="F_CPU" value="16000000UL"/> | 36 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 37 | <build type="define" name="F_USB" value="16000000UL"/> | 37 | <build type="define" name="F_USB" value="16000000UL"/> |
| 38 | 38 | ||
| 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 41 | 41 | ||
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 48 | </project> | 48 | </project> |
| 49 | 49 | ||
| 50 | <project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_"> | 50 | <project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_"> |
| 51 | <require idref="lufa.bootloaders.dfu"/> | 51 | <require idref="lufa.bootloaders.dfu"/> |
| 52 | <require idref="lufa.boards.dummy.avr8"/> | 52 | <require idref="lufa.boards.dummy.avr8"/> |
| 53 | <generator value="as5_8"/> | 53 | <generator value="as5_8"/> |
| 54 | 54 | ||
| 55 | <device-support value="atmega32u4"/> | 55 | <device-support value="atmega32u4"/> |
| 56 | <config name="lufa.drivers.board.name" value="none"/> | 56 | <config name="lufa.drivers.board.name" value="none"/> |
| 57 | 57 | ||
| 58 | <config name="config.compiler.optimization.level" value="size"/> | 58 | <config name="config.compiler.optimization.level" value="size"/> |
| 59 | 59 | ||
| 60 | <build type="define" name="F_CPU" value="16000000UL"/> | 60 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 61 | <build type="define" name="F_USB" value="16000000UL"/> | 61 | <build type="define" name="F_USB" value="16000000UL"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 65 | 65 | ||
| 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 72 | </project> | 72 | </project> |
| 73 | 73 | ||
| 74 | <project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_"> | 74 | <project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_"> |
| 75 | <require idref="lufa.bootloaders.dfu"/> | 75 | <require idref="lufa.bootloaders.dfu"/> |
| 76 | <require idref="lufa.boards.dummy.avr8"/> | 76 | <require idref="lufa.boards.dummy.avr8"/> |
| 77 | <generator value="as5_8"/> | 77 | <generator value="as5_8"/> |
| 78 | 78 | ||
| 79 | <device-support value="atmega16u2"/> | 79 | <device-support value="atmega16u2"/> |
| 80 | <config name="lufa.drivers.board.name" value="none"/> | 80 | <config name="lufa.drivers.board.name" value="none"/> |
| 81 | 81 | ||
| 82 | <build type="define" name="F_CPU" value="16000000UL"/> | 82 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 83 | <build type="define" name="F_USB" value="16000000UL"/> | 83 | <build type="define" name="F_USB" value="16000000UL"/> |
| 84 | 84 | ||
| 85 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 85 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 86 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 86 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 87 | 87 | ||
| 88 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 88 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 89 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 89 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 94 | </project> | 94 | </project> |
| 95 | 95 | ||
| 96 | <project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_"> | 96 | <project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_"> |
| 97 | <require idref="lufa.bootloaders.dfu"/> | 97 | <require idref="lufa.bootloaders.dfu"/> |
| 98 | <require idref="lufa.boards.dummy.avr8"/> | 98 | <require idref="lufa.boards.dummy.avr8"/> |
| 99 | <generator value="as5_8"/> | 99 | <generator value="as5_8"/> |
| 100 | 100 | ||
| 101 | <device-support value="atmega8u2"/> | 101 | <device-support value="atmega8u2"/> |
| 102 | <config name="lufa.drivers.board.name" value="none"/> | 102 | <config name="lufa.drivers.board.name" value="none"/> |
| 103 | 103 | ||
| 104 | <build type="define" name="F_CPU" value="16000000UL"/> | 104 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 105 | <build type="define" name="F_USB" value="16000000UL"/> | 105 | <build type="define" name="F_USB" value="16000000UL"/> |
| 106 | 106 | ||
| 107 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> | 107 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> |
| 108 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> | 108 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> |
| 109 | 109 | ||
| 110 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> | 110 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> |
| 111 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 111 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 112 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> | 112 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> |
| 113 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 113 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> | 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> |
| 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 116 | </project> | 116 | </project> |
| 117 | 117 | ||
| 118 | <module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader"> | 118 | <module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader"> |
| 119 | <info type="description" value="summary"> | 119 | <info type="description" value="summary"> |
| 120 | DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host. | 120 | DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host. |
| 121 | </info> | 121 | </info> |
| 122 | 122 | ||
| 123 | <info type="gui-flag" value="move-to-root"/> | 123 | <info type="gui-flag" value="move-to-root"/> |
| 124 | 124 | ||
| 125 | <info type="keyword" value="Technology"> | 125 | <info type="keyword" value="Technology"> |
| 126 | <keyword value="Bootloaders"/> | 126 | <keyword value="Bootloaders"/> |
| 127 | <keyword value="USB Device"/> | 127 | <keyword value="USB Device"/> |
| 128 | </info> | 128 | </info> |
| 129 | 129 | ||
| 130 | <device-support-alias value="lufa_avr8"/> | 130 | <device-support-alias value="lufa_avr8"/> |
| 131 | <device-support-alias value="lufa_xmega"/> | 131 | <device-support-alias value="lufa_xmega"/> |
| 132 | <device-support-alias value="lufa_uc3"/> | 132 | <device-support-alias value="lufa_uc3"/> |
| 133 | 133 | ||
| 134 | <build type="include-path" value="."/> | 134 | <build type="include-path" value="."/> |
| 135 | <build type="c-source" value="BootloaderDFU.c"/> | 135 | <build type="c-source" value="BootloaderDFU.c"/> |
| 136 | <build type="header-file" value="BootloaderDFU.h"/> | 136 | <build type="header-file" value="BootloaderDFU.h"/> |
| 137 | <build type="c-source" value="Descriptors.c"/> | 137 | <build type="c-source" value="Descriptors.c"/> |
| 138 | <build type="header-file" value="Descriptors.h"/> | 138 | <build type="header-file" value="Descriptors.h"/> |
| 139 | <build type="c-source" value="BootloaderAPI.c"/> | 139 | <build type="c-source" value="BootloaderAPI.c"/> |
| 140 | <build type="header-file" value="BootloaderAPI.h"/> | 140 | <build type="header-file" value="BootloaderAPI.h"/> |
| 141 | <build type="asm-source" value="BootloaderAPITable.S"/> | 141 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 142 | 142 | ||
| 143 | <build type="module-config" subtype="path" value="Config"/> | 143 | <build type="module-config" subtype="path" value="Config"/> |
| 144 | <build type="header-file" value="Config/LUFAConfig.h"/> | 144 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 145 | <build type="header-file" value="Config/AppConfig.h"/> | 145 | <build type="header-file" value="Config/AppConfig.h"/> |
| 146 | 146 | ||
| 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 148 | <build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/> | 148 | <build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/> |
| 149 | 149 | ||
| 150 | <require idref="lufa.common"/> | 150 | <require idref="lufa.common"/> |
| 151 | <require idref="lufa.platform"/> | 151 | <require idref="lufa.platform"/> |
| 152 | <require idref="lufa.drivers.usb"/> | 152 | <require idref="lufa.drivers.usb"/> |
| 153 | <require idref="lufa.drivers.board"/> | 153 | <require idref="lufa.drivers.board"/> |
| 154 | <require idref="lufa.drivers.board.leds"/> | 154 | <require idref="lufa.drivers.board.leds"/> |
| 155 | </module> | 155 | </module> |
| 156 | </asf> | 156 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml index 9394b1353..c67b9419e 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml | |||
| @@ -1,123 +1,123 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_"> | 2 | <project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.hid"/> | 3 | <require idref="lufa.bootloaders.hid"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | </project> | 17 | </project> |
| 18 | 18 | ||
| 19 | <project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_"> | 19 | <project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_"> |
| 20 | <require idref="lufa.bootloaders.hid"/> | 20 | <require idref="lufa.bootloaders.hid"/> |
| 21 | <require idref="lufa.boards.dummy.avr8"/> | 21 | <require idref="lufa.boards.dummy.avr8"/> |
| 22 | <generator value="as5_8"/> | 22 | <generator value="as5_8"/> |
| 23 | 23 | ||
| 24 | <device-support value="at90usb647"/> | 24 | <device-support value="at90usb647"/> |
| 25 | <config name="lufa.drivers.board.name" value="none"/> | 25 | <config name="lufa.drivers.board.name" value="none"/> |
| 26 | 26 | ||
| 27 | <config name="config.compiler.optimization.level" value="size"/> | 27 | <config name="config.compiler.optimization.level" value="size"/> |
| 28 | 28 | ||
| 29 | <build type="define" name="F_CPU" value="16000000UL"/> | 29 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 30 | <build type="define" name="F_USB" value="16000000UL"/> | 30 | <build type="define" name="F_USB" value="16000000UL"/> |
| 31 | 31 | ||
| 32 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 32 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 33 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 33 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 34 | </project> | 34 | </project> |
| 35 | 35 | ||
| 36 | <project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_"> | 36 | <project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_"> |
| 37 | <require idref="lufa.bootloaders.hid"/> | 37 | <require idref="lufa.bootloaders.hid"/> |
| 38 | <require idref="lufa.boards.dummy.avr8"/> | 38 | <require idref="lufa.boards.dummy.avr8"/> |
| 39 | <generator value="as5_8"/> | 39 | <generator value="as5_8"/> |
| 40 | 40 | ||
| 41 | <device-support value="atmega32u4"/> | 41 | <device-support value="atmega32u4"/> |
| 42 | <config name="lufa.drivers.board.name" value="none"/> | 42 | <config name="lufa.drivers.board.name" value="none"/> |
| 43 | 43 | ||
| 44 | <config name="config.compiler.optimization.level" value="size"/> | 44 | <config name="config.compiler.optimization.level" value="size"/> |
| 45 | 45 | ||
| 46 | <build type="define" name="F_CPU" value="16000000UL"/> | 46 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 47 | <build type="define" name="F_USB" value="16000000UL"/> | 47 | <build type="define" name="F_USB" value="16000000UL"/> |
| 48 | 48 | ||
| 49 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 49 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 50 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 50 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 51 | </project> | 51 | </project> |
| 52 | 52 | ||
| 53 | <project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_"> | 53 | <project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_"> |
| 54 | <require idref="lufa.bootloaders.hid"/> | 54 | <require idref="lufa.bootloaders.hid"/> |
| 55 | <require idref="lufa.boards.dummy.avr8"/> | 55 | <require idref="lufa.boards.dummy.avr8"/> |
| 56 | <generator value="as5_8"/> | 56 | <generator value="as5_8"/> |
| 57 | 57 | ||
| 58 | <device-support value="atmega16u2"/> | 58 | <device-support value="atmega16u2"/> |
| 59 | <config name="lufa.drivers.board.name" value="none"/> | 59 | <config name="lufa.drivers.board.name" value="none"/> |
| 60 | 60 | ||
| 61 | <config name="config.compiler.optimization.level" value="size"/> | 61 | <config name="config.compiler.optimization.level" value="size"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="F_CPU" value="16000000UL"/> | 63 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 64 | <build type="define" name="F_USB" value="16000000UL"/> | 64 | <build type="define" name="F_USB" value="16000000UL"/> |
| 65 | 65 | ||
| 66 | <build type="define" name="BOOT_START_ADDR" value="0x3800"/> | 66 | <build type="define" name="BOOT_START_ADDR" value="0x3800"/> |
| 67 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/> | 67 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/> |
| 68 | </project> | 68 | </project> |
| 69 | 69 | ||
| 70 | <project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_"> | 70 | <project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_"> |
| 71 | <require idref="lufa.bootloaders.hid"/> | 71 | <require idref="lufa.bootloaders.hid"/> |
| 72 | <require idref="lufa.boards.dummy.avr8"/> | 72 | <require idref="lufa.boards.dummy.avr8"/> |
| 73 | <generator value="as5_8"/> | 73 | <generator value="as5_8"/> |
| 74 | 74 | ||
| 75 | <device-support value="atmega8u2"/> | 75 | <device-support value="atmega8u2"/> |
| 76 | <config name="lufa.drivers.board.name" value="none"/> | 76 | <config name="lufa.drivers.board.name" value="none"/> |
| 77 | 77 | ||
| 78 | <config name="config.compiler.optimization.level" value="size"/> | 78 | <config name="config.compiler.optimization.level" value="size"/> |
| 79 | 79 | ||
| 80 | <build type="define" name="F_CPU" value="16000000UL"/> | 80 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 81 | <build type="define" name="F_USB" value="16000000UL"/> | 81 | <build type="define" name="F_USB" value="16000000UL"/> |
| 82 | 82 | ||
| 83 | <build type="define" name="BOOT_START_ADDR" value="0x1800"/> | 83 | <build type="define" name="BOOT_START_ADDR" value="0x1800"/> |
| 84 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/> | 84 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/> |
| 85 | </project> | 85 | </project> |
| 86 | 86 | ||
| 87 | <module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader"> | 87 | <module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader"> |
| 88 | <info type="description" value="summary"> | 88 | <info type="description" value="summary"> |
| 89 | HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host. | 89 | HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host. |
| 90 | </info> | 90 | </info> |
| 91 | 91 | ||
| 92 | <info type="gui-flag" value="move-to-root"/> | 92 | <info type="gui-flag" value="move-to-root"/> |
| 93 | 93 | ||
| 94 | <info type="keyword" value="Technology"> | 94 | <info type="keyword" value="Technology"> |
| 95 | <keyword value="Bootloaders"/> | 95 | <keyword value="Bootloaders"/> |
| 96 | <keyword value="USB Device"/> | 96 | <keyword value="USB Device"/> |
| 97 | </info> | 97 | </info> |
| 98 | 98 | ||
| 99 | <device-support-alias value="lufa_avr8"/> | 99 | <device-support-alias value="lufa_avr8"/> |
| 100 | <device-support-alias value="lufa_xmega"/> | 100 | <device-support-alias value="lufa_xmega"/> |
| 101 | <device-support-alias value="lufa_uc3"/> | 101 | <device-support-alias value="lufa_uc3"/> |
| 102 | 102 | ||
| 103 | <build type="include-path" value="."/> | 103 | <build type="include-path" value="."/> |
| 104 | <build type="c-source" value="BootloaderHID.c"/> | 104 | <build type="c-source" value="BootloaderHID.c"/> |
| 105 | <build type="header-file" value="BootloaderHID.h"/> | 105 | <build type="header-file" value="BootloaderHID.h"/> |
| 106 | <build type="c-source" value="Descriptors.c"/> | 106 | <build type="c-source" value="Descriptors.c"/> |
| 107 | <build type="header-file" value="Descriptors.h"/> | 107 | <build type="header-file" value="Descriptors.h"/> |
| 108 | 108 | ||
| 109 | <build type="module-config" subtype="path" value="Config"/> | 109 | <build type="module-config" subtype="path" value="Config"/> |
| 110 | <build type="header-file" value="Config/LUFAConfig.h"/> | 110 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 111 | 111 | ||
| 112 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 112 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 113 | <build type="distribute" subtype="user-file" value="BootloaderHID.txt"/> | 113 | <build type="distribute" subtype="user-file" value="BootloaderHID.txt"/> |
| 114 | <build type="distribute" subtype="directory" value="HostLoaderApp"/> | 114 | <build type="distribute" subtype="directory" value="HostLoaderApp"/> |
| 115 | <build type="distribute" subtype="directory" value="HostLoaderApp_Python"/> | 115 | <build type="distribute" subtype="directory" value="HostLoaderApp_Python"/> |
| 116 | 116 | ||
| 117 | <require idref="lufa.common"/> | 117 | <require idref="lufa.common"/> |
| 118 | <require idref="lufa.platform"/> | 118 | <require idref="lufa.platform"/> |
| 119 | <require idref="lufa.drivers.usb"/> | 119 | <require idref="lufa.drivers.usb"/> |
| 120 | <require idref="lufa.drivers.board"/> | 120 | <require idref="lufa.drivers.board"/> |
| 121 | <require idref="lufa.drivers.board.leds"/> | 121 | <require idref="lufa.drivers.board.leds"/> |
| 122 | </module> | 122 | </module> |
| 123 | </asf> | 123 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S index 6844d4b01..91fc94966 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S | |||
| @@ -1,102 +1,102 @@ | |||
| 1 | /* | 1 | /* |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2014. | 3 | Copyright (C) Dean Camera, 2014. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* | 9 | /* |
| 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) | 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) |
| 11 | 11 | ||
| 12 | Permission to use, copy, modify, distribute, and sell this | 12 | Permission to use, copy, modify, distribute, and sell this |
| 13 | software and its documentation for any purpose is hereby granted | 13 | software and its documentation for any purpose is hereby granted |
| 14 | without fee, provided that the above copyright notice appear in | 14 | without fee, provided that the above copyright notice appear in |
| 15 | all copies and that both that the copyright notice and this | 15 | all copies and that both that the copyright notice and this |
| 16 | permission notice and warranty disclaimer appear in supporting | 16 | permission notice and warranty disclaimer appear in supporting |
| 17 | documentation, and that the name of the author not be used in | 17 | documentation, and that the name of the author not be used in |
| 18 | advertising or publicity pertaining to distribution of the | 18 | advertising or publicity pertaining to distribution of the |
| 19 | software without specific, written prior permission. | 19 | software without specific, written prior permission. |
| 20 | 20 | ||
| 21 | The author disclaims all warranties with regard to this | 21 | The author disclaims all warranties with regard to this |
| 22 | software, including all implied warranties of merchantability | 22 | software, including all implied warranties of merchantability |
| 23 | and fitness. In no event shall the author be liable for any | 23 | and fitness. In no event shall the author be liable for any |
| 24 | special, indirect or consequential damages or any damages | 24 | special, indirect or consequential damages or any damages |
| 25 | whatsoever resulting from loss of use, data or profits, whether | 25 | whatsoever resulting from loss of use, data or profits, whether |
| 26 | in an action of contract, negligence or other tortious action, | 26 | in an action of contract, negligence or other tortious action, |
| 27 | arising out of or in connection with the use or performance of | 27 | arising out of or in connection with the use or performance of |
| 28 | this software. | 28 | this software. |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | #if AUX_BOOT_SECTION_SIZE > 0 | 31 | #if AUX_BOOT_SECTION_SIZE > 0 |
| 32 | #warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). | 32 | #warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). |
| 33 | 33 | ||
| 34 | ; Trampoline to jump over the AUX bootloader section to the start of the bootloader, | 34 | ; Trampoline to jump over the AUX bootloader section to the start of the bootloader, |
| 35 | ; on devices where an AUX bootloader section is used. | 35 | ; on devices where an AUX bootloader section is used. |
| 36 | .section .boot_aux_trampoline, "ax" | 36 | .section .boot_aux_trampoline, "ax" |
| 37 | .global Boot_AUX_Trampoline | 37 | .global Boot_AUX_Trampoline |
| 38 | Boot_AUX_Trampoline: | 38 | Boot_AUX_Trampoline: |
| 39 | jmp BOOT_START_ADDR | 39 | jmp BOOT_START_ADDR |
| 40 | #endif | 40 | #endif |
| 41 | 41 | ||
| 42 | ; Trampolines to actual API implementations if the target address is outside the | 42 | ; Trampolines to actual API implementations if the target address is outside the |
| 43 | ; range of a rjmp instruction (can happen with large bootloader sections) | 43 | ; range of a rjmp instruction (can happen with large bootloader sections) |
| 44 | .section .apitable_trampolines, "ax" | 44 | .section .apitable_trampolines, "ax" |
| 45 | .global BootloaderAPI_Trampolines | 45 | .global BootloaderAPI_Trampolines |
| 46 | BootloaderAPI_Trampolines: | 46 | BootloaderAPI_Trampolines: |
| 47 | 47 | ||
| 48 | BootloaderAPI_ErasePage_Trampoline: | 48 | BootloaderAPI_ErasePage_Trampoline: |
| 49 | jmp BootloaderAPI_ErasePage | 49 | jmp BootloaderAPI_ErasePage |
| 50 | BootloaderAPI_WritePage_Trampoline: | 50 | BootloaderAPI_WritePage_Trampoline: |
| 51 | jmp BootloaderAPI_WritePage | 51 | jmp BootloaderAPI_WritePage |
| 52 | BootloaderAPI_FillWord_Trampoline: | 52 | BootloaderAPI_FillWord_Trampoline: |
| 53 | jmp BootloaderAPI_FillWord | 53 | jmp BootloaderAPI_FillWord |
| 54 | BootloaderAPI_ReadSignature_Trampoline: | 54 | BootloaderAPI_ReadSignature_Trampoline: |
| 55 | jmp BootloaderAPI_ReadSignature | 55 | jmp BootloaderAPI_ReadSignature |
| 56 | BootloaderAPI_ReadFuse_Trampoline: | 56 | BootloaderAPI_ReadFuse_Trampoline: |
| 57 | jmp BootloaderAPI_ReadFuse | 57 | jmp BootloaderAPI_ReadFuse |
| 58 | BootloaderAPI_ReadLock_Trampoline: | 58 | BootloaderAPI_ReadLock_Trampoline: |
| 59 | jmp BootloaderAPI_ReadLock | 59 | jmp BootloaderAPI_ReadLock |
| 60 | BootloaderAPI_WriteLock_Trampoline: | 60 | BootloaderAPI_WriteLock_Trampoline: |
| 61 | jmp BootloaderAPI_WriteLock | 61 | jmp BootloaderAPI_WriteLock |
| 62 | BootloaderAPI_UNUSED1: | 62 | BootloaderAPI_UNUSED1: |
| 63 | ret | 63 | ret |
| 64 | BootloaderAPI_UNUSED2: | 64 | BootloaderAPI_UNUSED2: |
| 65 | ret | 65 | ret |
| 66 | BootloaderAPI_UNUSED3: | 66 | BootloaderAPI_UNUSED3: |
| 67 | ret | 67 | ret |
| 68 | BootloaderAPI_UNUSED4: | 68 | BootloaderAPI_UNUSED4: |
| 69 | ret | 69 | ret |
| 70 | BootloaderAPI_UNUSED5: | 70 | BootloaderAPI_UNUSED5: |
| 71 | ret | 71 | ret |
| 72 | 72 | ||
| 73 | 73 | ||
| 74 | 74 | ||
| 75 | ; API function jump table | 75 | ; API function jump table |
| 76 | .section .apitable_jumptable, "ax" | 76 | .section .apitable_jumptable, "ax" |
| 77 | .global BootloaderAPI_JumpTable | 77 | .global BootloaderAPI_JumpTable |
| 78 | BootloaderAPI_JumpTable: | 78 | BootloaderAPI_JumpTable: |
| 79 | 79 | ||
| 80 | rjmp BootloaderAPI_ErasePage_Trampoline | 80 | rjmp BootloaderAPI_ErasePage_Trampoline |
| 81 | rjmp BootloaderAPI_WritePage_Trampoline | 81 | rjmp BootloaderAPI_WritePage_Trampoline |
| 82 | rjmp BootloaderAPI_FillWord_Trampoline | 82 | rjmp BootloaderAPI_FillWord_Trampoline |
| 83 | rjmp BootloaderAPI_ReadSignature_Trampoline | 83 | rjmp BootloaderAPI_ReadSignature_Trampoline |
| 84 | rjmp BootloaderAPI_ReadFuse_Trampoline | 84 | rjmp BootloaderAPI_ReadFuse_Trampoline |
| 85 | rjmp BootloaderAPI_ReadLock_Trampoline | 85 | rjmp BootloaderAPI_ReadLock_Trampoline |
| 86 | rjmp BootloaderAPI_WriteLock_Trampoline | 86 | rjmp BootloaderAPI_WriteLock_Trampoline |
| 87 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 | 87 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 |
| 88 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 | 88 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 |
| 89 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 | 89 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 |
| 90 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 | 90 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 |
| 91 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 | 91 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 |
| 92 | 92 | ||
| 93 | 93 | ||
| 94 | 94 | ||
| 95 | ; Bootloader table signatures and information | 95 | ; Bootloader table signatures and information |
| 96 | .section .apitable_signatures, "ax" | 96 | .section .apitable_signatures, "ax" |
| 97 | .global BootloaderAPI_Signatures | 97 | .global BootloaderAPI_Signatures |
| 98 | BootloaderAPI_Signatures: | 98 | BootloaderAPI_Signatures: |
| 99 | 99 | ||
| 100 | .long BOOT_START_ADDR ; Start address of the bootloader | 100 | .long BOOT_START_ADDR ; Start address of the bootloader |
| 101 | .word 0xDF30 ; Signature for the MS class bootloader, V1 | 101 | .word 0xDF30 ; Signature for the MS class bootloader, V1 |
| 102 | .word 0xDCFB ; Signature for a LUFA class bootloader | 102 | .word 0xDCFB ; Signature for a LUFA class bootloader |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml index f1d550d1e..700ffa26f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml | |||
| @@ -1,156 +1,156 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_"> | 2 | <project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_"> |
| 3 | <require idref="lufa.bootloaders.mass_storage"/> | 3 | <require idref="lufa.bootloaders.mass_storage"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1E000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1E000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/> |
| 17 | 17 | ||
| 18 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> | 18 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> |
| 19 | 19 | ||
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 24 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 24 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 25 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 25 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 26 | </project> | 26 | </project> |
| 27 | 27 | ||
| 28 | <project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_"> | 28 | <project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_"> |
| 29 | <require idref="lufa.bootloaders.mass_storage"/> | 29 | <require idref="lufa.bootloaders.mass_storage"/> |
| 30 | <require idref="lufa.boards.dummy.avr8"/> | 30 | <require idref="lufa.boards.dummy.avr8"/> |
| 31 | <generator value="as5_8"/> | 31 | <generator value="as5_8"/> |
| 32 | 32 | ||
| 33 | <device-support value="at90usb647"/> | 33 | <device-support value="at90usb647"/> |
| 34 | <config name="lufa.drivers.board.name" value="none"/> | 34 | <config name="lufa.drivers.board.name" value="none"/> |
| 35 | 35 | ||
| 36 | <config name="config.compiler.optimization.level" value="size"/> | 36 | <config name="config.compiler.optimization.level" value="size"/> |
| 37 | 37 | ||
| 38 | <build type="define" name="F_CPU" value="16000000UL"/> | 38 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 39 | <build type="define" name="F_USB" value="16000000UL"/> | 39 | <build type="define" name="F_USB" value="16000000UL"/> |
| 40 | 40 | ||
| 41 | <build type="define" name="BOOT_START_ADDR" value="0xE000"/> | 41 | <build type="define" name="BOOT_START_ADDR" value="0xE000"/> |
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/> |
| 43 | 43 | ||
| 44 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> | 44 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> |
| 45 | 45 | ||
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 48 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 48 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 49 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 49 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 50 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 50 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 51 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 51 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 52 | </project> | 52 | </project> |
| 53 | 53 | ||
| 54 | <project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_"> | 54 | <project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_"> |
| 55 | <require idref="lufa.bootloaders.mass_storage"/> | 55 | <require idref="lufa.bootloaders.mass_storage"/> |
| 56 | <require idref="lufa.boards.dummy.avr8"/> | 56 | <require idref="lufa.boards.dummy.avr8"/> |
| 57 | <generator value="as5_8"/> | 57 | <generator value="as5_8"/> |
| 58 | 58 | ||
| 59 | <device-support value="atmega32u4"/> | 59 | <device-support value="atmega32u4"/> |
| 60 | <config name="lufa.drivers.board.name" value="none"/> | 60 | <config name="lufa.drivers.board.name" value="none"/> |
| 61 | 61 | ||
| 62 | <config name="config.compiler.optimization.level" value="size"/> | 62 | <config name="config.compiler.optimization.level" value="size"/> |
| 63 | 63 | ||
| 64 | <build type="define" name="F_CPU" value="16000000UL"/> | 64 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 65 | <build type="define" name="F_USB" value="16000000UL"/> | 65 | <build type="define" name="F_USB" value="16000000UL"/> |
| 66 | 66 | ||
| 67 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 67 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 69 | 69 | ||
| 70 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> | 70 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> |
| 71 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/> | 71 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/> |
| 72 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/> | 72 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/> |
| 73 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> | 73 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> |
| 74 | 74 | ||
| 75 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 75 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 76 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 76 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 77 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 77 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 78 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 78 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 79 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 79 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 80 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 80 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 81 | </project> | 81 | </project> |
| 82 | 82 | ||
| 83 | <project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_"> | 83 | <project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_"> |
| 84 | <require idref="lufa.bootloaders.mass_storage"/> | 84 | <require idref="lufa.bootloaders.mass_storage"/> |
| 85 | <require idref="lufa.boards.dummy.avr8"/> | 85 | <require idref="lufa.boards.dummy.avr8"/> |
| 86 | <generator value="as5_8"/> | 86 | <generator value="as5_8"/> |
| 87 | 87 | ||
| 88 | <device-support value="atmega16u2"/> | 88 | <device-support value="atmega16u2"/> |
| 89 | <config name="lufa.drivers.board.name" value="none"/> | 89 | <config name="lufa.drivers.board.name" value="none"/> |
| 90 | 90 | ||
| 91 | <config name="config.compiler.optimization.level" value="size"/> | 91 | <config name="config.compiler.optimization.level" value="size"/> |
| 92 | 92 | ||
| 93 | <build type="define" name="F_CPU" value="16000000UL"/> | 93 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 94 | <build type="define" name="F_USB" value="16000000UL"/> | 94 | <build type="define" name="F_USB" value="16000000UL"/> |
| 95 | 95 | ||
| 96 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 96 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 97 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 97 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 98 | 98 | ||
| 99 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> | 99 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> |
| 100 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/> | 100 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/> |
| 101 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/> | 101 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/> |
| 102 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> | 102 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> |
| 103 | 103 | ||
| 104 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 104 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 105 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 105 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 106 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 106 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 107 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 107 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 108 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 108 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 109 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 109 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 110 | </project> | 110 | </project> |
| 111 | 111 | ||
| 112 | <module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader"> | 112 | <module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader"> |
| 113 | <info type="description" value="summary"> | 113 | <info type="description" value="summary"> |
| 114 | Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host. | 114 | Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host. |
| 115 | </info> | 115 | </info> |
| 116 | 116 | ||
| 117 | <info type="gui-flag" value="move-to-root"/> | 117 | <info type="gui-flag" value="move-to-root"/> |
| 118 | 118 | ||
| 119 | <info type="keyword" value="Technology"> | 119 | <info type="keyword" value="Technology"> |
| 120 | <keyword value="Bootloaders"/> | 120 | <keyword value="Bootloaders"/> |
| 121 | <keyword value="USB Device"/> | 121 | <keyword value="USB Device"/> |
| 122 | </info> | 122 | </info> |
| 123 | 123 | ||
| 124 | <device-support-alias value="lufa_avr8"/> | 124 | <device-support-alias value="lufa_avr8"/> |
| 125 | <device-support-alias value="lufa_xmega"/> | 125 | <device-support-alias value="lufa_xmega"/> |
| 126 | <device-support-alias value="lufa_uc3"/> | 126 | <device-support-alias value="lufa_uc3"/> |
| 127 | 127 | ||
| 128 | <build type="include-path" value="."/> | 128 | <build type="include-path" value="."/> |
| 129 | <build type="c-source" value="BootloaderMassStorage.c"/> | 129 | <build type="c-source" value="BootloaderMassStorage.c"/> |
| 130 | <build type="header-file" value="BootloaderMassStorage.h"/> | 130 | <build type="header-file" value="BootloaderMassStorage.h"/> |
| 131 | <build type="c-source" value="Descriptors.c"/> | 131 | <build type="c-source" value="Descriptors.c"/> |
| 132 | <build type="header-file" value="Descriptors.h"/> | 132 | <build type="header-file" value="Descriptors.h"/> |
| 133 | <build type="c-source" value="BootloaderAPI.c"/> | 133 | <build type="c-source" value="BootloaderAPI.c"/> |
| 134 | <build type="header-file" value="BootloaderAPI.h"/> | 134 | <build type="header-file" value="BootloaderAPI.h"/> |
| 135 | <build type="asm-source" value="BootloaderAPITable.S"/> | 135 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 136 | 136 | ||
| 137 | <build type="module-config" subtype="path" value="Config"/> | 137 | <build type="module-config" subtype="path" value="Config"/> |
| 138 | <build type="header-file" value="Config/LUFAConfig.h"/> | 138 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 139 | <build type="header-file" value="Config/AppConfig.h"/> | 139 | <build type="header-file" value="Config/AppConfig.h"/> |
| 140 | 140 | ||
| 141 | <build type="include-path" value="Lib"/> | 141 | <build type="include-path" value="Lib"/> |
| 142 | <build type="header-file" value="Lib/VirtualFAT.h"/> | 142 | <build type="header-file" value="Lib/VirtualFAT.h"/> |
| 143 | <build type="c-source" value="Lib/VirtualFAT.c"/> | 143 | <build type="c-source" value="Lib/VirtualFAT.c"/> |
| 144 | <build type="header-file" value="Lib/SCSI.h"/> | 144 | <build type="header-file" value="Lib/SCSI.h"/> |
| 145 | <build type="c-source" value="Lib/SCSI.c"/> | 145 | <build type="c-source" value="Lib/SCSI.c"/> |
| 146 | 146 | ||
| 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 148 | <build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/> | 148 | <build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/> |
| 149 | 149 | ||
| 150 | <require idref="lufa.common"/> | 150 | <require idref="lufa.common"/> |
| 151 | <require idref="lufa.platform"/> | 151 | <require idref="lufa.platform"/> |
| 152 | <require idref="lufa.drivers.usb"/> | 152 | <require idref="lufa.drivers.usb"/> |
| 153 | <require idref="lufa.drivers.board"/> | 153 | <require idref="lufa.drivers.board"/> |
| 154 | <require idref="lufa.drivers.board.leds"/> | 154 | <require idref="lufa.drivers.board.leds"/> |
| 155 | </module> | 155 | </module> |
| 156 | </asf> | 156 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile index 91bb4038e..a0edb2c4f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile | |||
| @@ -1,68 +1,68 @@ | |||
| 1 | # | 1 | # |
| 2 | # LUFA Library | 2 | # LUFA Library |
| 3 | # Copyright (C) Dean Camera, 2014. | 3 | # Copyright (C) Dean Camera, 2014. |
| 4 | # | 4 | # |
| 5 | # dean [at] fourwalledcubicle [dot] com | 5 | # dean [at] fourwalledcubicle [dot] com |
| 6 | # www.lufa-lib.org | 6 | # www.lufa-lib.org |
| 7 | # | 7 | # |
| 8 | # -------------------------------------- | 8 | # -------------------------------------- |
| 9 | # LUFA Project Makefile. | 9 | # LUFA Project Makefile. |
| 10 | # -------------------------------------- | 10 | # -------------------------------------- |
| 11 | 11 | ||
| 12 | # Run "make help" for target help. | 12 | # Run "make help" for target help. |
| 13 | 13 | ||
| 14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
| 15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
| 16 | BOARD = USBKEY | 16 | BOARD = USBKEY |
| 17 | F_CPU = 8000000 | 17 | F_CPU = 8000000 |
| 18 | F_USB = $(F_CPU) | 18 | F_USB = $(F_CPU) |
| 19 | OPTIMIZATION = s | 19 | OPTIMIZATION = s |
| 20 | TARGET = BootloaderMassStorage | 20 | TARGET = BootloaderMassStorage |
| 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) | 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) |
| 22 | LUFA_PATH = ../../LUFA | 22 | LUFA_PATH = ../../LUFA |
| 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) | 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) |
| 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) | 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) |
| 25 | 25 | ||
| 26 | # Flash size and bootloader section sizes of the target, in KB. These must | 26 | # Flash size and bootloader section sizes of the target, in KB. These must |
| 27 | # match the target's total FLASH size and the bootloader size set in the | 27 | # match the target's total FLASH size and the bootloader size set in the |
| 28 | # device's fuses. | 28 | # device's fuses. |
| 29 | FLASH_SIZE_KB = 128 | 29 | FLASH_SIZE_KB = 128 |
| 30 | BOOT_SECTION_SIZE_KB = 8 | 30 | BOOT_SECTION_SIZE_KB = 8 |
| 31 | 31 | ||
| 32 | # Bootloader address calculation formulas | 32 | # Bootloader address calculation formulas |
| 33 | # Do not modify these macros, but rather modify the dependent values above. | 33 | # Do not modify these macros, but rather modify the dependent values above. |
| 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) | 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) |
| 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) | 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) |
| 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) | 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) |
| 37 | 37 | ||
| 38 | # Bootloader linker section flags for relocating the API table sections to | 38 | # Bootloader linker section flags for relocating the API table sections to |
| 39 | # known FLASH addresses - these should not normally be user-edited. | 39 | # known FLASH addresses - these should not normally be user-edited. |
| 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) | 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) |
| 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) | 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) |
| 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) | 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) |
| 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) | 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) |
| 44 | 44 | ||
| 45 | # Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the | 45 | # Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the |
| 46 | # bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum | 46 | # bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum |
| 47 | # bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. | 47 | # bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. |
| 48 | ifeq ($(BOOT_SECTION_SIZE_KB),8) | 48 | ifeq ($(BOOT_SECTION_SIZE_KB),8) |
| 49 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 | 49 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 |
| 50 | else | 50 | else |
| 51 | AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) | 51 | AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) |
| 52 | 52 | ||
| 53 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' | 53 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' |
| 54 | LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) | 54 | LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) |
| 55 | LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) | 55 | LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) |
| 56 | endif | 56 | endif |
| 57 | 57 | ||
| 58 | # Default target | 58 | # Default target |
| 59 | all: | 59 | all: |
| 60 | 60 | ||
| 61 | # Include LUFA build script makefiles | 61 | # Include LUFA build script makefiles |
| 62 | include $(LUFA_PATH)/Build/lufa_core.mk | 62 | include $(LUFA_PATH)/Build/lufa_core.mk |
| 63 | include $(LUFA_PATH)/Build/lufa_sources.mk | 63 | include $(LUFA_PATH)/Build/lufa_sources.mk |
| 64 | include $(LUFA_PATH)/Build/lufa_build.mk | 64 | include $(LUFA_PATH)/Build/lufa_build.mk |
| 65 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 65 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 66 | include $(LUFA_PATH)/Build/lufa_doxygen.mk | 66 | include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 67 | include $(LUFA_PATH)/Build/lufa_avrdude.mk | 67 | include $(LUFA_PATH)/Build/lufa_avrdude.mk |
| 68 | include $(LUFA_PATH)/Build/lufa_atprogram.mk | 68 | include $(LUFA_PATH)/Build/lufa_atprogram.mk |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S index ec499b74e..88c51da82 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S | |||
| @@ -1,91 +1,91 @@ | |||
| 1 | /* | 1 | /* |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2014. | 3 | Copyright (C) Dean Camera, 2014. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* | 9 | /* |
| 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) | 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) |
| 11 | 11 | ||
| 12 | Permission to use, copy, modify, distribute, and sell this | 12 | Permission to use, copy, modify, distribute, and sell this |
| 13 | software and its documentation for any purpose is hereby granted | 13 | software and its documentation for any purpose is hereby granted |
| 14 | without fee, provided that the above copyright notice appear in | 14 | without fee, provided that the above copyright notice appear in |
| 15 | all copies and that both that the copyright notice and this | 15 | all copies and that both that the copyright notice and this |
| 16 | permission notice and warranty disclaimer appear in supporting | 16 | permission notice and warranty disclaimer appear in supporting |
| 17 | documentation, and that the name of the author not be used in | 17 | documentation, and that the name of the author not be used in |
| 18 | advertising or publicity pertaining to distribution of the | 18 | advertising or publicity pertaining to distribution of the |
| 19 | software without specific, written prior permission. | 19 | software without specific, written prior permission. |
| 20 | 20 | ||
| 21 | The author disclaims all warranties with regard to this | 21 | The author disclaims all warranties with regard to this |
| 22 | software, including all implied warranties of merchantability | 22 | software, including all implied warranties of merchantability |
| 23 | and fitness. In no event shall the author be liable for any | 23 | and fitness. In no event shall the author be liable for any |
| 24 | special, indirect or consequential damages or any damages | 24 | special, indirect or consequential damages or any damages |
| 25 | whatsoever resulting from loss of use, data or profits, whether | 25 | whatsoever resulting from loss of use, data or profits, whether |
| 26 | in an action of contract, negligence or other tortious action, | 26 | in an action of contract, negligence or other tortious action, |
| 27 | arising out of or in connection with the use or performance of | 27 | arising out of or in connection with the use or performance of |
| 28 | this software. | 28 | this software. |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | ; Trampolines to actual API implementations if the target address is outside the | 31 | ; Trampolines to actual API implementations if the target address is outside the |
| 32 | ; range of a rjmp instruction (can happen with large bootloader sections) | 32 | ; range of a rjmp instruction (can happen with large bootloader sections) |
| 33 | .section .apitable_trampolines, "ax" | 33 | .section .apitable_trampolines, "ax" |
| 34 | .global BootloaderAPI_Trampolines | 34 | .global BootloaderAPI_Trampolines |
| 35 | BootloaderAPI_Trampolines: | 35 | BootloaderAPI_Trampolines: |
| 36 | 36 | ||
| 37 | BootloaderAPI_ErasePage_Trampoline: | 37 | BootloaderAPI_ErasePage_Trampoline: |
| 38 | jmp BootloaderAPI_ErasePage | 38 | jmp BootloaderAPI_ErasePage |
| 39 | BootloaderAPI_WritePage_Trampoline: | 39 | BootloaderAPI_WritePage_Trampoline: |
| 40 | jmp BootloaderAPI_WritePage | 40 | jmp BootloaderAPI_WritePage |
| 41 | BootloaderAPI_FillWord_Trampoline: | 41 | BootloaderAPI_FillWord_Trampoline: |
| 42 | jmp BootloaderAPI_FillWord | 42 | jmp BootloaderAPI_FillWord |
| 43 | BootloaderAPI_ReadSignature_Trampoline: | 43 | BootloaderAPI_ReadSignature_Trampoline: |
| 44 | jmp BootloaderAPI_ReadSignature | 44 | jmp BootloaderAPI_ReadSignature |
| 45 | BootloaderAPI_ReadFuse_Trampoline: | 45 | BootloaderAPI_ReadFuse_Trampoline: |
| 46 | jmp BootloaderAPI_ReadFuse | 46 | jmp BootloaderAPI_ReadFuse |
| 47 | BootloaderAPI_ReadLock_Trampoline: | 47 | BootloaderAPI_ReadLock_Trampoline: |
| 48 | jmp BootloaderAPI_ReadLock | 48 | jmp BootloaderAPI_ReadLock |
| 49 | BootloaderAPI_WriteLock_Trampoline: | 49 | BootloaderAPI_WriteLock_Trampoline: |
| 50 | jmp BootloaderAPI_WriteLock | 50 | jmp BootloaderAPI_WriteLock |
| 51 | BootloaderAPI_UNUSED1: | 51 | BootloaderAPI_UNUSED1: |
| 52 | ret | 52 | ret |
| 53 | BootloaderAPI_UNUSED2: | 53 | BootloaderAPI_UNUSED2: |
| 54 | ret | 54 | ret |
| 55 | BootloaderAPI_UNUSED3: | 55 | BootloaderAPI_UNUSED3: |
| 56 | ret | 56 | ret |
| 57 | BootloaderAPI_UNUSED4: | 57 | BootloaderAPI_UNUSED4: |
| 58 | ret | 58 | ret |
| 59 | BootloaderAPI_UNUSED5: | 59 | BootloaderAPI_UNUSED5: |
| 60 | ret | 60 | ret |
| 61 | 61 | ||
| 62 | 62 | ||
| 63 | 63 | ||
| 64 | ; API function jump table | 64 | ; API function jump table |
| 65 | .section .apitable_jumptable, "ax" | 65 | .section .apitable_jumptable, "ax" |
| 66 | .global BootloaderAPI_JumpTable | 66 | .global BootloaderAPI_JumpTable |
| 67 | BootloaderAPI_JumpTable: | 67 | BootloaderAPI_JumpTable: |
| 68 | 68 | ||
| 69 | rjmp BootloaderAPI_ErasePage_Trampoline | 69 | rjmp BootloaderAPI_ErasePage_Trampoline |
| 70 | rjmp BootloaderAPI_WritePage_Trampoline | 70 | rjmp BootloaderAPI_WritePage_Trampoline |
| 71 | rjmp BootloaderAPI_FillWord_Trampoline | 71 | rjmp BootloaderAPI_FillWord_Trampoline |
| 72 | rjmp BootloaderAPI_ReadSignature_Trampoline | 72 | rjmp BootloaderAPI_ReadSignature_Trampoline |
| 73 | rjmp BootloaderAPI_ReadFuse_Trampoline | 73 | rjmp BootloaderAPI_ReadFuse_Trampoline |
| 74 | rjmp BootloaderAPI_ReadLock_Trampoline | 74 | rjmp BootloaderAPI_ReadLock_Trampoline |
| 75 | rjmp BootloaderAPI_WriteLock_Trampoline | 75 | rjmp BootloaderAPI_WriteLock_Trampoline |
| 76 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 | 76 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 |
| 77 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 | 77 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 |
| 78 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 | 78 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 |
| 79 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 | 79 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 |
| 80 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 | 80 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 |
| 81 | 81 | ||
| 82 | 82 | ||
| 83 | 83 | ||
| 84 | ; Bootloader table signatures and information | 84 | ; Bootloader table signatures and information |
| 85 | .section .apitable_signatures, "ax" | 85 | .section .apitable_signatures, "ax" |
| 86 | .global BootloaderAPI_Signatures | 86 | .global BootloaderAPI_Signatures |
| 87 | BootloaderAPI_Signatures: | 87 | BootloaderAPI_Signatures: |
| 88 | 88 | ||
| 89 | .long BOOT_START_ADDR ; Start address of the bootloader | 89 | .long BOOT_START_ADDR ; Start address of the bootloader |
| 90 | .word 0xDF20 ; Signature for the Printer class bootloader | 90 | .word 0xDF20 ; Signature for the Printer class bootloader |
| 91 | .word 0xDCFB ; Signature for a LUFA class bootloader | 91 | .word 0xDCFB ; Signature for a LUFA class bootloader |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml index 86a56911e..b5c0c6b3a 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml | |||
| @@ -1,159 +1,159 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_"> | 2 | <project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.printer"/> | 3 | <require idref="lufa.bootloaders.printer"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | 17 | ||
| 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_"> | 26 | <project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_"> |
| 27 | <require idref="lufa.bootloaders.printer"/> | 27 | <require idref="lufa.bootloaders.printer"/> |
| 28 | <require idref="lufa.boards.dummy.avr8"/> | 28 | <require idref="lufa.boards.dummy.avr8"/> |
| 29 | <generator value="as5_8"/> | 29 | <generator value="as5_8"/> |
| 30 | 30 | ||
| 31 | <device-support value="at90usb647"/> | 31 | <device-support value="at90usb647"/> |
| 32 | <config name="lufa.drivers.board.name" value="none"/> | 32 | <config name="lufa.drivers.board.name" value="none"/> |
| 33 | 33 | ||
| 34 | <config name="config.compiler.optimization.level" value="size"/> | 34 | <config name="config.compiler.optimization.level" value="size"/> |
| 35 | 35 | ||
| 36 | <build type="define" name="F_CPU" value="16000000UL"/> | 36 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 37 | <build type="define" name="F_USB" value="16000000UL"/> | 37 | <build type="define" name="F_USB" value="16000000UL"/> |
| 38 | 38 | ||
| 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 41 | 41 | ||
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 48 | </project> | 48 | </project> |
| 49 | 49 | ||
| 50 | <project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_"> | 50 | <project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_"> |
| 51 | <require idref="lufa.bootloaders.printer"/> | 51 | <require idref="lufa.bootloaders.printer"/> |
| 52 | <require idref="lufa.boards.dummy.avr8"/> | 52 | <require idref="lufa.boards.dummy.avr8"/> |
| 53 | <generator value="as5_8"/> | 53 | <generator value="as5_8"/> |
| 54 | 54 | ||
| 55 | <device-support value="atmega32u4"/> | 55 | <device-support value="atmega32u4"/> |
| 56 | <config name="lufa.drivers.board.name" value="none"/> | 56 | <config name="lufa.drivers.board.name" value="none"/> |
| 57 | 57 | ||
| 58 | <config name="config.compiler.optimization.level" value="size"/> | 58 | <config name="config.compiler.optimization.level" value="size"/> |
| 59 | 59 | ||
| 60 | <build type="define" name="F_CPU" value="16000000UL"/> | 60 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 61 | <build type="define" name="F_USB" value="16000000UL"/> | 61 | <build type="define" name="F_USB" value="16000000UL"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 65 | 65 | ||
| 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 72 | </project> | 72 | </project> |
| 73 | 73 | ||
| 74 | <project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_"> | 74 | <project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_"> |
| 75 | <require idref="lufa.bootloaders.printer"/> | 75 | <require idref="lufa.bootloaders.printer"/> |
| 76 | <require idref="lufa.boards.dummy.avr8"/> | 76 | <require idref="lufa.boards.dummy.avr8"/> |
| 77 | <generator value="as5_8"/> | 77 | <generator value="as5_8"/> |
| 78 | 78 | ||
| 79 | <device-support value="atmega16u2"/> | 79 | <device-support value="atmega16u2"/> |
| 80 | <config name="lufa.drivers.board.name" value="none"/> | 80 | <config name="lufa.drivers.board.name" value="none"/> |
| 81 | 81 | ||
| 82 | <config name="config.compiler.optimization.level" value="size"/> | 82 | <config name="config.compiler.optimization.level" value="size"/> |
| 83 | 83 | ||
| 84 | <build type="define" name="F_CPU" value="16000000UL"/> | 84 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 85 | <build type="define" name="F_USB" value="16000000UL"/> | 85 | <build type="define" name="F_USB" value="16000000UL"/> |
| 86 | 86 | ||
| 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 89 | 89 | ||
| 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 96 | </project> | 96 | </project> |
| 97 | 97 | ||
| 98 | <project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_"> | 98 | <project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_"> |
| 99 | <require idref="lufa.bootloaders.printer"/> | 99 | <require idref="lufa.bootloaders.printer"/> |
| 100 | <require idref="lufa.boards.dummy.avr8"/> | 100 | <require idref="lufa.boards.dummy.avr8"/> |
| 101 | <generator value="as5_8"/> | 101 | <generator value="as5_8"/> |
| 102 | 102 | ||
| 103 | <device-support value="atmega8u2"/> | 103 | <device-support value="atmega8u2"/> |
| 104 | <config name="lufa.drivers.board.name" value="none"/> | 104 | <config name="lufa.drivers.board.name" value="none"/> |
| 105 | 105 | ||
| 106 | <config name="config.compiler.optimization.level" value="size"/> | 106 | <config name="config.compiler.optimization.level" value="size"/> |
| 107 | 107 | ||
| 108 | <build type="define" name="F_CPU" value="16000000UL"/> | 108 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 109 | <build type="define" name="F_USB" value="16000000UL"/> | 109 | <build type="define" name="F_USB" value="16000000UL"/> |
| 110 | 110 | ||
| 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> | 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> |
| 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> | 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> |
| 113 | 113 | ||
| 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> | 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> |
| 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> | 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> |
| 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> | 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> |
| 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 120 | </project> | 120 | </project> |
| 121 | 121 | ||
| 122 | <module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader"> | 122 | <module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader"> |
| 123 | <info type="description" value="summary"> | 123 | <info type="description" value="summary"> |
| 124 | Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host. | 124 | Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host. |
| 125 | </info> | 125 | </info> |
| 126 | 126 | ||
| 127 | <info type="gui-flag" value="move-to-root"/> | 127 | <info type="gui-flag" value="move-to-root"/> |
| 128 | 128 | ||
| 129 | <info type="keyword" value="Technology"> | 129 | <info type="keyword" value="Technology"> |
| 130 | <keyword value="Bootloaders"/> | 130 | <keyword value="Bootloaders"/> |
| 131 | <keyword value="USB Device"/> | 131 | <keyword value="USB Device"/> |
| 132 | </info> | 132 | </info> |
| 133 | 133 | ||
| 134 | <device-support-alias value="lufa_avr8"/> | 134 | <device-support-alias value="lufa_avr8"/> |
| 135 | <device-support-alias value="lufa_xmega"/> | 135 | <device-support-alias value="lufa_xmega"/> |
| 136 | <device-support-alias value="lufa_uc3"/> | 136 | <device-support-alias value="lufa_uc3"/> |
| 137 | 137 | ||
| 138 | <build type="include-path" value="."/> | 138 | <build type="include-path" value="."/> |
| 139 | <build type="c-source" value="BootloaderPrinter.c"/> | 139 | <build type="c-source" value="BootloaderPrinter.c"/> |
| 140 | <build type="header-file" value="BootloaderPrinter.h"/> | 140 | <build type="header-file" value="BootloaderPrinter.h"/> |
| 141 | <build type="c-source" value="Descriptors.c"/> | 141 | <build type="c-source" value="Descriptors.c"/> |
| 142 | <build type="header-file" value="Descriptors.h"/> | 142 | <build type="header-file" value="Descriptors.h"/> |
| 143 | <build type="c-source" value="BootloaderAPI.c"/> | 143 | <build type="c-source" value="BootloaderAPI.c"/> |
| 144 | <build type="header-file" value="BootloaderAPI.h"/> | 144 | <build type="header-file" value="BootloaderAPI.h"/> |
| 145 | <build type="asm-source" value="BootloaderAPITable.S"/> | 145 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 146 | 146 | ||
| 147 | <build type="module-config" subtype="path" value="Config"/> | 147 | <build type="module-config" subtype="path" value="Config"/> |
| 148 | <build type="header-file" value="Config/LUFAConfig.h"/> | 148 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 149 | 149 | ||
| 150 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 150 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 151 | <build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/> | 151 | <build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/> |
| 152 | 152 | ||
| 153 | <require idref="lufa.common"/> | 153 | <require idref="lufa.common"/> |
| 154 | <require idref="lufa.platform"/> | 154 | <require idref="lufa.platform"/> |
| 155 | <require idref="lufa.drivers.usb"/> | 155 | <require idref="lufa.drivers.usb"/> |
| 156 | <require idref="lufa.drivers.board"/> | 156 | <require idref="lufa.drivers.board"/> |
| 157 | <require idref="lufa.drivers.board.leds"/> | 157 | <require idref="lufa.drivers.board.leds"/> |
| 158 | </module> | 158 | </module> |
| 159 | </asf> | 159 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile index 0716c3bbe..0db035de3 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile | |||
| @@ -1,55 +1,55 @@ | |||
| 1 | # | 1 | # |
| 2 | # LUFA Library | 2 | # LUFA Library |
| 3 | # Copyright (C) Dean Camera, 2014. | 3 | # Copyright (C) Dean Camera, 2014. |
| 4 | # | 4 | # |
| 5 | # dean [at] fourwalledcubicle [dot] com | 5 | # dean [at] fourwalledcubicle [dot] com |
| 6 | # www.lufa-lib.org | 6 | # www.lufa-lib.org |
| 7 | # | 7 | # |
| 8 | # -------------------------------------- | 8 | # -------------------------------------- |
| 9 | # LUFA Project Makefile. | 9 | # LUFA Project Makefile. |
| 10 | # -------------------------------------- | 10 | # -------------------------------------- |
| 11 | 11 | ||
| 12 | # Run "make help" for target help. | 12 | # Run "make help" for target help. |
| 13 | 13 | ||
| 14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
| 15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
| 16 | BOARD = USBKEY | 16 | BOARD = USBKEY |
| 17 | F_CPU = 8000000 | 17 | F_CPU = 8000000 |
| 18 | F_USB = $(F_CPU) | 18 | F_USB = $(F_CPU) |
| 19 | OPTIMIZATION = s | 19 | OPTIMIZATION = s |
| 20 | TARGET = BootloaderPrinter | 20 | TARGET = BootloaderPrinter |
| 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) | 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) |
| 22 | LUFA_PATH = ../../LUFA | 22 | LUFA_PATH = ../../LUFA |
| 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) | 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) |
| 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) | 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) |
| 25 | 25 | ||
| 26 | # Flash size and bootloader section sizes of the target, in KB. These must | 26 | # Flash size and bootloader section sizes of the target, in KB. These must |
| 27 | # match the target's total FLASH size and the bootloader size set in the | 27 | # match the target's total FLASH size and the bootloader size set in the |
| 28 | # device's fuses. | 28 | # device's fuses. |
| 29 | FLASH_SIZE_KB = 128 | 29 | FLASH_SIZE_KB = 128 |
| 30 | BOOT_SECTION_SIZE_KB = 8 | 30 | BOOT_SECTION_SIZE_KB = 8 |
| 31 | 31 | ||
| 32 | # Bootloader address calculation formulas | 32 | # Bootloader address calculation formulas |
| 33 | # Do not modify these macros, but rather modify the dependent values above. | 33 | # Do not modify these macros, but rather modify the dependent values above. |
| 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) | 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) |
| 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) | 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) |
| 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) | 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) |
| 37 | 37 | ||
| 38 | # Bootloader linker section flags for relocating the API table sections to | 38 | # Bootloader linker section flags for relocating the API table sections to |
| 39 | # known FLASH addresses - these should not normally be user-edited. | 39 | # known FLASH addresses - these should not normally be user-edited. |
| 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) | 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) |
| 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) | 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) |
| 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) | 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) |
| 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) | 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) |
| 44 | 44 | ||
| 45 | # Default target | 45 | # Default target |
| 46 | all: | 46 | all: |
| 47 | 47 | ||
| 48 | # Include LUFA build script makefiles | 48 | # Include LUFA build script makefiles |
| 49 | include $(LUFA_PATH)/Build/lufa_core.mk | 49 | include $(LUFA_PATH)/Build/lufa_core.mk |
| 50 | include $(LUFA_PATH)/Build/lufa_sources.mk | 50 | include $(LUFA_PATH)/Build/lufa_sources.mk |
| 51 | include $(LUFA_PATH)/Build/lufa_build.mk | 51 | include $(LUFA_PATH)/Build/lufa_build.mk |
| 52 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 52 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 53 | include $(LUFA_PATH)/Build/lufa_doxygen.mk | 53 | include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 54 | include $(LUFA_PATH)/Build/lufa_avrdude.mk | 54 | include $(LUFA_PATH)/Build/lufa_avrdude.mk |
| 55 | include $(LUFA_PATH)/Build/lufa_atprogram.mk | 55 | include $(LUFA_PATH)/Build/lufa_atprogram.mk |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile b/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile index 9fd188c93..e839ba6b1 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile | |||
| @@ -1,42 +1,42 @@ | |||
| 1 | # | 1 | # |
| 2 | # LUFA Library | 2 | # LUFA Library |
| 3 | # Copyright (C) Dean Camera, 2014. | 3 | # Copyright (C) Dean Camera, 2014. |
| 4 | # | 4 | # |
| 5 | # dean [at] fourwalledcubicle [dot] com | 5 | # dean [at] fourwalledcubicle [dot] com |
| 6 | # www.lufa-lib.org | 6 | # www.lufa-lib.org |
| 7 | # | 7 | # |
| 8 | # -------------------------------------- | 8 | # -------------------------------------- |
| 9 | # LUFA Project Makefile. | 9 | # LUFA Project Makefile. |
| 10 | # -------------------------------------- | 10 | # -------------------------------------- |
| 11 | 11 | ||
| 12 | # Run "make help" for target help. | 12 | # Run "make help" for target help. |
| 13 | 13 | ||
| 14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
| 15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
| 16 | F_CPU = 1000000 | 16 | F_CPU = 1000000 |
| 17 | F_USB = $(F_CPU) | 17 | F_USB = $(F_CPU) |
| 18 | OPTIMIZATION = s | 18 | OPTIMIZATION = s |
| 19 | TARGET = HID_EEPROM_Loader | 19 | TARGET = HID_EEPROM_Loader |
| 20 | SRC = $(TARGET).c | 20 | SRC = $(TARGET).c |
| 21 | LUFA_PATH = ../../../LUFA | 21 | LUFA_PATH = ../../../LUFA |
| 22 | CC_FLAGS = | 22 | CC_FLAGS = |
| 23 | LD_FLAGS = | 23 | LD_FLAGS = |
| 24 | OBJECT_FILES = InputEEData.o | 24 | OBJECT_FILES = InputEEData.o |
| 25 | 25 | ||
| 26 | # Default target | 26 | # Default target |
| 27 | all: | 27 | all: |
| 28 | 28 | ||
| 29 | # Determine the AVR sub-architecture of the build main application object file | 29 | # Determine the AVR sub-architecture of the build main application object file |
| 30 | FIND_AVR_SUBARCH = avr$(shell avr-objdump -f $(TARGET).o | grep architecture | cut -d':' -f3 | cut -d',' -f1) | 30 | FIND_AVR_SUBARCH = avr$(shell avr-objdump -f $(TARGET).o | grep architecture | cut -d':' -f3 | cut -d',' -f1) |
| 31 | 31 | ||
| 32 | # Create a linkable object file with the input binary EEPROM data stored in the FLASH section | 32 | # Create a linkable object file with the input binary EEPROM data stored in the FLASH section |
| 33 | InputEEData.o: InputEEData.bin $(TARGET).o $(MAKEFILE_LIST) | 33 | InputEEData.o: InputEEData.bin $(TARGET).o $(MAKEFILE_LIST) |
| 34 | @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a object file \"$@\" | 34 | @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a object file \"$@\" |
| 35 | avr-objcopy -I binary -O elf32-avr -B $(call FIND_AVR_SUBARCH) --rename-section .data=.progmem.data,contents,alloc,readonly,data $< $@ | 35 | avr-objcopy -I binary -O elf32-avr -B $(call FIND_AVR_SUBARCH) --rename-section .data=.progmem.data,contents,alloc,readonly,data $< $@ |
| 36 | 36 | ||
| 37 | # Include LUFA build script makefiles | 37 | # Include LUFA build script makefiles |
| 38 | include $(LUFA_PATH)/Build/lufa_core.mk | 38 | include $(LUFA_PATH)/Build/lufa_core.mk |
| 39 | include $(LUFA_PATH)/Build/lufa_build.mk | 39 | include $(LUFA_PATH)/Build/lufa_build.mk |
| 40 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 40 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 41 | include $(LUFA_PATH)/Build/lufa_doxygen.mk | 41 | include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 42 | include $(LUFA_PATH)/Build/lufa_hid.mk | 42 | include $(LUFA_PATH)/Build/lufa_hid.mk |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml index fd65db283..e952714e1 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml | |||
| @@ -1,55 +1,55 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="USB Device Template" id="lufa.templates.device.project.avr8"> | 2 | <project caption="USB Device Template" id="lufa.templates.device.project.avr8"> |
| 3 | <require idref="lufa.templates.device"/> | 3 | <require idref="lufa.templates.device"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8_template"/> | 5 | <generator value="as5_8_template"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="usbkey"/> | 8 | <config name="lufa.drivers.board.name" value="usbkey"/> |
| 9 | 9 | ||
| 10 | <build type="define" name="F_CPU" value="8000000UL"/> | 10 | <build type="define" name="F_CPU" value="8000000UL"/> |
| 11 | <build type="define" name="F_USB" value="8000000UL"/> | 11 | <build type="define" name="F_USB" value="8000000UL"/> |
| 12 | </project> | 12 | </project> |
| 13 | 13 | ||
| 14 | <project caption="USB Device Template" id="lufa.templates.device.project.xmega"> | 14 | <project caption="USB Device Template" id="lufa.templates.device.project.xmega"> |
| 15 | <require idref="lufa.templates.device"/> | 15 | <require idref="lufa.templates.device"/> |
| 16 | <require idref="lufa.boards.dummy.xmega"/> | 16 | <require idref="lufa.boards.dummy.xmega"/> |
| 17 | <generator value="as5_8_template"/> | 17 | <generator value="as5_8_template"/> |
| 18 | 18 | ||
| 19 | <device-support value="atxmega256a3bu"/> | 19 | <device-support value="atxmega256a3bu"/> |
| 20 | <config name="lufa.drivers.board.name" value="a3bu_xplained"/> | 20 | <config name="lufa.drivers.board.name" value="a3bu_xplained"/> |
| 21 | 21 | ||
| 22 | <build type="define" name="F_CPU" value="32000000UL"/> | 22 | <build type="define" name="F_CPU" value="32000000UL"/> |
| 23 | <build type="define" name="F_USB" value="48000000UL"/> | 23 | <build type="define" name="F_USB" value="48000000UL"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <module type="application" id="lufa.templates.device" caption="USB Device Template"> | 26 | <module type="application" id="lufa.templates.device" caption="USB Device Template"> |
| 27 | <info type="description" value="summary"> | 27 | <info type="description" value="summary"> |
| 28 | Template for a LUFA USB device mode application. | 28 | Template for a LUFA USB device mode application. |
| 29 | </info> | 29 | </info> |
| 30 | 30 | ||
| 31 | <info type="gui-flag" value="move-to-root"/> | 31 | <info type="gui-flag" value="move-to-root"/> |
| 32 | 32 | ||
| 33 | <info type="keyword" value="Technology"> | 33 | <info type="keyword" value="Technology"> |
| 34 | <keyword value="USB Device"/> | 34 | <keyword value="USB Device"/> |
| 35 | <keyword value="Template Projects"/> | 35 | <keyword value="Template Projects"/> |
| 36 | </info> | 36 | </info> |
| 37 | 37 | ||
| 38 | <device-support-alias value="lufa_avr8"/> | 38 | <device-support-alias value="lufa_avr8"/> |
| 39 | <device-support-alias value="lufa_xmega"/> | 39 | <device-support-alias value="lufa_xmega"/> |
| 40 | <device-support-alias value="lufa_uc3"/> | 40 | <device-support-alias value="lufa_uc3"/> |
| 41 | 41 | ||
| 42 | <build type="c-source" value="DeviceApplication.c"/> | 42 | <build type="c-source" value="DeviceApplication.c"/> |
| 43 | <build type="c-source" value="Descriptors.c"/> | 43 | <build type="c-source" value="Descriptors.c"/> |
| 44 | <build type="header-file" value="DeviceApplication.h"/> | 44 | <build type="header-file" value="DeviceApplication.h"/> |
| 45 | <build type="header-file" value="Descriptors.h"/> | 45 | <build type="header-file" value="Descriptors.h"/> |
| 46 | 46 | ||
| 47 | <build type="module-config" subtype="path" value=".."/> | 47 | <build type="module-config" subtype="path" value=".."/> |
| 48 | <build type="header-file" value="../LUFAConfig.h"/> | 48 | <build type="header-file" value="../LUFAConfig.h"/> |
| 49 | 49 | ||
| 50 | <require idref="lufa.common"/> | 50 | <require idref="lufa.common"/> |
| 51 | <require idref="lufa.platform"/> | 51 | <require idref="lufa.platform"/> |
| 52 | <require idref="lufa.drivers.usb"/> | 52 | <require idref="lufa.drivers.usb"/> |
| 53 | <require idref="lufa.drivers.board"/> | 53 | <require idref="lufa.drivers.board"/> |
| 54 | </module> | 54 | </module> |
| 55 | </asf> | 55 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml index c1996ec71..c3860c056 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml | |||
| @@ -1,41 +1,41 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="USB Host Template" id="lufa.templates.host.project"> | 2 | <project caption="USB Host Template" id="lufa.templates.host.project"> |
| 3 | <require idref="lufa.templates.host"/> | 3 | <require idref="lufa.templates.host"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8_template"/> | 5 | <generator value="as5_8_template"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="usbkey"/> | 8 | <config name="lufa.drivers.board.name" value="usbkey"/> |
| 9 | 9 | ||
| 10 | <build type="define" name="F_CPU" value="8000000UL"/> | 10 | <build type="define" name="F_CPU" value="8000000UL"/> |
| 11 | <build type="define" name="F_USB" value="8000000UL"/> | 11 | <build type="define" name="F_USB" value="8000000UL"/> |
| 12 | </project> | 12 | </project> |
| 13 | 13 | ||
| 14 | <module type="application" id="lufa.templates.host" caption="USB Host Template"> | 14 | <module type="application" id="lufa.templates.host" caption="USB Host Template"> |
| 15 | <info type="description" value="summary"> | 15 | <info type="description" value="summary"> |
| 16 | Template for a LUFA USB host mode application. | 16 | Template for a LUFA USB host mode application. |
| 17 | </info> | 17 | </info> |
| 18 | 18 | ||
| 19 | <info type="gui-flag" value="move-to-root"/> | 19 | <info type="gui-flag" value="move-to-root"/> |
| 20 | 20 | ||
| 21 | <info type="keyword" value="Technology"> | 21 | <info type="keyword" value="Technology"> |
| 22 | <keyword value="USB Host"/> | 22 | <keyword value="USB Host"/> |
| 23 | <keyword value="Template Projects"/> | 23 | <keyword value="Template Projects"/> |
| 24 | </info> | 24 | </info> |
| 25 | 25 | ||
| 26 | <device-support-alias value="lufa_avr8"/> | 26 | <device-support-alias value="lufa_avr8"/> |
| 27 | <device-support-alias value="lufa_xmega"/> | 27 | <device-support-alias value="lufa_xmega"/> |
| 28 | <device-support-alias value="lufa_uc3"/> | 28 | <device-support-alias value="lufa_uc3"/> |
| 29 | 29 | ||
| 30 | <build type="c-source" value="HostApplication.c"/> | 30 | <build type="c-source" value="HostApplication.c"/> |
| 31 | <build type="header-file" value="HostApplication.h"/> | 31 | <build type="header-file" value="HostApplication.h"/> |
| 32 | 32 | ||
| 33 | <build type="module-config" subtype="path" value=".."/> | 33 | <build type="module-config" subtype="path" value=".."/> |
| 34 | <build type="header-file" value="../LUFAConfig.h"/> | 34 | <build type="header-file" value="../LUFAConfig.h"/> |
| 35 | 35 | ||
| 36 | <require idref="lufa.common"/> | 36 | <require idref="lufa.common"/> |
| 37 | <require idref="lufa.platform"/> | 37 | <require idref="lufa.platform"/> |
| 38 | <require idref="lufa.drivers.usb"/> | 38 | <require idref="lufa.drivers.usb"/> |
| 39 | <require idref="lufa.drivers.board"/> | 39 | <require idref="lufa.drivers.board"/> |
| 40 | </module> | 40 | </module> |
| 41 | </asf> | 41 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt b/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt index 7ddfa1be3..0ae1dd678 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt | |||
| @@ -1,975 +1,975 @@ | |||
| 1 | /** \file | 1 | /** \file |
| 2 | * | 2 | * |
| 3 | * This file contains special DoxyGen information for the generation of the main page and other special | 3 | * This file contains special DoxyGen information for the generation of the main page and other special |
| 4 | * documentation pages. It is not a project source file. | 4 | * documentation pages. It is not a project source file. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | /** \page Page_BuildSystem The LUFA Build System | 7 | /** \page Page_BuildSystem The LUFA Build System |
| 8 | * | 8 | * |
| 9 | * \section Sec_BuildSystem_Overview Overview of the LUFA Build System | 9 | * \section Sec_BuildSystem_Overview Overview of the LUFA Build System |
| 10 | * The LUFA build system is an attempt at making a set of re-usable, modular build make files which | 10 | * The LUFA build system is an attempt at making a set of re-usable, modular build make files which |
| 11 | * can be referenced in a LUFA powered project, to minimize the amount of code required in an | 11 | * can be referenced in a LUFA powered project, to minimize the amount of code required in an |
| 12 | * application makefile. The system is written in GNU Make, and each module is independent of | 12 | * application makefile. The system is written in GNU Make, and each module is independent of |
| 13 | * one-another. | 13 | * one-another. |
| 14 | * | 14 | * |
| 15 | * For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA | 15 | * For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA |
| 16 | * build system, see \ref Sec_CompilingApps_Prerequisites. | 16 | * build system, see \ref Sec_CompilingApps_Prerequisites. |
| 17 | * | 17 | * |
| 18 | * To use a LUFA build system module, simply add an include to your project makefile. All user projects | 18 | * To use a LUFA build system module, simply add an include to your project makefile. All user projects |
| 19 | * should at a minimum include \ref Page_BuildModule_CORE for base functionality: | 19 | * should at a minimum include \ref Page_BuildModule_CORE for base functionality: |
| 20 | * \code | 20 | * \code |
| 21 | * include $(LUFA_PATH)/Build/lufa_core.mk | 21 | * include $(LUFA_PATH)/Build/lufa_core.mk |
| 22 | * \endcode | 22 | * \endcode |
| 23 | * | 23 | * |
| 24 | * Once included in your project makefile, the associated build module targets will be added to your | 24 | * Once included in your project makefile, the associated build module targets will be added to your |
| 25 | * project's build makefile targets automatically. To call a build target, run <tt>make {TARGET_NAME}</tt> | 25 | * project's build makefile targets automatically. To call a build target, run <tt>make {TARGET_NAME}</tt> |
| 26 | * from the command line, substituting in the appropriate target name. | 26 | * from the command line, substituting in the appropriate target name. |
| 27 | * | 27 | * |
| 28 | * \see \ref Sec_ConfiguringApps_AppMakefileParams for a copy of the sample LUFA project makefile. | 28 | * \see \ref Sec_ConfiguringApps_AppMakefileParams for a copy of the sample LUFA project makefile. |
| 29 | * | 29 | * |
| 30 | * Each build module may have one or more mandatory parameters (GNU Make variables) which <i>must</i> | 30 | * Each build module may have one or more mandatory parameters (GNU Make variables) which <i>must</i> |
| 31 | * be supplied in the project makefile for the module to work, and one or more optional parameters which | 31 | * be supplied in the project makefile for the module to work, and one or more optional parameters which |
| 32 | * may be defined and which will assume a sensible default if not. | 32 | * may be defined and which will assume a sensible default if not. |
| 33 | * | 33 | * |
| 34 | * \section SSec_BuildSystem_Modules Available Modules | 34 | * \section SSec_BuildSystem_Modules Available Modules |
| 35 | * | 35 | * |
| 36 | * The following modules are included in this LUFA release: | 36 | * The following modules are included in this LUFA release: |
| 37 | * | 37 | * |
| 38 | * \li \subpage Page_BuildModule_ATPROGRAM - Device Programming | 38 | * \li \subpage Page_BuildModule_ATPROGRAM - Device Programming |
| 39 | * \li \subpage Page_BuildModule_AVRDUDE - Device Programming | 39 | * \li \subpage Page_BuildModule_AVRDUDE - Device Programming |
| 40 | * \li \subpage Page_BuildModule_BUILD - Compiling/Assembling/Linking | 40 | * \li \subpage Page_BuildModule_BUILD - Compiling/Assembling/Linking |
| 41 | * \li \subpage Page_BuildModule_CORE - Core Build System Functions | 41 | * \li \subpage Page_BuildModule_CORE - Core Build System Functions |
| 42 | * \li \subpage Page_BuildModule_CPPCHECK - Static Code Analysis | 42 | * \li \subpage Page_BuildModule_CPPCHECK - Static Code Analysis |
| 43 | * \li \subpage Page_BuildModule_DFU - Device Programming | 43 | * \li \subpage Page_BuildModule_DFU - Device Programming |
| 44 | * \li \subpage Page_BuildModule_DOXYGEN - Automated Source Code Documentation | 44 | * \li \subpage Page_BuildModule_DOXYGEN - Automated Source Code Documentation |
| 45 | * \li \subpage Page_BuildModule_HID - Device Programming | 45 | * \li \subpage Page_BuildModule_HID - Device Programming |
| 46 | * \li \subpage Page_BuildModule_SOURCES - LUFA Module Source Code Variables | 46 | * \li \subpage Page_BuildModule_SOURCES - LUFA Module Source Code Variables |
| 47 | * | 47 | * |
| 48 | * If you have problems building using the LUFA build system, see \subpage Page_BuildTroubleshooting for resolution steps. | 48 | * If you have problems building using the LUFA build system, see \subpage Page_BuildTroubleshooting for resolution steps. |
| 49 | */ | 49 | */ |
| 50 | 50 | ||
| 51 | /** \page Page_BuildModule_BUILD The BUILD build module | 51 | /** \page Page_BuildModule_BUILD The BUILD build module |
| 52 | * | 52 | * |
| 53 | * The BUILD LUFA build system module, providing targets for the compilation, | 53 | * The BUILD LUFA build system module, providing targets for the compilation, |
| 54 | * assembling and linking of an application from source code into binary files | 54 | * assembling and linking of an application from source code into binary files |
| 55 | * suitable for programming into a target device, using the GCC compiler. | 55 | * suitable for programming into a target device, using the GCC compiler. |
| 56 | * | 56 | * |
| 57 | * To use this module in your application makefile, add the following code: | 57 | * To use this module in your application makefile, add the following code: |
| 58 | * \code | 58 | * \code |
| 59 | * include $(LUFA_PATH)/Build/lufa_build.mk | 59 | * include $(LUFA_PATH)/Build/lufa_build.mk |
| 60 | * \endcode | 60 | * \endcode |
| 61 | * | 61 | * |
| 62 | * \section SSec_BuildModule_BUILD_Requirements Requirements | 62 | * \section SSec_BuildModule_BUILD_Requirements Requirements |
| 63 | * This module requires the the architecture appropriate binaries of the GCC compiler are available in your | 63 | * This module requires the the architecture appropriate binaries of the GCC compiler are available in your |
| 64 | * system's <b>PATH</b> variable. The GCC compiler and associated toolchain is distributed in Atmel AVR Studio | 64 | * system's <b>PATH</b> variable. The GCC compiler and associated toolchain is distributed in Atmel AVR Studio |
| 65 | * 5.x and Atmel Studio 6.x installation directories, as well as in many third party distribution packages. | 65 | * 5.x and Atmel Studio 6.x installation directories, as well as in many third party distribution packages. |
| 66 | * | 66 | * |
| 67 | * \section SSec_BuildModule_BUILD_Targets Targets | 67 | * \section SSec_BuildModule_BUILD_Targets Targets |
| 68 | * | 68 | * |
| 69 | * <table> | 69 | * <table> |
| 70 | * <tr> | 70 | * <tr> |
| 71 | * <td><tt>size</tt></td> | 71 | * <td><tt>size</tt></td> |
| 72 | * <td>Display size of the compiled application FLASH and SRAM segments.</td> | 72 | * <td>Display size of the compiled application FLASH and SRAM segments.</td> |
| 73 | * </tr> | 73 | * </tr> |
| 74 | * <tr> | 74 | * <tr> |
| 75 | * <td><tt>symbol-sizes</tt></td> | 75 | * <td><tt>symbol-sizes</tt></td> |
| 76 | * <td>Display a size-sorted list of symbols from the compiled application, in decimal bytes.</td> | 76 | * <td>Display a size-sorted list of symbols from the compiled application, in decimal bytes.</td> |
| 77 | * </tr> | 77 | * </tr> |
| 78 | * <tr> | 78 | * <tr> |
| 79 | * <td><tt>lib</tt></td> | 79 | * <td><tt>lib</tt></td> |
| 80 | * <td>Build and archive all source files into a library A binary file.</td> | 80 | * <td>Build and archive all source files into a library A binary file.</td> |
| 81 | * </tr> | 81 | * </tr> |
| 82 | * <tr> | 82 | * <tr> |
| 83 | * <td><tt>all</tt></td> | 83 | * <td><tt>all</tt></td> |
| 84 | * <td>Build and link the application into ELF debug and HEX binary files.</td> | 84 | * <td>Build and link the application into ELF debug and HEX binary files.</td> |
| 85 | * </tr> | 85 | * </tr> |
| 86 | * <tr> | 86 | * <tr> |
| 87 | * <td><tt>elf</tt></td> | 87 | * <td><tt>elf</tt></td> |
| 88 | * <td>Build and link the application into an ELF debug file.</td> | 88 | * <td>Build and link the application into an ELF debug file.</td> |
| 89 | * </tr> | 89 | * </tr> |
| 90 | * <tr> | 90 | * <tr> |
| 91 | * <td><tt>bin</tt></td> | 91 | * <td><tt>bin</tt></td> |
| 92 | * <td>Build and link the application and produce a BIN binary file.</td> | 92 | * <td>Build and link the application and produce a BIN binary file.</td> |
| 93 | * </tr> | 93 | * </tr> |
| 94 | * <tr> | 94 | * <tr> |
| 95 | * <td><tt>hex</tt></td> | 95 | * <td><tt>hex</tt></td> |
| 96 | * <td>Build and link the application and produce HEX and EEP binary files.</td> | 96 | * <td>Build and link the application and produce HEX and EEP binary files.</td> |
| 97 | * </tr> | 97 | * </tr> |
| 98 | * <tr> | 98 | * <tr> |
| 99 | * <td><tt>lss</tt></td> | 99 | * <td><tt>lss</tt></td> |
| 100 | * <td>Build and link the application and produce a LSS source code/assembly code mixed listing file.</td> | 100 | * <td>Build and link the application and produce a LSS source code/assembly code mixed listing file.</td> |
| 101 | * </tr> | 101 | * </tr> |
| 102 | * <tr> | 102 | * <tr> |
| 103 | * <td><tt>clean</tt></td> | 103 | * <td><tt>clean</tt></td> |
| 104 | * <td>Remove all intermediary files and binary output files.</td> | 104 | * <td>Remove all intermediary files and binary output files.</td> |
| 105 | * </tr> | 105 | * </tr> |
| 106 | * <tr> | 106 | * <tr> |
| 107 | * <td><tt>mostlyclean</tt></td> | 107 | * <td><tt>mostlyclean</tt></td> |
| 108 | * <td>Remove all intermediary files but preserve any binary output files.</td> | 108 | * <td>Remove all intermediary files but preserve any binary output files.</td> |
| 109 | * </tr> | 109 | * </tr> |
| 110 | * <tr> | 110 | * <tr> |
| 111 | * <td><tt><i><filename></i>.s</tt></td> | 111 | * <td><tt><i><filename></i>.s</tt></td> |
| 112 | * <td>Create an assembly listing of a given input C/C++ source file.</td> | 112 | * <td>Create an assembly listing of a given input C/C++ source file.</td> |
| 113 | * </tr> | 113 | * </tr> |
| 114 | * </table> | 114 | * </table> |
| 115 | * | 115 | * |
| 116 | * \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters | 116 | * \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters |
| 117 | * | 117 | * |
| 118 | * <table> | 118 | * <table> |
| 119 | * <tr> | 119 | * <tr> |
| 120 | * <td><tt>TARGET</tt></td> | 120 | * <td><tt>TARGET</tt></td> |
| 121 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 121 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 122 | * </tr> | 122 | * </tr> |
| 123 | * <tr> | 123 | * <tr> |
| 124 | * <td><tt>ARCH</tt></td> | 124 | * <td><tt>ARCH</tt></td> |
| 125 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> | 125 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> |
| 126 | * </tr> | 126 | * </tr> |
| 127 | * <tr> | 127 | * <tr> |
| 128 | * <td><tt>MCU</tt></td> | 128 | * <td><tt>MCU</tt></td> |
| 129 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 129 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 130 | * </tr> | 130 | * </tr> |
| 131 | * <tr> | 131 | * <tr> |
| 132 | * <td><tt>SRC</tt></td> | 132 | * <td><tt>SRC</tt></td> |
| 133 | * <td>List of relative or absolute paths to the application C (.c), C++ (.cpp) and Assembly (.S) source files.</td> | 133 | * <td>List of relative or absolute paths to the application C (.c), C++ (.cpp) and Assembly (.S) source files.</td> |
| 134 | * </tr> | 134 | * </tr> |
| 135 | * <tr> | 135 | * <tr> |
| 136 | * <td><tt>F_USB</tt></td> | 136 | * <td><tt>F_USB</tt></td> |
| 137 | * <td>Speed in Hz of the input clock frequency to the target's USB controller.</td> | 137 | * <td>Speed in Hz of the input clock frequency to the target's USB controller.</td> |
| 138 | * </tr> | 138 | * </tr> |
| 139 | * <tr> | 139 | * <tr> |
| 140 | * <td><tt>LUFA_PATH</tt></td> | 140 | * <td><tt>LUFA_PATH</tt></td> |
| 141 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> | 141 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> |
| 142 | * </tr> | 142 | * </tr> |
| 143 | * </table> | 143 | * </table> |
| 144 | * | 144 | * |
| 145 | * \section SSec_BuildModule_BUILD_OptionalParams Optional Parameters | 145 | * \section SSec_BuildModule_BUILD_OptionalParams Optional Parameters |
| 146 | * | 146 | * |
| 147 | * <table> | 147 | * <table> |
| 148 | * <tr> | 148 | * <tr> |
| 149 | * <td><tt>BOARD</tt></td> | 149 | * <td><tt>BOARD</tt></td> |
| 150 | * <td>LUFA board hardware drivers to use (see \ref Page_DeviceSupport).</td> | 150 | * <td>LUFA board hardware drivers to use (see \ref Page_DeviceSupport).</td> |
| 151 | * </tr> | 151 | * </tr> |
| 152 | * <tr> | 152 | * <tr> |
| 153 | * <td><tt>OPTIMIZATION</tt></td> | 153 | * <td><tt>OPTIMIZATION</tt></td> |
| 154 | * <td>Optimization level to use when compiling source files (see GCC manual).</td> | 154 | * <td>Optimization level to use when compiling source files (see GCC manual).</td> |
| 155 | * </tr> | 155 | * </tr> |
| 156 | * <tr> | 156 | * <tr> |
| 157 | * <td><tt>C_STANDARD</tt></td> | 157 | * <td><tt>C_STANDARD</tt></td> |
| 158 | * <td>Version of the C standard to apply when compiling C++ source files (see GCC manual).</td> | 158 | * <td>Version of the C standard to apply when compiling C++ source files (see GCC manual).</td> |
| 159 | * </tr> | 159 | * </tr> |
| 160 | * <tr> | 160 | * <tr> |
| 161 | * <td><tt>CPP_STANDARD</tt></td> | 161 | * <td><tt>CPP_STANDARD</tt></td> |
| 162 | * <td>Version of the C++ standard to apply when compiling C++ source files (see GCC manual).</td> | 162 | * <td>Version of the C++ standard to apply when compiling C++ source files (see GCC manual).</td> |
| 163 | * </tr> | 163 | * </tr> |
| 164 | * <tr> | 164 | * <tr> |
| 165 | * <td><tt>DEBUG_FORMAT</tt></td> | 165 | * <td><tt>DEBUG_FORMAT</tt></td> |
| 166 | * <td>Format of the debug information to embed in the generated object files (see GCC manual).</td> | 166 | * <td>Format of the debug information to embed in the generated object files (see GCC manual).</td> |
| 167 | * </tr> | 167 | * </tr> |
| 168 | * <tr> | 168 | * <tr> |
| 169 | * <td><tt>DEBUG_LEVEL</tt></td> | 169 | * <td><tt>DEBUG_LEVEL</tt></td> |
| 170 | * <td>Level of the debugging information to embed in the generated object files (see GCC manual).</td> | 170 | * <td>Level of the debugging information to embed in the generated object files (see GCC manual).</td> |
| 171 | * </tr> | 171 | * </tr> |
| 172 | * <tr> | 172 | * <tr> |
| 173 | * <td><tt>F_CPU</tt></td> | 173 | * <td><tt>F_CPU</tt></td> |
| 174 | * <td>Speed of the processor CPU clock, in Hz.</td> | 174 | * <td>Speed of the processor CPU clock, in Hz.</td> |
| 175 | * </tr> | 175 | * </tr> |
| 176 | * <tr> | 176 | * <tr> |
| 177 | * <td><tt>C_FLAGS</tt></td> | 177 | * <td><tt>C_FLAGS</tt></td> |
| 178 | * <td>Flags to pass to the C compiler only, after the automatically generated flags.</td> | 178 | * <td>Flags to pass to the C compiler only, after the automatically generated flags.</td> |
| 179 | * </tr> | 179 | * </tr> |
| 180 | * <tr> | 180 | * <tr> |
| 181 | * <td><tt>CPP_FLAGS</tt></td> | 181 | * <td><tt>CPP_FLAGS</tt></td> |
| 182 | * <td>Flags to pass to the C++ compiler only, after the automatically generated flags.</td> | 182 | * <td>Flags to pass to the C++ compiler only, after the automatically generated flags.</td> |
| 183 | * </tr> | 183 | * </tr> |
| 184 | * <tr> | 184 | * <tr> |
| 185 | * <td><tt>ASM_FLAGS</tt></td> | 185 | * <td><tt>ASM_FLAGS</tt></td> |
| 186 | * <td>Flags to pass to the assembler only, after the automatically generated flags.</td> | 186 | * <td>Flags to pass to the assembler only, after the automatically generated flags.</td> |
| 187 | * </tr> | 187 | * </tr> |
| 188 | * <tr> | 188 | * <tr> |
| 189 | * <td><tt>CC_FLAGS</tt></td> | 189 | * <td><tt>CC_FLAGS</tt></td> |
| 190 | * <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td> | 190 | * <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td> |
| 191 | * </tr> | 191 | * </tr> |
| 192 | * <tr> | 192 | * <tr> |
| 193 | * <td><tt>COMPILER_PATH</tt></td> | 193 | * <td><tt>COMPILER_PATH</tt></td> |
| 194 | * <td>Directory where the C/C++ toolchain is located, if not available in the system <tt>PATH</tt>.</td> | 194 | * <td>Directory where the C/C++ toolchain is located, if not available in the system <tt>PATH</tt>.</td> |
| 195 | * </tr> | 195 | * </tr> |
| 196 | * <tr> | 196 | * <tr> |
| 197 | * <td><tt>LD_FLAGS</tt></td> | 197 | * <td><tt>LD_FLAGS</tt></td> |
| 198 | * <td>Flags to pass to the linker, after the automatically generated flags.</td> | 198 | * <td>Flags to pass to the linker, after the automatically generated flags.</td> |
| 199 | * </tr> | 199 | * </tr> |
| 200 | * <tr> | 200 | * <tr> |
| 201 | * <td><tt>LINKER_RELAXATIONS</tt></td> | 201 | * <td><tt>LINKER_RELAXATIONS</tt></td> |
| 202 | * <td>Enables or disables linker relaxations when linking the application binary. This can reduce the total size | 202 | * <td>Enables or disables linker relaxations when linking the application binary. This can reduce the total size |
| 203 | * of the application by replacing full \c CALL instructions with smaller \c RCALL instructions where possible. | 203 | * of the application by replacing full \c CALL instructions with smaller \c RCALL instructions where possible. |
| 204 | * \note On some unpatched versions of binutils, this can cause link failures in some circumstances. If you | 204 | * \note On some unpatched versions of binutils, this can cause link failures in some circumstances. If you |
| 205 | * receive a link error <tt>relocation truncated to fit: R_AVR_13_PCREL</tt>, disable this setting.</td> | 205 | * receive a link error <tt>relocation truncated to fit: R_AVR_13_PCREL</tt>, disable this setting.</td> |
| 206 | * </tr> | 206 | * </tr> |
| 207 | * <tr> | 207 | * <tr> |
| 208 | * <td><tt>OBJDIR</tt></td> | 208 | * <td><tt>OBJDIR</tt></td> |
| 209 | * <td>Directory to place the generated object and dependency files. If set to "." the same folder as the source file will be used. | 209 | * <td>Directory to place the generated object and dependency files. If set to "." the same folder as the source file will be used. |
| 210 | * \note When this option is enabled, all source filenames <b>must</b> be unique.</td> | 210 | * \note When this option is enabled, all source filenames <b>must</b> be unique.</td> |
| 211 | * </tr> | 211 | * </tr> |
| 212 | * <tr> | 212 | * <tr> |
| 213 | * <td><tt>OBJECT_FILES</tt></td> | 213 | * <td><tt>OBJECT_FILES</tt></td> |
| 214 | * <td>List of additional object files that should be linked into the resulting binary.</td> | 214 | * <td>List of additional object files that should be linked into the resulting binary.</td> |
| 215 | * </tr> | 215 | * </tr> |
| 216 | * </table> | 216 | * </table> |
| 217 | * | 217 | * |
| 218 | * \section SSec_BuildModule_BUILD_ProvidedVariables Module Provided Variables | 218 | * \section SSec_BuildModule_BUILD_ProvidedVariables Module Provided Variables |
| 219 | * | 219 | * |
| 220 | * <table> | 220 | * <table> |
| 221 | * <tr> | 221 | * <tr> |
| 222 | * <td><i>None</i></td> | 222 | * <td><i>None</i></td> |
| 223 | * </tr> | 223 | * </tr> |
| 224 | * </table> | 224 | * </table> |
| 225 | * | 225 | * |
| 226 | * \section SSec_BuildModule_BUILD_ProvidedMacros Module Provided Macros | 226 | * \section SSec_BuildModule_BUILD_ProvidedMacros Module Provided Macros |
| 227 | * | 227 | * |
| 228 | * <table> | 228 | * <table> |
| 229 | * <tr> | 229 | * <tr> |
| 230 | * <td><i>None</i></td> | 230 | * <td><i>None</i></td> |
| 231 | * </tr> | 231 | * </tr> |
| 232 | * </table> | 232 | * </table> |
| 233 | */ | 233 | */ |
| 234 | 234 | ||
| 235 | /** \page Page_BuildModule_CORE The CORE build module | 235 | /** \page Page_BuildModule_CORE The CORE build module |
| 236 | * | 236 | * |
| 237 | * The core LUFA build system module, providing common build system help and information targets. | 237 | * The core LUFA build system module, providing common build system help and information targets. |
| 238 | * | 238 | * |
| 239 | * To use this module in your application makefile, add the following code: | 239 | * To use this module in your application makefile, add the following code: |
| 240 | * \code | 240 | * \code |
| 241 | * include $(LUFA_PATH)/Build/lufa_core.mk | 241 | * include $(LUFA_PATH)/Build/lufa_core.mk |
| 242 | * \endcode | 242 | * \endcode |
| 243 | * | 243 | * |
| 244 | * \section SSec_BuildModule_CORE_Requirements Requirements | 244 | * \section SSec_BuildModule_CORE_Requirements Requirements |
| 245 | * This module has no requirements outside a standard *nix shell like environment; the <tt>sh</tt> | 245 | * This module has no requirements outside a standard *nix shell like environment; the <tt>sh</tt> |
| 246 | * shell, GNU <tt>make</tt> and *nix CoreUtils (<tt>echo</tt>, <tt>printf</tt>, etc.). | 246 | * shell, GNU <tt>make</tt> and *nix CoreUtils (<tt>echo</tt>, <tt>printf</tt>, etc.). |
| 247 | * | 247 | * |
| 248 | * \section SSec_BuildModule_CORE_Targets Targets | 248 | * \section SSec_BuildModule_CORE_Targets Targets |
| 249 | * | 249 | * |
| 250 | * <table> | 250 | * <table> |
| 251 | * <tr> | 251 | * <tr> |
| 252 | * <td><tt>help</tt></td> | 252 | * <td><tt>help</tt></td> |
| 253 | * <td>Display build system help and configuration information.</td> | 253 | * <td>Display build system help and configuration information.</td> |
| 254 | * </tr> | 254 | * </tr> |
| 255 | * <tr> | 255 | * <tr> |
| 256 | * <td><tt>list_targets</tt></td> | 256 | * <td><tt>list_targets</tt></td> |
| 257 | * <td>List all available build targets from the build system.</td> | 257 | * <td>List all available build targets from the build system.</td> |
| 258 | * </tr> | 258 | * </tr> |
| 259 | * <tr> | 259 | * <tr> |
| 260 | * <td><tt>list_modules</tt></td> | 260 | * <td><tt>list_modules</tt></td> |
| 261 | * <td>List all available build modules from the build system.</td> | 261 | * <td>List all available build modules from the build system.</td> |
| 262 | * </tr> | 262 | * </tr> |
| 263 | * <tr> | 263 | * <tr> |
| 264 | * <td><tt>list_mandatory</tt></td> | 264 | * <td><tt>list_mandatory</tt></td> |
| 265 | * <td>List all mandatory parameters required by the included modules.</td> | 265 | * <td>List all mandatory parameters required by the included modules.</td> |
| 266 | * </tr> | 266 | * </tr> |
| 267 | * <tr> | 267 | * <tr> |
| 268 | * <td><tt>list_optional</tt></td> | 268 | * <td><tt>list_optional</tt></td> |
| 269 | * <td>List all optional parameters required by the included modules.</td> | 269 | * <td>List all optional parameters required by the included modules.</td> |
| 270 | * </tr> | 270 | * </tr> |
| 271 | * <tr> | 271 | * <tr> |
| 272 | * <td><tt>list_provided</tt></td> | 272 | * <td><tt>list_provided</tt></td> |
| 273 | * <td>List all variables provided by the included modules.</td> | 273 | * <td>List all variables provided by the included modules.</td> |
| 274 | * </tr> | 274 | * </tr> |
| 275 | * <tr> | 275 | * <tr> |
| 276 | * <td><tt>list_macros</tt></td> | 276 | * <td><tt>list_macros</tt></td> |
| 277 | * <td>List all macros provided by the included modules.</td> | 277 | * <td>List all macros provided by the included modules.</td> |
| 278 | * </tr> | 278 | * </tr> |
| 279 | * </table> | 279 | * </table> |
| 280 | * | 280 | * |
| 281 | * \section SSec_BuildModule_CORE_MandatoryParams Mandatory Parameters | 281 | * \section SSec_BuildModule_CORE_MandatoryParams Mandatory Parameters |
| 282 | * | 282 | * |
| 283 | * <table> | 283 | * <table> |
| 284 | * <tr> | 284 | * <tr> |
| 285 | * <td><i>None</i></td> | 285 | * <td><i>None</i></td> |
| 286 | * </tr> | 286 | * </tr> |
| 287 | * </table> | 287 | * </table> |
| 288 | * | 288 | * |
| 289 | * \section SSec_BuildModule_CORE_OptionalParams Optional Parameters | 289 | * \section SSec_BuildModule_CORE_OptionalParams Optional Parameters |
| 290 | * | 290 | * |
| 291 | * <table> | 291 | * <table> |
| 292 | * <tr> | 292 | * <tr> |
| 293 | * <td><i>None</i></td> | 293 | * <td><i>None</i></td> |
| 294 | * </tr> | 294 | * </tr> |
| 295 | * </table> | 295 | * </table> |
| 296 | * | 296 | * |
| 297 | * \section SSec_BuildModule_CORE_ProvidedVariables Module Provided Variables | 297 | * \section SSec_BuildModule_CORE_ProvidedVariables Module Provided Variables |
| 298 | * | 298 | * |
| 299 | * <table> | 299 | * <table> |
| 300 | * <tr> | 300 | * <tr> |
| 301 | * <td><i>None</i></td> | 301 | * <td><i>None</i></td> |
| 302 | * </tr> | 302 | * </tr> |
| 303 | * </table> | 303 | * </table> |
| 304 | * | 304 | * |
| 305 | * \section SSec_BuildModule_CORE_ProvidedMacros Module Provided Macros | 305 | * \section SSec_BuildModule_CORE_ProvidedMacros Module Provided Macros |
| 306 | * | 306 | * |
| 307 | * <table> | 307 | * <table> |
| 308 | * <tr> | 308 | * <tr> |
| 309 | * <td><i>None</i></td> | 309 | * <td><i>None</i></td> |
| 310 | * </tr> | 310 | * </tr> |
| 311 | * </table> | 311 | * </table> |
| 312 | */ | 312 | */ |
| 313 | 313 | ||
| 314 | /** \page Page_BuildModule_ATPROGRAM The ATPROGRAM build module | 314 | /** \page Page_BuildModule_ATPROGRAM The ATPROGRAM build module |
| 315 | * | 315 | * |
| 316 | * The ATPROGRAM programming utility LUFA build system module, providing targets to reprogram an | 316 | * The ATPROGRAM programming utility LUFA build system module, providing targets to reprogram an |
| 317 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. | 317 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. |
| 318 | * | 318 | * |
| 319 | * To use this module in your application makefile, add the following code: | 319 | * To use this module in your application makefile, add the following code: |
| 320 | * \code | 320 | * \code |
| 321 | * include $(LUFA_PATH)/Build/lufa_atprogram.mk | 321 | * include $(LUFA_PATH)/Build/lufa_atprogram.mk |
| 322 | * \endcode | 322 | * \endcode |
| 323 | * | 323 | * |
| 324 | * \section SSec_BuildModule_ATPROGRAM_Requirements Requirements | 324 | * \section SSec_BuildModule_ATPROGRAM_Requirements Requirements |
| 325 | * This module requires the <tt>atprogram.exe</tt> utility to be available in your system's <b>PATH</b> | 325 | * This module requires the <tt>atprogram.exe</tt> utility to be available in your system's <b>PATH</b> |
| 326 | * variable. The <tt>atprogram.exe</tt> utility is distributed in Atmel AVR Studio 5.x and Atmel Studio 6.x | 326 | * variable. The <tt>atprogram.exe</tt> utility is distributed in Atmel AVR Studio 5.x and Atmel Studio 6.x |
| 327 | * inside the application install folder's "\atbackend" subdirectory. | 327 | * inside the application install folder's "\atbackend" subdirectory. |
| 328 | * | 328 | * |
| 329 | * \section SSec_BuildModule_ATPROGRAM_Targets Targets | 329 | * \section SSec_BuildModule_ATPROGRAM_Targets Targets |
| 330 | * | 330 | * |
| 331 | * <table> | 331 | * <table> |
| 332 | * <tr> | 332 | * <tr> |
| 333 | * <td><tt>atprogram</tt></td> | 333 | * <td><tt>atprogram</tt></td> |
| 334 | * <td>Program the device FLASH memory with the application's executable data.</td> | 334 | * <td>Program the device FLASH memory with the application's executable data.</td> |
| 335 | * </tr> | 335 | * </tr> |
| 336 | * <tr> | 336 | * <tr> |
| 337 | * <td><tt>atprogram-ee</tt></td> | 337 | * <td><tt>atprogram-ee</tt></td> |
| 338 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> | 338 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> |
| 339 | * </tr> | 339 | * </tr> |
| 340 | * </table> | 340 | * </table> |
| 341 | * | 341 | * |
| 342 | * \section SSec_BuildModule_ATPROGRAM_MandatoryParams Mandatory Parameters | 342 | * \section SSec_BuildModule_ATPROGRAM_MandatoryParams Mandatory Parameters |
| 343 | * | 343 | * |
| 344 | * <table> | 344 | * <table> |
| 345 | * <tr> | 345 | * <tr> |
| 346 | * <td><tt>MCU</tt></td> | 346 | * <td><tt>MCU</tt></td> |
| 347 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 347 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 348 | * </tr> | 348 | * </tr> |
| 349 | * <tr> | 349 | * <tr> |
| 350 | * <td><tt>TARGET</tt></td> | 350 | * <td><tt>TARGET</tt></td> |
| 351 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 351 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 352 | * </tr> | 352 | * </tr> |
| 353 | * </table> | 353 | * </table> |
| 354 | * | 354 | * |
| 355 | * \section SSec_BuildModule_ATPROGRAM_OptionalParams Optional Parameters | 355 | * \section SSec_BuildModule_ATPROGRAM_OptionalParams Optional Parameters |
| 356 | * | 356 | * |
| 357 | * <table> | 357 | * <table> |
| 358 | * <tr> | 358 | * <tr> |
| 359 | * <td><tt>ATPROGRAM_PROGRAMMER</tt></td> | 359 | * <td><tt>ATPROGRAM_PROGRAMMER</tt></td> |
| 360 | * <td>Name of the Atmel programmer or debugger tool to communicate with (e.g. <tt>jtagice3</tt>).</td> | 360 | * <td>Name of the Atmel programmer or debugger tool to communicate with (e.g. <tt>jtagice3</tt>).</td> |
| 361 | * </tr> | 361 | * </tr> |
| 362 | * <tr> | 362 | * <tr> |
| 363 | * <td><tt>ATPROGRAM_INTERFACE</tt></td> | 363 | * <td><tt>ATPROGRAM_INTERFACE</tt></td> |
| 364 | * <td>Name of the programming interface to use when programming the target (e.g. <tt>spi</tt>).</td> | 364 | * <td>Name of the programming interface to use when programming the target (e.g. <tt>spi</tt>).</td> |
| 365 | * </tr> | 365 | * </tr> |
| 366 | * <tr> | 366 | * <tr> |
| 367 | * <td><tt>ATPROGRAM_PORT</tt></td> | 367 | * <td><tt>ATPROGRAM_PORT</tt></td> |
| 368 | * <td>Name of the communication port to use when when programming with a serially connected tool (e.g. <tt>COM2</tt>).</td> | 368 | * <td>Name of the communication port to use when when programming with a serially connected tool (e.g. <tt>COM2</tt>).</td> |
| 369 | * </tr> | 369 | * </tr> |
| 370 | * </table> | 370 | * </table> |
| 371 | * | 371 | * |
| 372 | * \section SSec_BuildModule_ATPROGRAM_ProvidedVariables Module Provided Variables | 372 | * \section SSec_BuildModule_ATPROGRAM_ProvidedVariables Module Provided Variables |
| 373 | * | 373 | * |
| 374 | * <table> | 374 | * <table> |
| 375 | * <tr> | 375 | * <tr> |
| 376 | * <td><i>None</i></td> | 376 | * <td><i>None</i></td> |
| 377 | * </tr> | 377 | * </tr> |
| 378 | * </table> | 378 | * </table> |
| 379 | * | 379 | * |
| 380 | * \section SSec_BuildModule_ATPROGRAM_ProvidedMacros Module Provided Macros | 380 | * \section SSec_BuildModule_ATPROGRAM_ProvidedMacros Module Provided Macros |
| 381 | * | 381 | * |
| 382 | * <table> | 382 | * <table> |
| 383 | * <tr> | 383 | * <tr> |
| 384 | * <td><i>None</i></td> | 384 | * <td><i>None</i></td> |
| 385 | * </tr> | 385 | * </tr> |
| 386 | * </table> | 386 | * </table> |
| 387 | */ | 387 | */ |
| 388 | 388 | ||
| 389 | /** \page Page_BuildModule_AVRDUDE The AVRDUDE build module | 389 | /** \page Page_BuildModule_AVRDUDE The AVRDUDE build module |
| 390 | * | 390 | * |
| 391 | * The AVRDUDE programming utility LUFA build system module, providing targets to reprogram an | 391 | * The AVRDUDE programming utility LUFA build system module, providing targets to reprogram an |
| 392 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. | 392 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. |
| 393 | * | 393 | * |
| 394 | * To use this module in your application makefile, add the following code: | 394 | * To use this module in your application makefile, add the following code: |
| 395 | * \code | 395 | * \code |
| 396 | * include $(LUFA_PATH)/Build/lufa_avrdude.mk | 396 | * include $(LUFA_PATH)/Build/lufa_avrdude.mk |
| 397 | * \endcode | 397 | * \endcode |
| 398 | * | 398 | * |
| 399 | * \section SSec_BuildModule_AVRDUDE_Requirements Requirements | 399 | * \section SSec_BuildModule_AVRDUDE_Requirements Requirements |
| 400 | * This module requires the <tt>avrdude</tt> utility to be available in your system's <b>PATH</b> | 400 | * This module requires the <tt>avrdude</tt> utility to be available in your system's <b>PATH</b> |
| 401 | * variable. The <tt>avrdude</tt> utility is distributed in the old WinAVR project releases for | 401 | * variable. The <tt>avrdude</tt> utility is distributed in the old WinAVR project releases for |
| 402 | * Windows (<a>http://winavr.sourceforge.net</a>) or can be installed on *nix systems via the project's | 402 | * Windows (<a>http://winavr.sourceforge.net</a>) or can be installed on *nix systems via the project's |
| 403 | * source code (<a>https://savannah.nongnu.org/projects/avrdude</a>) or through the package manager. | 403 | * source code (<a>https://savannah.nongnu.org/projects/avrdude</a>) or through the package manager. |
| 404 | * | 404 | * |
| 405 | * \section SSec_BuildModule_AVRDUDE_Targets Targets | 405 | * \section SSec_BuildModule_AVRDUDE_Targets Targets |
| 406 | * | 406 | * |
| 407 | * <table> | 407 | * <table> |
| 408 | * <tr> | 408 | * <tr> |
| 409 | * <td><tt>avrdude</tt></td> | 409 | * <td><tt>avrdude</tt></td> |
| 410 | * <td>Program the device FLASH memory with the application's executable data.</td> | 410 | * <td>Program the device FLASH memory with the application's executable data.</td> |
| 411 | * </tr> | 411 | * </tr> |
| 412 | * <tr> | 412 | * <tr> |
| 413 | * <td><tt>avrdude-ee</tt></td> | 413 | * <td><tt>avrdude-ee</tt></td> |
| 414 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> | 414 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> |
| 415 | * </tr> | 415 | * </tr> |
| 416 | * </table> | 416 | * </table> |
| 417 | * | 417 | * |
| 418 | * \section SSec_BuildModule_AVRDUDE_MandatoryParams Mandatory Parameters | 418 | * \section SSec_BuildModule_AVRDUDE_MandatoryParams Mandatory Parameters |
| 419 | * | 419 | * |
| 420 | * <table> | 420 | * <table> |
| 421 | * <tr> | 421 | * <tr> |
| 422 | * <td><tt>MCU</tt></td> | 422 | * <td><tt>MCU</tt></td> |
| 423 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 423 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 424 | * </tr> | 424 | * </tr> |
| 425 | * <tr> | 425 | * <tr> |
| 426 | * <td><tt>TARGET</tt></td> | 426 | * <td><tt>TARGET</tt></td> |
| 427 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 427 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 428 | * </tr> | 428 | * </tr> |
| 429 | * </table> | 429 | * </table> |
| 430 | * | 430 | * |
| 431 | * \section SSec_BuildModule_AVRDUDE_OptionalParams Optional Parameters | 431 | * \section SSec_BuildModule_AVRDUDE_OptionalParams Optional Parameters |
| 432 | * | 432 | * |
| 433 | * <table> | 433 | * <table> |
| 434 | * <tr> | 434 | * <tr> |
| 435 | * <td><tt>AVRDUDE_PROGRAMMER</tt></td> | 435 | * <td><tt>AVRDUDE_PROGRAMMER</tt></td> |
| 436 | * <td>Name of the programmer or debugger tool to communicate with (e.g. <tt>jtagicemkii</tt>).</td> | 436 | * <td>Name of the programmer or debugger tool to communicate with (e.g. <tt>jtagicemkii</tt>).</td> |
| 437 | * </tr> | 437 | * </tr> |
| 438 | * <tr> | 438 | * <tr> |
| 439 | * <td><tt>AVRDUDE_PORT</tt></td> | 439 | * <td><tt>AVRDUDE_PORT</tt></td> |
| 440 | * <td>Name of the communication port to use when when programming with the connected tool (e.g. <tt>COM2</tt>, <tt>/dev/ttyUSB0</tt> or <tt>usb</tt>).</td> | 440 | * <td>Name of the communication port to use when when programming with the connected tool (e.g. <tt>COM2</tt>, <tt>/dev/ttyUSB0</tt> or <tt>usb</tt>).</td> |
| 441 | * </tr> | 441 | * </tr> |
| 442 | * <tr> | 442 | * <tr> |
| 443 | * <td><tt>AVRDUDE_FLAGS</tt></td> | 443 | * <td><tt>AVRDUDE_FLAGS</tt></td> |
| 444 | * <td>Additional flags to pass to avrdude when programming, applied after the automatically generated flags.</td> | 444 | * <td>Additional flags to pass to avrdude when programming, applied after the automatically generated flags.</td> |
| 445 | * </tr> | 445 | * </tr> |
| 446 | * </table> | 446 | * </table> |
| 447 | * | 447 | * |
| 448 | * \section SSec_BuildModule_AVRDUDE_ProvidedVariables Module Provided Variables | 448 | * \section SSec_BuildModule_AVRDUDE_ProvidedVariables Module Provided Variables |
| 449 | * | 449 | * |
| 450 | * <table> | 450 | * <table> |
| 451 | * <tr> | 451 | * <tr> |
| 452 | * <td><i>None</i></td> | 452 | * <td><i>None</i></td> |
| 453 | * </tr> | 453 | * </tr> |
| 454 | * </table> | 454 | * </table> |
| 455 | * | 455 | * |
| 456 | * \section SSec_BuildModule_AVRDUDE_ProvidedMacros Module Provided Macros | 456 | * \section SSec_BuildModule_AVRDUDE_ProvidedMacros Module Provided Macros |
| 457 | * | 457 | * |
| 458 | * <table> | 458 | * <table> |
| 459 | * <tr> | 459 | * <tr> |
| 460 | * <td><i>None</i></td> | 460 | * <td><i>None</i></td> |
| 461 | * </tr> | 461 | * </tr> |
| 462 | * </table> | 462 | * </table> |
| 463 | */ | 463 | */ |
| 464 | 464 | ||
| 465 | /** \page Page_BuildModule_CPPCHECK The CPPCHECK build module | 465 | /** \page Page_BuildModule_CPPCHECK The CPPCHECK build module |
| 466 | * | 466 | * |
| 467 | * The CPPCHECK programming utility LUFA build system module, providing targets to statically | 467 | * The CPPCHECK programming utility LUFA build system module, providing targets to statically |
| 468 | * analyze C and C++ source code for errors and performance/style issues. | 468 | * analyze C and C++ source code for errors and performance/style issues. |
| 469 | * | 469 | * |
| 470 | * To use this module in your application makefile, add the following code: | 470 | * To use this module in your application makefile, add the following code: |
| 471 | * \code | 471 | * \code |
| 472 | * include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 472 | * include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 473 | * \endcode | 473 | * \endcode |
| 474 | * | 474 | * |
| 475 | * \section SSec_BuildModule_CPPCHECK_Requirements Requirements | 475 | * \section SSec_BuildModule_CPPCHECK_Requirements Requirements |
| 476 | * This module requires the <tt>cppcheck</tt> utility to be available in your system's <b>PATH</b> | 476 | * This module requires the <tt>cppcheck</tt> utility to be available in your system's <b>PATH</b> |
| 477 | * variable. The <tt>cppcheck</tt> utility is distributed through the project's home page | 477 | * variable. The <tt>cppcheck</tt> utility is distributed through the project's home page |
| 478 | * (<a>http://cppcheck.sourceforge.net</a>) for Windows, and can be installed on *nix systems via | 478 | * (<a>http://cppcheck.sourceforge.net</a>) for Windows, and can be installed on *nix systems via |
| 479 | * the project's source code or through the package manager. | 479 | * the project's source code or through the package manager. |
| 480 | * | 480 | * |
| 481 | * \section SSec_BuildModule_CPPCHECK_Targets Targets | 481 | * \section SSec_BuildModule_CPPCHECK_Targets Targets |
| 482 | * | 482 | * |
| 483 | * <table> | 483 | * <table> |
| 484 | * <tr> | 484 | * <tr> |
| 485 | * <td><tt>cppcheck</tt></td> | 485 | * <td><tt>cppcheck</tt></td> |
| 486 | * <td>Statically analyze the project source code for issues.</td> | 486 | * <td>Statically analyze the project source code for issues.</td> |
| 487 | * </tr> | 487 | * </tr> |
| 488 | * <tr> | 488 | * <tr> |
| 489 | * <td><tt>cppcheck-config</tt></td> | 489 | * <td><tt>cppcheck-config</tt></td> |
| 490 | * <td>Check the <tt>cppcheck</tt> configuration - scan source code and warn about missing header files and other issues.</td> | 490 | * <td>Check the <tt>cppcheck</tt> configuration - scan source code and warn about missing header files and other issues.</td> |
| 491 | * </tr> | 491 | * </tr> |
| 492 | * </table> | 492 | * </table> |
| 493 | * | 493 | * |
| 494 | * \section SSec_BuildModule_CPPCHECK_MandatoryParams Mandatory Parameters | 494 | * \section SSec_BuildModule_CPPCHECK_MandatoryParams Mandatory Parameters |
| 495 | * | 495 | * |
| 496 | * <table> | 496 | * <table> |
| 497 | * <tr> | 497 | * <tr> |
| 498 | * <td><tt>SRC</tt></td> | 498 | * <td><tt>SRC</tt></td> |
| 499 | * <td>List of source files to statically analyze.</td> | 499 | * <td>List of source files to statically analyze.</td> |
| 500 | * </tr> | 500 | * </tr> |
| 501 | * </table> | 501 | * </table> |
| 502 | * | 502 | * |
| 503 | * \section SSec_BuildModule_CPPCHECK_OptionalParams Optional Parameters | 503 | * \section SSec_BuildModule_CPPCHECK_OptionalParams Optional Parameters |
| 504 | * | 504 | * |
| 505 | * <table> | 505 | * <table> |
| 506 | * <tr> | 506 | * <tr> |
| 507 | * <td><tt>CPPCHECK_INCLUDES</tt></td> | 507 | * <td><tt>CPPCHECK_INCLUDES</tt></td> |
| 508 | * <td>Path of extra directories to check when attemting to resolve C/C++ header file includes.</td> | 508 | * <td>Path of extra directories to check when attemting to resolve C/C++ header file includes.</td> |
| 509 | * </tr> | 509 | * </tr> |
| 510 | * <tr> | 510 | * <tr> |
| 511 | * <td><tt>CPPCHECK_EXCLUDES</tt></td> | 511 | * <td><tt>CPPCHECK_EXCLUDES</tt></td> |
| 512 | * <td>Paths or path fragments to exclude when analyzing.</td> | 512 | * <td>Paths or path fragments to exclude when analyzing.</td> |
| 513 | * </tr> | 513 | * </tr> |
| 514 | * <tr> | 514 | * <tr> |
| 515 | * <td><tt>CPPCHECK_MSG_TEMPLATE</tt></td> | 515 | * <td><tt>CPPCHECK_MSG_TEMPLATE</tt></td> |
| 516 | * <td>Output message template to use when printing errors, warnings and information (see <tt>cppcheck</tt> documentation).</td> | 516 | * <td>Output message template to use when printing errors, warnings and information (see <tt>cppcheck</tt> documentation).</td> |
| 517 | * </tr> | 517 | * </tr> |
| 518 | * <tr> | 518 | * <tr> |
| 519 | * <td><tt>CPPCHECK_ENABLE</tt></td> | 519 | * <td><tt>CPPCHECK_ENABLE</tt></td> |
| 520 | * <td>Analysis rule categories to enable (see <tt>cppcheck</tt> documentation).</td> | 520 | * <td>Analysis rule categories to enable (see <tt>cppcheck</tt> documentation).</td> |
| 521 | * </tr> | 521 | * </tr> |
| 522 | * <tr> | 522 | * <tr> |
| 523 | * <td><tt>CPPCHECK_SUPPRESS</tt></td> | 523 | * <td><tt>CPPCHECK_SUPPRESS</tt></td> |
| 524 | * <td>Specific analysis rules to suppress (see <tt>cppcheck</tt> documentation).</td> | 524 | * <td>Specific analysis rules to suppress (see <tt>cppcheck</tt> documentation).</td> |
| 525 | * </tr> | 525 | * </tr> |
| 526 | * <tr> | 526 | * <tr> |
| 527 | * <td><tt>CPPCHECK_FAIL_ON_WARNING</tt></td> | 527 | * <td><tt>CPPCHECK_FAIL_ON_WARNING</tt></td> |
| 528 | * <td>Set to <b>Y</b> to fail the analysis job with an error exit code if warnings are found, <b>N</b> to continue without failing.</td> | 528 | * <td>Set to <b>Y</b> to fail the analysis job with an error exit code if warnings are found, <b>N</b> to continue without failing.</td> |
| 529 | * </tr> | 529 | * </tr> |
| 530 | * <tr> | 530 | * <tr> |
| 531 | * <td><tt>CPPCHECK_QUIET</tt></td> | 531 | * <td><tt>CPPCHECK_QUIET</tt></td> |
| 532 | * <td>Set to <b>Y</b> to suppress all output except warnings and errors, <b>N</b> to show verbose output information.</td> | 532 | * <td>Set to <b>Y</b> to suppress all output except warnings and errors, <b>N</b> to show verbose output information.</td> |
| 533 | * </tr> | 533 | * </tr> |
| 534 | * <tr> | 534 | * <tr> |
| 535 | * <td><tt>CPPCHECK_FLAGS</tt></td> | 535 | * <td><tt>CPPCHECK_FLAGS</tt></td> |
| 536 | * <td>Extra flags to pass to <tt>cppcheck</tt>, after the automatically generated flags.</td> | 536 | * <td>Extra flags to pass to <tt>cppcheck</tt>, after the automatically generated flags.</td> |
| 537 | * </tr> | 537 | * </tr> |
| 538 | * </table> | 538 | * </table> |
| 539 | * | 539 | * |
| 540 | * \section SSec_BuildModule_CPPCHECK_ProvidedVariables Module Provided Variables | 540 | * \section SSec_BuildModule_CPPCHECK_ProvidedVariables Module Provided Variables |
| 541 | * | 541 | * |
| 542 | * <table> | 542 | * <table> |
| 543 | * <tr> | 543 | * <tr> |
| 544 | * <td><i>None</i></td> | 544 | * <td><i>None</i></td> |
| 545 | * </tr> | 545 | * </tr> |
| 546 | * </table> | 546 | * </table> |
| 547 | * | 547 | * |
| 548 | * \section SSec_BuildModule_CPPCHECK_ProvidedMacros Module Provided Macros | 548 | * \section SSec_BuildModule_CPPCHECK_ProvidedMacros Module Provided Macros |
| 549 | * | 549 | * |
| 550 | * <table> | 550 | * <table> |
| 551 | * <tr> | 551 | * <tr> |
| 552 | * <td><i>None</i></td> | 552 | * <td><i>None</i></td> |
| 553 | * </tr> | 553 | * </tr> |
| 554 | * </table> | 554 | * </table> |
| 555 | */ | 555 | */ |
| 556 | 556 | ||
| 557 | /** \page Page_BuildModule_DFU The DFU build module | 557 | /** \page Page_BuildModule_DFU The DFU build module |
| 558 | * | 558 | * |
| 559 | * The DFU programming utility LUFA build system module, providing targets to reprogram an | 559 | * The DFU programming utility LUFA build system module, providing targets to reprogram an |
| 560 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. | 560 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. |
| 561 | * This module requires a DFU class bootloader to be running in the target, compatible with | 561 | * This module requires a DFU class bootloader to be running in the target, compatible with |
| 562 | * the DFU bootloader protocol as published by Atmel. | 562 | * the DFU bootloader protocol as published by Atmel. |
| 563 | * | 563 | * |
| 564 | * To use this module in your application makefile, add the following code: | 564 | * To use this module in your application makefile, add the following code: |
| 565 | * \code | 565 | * \code |
| 566 | * include $(LUFA_PATH)/Build/lufa_dfu.mk | 566 | * include $(LUFA_PATH)/Build/lufa_dfu.mk |
| 567 | * \endcode | 567 | * \endcode |
| 568 | * | 568 | * |
| 569 | * \section SSec_BuildModule_DFU_Requirements Requirements | 569 | * \section SSec_BuildModule_DFU_Requirements Requirements |
| 570 | * This module requires either the <tt>batchisp</tt> utility from Atmel's FLIP utility, or the open | 570 | * This module requires either the <tt>batchisp</tt> utility from Atmel's FLIP utility, or the open |
| 571 | * source <tt>dfu-programmer</tt> utility (<a>http://dfu-programmer.sourceforge.net/</a>) to be | 571 | * source <tt>dfu-programmer</tt> utility (<a>http://dfu-programmer.sourceforge.net/</a>) to be |
| 572 | * available in your system's <b>PATH</b> variable. On *nix systems the <tt>dfu-programmer</tt> utility | 572 | * available in your system's <b>PATH</b> variable. On *nix systems the <tt>dfu-programmer</tt> utility |
| 573 | * can be installed via the project's source code or through the package manager. | 573 | * can be installed via the project's source code or through the package manager. |
| 574 | * | 574 | * |
| 575 | * \section SSec_BuildModule_DFU_Targets Targets | 575 | * \section SSec_BuildModule_DFU_Targets Targets |
| 576 | * | 576 | * |
| 577 | * <table> | 577 | * <table> |
| 578 | * <tr> | 578 | * <tr> |
| 579 | * <td><tt>dfu</tt></td> | 579 | * <td><tt>dfu</tt></td> |
| 580 | * <td>Program the device FLASH memory with the application's executable data using <tt>dfu-programmer</tt>.</td> | 580 | * <td>Program the device FLASH memory with the application's executable data using <tt>dfu-programmer</tt>.</td> |
| 581 | * </tr> | 581 | * </tr> |
| 582 | * <tr> | 582 | * <tr> |
| 583 | * <td><tt>dfu-ee</tt></td> | 583 | * <td><tt>dfu-ee</tt></td> |
| 584 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>dfu-programmer</tt>.</td> | 584 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>dfu-programmer</tt>.</td> |
| 585 | * </tr> | 585 | * </tr> |
| 586 | * <tr> | 586 | * <tr> |
| 587 | * <td><tt>flip</tt></td> | 587 | * <td><tt>flip</tt></td> |
| 588 | * <td>Program the device FLASH memory with the application's executable data using <tt>batchisp</tt>.</td> | 588 | * <td>Program the device FLASH memory with the application's executable data using <tt>batchisp</tt>.</td> |
| 589 | * </tr> | 589 | * </tr> |
| 590 | * <tr> | 590 | * <tr> |
| 591 | * <td><tt>flip-ee</tt></td> | 591 | * <td><tt>flip-ee</tt></td> |
| 592 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>batchisp</tt>.</td> | 592 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>batchisp</tt>.</td> |
| 593 | * </tr> | 593 | * </tr> |
| 594 | * </table> | 594 | * </table> |
| 595 | * | 595 | * |
| 596 | * \section SSec_BuildModule_DFU_MandatoryParams Mandatory Parameters | 596 | * \section SSec_BuildModule_DFU_MandatoryParams Mandatory Parameters |
| 597 | * | 597 | * |
| 598 | * <table> | 598 | * <table> |
| 599 | * <tr> | 599 | * <tr> |
| 600 | * <td><tt>MCU</tt></td> | 600 | * <td><tt>MCU</tt></td> |
| 601 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 601 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 602 | * </tr> | 602 | * </tr> |
| 603 | * <tr> | 603 | * <tr> |
| 604 | * <td><tt>TARGET</tt></td> | 604 | * <td><tt>TARGET</tt></td> |
| 605 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 605 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 606 | * </tr> | 606 | * </tr> |
| 607 | * </table> | 607 | * </table> |
| 608 | * | 608 | * |
| 609 | * \section SSec_BuildModule_DFU_OptionalParams Optional Parameters | 609 | * \section SSec_BuildModule_DFU_OptionalParams Optional Parameters |
| 610 | * | 610 | * |
| 611 | * <table> | 611 | * <table> |
| 612 | * <tr> | 612 | * <tr> |
| 613 | * <td><i>None</i></td> | 613 | * <td><i>None</i></td> |
| 614 | * </tr> | 614 | * </tr> |
| 615 | * </table> | 615 | * </table> |
| 616 | * | 616 | * |
| 617 | * \section SSec_BuildModule_DFU_ProvidedVariables Module Provided Variables | 617 | * \section SSec_BuildModule_DFU_ProvidedVariables Module Provided Variables |
| 618 | * | 618 | * |
| 619 | * <table> | 619 | * <table> |
| 620 | * <tr> | 620 | * <tr> |
| 621 | * <td><i>None</i></td> | 621 | * <td><i>None</i></td> |
| 622 | * </tr> | 622 | * </tr> |
| 623 | * </table> | 623 | * </table> |
| 624 | * | 624 | * |
| 625 | * \section SSec_BuildModule_DFU_ProvidedMacros Module Provided Macros | 625 | * \section SSec_BuildModule_DFU_ProvidedMacros Module Provided Macros |
| 626 | * | 626 | * |
| 627 | * <table> | 627 | * <table> |
| 628 | * <tr> | 628 | * <tr> |
| 629 | * <td><i>None</i></td> | 629 | * <td><i>None</i></td> |
| 630 | * </tr> | 630 | * </tr> |
| 631 | * </table> | 631 | * </table> |
| 632 | */ | 632 | */ |
| 633 | 633 | ||
| 634 | /** \page Page_BuildModule_DOXYGEN The DOXYGEN build module | 634 | /** \page Page_BuildModule_DOXYGEN The DOXYGEN build module |
| 635 | * | 635 | * |
| 636 | * The DOXYGEN code documentation utility LUFA build system module, providing targets to generate | 636 | * The DOXYGEN code documentation utility LUFA build system module, providing targets to generate |
| 637 | * project HTML and other format documentation from a set of source files that include special | 637 | * project HTML and other format documentation from a set of source files that include special |
| 638 | * Doxygen comments. | 638 | * Doxygen comments. |
| 639 | * | 639 | * |
| 640 | * To use this module in your application makefile, add the following code: | 640 | * To use this module in your application makefile, add the following code: |
| 641 | * \code | 641 | * \code |
| 642 | * include $(LUFA_PATH)/Build/lufa_doxygen.mk | 642 | * include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 643 | * \endcode | 643 | * \endcode |
| 644 | * | 644 | * |
| 645 | * \section SSec_BuildModule_DOXYGEN_Requirements Requirements | 645 | * \section SSec_BuildModule_DOXYGEN_Requirements Requirements |
| 646 | * This module requires the <tt>doxygen</tt> utility from the Doxygen website | 646 | * This module requires the <tt>doxygen</tt> utility from the Doxygen website |
| 647 | * (<a>http://www.doxygen.org/</a>) to be available in your system's <b>PATH</b> variable. On *nix | 647 | * (<a>http://www.doxygen.org/</a>) to be available in your system's <b>PATH</b> variable. On *nix |
| 648 | * systems the <tt>doxygen</tt> utility can be installed via the project's source code or through | 648 | * systems the <tt>doxygen</tt> utility can be installed via the project's source code or through |
| 649 | * the package manager. | 649 | * the package manager. |
| 650 | * | 650 | * |
| 651 | * \section SSec_BuildModule_DOXYGEN_Targets Targets | 651 | * \section SSec_BuildModule_DOXYGEN_Targets Targets |
| 652 | * | 652 | * |
| 653 | * <table> | 653 | * <table> |
| 654 | * <tr> | 654 | * <tr> |
| 655 | * <td><tt>doxygen</tt></td> | 655 | * <td><tt>doxygen</tt></td> |
| 656 | * <td>Generate project documentation.</td> | 656 | * <td>Generate project documentation.</td> |
| 657 | * </tr> | 657 | * </tr> |
| 658 | * <tr> | 658 | * <tr> |
| 659 | * <td><tt>doxygen_create</tt></td> | 659 | * <td><tt>doxygen_create</tt></td> |
| 660 | * <td>Create a new Doxygen configuration file using the latest template.</td> | 660 | * <td>Create a new Doxygen configuration file using the latest template.</td> |
| 661 | * </tr> | 661 | * </tr> |
| 662 | * <tr> | 662 | * <tr> |
| 663 | * <td><tt>doxygen_upgrade</tt></td> | 663 | * <td><tt>doxygen_upgrade</tt></td> |
| 664 | * <td>Upgrade an existing Doxygen configuration file to the latest template</td> | 664 | * <td>Upgrade an existing Doxygen configuration file to the latest template</td> |
| 665 | * </tr> | 665 | * </tr> |
| 666 | * </table> | 666 | * </table> |
| 667 | * | 667 | * |
| 668 | * \section SSec_BuildModule_DOXYGEN_MandatoryParams Mandatory Parameters | 668 | * \section SSec_BuildModule_DOXYGEN_MandatoryParams Mandatory Parameters |
| 669 | * | 669 | * |
| 670 | * <table> | 670 | * <table> |
| 671 | * <tr> | 671 | * <tr> |
| 672 | * <td><tt>LUFA_PATH</tt></td> | 672 | * <td><tt>LUFA_PATH</tt></td> |
| 673 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> | 673 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> |
| 674 | * </tr> | 674 | * </tr> |
| 675 | * </table> | 675 | * </table> |
| 676 | * | 676 | * |
| 677 | * \section SSec_BuildModule_DOXYGEN_OptionalParams Optional Parameters | 677 | * \section SSec_BuildModule_DOXYGEN_OptionalParams Optional Parameters |
| 678 | * | 678 | * |
| 679 | * <table> | 679 | * <table> |
| 680 | * <tr> | 680 | * <tr> |
| 681 | * <td><tt>DOXYGEN_CONF</tt></td> | 681 | * <td><tt>DOXYGEN_CONF</tt></td> |
| 682 | * <td>Name and path of the base Doxygen configuration file for the project.</td> | 682 | * <td>Name and path of the base Doxygen configuration file for the project.</td> |
| 683 | * </tr> | 683 | * </tr> |
| 684 | * <tr> | 684 | * <tr> |
| 685 | * <td><tt>DOXYGEN_FAIL_ON_WARNING</tt></td> | 685 | * <td><tt>DOXYGEN_FAIL_ON_WARNING</tt></td> |
| 686 | * <td>Set to <b>Y</b> to fail the generation with an error exit code if warnings are found other than unsupported configuration parameters, <b>N</b> to continue without failing.</td> | 686 | * <td>Set to <b>Y</b> to fail the generation with an error exit code if warnings are found other than unsupported configuration parameters, <b>N</b> to continue without failing.</td> |
| 687 | * </tr> | 687 | * </tr> |
| 688 | * <tr> | 688 | * <tr> |
| 689 | * <td><tt>DOXYGEN_OVERRIDE_PARAMS</tt></td> | 689 | * <td><tt>DOXYGEN_OVERRIDE_PARAMS</tt></td> |
| 690 | * <td>Extra Doxygen configuration parameters to apply, overriding the corresponding config entry in the project's configuration file (e.g. <tt>QUIET=YES</tt>).</td> | 690 | * <td>Extra Doxygen configuration parameters to apply, overriding the corresponding config entry in the project's configuration file (e.g. <tt>QUIET=YES</tt>).</td> |
| 691 | * </tr> | 691 | * </tr> |
| 692 | * </table> | 692 | * </table> |
| 693 | * | 693 | * |
| 694 | * \section SSec_BuildModule_DOXYGEN_ProvidedVariables Module Provided Variables | 694 | * \section SSec_BuildModule_DOXYGEN_ProvidedVariables Module Provided Variables |
| 695 | * | 695 | * |
| 696 | * <table> | 696 | * <table> |
| 697 | * <tr> | 697 | * <tr> |
| 698 | * <td><i>None</i></td> | 698 | * <td><i>None</i></td> |
| 699 | * </tr> | 699 | * </tr> |
| 700 | * </table> | 700 | * </table> |
| 701 | * | 701 | * |
| 702 | * \section SSec_BuildModule_DOXYGEN_ProvidedMacros Module Provided Macros | 702 | * \section SSec_BuildModule_DOXYGEN_ProvidedMacros Module Provided Macros |
| 703 | * | 703 | * |
| 704 | * <table> | 704 | * <table> |
| 705 | * <tr> | 705 | * <tr> |
| 706 | * <td><i>None</i></td> | 706 | * <td><i>None</i></td> |
| 707 | * </tr> | 707 | * </tr> |
| 708 | * </table> | 708 | * </table> |
| 709 | */ | 709 | */ |
| 710 | 710 | ||
| 711 | /** \page Page_BuildModule_HID The HID build module | 711 | /** \page Page_BuildModule_HID The HID build module |
| 712 | * | 712 | * |
| 713 | * The HID programming utility LUFA build system module, providing targets to reprogram an | 713 | * The HID programming utility LUFA build system module, providing targets to reprogram an |
| 714 | * Atmel processor's FLASH memory with a project's compiled binary output file. This module | 714 | * Atmel processor's FLASH memory with a project's compiled binary output file. This module |
| 715 | * requires a HID class bootloader to be running in the target, using a protocol compatible | 715 | * requires a HID class bootloader to be running in the target, using a protocol compatible |
| 716 | * with the PJRC "HalfKay" protocol (<a>http://www.pjrc.com/teensy/halfkay_protocol.html</a>). | 716 | * with the PJRC "HalfKay" protocol (<a>http://www.pjrc.com/teensy/halfkay_protocol.html</a>). |
| 717 | * | 717 | * |
| 718 | * To use this module in your application makefile, add the following code: | 718 | * To use this module in your application makefile, add the following code: |
| 719 | * \code | 719 | * \code |
| 720 | * include $(LUFA_PATH)/Build/lufa_hid.mk | 720 | * include $(LUFA_PATH)/Build/lufa_hid.mk |
| 721 | * \endcode | 721 | * \endcode |
| 722 | * | 722 | * |
| 723 | * \section SSec_BuildModule_HID_Requirements Requirements | 723 | * \section SSec_BuildModule_HID_Requirements Requirements |
| 724 | * This module requires either the <tt>hid_bootloader_cli</tt> utility from the included LUFA HID | 724 | * This module requires either the <tt>hid_bootloader_cli</tt> utility from the included LUFA HID |
| 725 | * class bootloader API subdirectory, or the <tt>teensy_loader_cli</tt> utility from PJRC | 725 | * class bootloader API subdirectory, or the <tt>teensy_loader_cli</tt> utility from PJRC |
| 726 | * (<a>http://www.pjrc.com/teensy/loader_cli.html</a>) to be available in your system's <b>PATH</b> | 726 | * (<a>http://www.pjrc.com/teensy/loader_cli.html</a>) to be available in your system's <b>PATH</b> |
| 727 | * variable. | 727 | * variable. |
| 728 | * | 728 | * |
| 729 | * \section SSec_BuildModule_HID_Targets Targets | 729 | * \section SSec_BuildModule_HID_Targets Targets |
| 730 | * | 730 | * |
| 731 | * <table> | 731 | * <table> |
| 732 | * <tr> | 732 | * <tr> |
| 733 | * <td><tt>hid</tt></td> | 733 | * <td><tt>hid</tt></td> |
| 734 | * <td>Program the device FLASH memory with the application's executable data using <tt>hid_bootloader_cli</tt>.</td> | 734 | * <td>Program the device FLASH memory with the application's executable data using <tt>hid_bootloader_cli</tt>.</td> |
| 735 | * </tr> | 735 | * </tr> |
| 736 | * <tr> | 736 | * <tr> |
| 737 | * <td><tt>hid-ee</tt></td> | 737 | * <td><tt>hid-ee</tt></td> |
| 738 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>hid_bootloader_cli</tt> and | 738 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>hid_bootloader_cli</tt> and |
| 739 | * a temporary AVR application programmed into the target's FLASH. | 739 | * a temporary AVR application programmed into the target's FLASH. |
| 740 | * \note This will erase the currently loaded application in the target.</td> | 740 | * \note This will erase the currently loaded application in the target.</td> |
| 741 | * </tr> | 741 | * </tr> |
| 742 | * <tr> | 742 | * <tr> |
| 743 | * <td><tt>teensy</tt></td> | 743 | * <td><tt>teensy</tt></td> |
| 744 | * <td>Program the device FLASH memory with the application's executable data using <tt>teensy_loader_cli</tt>.</td> | 744 | * <td>Program the device FLASH memory with the application's executable data using <tt>teensy_loader_cli</tt>.</td> |
| 745 | * </tr> | 745 | * </tr> |
| 746 | * <tr> | 746 | * <tr> |
| 747 | * <td><tt>teensy-ee</tt></td> | 747 | * <td><tt>teensy-ee</tt></td> |
| 748 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>teensy_loader_cli</tt> and | 748 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>teensy_loader_cli</tt> and |
| 749 | * a temporary AVR application programmed into the target's FLASH. | 749 | * a temporary AVR application programmed into the target's FLASH. |
| 750 | * \note This will erase the currently loaded application in the target.</td> | 750 | * \note This will erase the currently loaded application in the target.</td> |
| 751 | * </tr> | 751 | * </tr> |
| 752 | * </table> | 752 | * </table> |
| 753 | * | 753 | * |
| 754 | * \section SSec_BuildModule_HID_MandatoryParams Mandatory Parameters | 754 | * \section SSec_BuildModule_HID_MandatoryParams Mandatory Parameters |
| 755 | * | 755 | * |
| 756 | * <table> | 756 | * <table> |
| 757 | * <tr> | 757 | * <tr> |
| 758 | * <td><tt>MCU</tt></td> | 758 | * <td><tt>MCU</tt></td> |
| 759 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 759 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 760 | * </tr> | 760 | * </tr> |
| 761 | * <tr> | 761 | * <tr> |
| 762 | * <td><tt>TARGET</tt></td> | 762 | * <td><tt>TARGET</tt></td> |
| 763 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 763 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 764 | * </tr> | 764 | * </tr> |
| 765 | * </table> | 765 | * </table> |
| 766 | * | 766 | * |
| 767 | * \section SSec_BuildModule_HID_OptionalParams Optional Parameters | 767 | * \section SSec_BuildModule_HID_OptionalParams Optional Parameters |
| 768 | * | 768 | * |
| 769 | * <table> | 769 | * <table> |
| 770 | * <tr> | 770 | * <tr> |
| 771 | * <td><i>None</i></td> | 771 | * <td><i>None</i></td> |
| 772 | * </tr> | 772 | * </tr> |
| 773 | * </table> | 773 | * </table> |
| 774 | * | 774 | * |
| 775 | * \section SSec_BuildModule_HID_ProvidedVariables Module Provided Variables | 775 | * \section SSec_BuildModule_HID_ProvidedVariables Module Provided Variables |
| 776 | * | 776 | * |
| 777 | * <table> | 777 | * <table> |
| 778 | * <tr> | 778 | * <tr> |
| 779 | * <td><i>None</i></td> | 779 | * <td><i>None</i></td> |
| 780 | * </tr> | 780 | * </tr> |
| 781 | * </table> | 781 | * </table> |
| 782 | * | 782 | * |
| 783 | * \section SSec_BuildModule_HID_ProvidedMacros Module Provided Macros | 783 | * \section SSec_BuildModule_HID_ProvidedMacros Module Provided Macros |
| 784 | * | 784 | * |
| 785 | * <table> | 785 | * <table> |
| 786 | * <tr> | 786 | * <tr> |
| 787 | * <td><i>None</i></td> | 787 | * <td><i>None</i></td> |
| 788 | * </tr> | 788 | * </tr> |
| 789 | * </table> | 789 | * </table> |
| 790 | */ | 790 | */ |
| 791 | 791 | ||
| 792 | /** \page Page_BuildModule_SOURCES The SOURCES build module | 792 | /** \page Page_BuildModule_SOURCES The SOURCES build module |
| 793 | * | 793 | * |
| 794 | * The SOURCES LUFA build system module, providing variables listing the various LUFA source files | 794 | * The SOURCES LUFA build system module, providing variables listing the various LUFA source files |
| 795 | * required to be build by a project for a given LUFA module. This module gives a way to reference | 795 | * required to be build by a project for a given LUFA module. This module gives a way to reference |
| 796 | * LUFA source files symbolically, so that changes to the library structure do not break the library | 796 | * LUFA source files symbolically, so that changes to the library structure do not break the library |
| 797 | * makefile. | 797 | * makefile. |
| 798 | * | 798 | * |
| 799 | * To use this module in your application makefile, add the following code: | 799 | * To use this module in your application makefile, add the following code: |
| 800 | * \code | 800 | * \code |
| 801 | * include $(LUFA_PATH)/Build/lufa_sources.mk | 801 | * include $(LUFA_PATH)/Build/lufa_sources.mk |
| 802 | * \endcode | 802 | * \endcode |
| 803 | * | 803 | * |
| 804 | * \section SSec_BuildModule_SOURCES_Requirements Requirements | 804 | * \section SSec_BuildModule_SOURCES_Requirements Requirements |
| 805 | * None. | 805 | * None. |
| 806 | * | 806 | * |
| 807 | * \section SSec_BuildModule_SOURCES_Targets Targets | 807 | * \section SSec_BuildModule_SOURCES_Targets Targets |
| 808 | * | 808 | * |
| 809 | * <table> | 809 | * <table> |
| 810 | * <tr> | 810 | * <tr> |
| 811 | * <td><i>None</i></td> | 811 | * <td><i>None</i></td> |
| 812 | * </tr> | 812 | * </tr> |
| 813 | * </table> | 813 | * </table> |
| 814 | * | 814 | * |
| 815 | * \section SSec_BuildModule_SOURCES_MandatoryParams Mandatory Parameters | 815 | * \section SSec_BuildModule_SOURCES_MandatoryParams Mandatory Parameters |
| 816 | * | 816 | * |
| 817 | * <table> | 817 | * <table> |
| 818 | * <tr> | 818 | * <tr> |
| 819 | * <td><tt>LUFA_PATH</tt></td> | 819 | * <td><tt>LUFA_PATH</tt></td> |
| 820 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> | 820 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> |
| 821 | * </tr> | 821 | * </tr> |
| 822 | * <tr> | 822 | * <tr> |
| 823 | * <td><tt>ARCH</tt></td> | 823 | * <td><tt>ARCH</tt></td> |
| 824 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> | 824 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> |
| 825 | * </tr> | 825 | * </tr> |
| 826 | * </table> | 826 | * </table> |
| 827 | * | 827 | * |
| 828 | * \section SSec_BuildModule_SOURCES_OptionalParams Optional Parameters | 828 | * \section SSec_BuildModule_SOURCES_OptionalParams Optional Parameters |
| 829 | * | 829 | * |
| 830 | * <table> | 830 | * <table> |
| 831 | * <tr> | 831 | * <tr> |
| 832 | * <td><i>None</i></td> | 832 | * <td><i>None</i></td> |
| 833 | * </tr> | 833 | * </tr> |
| 834 | * </table> | 834 | * </table> |
| 835 | * | 835 | * |
| 836 | * \section SSec_BuildModule_SOURCES_ProvidedVariables Module Provided Variables | 836 | * \section SSec_BuildModule_SOURCES_ProvidedVariables Module Provided Variables |
| 837 | * | 837 | * |
| 838 | * <table> | 838 | * <table> |
| 839 | * <tr> | 839 | * <tr> |
| 840 | * <td><tt>LUFA_SRC_USB</tt></td> | 840 | * <td><tt>LUFA_SRC_USB</tt></td> |
| 841 | * <td>List of LUFA USB driver source files.</td> | 841 | * <td>List of LUFA USB driver source files.</td> |
| 842 | * </tr> | 842 | * </tr> |
| 843 | * <tr> | 843 | * <tr> |
| 844 | * <td><tt>LUFA_SRC_USBCLASS</tt></td> | 844 | * <td><tt>LUFA_SRC_USBCLASS</tt></td> |
| 845 | * <td>List of LUFA USB Class driver source files.</td> | 845 | * <td>List of LUFA USB Class driver source files.</td> |
| 846 | * </tr> | 846 | * </tr> |
| 847 | * <tr> | 847 | * <tr> |
| 848 | * <td><tt>LUFA_SRC_TEMPERATURE</tt></td> | 848 | * <td><tt>LUFA_SRC_TEMPERATURE</tt></td> |
| 849 | * <td>List of LUFA temperature sensor driver source files.</td> | 849 | * <td>List of LUFA temperature sensor driver source files.</td> |
| 850 | * </tr> | 850 | * </tr> |
| 851 | * <tr> | 851 | * <tr> |
| 852 | * <td><tt>LUFA_SRC_SERIAL</tt></td> | 852 | * <td><tt>LUFA_SRC_SERIAL</tt></td> |
| 853 | * <td>List of LUFA Serial U(S)ART driver source files.</td> | 853 | * <td>List of LUFA Serial U(S)ART driver source files.</td> |
| 854 | * </tr> | 854 | * </tr> |
| 855 | * <tr> | 855 | * <tr> |
| 856 | * <td><tt>LUFA_SRC_TWI</tt></td> | 856 | * <td><tt>LUFA_SRC_TWI</tt></td> |
| 857 | * <td>List of LUFA TWI driver source files.</td> | 857 | * <td>List of LUFA TWI driver source files.</td> |
| 858 | * </tr> | 858 | * </tr> |
| 859 | * <tr> | 859 | * <tr> |
| 860 | * <td><tt>LUFA_SRC_PLATFORM</tt></td> | 860 | * <td><tt>LUFA_SRC_PLATFORM</tt></td> |
| 861 | * <td>List of LUFA architecture specific platform management source files.</td> | 861 | * <td>List of LUFA architecture specific platform management source files.</td> |
| 862 | * </tr> | 862 | * </tr> |
| 863 | * </table> | 863 | * </table> |
| 864 | * | 864 | * |
| 865 | * \section SSec_BuildModule_SOURCES_ProvidedMacros Module Provided Macros | 865 | * \section SSec_BuildModule_SOURCES_ProvidedMacros Module Provided Macros |
| 866 | * | 866 | * |
| 867 | * <table> | 867 | * <table> |
| 868 | * <tr> | 868 | * <tr> |
| 869 | * <td><i>None</i></td> | 869 | * <td><i>None</i></td> |
| 870 | * </tr> | 870 | * </tr> |
| 871 | * </table> | 871 | * </table> |
| 872 | */ | 872 | */ |
| 873 | 873 | ||
| 874 | /** \page Page_BuildTroubleshooting Troubleshooting Information | 874 | /** \page Page_BuildTroubleshooting Troubleshooting Information |
| 875 | * | 875 | * |
| 876 | * LUFA uses a lot of advanced features of the AVR-GCC compiler, linker, and surrounding binaries. This can sometimes lead to problems compiling applications if one of these | 876 | * LUFA uses a lot of advanced features of the AVR-GCC compiler, linker, and surrounding binaries. This can sometimes lead to problems compiling applications if one of these |
| 877 | * features is buggy in the version of the tools used in a build environment. Missing utilities and incorrectly set makefile configuration options can also result in different | 877 | * features is buggy in the version of the tools used in a build environment. Missing utilities and incorrectly set makefile configuration options can also result in different |
| 878 | * errors being produced when compilation or other operations are attempted. The table below lists a set of commonly encountered errors and their resolutions. | 878 | * errors being produced when compilation or other operations are attempted. The table below lists a set of commonly encountered errors and their resolutions. |
| 879 | * | 879 | * |
| 880 | * <table> | 880 | * <table> |
| 881 | * <tr> | 881 | * <tr> |
| 882 | * <th>Problem</th> | 882 | * <th>Problem</th> |
| 883 | * <th>Resolution</th> | 883 | * <th>Resolution</th> |
| 884 | * </tr> | 884 | * </tr> |
| 885 | * <tr> | 885 | * <tr> |
| 886 | * <td>Error "<b><tt>relocation truncated to fit: R_AVR_13_PCREL against symbol <i>{X}</i></tt></b>" shown when compiling.</td> | 886 | * <td>Error "<b><tt>relocation truncated to fit: R_AVR_13_PCREL against symbol <i>{X}</i></tt></b>" shown when compiling.</td> |
| 887 | * <td>Try compiling with the setting <tt>LINKER_RELAXATIONS=N</tt> in your LUFA Build System 2.0 makefile, or remove the line <tt>-Wl,--relax</tt> | 887 | * <td>Try compiling with the setting <tt>LINKER_RELAXATIONS=N</tt> in your LUFA Build System 2.0 makefile, or remove the line <tt>-Wl,--relax</tt> |
| 888 | * from other makefiles. Alternatively, make sure you have the latest version of the Atmel Toolchain installed for your system.</td> | 888 | * from other makefiles. Alternatively, make sure you have the latest version of the Atmel Toolchain installed for your system.</td> |
| 889 | * </tr> | 889 | * </tr> |
| 890 | * <tr> | 890 | * <tr> |
| 891 | * <td>Error "<b><tt>error: ld terminated with signal 11 [Segmentation fault]</tt></b>" shown when compiling.</td> | 891 | * <td>Error "<b><tt>error: ld terminated with signal 11 [Segmentation fault]</tt></b>" shown when compiling.</td> |
| 892 | * <td>Try compiling with the setting <tt>DEBUG_LEVEL=2</tt> in your LUFA Build System 2.0 makefile, or make sure you are using <tt>binutils</tt> version 2.22 or later.</td> | 892 | * <td>Try compiling with the setting <tt>DEBUG_LEVEL=2</tt> in your LUFA Build System 2.0 makefile, or make sure you are using <tt>binutils</tt> version 2.22 or later.</td> |
| 893 | * </tr> | 893 | * </tr> |
| 894 | * <tr> | 894 | * <tr> |
| 895 | * <td>Error "<b><tt>EMERGENCY ABORT: INFINITE RECURSION DETECTED</tt></b>" shown when compiling.</td> | 895 | * <td>Error "<b><tt>EMERGENCY ABORT: INFINITE RECURSION DETECTED</tt></b>" shown when compiling.</td> |
| 896 | * <td>Make sure you are using an up to date version of GNU Make when compiling. This error is a safety system added to the mid-level makefiles, to prevent an issue with | 896 | * <td>Make sure you are using an up to date version of GNU Make when compiling. This error is a safety system added to the mid-level makefiles, to prevent an issue with |
| 897 | * GNU make or other variants of Make causing an infinitely recursive build.</td> | 897 | * GNU make or other variants of Make causing an infinitely recursive build.</td> |
| 898 | * </tr> | 898 | * </tr> |
| 899 | * <tr> | 899 | * <tr> |
| 900 | * <td>Error "<b><tt>Unsupported architecture "<i>{X}</i>"</tt></b>" shown when compiling.</td> | 900 | * <td>Error "<b><tt>Unsupported architecture "<i>{X}</i>"</tt></b>" shown when compiling.</td> |
| 901 | * <td>Ensure your makefile's <tt>ARCH</tt> setting is set to one of the architecture names (case-sensitive) supported by the version of LUFA you are compiling against.</td> | 901 | * <td>Ensure your makefile's <tt>ARCH</tt> setting is set to one of the architecture names (case-sensitive) supported by the version of LUFA you are compiling against.</td> |
| 902 | * </tr> | 902 | * </tr> |
| 903 | * <tr> | 903 | * <tr> |
| 904 | * <td>Error "<b><tt>Makefile <i>{X}</i> value not set</tt></b>" shown when compiling.</td> | 904 | * <td>Error "<b><tt>Makefile <i>{X}</i> value not set</tt></b>" shown when compiling.</td> |
| 905 | * <td>The specified Makefile value was not configured in your project's makefile or on the command line, and the nominated setting is required by one or more LUFA | 905 | * <td>The specified Makefile value was not configured in your project's makefile or on the command line, and the nominated setting is required by one or more LUFA |
| 906 | * build system modules. Define the value in your project makefile and try again.</td> | 906 | * build system modules. Define the value in your project makefile and try again.</td> |
| 907 | * </tr> | 907 | * </tr> |
| 908 | * <tr> | 908 | * <tr> |
| 909 | * <td>Error "<b><tt>Makefile <i>{X}</i> option cannot be blank</tt></b>" shown when compiling.</td> | 909 | * <td>Error "<b><tt>Makefile <i>{X}</i> option cannot be blank</tt></b>" shown when compiling.</td> |
| 910 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to an empty value. For the nominated configuration | 910 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to an empty value. For the nominated configuration |
| 911 | * option, an empty value is not allowed. Define the nominated setting to a correct non-blank value and try again.</td> | 911 | * option, an empty value is not allowed. Define the nominated setting to a correct non-blank value and try again.</td> |
| 912 | * </tr> | 912 | * </tr> |
| 913 | * <tr> | 913 | * <tr> |
| 914 | * <td>Error "<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>" shown when compiling.</td> | 914 | * <td>Error "<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>" shown when compiling.</td> |
| 915 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No"). | 915 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No"). |
| 916 | * This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td> | 916 | * This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td> |
| 917 | * </tr> | 917 | * </tr> |
| 918 | * <tr> | 918 | * <tr> |
| 919 | * <td>Error "<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>" shown when compiling.</td> | 919 | * <td>Error "<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>" shown when compiling.</td> |
| 920 | * <td>The nominated source files, specified in your project's makefile in the <tt>SRC</tt> configuration option, has an extension that the LUFA build system does not | 920 | * <td>The nominated source files, specified in your project's makefile in the <tt>SRC</tt> configuration option, has an extension that the LUFA build system does not |
| 921 | * recognise. The file extensions are case sensitive, and must be one of the supported formats (<tt>*.c</tt>, <tt>*.cpp</tt> or <tt>*.S</tt>).</td> | 921 | * recognise. The file extensions are case sensitive, and must be one of the supported formats (<tt>*.c</tt>, <tt>*.cpp</tt> or <tt>*.S</tt>).</td> |
| 922 | * </tr> | 922 | * </tr> |
| 923 | * <tr> | 923 | * <tr> |
| 924 | * <td>Error "<b><tt>Cannot build with OBJDIR parameter set - one or more object file name is not unique</tt></b>" shown when compiling.</td> | 924 | * <td>Error "<b><tt>Cannot build with OBJDIR parameter set - one or more object file name is not unique</tt></b>" shown when compiling.</td> |
| 925 | * <td>When a project is built with a non-empty <tt>OBJDIR</tt> object directory name set, all input source files must have unique names, excluding extension and path. | 925 | * <td>When a project is built with a non-empty <tt>OBJDIR</tt> object directory name set, all input source files must have unique names, excluding extension and path. |
| 926 | * This means that input files that are named identically and differ only by their path or extension are invalid when this mode is used.</td> | 926 | * This means that input files that are named identically and differ only by their path or extension are invalid when this mode is used.</td> |
| 927 | * </tr> | 927 | * </tr> |
| 928 | * <tr> | 928 | * <tr> |
| 929 | * <td>Error "<b><tt>Source file does not exist: <i>{X}</i></tt></b>" shown when compiling.</td> | 929 | * <td>Error "<b><tt>Source file does not exist: <i>{X}</i></tt></b>" shown when compiling.</td> |
| 930 | * <td>The nominated input source file, specified in the user project's <tt>SRC</tt> parameter, could not be found. Ensure the source file exists and the absolute or | 930 | * <td>The nominated input source file, specified in the user project's <tt>SRC</tt> parameter, could not be found. Ensure the source file exists and the absolute or |
| 931 | * relative path given in the user project makefile is correct and try again.</td> | 931 | * relative path given in the user project makefile is correct and try again.</td> |
| 932 | * </tr> | 932 | * </tr> |
| 933 | * <tr> | 933 | * <tr> |
| 934 | * <td>Error "<b><tt>Doxygen configuration file <i>{X}</i> does not exist</tt></b>" shown when upgrading a Doxygen configuration file.</td> | 934 | * <td>Error "<b><tt>Doxygen configuration file <i>{X}</i> does not exist</tt></b>" shown when upgrading a Doxygen configuration file.</td> |
| 935 | * <td>The nominated Doxygen configuration file, specified in the user project's <tt>DOXYGEN_CONF</tt> parameter, could not be found. Ensure the configuration file exists | 935 | * <td>The nominated Doxygen configuration file, specified in the user project's <tt>DOXYGEN_CONF</tt> parameter, could not be found. Ensure the configuration file exists |
| 936 | * and the absolute or relative path given in the user project makefile is correct and try again, or run the appropriate makefile target to generate a new configuration | 936 | * and the absolute or relative path given in the user project makefile is correct and try again, or run the appropriate makefile target to generate a new configuration |
| 937 | * file.</td> | 937 | * file.</td> |
| 938 | * </tr> | 938 | * </tr> |
| 939 | * <tr> | 939 | * <tr> |
| 940 | * <td>Error "<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>" shown when compiling.</td> | 940 | * <td>Error "<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>" shown when compiling.</td> |
| 941 | * <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration | 941 | * <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration |
| 942 | * options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or | 942 | * options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or |
| 943 | * upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td> | 943 | * upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td> |
| 944 | * </tr> | 944 | * </tr> |
| 945 | * <tr> | 945 | * <tr> |
| 946 | * <td>Error "<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>" shown when make is invoked.</td> | 946 | * <td>Error "<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>" shown when make is invoked.</td> |
| 947 | * <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or | 947 | * <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or |
| 948 | * absolute path to the LUFA library core.</td> | 948 | * absolute path to the LUFA library core.</td> |
| 949 | * </tr> | 949 | * </tr> |
| 950 | * <tr> | 950 | * <tr> |
| 951 | * <td>Error "<b><tt>fatal error: LUFAConfig.h: No such file or directory</tt></b>" shown when compiling.</td> | 951 | * <td>Error "<b><tt>fatal error: LUFAConfig.h: No such file or directory</tt></b>" shown when compiling.</td> |
| 952 | * <td>The <tt>USE_LUFA_CONFIG_HEADER</tt> compile time option was set in the user project makefile, but the user supplied <tt>LUFAConfig.h</tt> header could not be | 952 | * <td>The <tt>USE_LUFA_CONFIG_HEADER</tt> compile time option was set in the user project makefile, but the user supplied <tt>LUFAConfig.h</tt> header could not be |
| 953 | * found. Ensure that the directory that contains this configuration file is correctly passed to the compiler via the -I switch in the makefile <tt>CC_FLAGS</tt> | 953 | * found. Ensure that the directory that contains this configuration file is correctly passed to the compiler via the -I switch in the makefile <tt>CC_FLAGS</tt> |
| 954 | * parameter.</td> | 954 | * parameter.</td> |
| 955 | * </tr> | 955 | * </tr> |
| 956 | * <tr> | 956 | * <tr> |
| 957 | * <td>Error "<b><tt>ld.exe: section .apitable_trampolines loaded at <i>{X}</i> overlaps section .text</tt></b>" shown when compiling a bootloader.</td> | 957 | * <td>Error "<b><tt>ld.exe: section .apitable_trampolines loaded at <i>{X}</i> overlaps section .text</tt></b>" shown when compiling a bootloader.</td> |
| 958 | * <td>The bootloader is compiling too large for the given <tt>FLASH_SIZE_KB</tt> and <tt>BOOT_SECTION_SIZE_KB</tt> parameters set in the bootloader makefile. This | 958 | * <td>The bootloader is compiling too large for the given <tt>FLASH_SIZE_KB</tt> and <tt>BOOT_SECTION_SIZE_KB</tt> parameters set in the bootloader makefile. This |
| 959 | * usually indicates that these values are incorrect for the specified device the bootloader is targeting. If these values are correct, a newer version of the | 959 | * usually indicates that these values are incorrect for the specified device the bootloader is targeting. If these values are correct, a newer version of the |
| 960 | * compiler may need to be used to ensure that the bootloader is built within the section size constraints of the target device.</td> | 960 | * compiler may need to be used to ensure that the bootloader is built within the section size constraints of the target device.</td> |
| 961 | * </tr> | 961 | * </tr> |
| 962 | * <tr> | 962 | * <tr> |
| 963 | * <td>Error "<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>" shown when compiling.</td> | 963 | * <td>Error "<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>" shown when compiling.</td> |
| 964 | * <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the | 964 | * <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the |
| 965 | * version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td> | 965 | * version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td> |
| 966 | * </tr> | 966 | * </tr> |
| 967 | * <tr> | 967 | * <tr> |
| 968 | * <td>Error "<b><tt>undefined reference to `<i>{X}</i>'</tt></b>" shown when compiling.</td> | 968 | * <td>Error "<b><tt>undefined reference to `<i>{X}</i>'</tt></b>" shown when compiling.</td> |
| 969 | * <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA | 969 | * <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA |
| 970 | * library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_SOURCES).</td> | 970 | * library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_SOURCES).</td> |
| 971 | * </tr> | 971 | * </tr> |
| 972 | * </table> | 972 | * </table> |
| 973 | * | 973 | * |
| 974 | * For troubleshooting other errors you encounter, please see \ref Sec_ProjectHelp. | 974 | * For troubleshooting other errors you encounter, please see \ref Sec_ProjectHelp. |
| 975 | */ | 975 | */ |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt index 486e9a427..a34fd58df 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/mshelp/placeholder.txt | |||
| @@ -1 +1 @@ | |||
| Copy the Microsoft HV1 Docbook transform contents into this directory (i.e. with the XSLT files in the current folder). The HV1 transform proposal can be found at http://sourceforge.net/tracker/?func=detail&aid=3610290&group_id=21935&atid=373750 . | Copy the Microsoft HV1 Docbook transform contents into this directory (i.e. with the XSLT files in the current folder). The HV1 transform proposal can be found at http://sourceforge.net/tracker/?func=detail&aid=3610290&group_id=21935&atid=373750 . | ||
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/placeholder.txt b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/placeholder.txt index c017acfd7..dd69b7e0b 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/placeholder.txt +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/Docbook/placeholder.txt | |||
| @@ -1 +1 @@ | |||
| Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ . | Copy the Docbook XSLT docbook-xsl-1.78.1 release contents into this directory (i.e. with the root Docbook files in the current folder). The Docbook releases can be found at http://sourceforge.net/projects/docbook/files/docbook-xsl/ . | ||
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt index ee8a38340..8aa4a9413 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt | |||
| @@ -1,45 +1,45 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Docbook XML to Microsoft Help Viewer 1.0 transform file --> | 9 | <!-- Docbook XML to Microsoft Help Viewer 1.0 transform file --> |
| 10 | 10 | ||
| 11 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | 11 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
| 12 | 12 | ||
| 13 | <xsl:import href="../Docbook/mshelp/docbook.xsl"/> | 13 | <xsl:import href="../Docbook/mshelp/docbook.xsl"/> |
| 14 | 14 | ||
| 15 | <xsl:output method="xml" indent="no"/> | 15 | <xsl:output method="xml" indent="no"/> |
| 16 | 16 | ||
| 17 | <xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']"> | 17 | <xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']"> |
| 18 | <span class="hl-keyword" style="color: #0079C1"> | 18 | <span class="hl-keyword" style="color: #0079C1"> |
| 19 | <xsl:apply-templates/> | 19 | <xsl:apply-templates/> |
| 20 | </span> | 20 | </span> |
| 21 | </xsl:template> | 21 | </xsl:template> |
| 22 | 22 | ||
| 23 | <xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']"> | 23 | <xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']"> |
| 24 | <span class="hl-string" style="color: #800000"> | 24 | <span class="hl-string" style="color: #800000"> |
| 25 | <xsl:apply-templates/> | 25 | <xsl:apply-templates/> |
| 26 | </span> | 26 | </span> |
| 27 | </xsl:template> | 27 | </xsl:template> |
| 28 | 28 | ||
| 29 | <xsl:template match="emphasis[@role = 'comment']"> | 29 | <xsl:template match="emphasis[@role = 'comment']"> |
| 30 | <em class="hl-comment" style="color: #008000"> | 30 | <em class="hl-comment" style="color: #008000"> |
| 31 | <xsl:apply-templates/> | 31 | <xsl:apply-templates/> |
| 32 | </em> | 32 | </em> |
| 33 | </xsl:template> | 33 | </xsl:template> |
| 34 | 34 | ||
| 35 | <xsl:template match="emphasis[@role = 'preprocessor']"> | 35 | <xsl:template match="emphasis[@role = 'preprocessor']"> |
| 36 | <span class="hl-preprocessor" style="color: #A000A0"> | 36 | <span class="hl-preprocessor" style="color: #A000A0"> |
| 37 | <xsl:apply-templates/> | 37 | <xsl:apply-templates/> |
| 38 | </span> | 38 | </span> |
| 39 | </xsl:template> | 39 | </xsl:template> |
| 40 | 40 | ||
| 41 | <xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]"> | 41 | <xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]"> |
| 42 | <xsl:apply-templates /> | 42 | <xsl:apply-templates /> |
| 43 | </xsl:template> | 43 | </xsl:template> |
| 44 | 44 | ||
| 45 | </xsl:stylesheet> | 45 | </xsl:stylesheet> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css index 49eb7e970..0b6ccbd8c 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/HV1/lufa_studio_help_styling.css | |||
| @@ -1,53 +1,53 @@ | |||
| 1 | /* | 1 | /* |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | .programlisting { | 9 | .programlisting { |
| 10 | display: block; | 10 | display: block; |
| 11 | margin-left: 15px; | 11 | margin-left: 15px; |
| 12 | padding: 10px; | 12 | padding: 10px; |
| 13 | background-color: #f4f4f4; | 13 | background-color: #f4f4f4; |
| 14 | border: 1px solid #aaaaaa; | 14 | border: 1px solid #aaaaaa; |
| 15 | font-family: "Consolas", "Courier New", sans-serif; | 15 | font-family: "Consolas", "Courier New", sans-serif; |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | code { | 18 | code { |
| 19 | background-color: #f4f4f4; | 19 | background-color: #f4f4f4; |
| 20 | font-family: "Consolas", "Courier New", sans-serif; | 20 | font-family: "Consolas", "Courier New", sans-serif; |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | .note, .warning, .tip { | 23 | .note, .warning, .tip { |
| 24 | display: block; | 24 | display: block; |
| 25 | margin-left: 15px; | 25 | margin-left: 15px; |
| 26 | padding-left: 10px; | 26 | padding-left: 10px; |
| 27 | padding-bottom: 5px; | 27 | padding-bottom: 5px; |
| 28 | background-color: #f4f4f4; | 28 | background-color: #f4f4f4; |
| 29 | border: 1px solid #aaaaaa; | 29 | border: 1px solid #aaaaaa; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | table { | 32 | table { |
| 33 | border: 1px solid #aaaaaa; | 33 | border: 1px solid #aaaaaa; |
| 34 | border-collapse: collapse; | 34 | border-collapse: collapse; |
| 35 | margin-left: 15px; | 35 | margin-left: 15px; |
| 36 | font-size: 10pt; | 36 | font-size: 10pt; |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | table thead { | 39 | table thead { |
| 40 | background-color: #f4f4f4; | 40 | background-color: #f4f4f4; |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | table thead th { | 43 | table thead th { |
| 44 | padding: 5px; | 44 | padding: 5px; |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | table tbody td { | 47 | table tbody td { |
| 48 | padding: 5px; | 48 | padding: 5px; |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | ul { | 51 | ul { |
| 52 | padding-left: 20px; | 52 | padding-left: 20px; |
| 53 | } | 53 | } |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/[Content_Types].xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/[Content_Types].xml index 05ef8b6ba..112d16994 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/[Content_Types].xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/[Content_Types].xml | |||
| @@ -1,13 +1,13 @@ | |||
| 1 | <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> | 1 | <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> |
| 2 | <Default Extension="vsixmanifest" ContentType="text/xml"/> | 2 | <Default Extension="vsixmanifest" ContentType="text/xml"/> |
| 3 | <Default Extension="cache" ContentType="text/xml"/> | 3 | <Default Extension="cache" ContentType="text/xml"/> |
| 4 | <Default Extension="png" ContentType="application/octet-stream"/> | 4 | <Default Extension="png" ContentType="application/octet-stream"/> |
| 5 | <Default Extension="txt" ContentType="text/plain"/> | 5 | <Default Extension="txt" ContentType="text/plain"/> |
| 6 | <Default Extension="xml" ContentType="text/xml"/> | 6 | <Default Extension="xml" ContentType="text/xml"/> |
| 7 | <Default Extension="zip" ContentType="application/octet-stream"/> | 7 | <Default Extension="zip" ContentType="application/octet-stream"/> |
| 8 | <Default Extension="dll" ContentType="application/octet-stream" /> | 8 | <Default Extension="dll" ContentType="application/octet-stream" /> |
| 9 | <Default Extension="pkgdef" ContentType="text/plain" /> | 9 | <Default Extension="pkgdef" ContentType="text/plain" /> |
| 10 | <Default Extension="htm" ContentType="text/html" /> | 10 | <Default Extension="htm" ContentType="text/html" /> |
| 11 | <Default Extension="msha" ContentType="text/html" /> | 11 | <Default Extension="msha" ContentType="text/html" /> |
| 12 | <Default Extension="mshc" ContentType="application/octet-stream"/> | 12 | <Default Extension="mshc" ContentType="application/octet-stream"/> |
| 13 | </Types> | 13 | </Types> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/asf-manifest.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/asf-manifest.xml index 794fd689e..bd969518a 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/asf-manifest.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/asf-manifest.xml | |||
| @@ -1,18 +1,18 @@ | |||
| 1 | <AsfContentProvider Version="1.0.0"> | 1 | <AsfContentProvider Version="1.0.0"> |
| 2 | <Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b"> | 2 | <Identifier Id="0e160d5c-e331-48d9-850b-e0387912171b"> |
| 3 | <Org>FourWalledCubicle</Org> | 3 | <Org>FourWalledCubicle</Org> |
| 4 | <ShortName>LUFA</ShortName> | 4 | <ShortName>LUFA</ShortName> |
| 5 | <Author>Dean Camera</Author> | 5 | <Author>Dean Camera</Author> |
| 6 | <Description/> | 6 | <Description/> |
| 7 | <FollowFolderStructure>True</FollowFolderStructure> | 7 | <FollowFolderStructure>True</FollowFolderStructure> |
| 8 | </Identifier> | 8 | </Identifier> |
| 9 | <AsfContent Type="zip" Path="contents.zip"> | 9 | <AsfContent Type="zip" Path="contents.zip"> |
| 10 | <Content> | 10 | <Content> |
| 11 | <Version>0</Version> | 11 | <Version>0</Version> |
| 12 | <HelpURL/> | 12 | <HelpURL/> |
| 13 | <Locator/> | 13 | <Locator/> |
| 14 | <DbXMLPath>content.xml.cache</DbXMLPath> | 14 | <DbXMLPath>content.xml.cache</DbXMLPath> |
| 15 | <Description/> | 15 | <Description/> |
| 16 | </Content> | 16 | </Content> |
| 17 | </AsfContent> | 17 | </AsfContent> |
| 18 | </AsfContentProvider> | 18 | </AsfContentProvider> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/extension.vsixmanifest b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/extension.vsixmanifest index ea6edeb25..847501744 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/extension.vsixmanifest +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/extension.vsixmanifest | |||
| @@ -1,33 +1,33 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | 2 | ||
| 3 | <Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010"> | 3 | <Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010"> |
| 4 | <Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b"> | 4 | <Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b"> |
| 5 | <Name>LUFA Library</Name> | 5 | <Name>LUFA Library</Name> |
| 6 | <Author>Dean Camera</Author> | 6 | <Author>Dean Camera</Author> |
| 7 | <Version>0</Version> | 7 | <Version>0</Version> |
| 8 | <MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl> | 8 | <MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl> |
| 9 | <Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description> | 9 | <Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description> |
| 10 | 10 | ||
| 11 | <License>License.txt</License> | 11 | <License>License.txt</License> |
| 12 | <Icon>LUFA_thumb.png</Icon> | 12 | <Icon>LUFA_thumb.png</Icon> |
| 13 | <PreviewImage>LUFA.png</PreviewImage> | 13 | <PreviewImage>LUFA.png</PreviewImage> |
| 14 | 14 | ||
| 15 | <SupportedProducts> | 15 | <SupportedProducts> |
| 16 | <IsolatedShell Version="6.1">AtmelStudio</IsolatedShell> | 16 | <IsolatedShell Version="6.1">AtmelStudio</IsolatedShell> |
| 17 | <IsolatedShell Version="6.2">AtmelStudio</IsolatedShell> | 17 | <IsolatedShell Version="6.2">AtmelStudio</IsolatedShell> |
| 18 | </SupportedProducts> | 18 | </SupportedProducts> |
| 19 | 19 | ||
| 20 | <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/> | 20 | <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/> |
| 21 | <Locale>1033</Locale> | 21 | <Locale>1033</Locale> |
| 22 | 22 | ||
| 23 | <AllUsers>false</AllUsers> | 23 | <AllUsers>false</AllUsers> |
| 24 | </Identifier> | 24 | </Identifier> |
| 25 | 25 | ||
| 26 | <References/> | 26 | <References/> |
| 27 | 27 | ||
| 28 | <Content> | 28 | <Content> |
| 29 | <VsPackage>LUFA.pkgdef</VsPackage> | 29 | <VsPackage>LUFA.pkgdef</VsPackage> |
| 30 | <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension> | 30 | <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension> |
| 31 | <CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension> | 31 | <CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension> |
| 32 | </Content> | 32 | </Content> |
| 33 | </Vsix> | 33 | </Vsix> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/generate_caches.py b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/generate_caches.py index c51cff400..eb4b71efd 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/generate_caches.py +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/VSIX/generate_caches.py | |||
| @@ -1,38 +1,38 @@ | |||
| 1 | """ | 1 | """ |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | """ | 7 | """ |
| 8 | 8 | ||
| 9 | import sys | 9 | import sys |
| 10 | sys.path.append("ProjectGenerator") | 10 | sys.path.append("ProjectGenerator") |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | def show_message(message): | 13 | def show_message(message): |
| 14 | print("[Project Generator] %s" % message) | 14 | print("[Project Generator] %s" % message) |
| 15 | sys.stdout.flush() | 15 | sys.stdout.flush() |
| 16 | 16 | ||
| 17 | 17 | ||
| 18 | def main(lufa_root_path): | 18 | def main(lufa_root_path): |
| 19 | try: | 19 | try: |
| 20 | from asf_avrstudio5_interface import PythonFacade | 20 | from asf_avrstudio5_interface import PythonFacade |
| 21 | except ImportError: | 21 | except ImportError: |
| 22 | print("Fatal Error: The ASF project generator is missing.") | 22 | print("Fatal Error: The ASF project generator is missing.") |
| 23 | return 1 | 23 | return 1 |
| 24 | 24 | ||
| 25 | p = PythonFacade(lufa_root_path) | 25 | p = PythonFacade(lufa_root_path) |
| 26 | 26 | ||
| 27 | show_message("Checking database sanity...") | 27 | show_message("Checking database sanity...") |
| 28 | p.check_extension_database_sanity(lufa_root_path) | 28 | p.check_extension_database_sanity(lufa_root_path) |
| 29 | 29 | ||
| 30 | show_message("Building cache files...") | 30 | show_message("Building cache files...") |
| 31 | p.generate_extension_cache_files(lufa_root_path) | 31 | p.generate_extension_cache_files(lufa_root_path) |
| 32 | 32 | ||
| 33 | show_message("Cache files created.") | 33 | show_message("Cache files created.") |
| 34 | return 0 | 34 | return 0 |
| 35 | 35 | ||
| 36 | 36 | ||
| 37 | if __name__ == "__main__": | 37 | if __name__ == "__main__": |
| 38 | sys.exit(main(sys.argv[1])) | 38 | sys.exit(main(sys.argv[1])) |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa.xml index 28afdda58..86cfc0409 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa.xml | |||
| @@ -1,96 +1,96 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <extension-container> | 12 | <extension-container> |
| 13 | <extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)"> | 13 | <extension uuid="0e160d5c-e331-48d9-850b-e0387912171b" org="FourWalledCubicle" shortname="LUFA" version="" fullname="Lightweight USB Framework for AVRs (LUFA)"> |
| 14 | <author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/> | 14 | <author name="Dean Camera" website="http://www.lufa-lib.org/" email="dean@fourwalledcubicle.com"/> |
| 15 | <description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description> | 15 | <description>Lightweight USB Framework for AVRs (LUFA), a USB software stack/framework.</description> |
| 16 | <icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/> | 16 | <icon-image path="LUFA/DoxygenPages/Images/LUFA_thumb.png"/> |
| 17 | <preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/> | 17 | <preview-image path="LUFA/DoxygenPages/Images/LUFA.png"/> |
| 18 | <license caption="LUFA License" path="LUFA/License.txt"/> | 18 | <license caption="LUFA License" path="LUFA/License.txt"/> |
| 19 | <release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/> | 19 | <release-notes caption="LUFA Information" url="http://www.lufa-lib.org"/> |
| 20 | <online-help> | 20 | <online-help> |
| 21 | <index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/> | 21 | <index-page caption="LUFA Documentation" url="http://www.lufa-lib.org/documentation/"/> |
| 22 | <module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/> | 22 | <module-help-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/> |
| 23 | <module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/> | 23 | <module-guide-page scheme="append" baseurl="http://www.lufa-lib.org/documentation/"/> |
| 24 | </online-help> | 24 | </online-help> |
| 25 | <dependencies/> | 25 | <dependencies/> |
| 26 | </extension> | 26 | </extension> |
| 27 | </extension-container> | 27 | </extension-container> |
| 28 | 28 | ||
| 29 | <asf> | 29 | <asf> |
| 30 | <device-alias-map name="lufa_avr8"> | 30 | <device-alias-map name="lufa_avr8"> |
| 31 | <device-support value="at90usb82"/> | 31 | <device-support value="at90usb82"/> |
| 32 | <device-support value="atmega8u2"/> | 32 | <device-support value="atmega8u2"/> |
| 33 | <device-support value="at90usb162"/> | 33 | <device-support value="at90usb162"/> |
| 34 | <device-support value="atmega16u2"/> | 34 | <device-support value="atmega16u2"/> |
| 35 | <device-support value="atmega16u4"/> | 35 | <device-support value="atmega16u4"/> |
| 36 | <device-support value="atmega32u2"/> | 36 | <device-support value="atmega32u2"/> |
| 37 | <device-support value="atmega32u4"/> | 37 | <device-support value="atmega32u4"/> |
| 38 | <device-support value="at90usb646"/> | 38 | <device-support value="at90usb646"/> |
| 39 | <device-support value="at90usb647"/> | 39 | <device-support value="at90usb647"/> |
| 40 | <device-support value="at90usb1286"/> | 40 | <device-support value="at90usb1286"/> |
| 41 | <device-support value="at90usb1287"/> | 41 | <device-support value="at90usb1287"/> |
| 42 | </device-alias-map> | 42 | </device-alias-map> |
| 43 | 43 | ||
| 44 | <device-alias-map name="lufa_xmega"> | 44 | <device-alias-map name="lufa_xmega"> |
| 45 | <device-support value="atxmega16a4u"/> | 45 | <device-support value="atxmega16a4u"/> |
| 46 | <device-support value="atxmega32a4u"/> | 46 | <device-support value="atxmega32a4u"/> |
| 47 | <device-support value="atxmega64a4u"/> | 47 | <device-support value="atxmega64a4u"/> |
| 48 | <device-support value="atxmega128a4u"/> | 48 | <device-support value="atxmega128a4u"/> |
| 49 | <device-support value="atxmega64a3u"/> | 49 | <device-support value="atxmega64a3u"/> |
| 50 | <device-support value="atxmega128a3u"/> | 50 | <device-support value="atxmega128a3u"/> |
| 51 | <device-support value="atxmega192a3u"/> | 51 | <device-support value="atxmega192a3u"/> |
| 52 | <device-support value="atxmega256a3u"/> | 52 | <device-support value="atxmega256a3u"/> |
| 53 | <device-support value="atxmega256a3bu"/> | 53 | <device-support value="atxmega256a3bu"/> |
| 54 | <device-support value="atxmega128a1u"/> | 54 | <device-support value="atxmega128a1u"/> |
| 55 | <device-support value="atxmega64b3"/> | 55 | <device-support value="atxmega64b3"/> |
| 56 | <device-support value="atxmega128b3"/> | 56 | <device-support value="atxmega128b3"/> |
| 57 | <device-support value="atxmega64b1"/> | 57 | <device-support value="atxmega64b1"/> |
| 58 | <device-support value="atxmega128b1"/> | 58 | <device-support value="atxmega128b1"/> |
| 59 | <device-support value="atxmega64c3"/> | 59 | <device-support value="atxmega64c3"/> |
| 60 | <device-support value="atxmega128c3"/> | 60 | <device-support value="atxmega128c3"/> |
| 61 | <!-- <device-support value="atxmega192c3"/> Wait for ASFP-3339 merge and release before enabling --> | 61 | <!-- <device-support value="atxmega192c3"/> Wait for ASFP-3339 merge and release before enabling --> |
| 62 | <device-support value="atxmega256c3"/> | 62 | <device-support value="atxmega256c3"/> |
| 63 | <device-support value="atxmega384c3"/> | 63 | <device-support value="atxmega384c3"/> |
| 64 | <device-support value="atxmega16c4"/> | 64 | <device-support value="atxmega16c4"/> |
| 65 | </device-alias-map> | 65 | </device-alias-map> |
| 66 | 66 | ||
| 67 | <device-alias-map name="lufa_uc3"> | 67 | <device-alias-map name="lufa_uc3"> |
| 68 | <device-support value="at32uc3a364"/> | 68 | <device-support value="at32uc3a364"/> |
| 69 | <device-support value="at32uc3a364s"/> | 69 | <device-support value="at32uc3a364s"/> |
| 70 | <device-support value="at32uc3a464"/> | 70 | <device-support value="at32uc3a464"/> |
| 71 | <device-support value="at32uc3a464s"/> | 71 | <device-support value="at32uc3a464s"/> |
| 72 | <device-support value="at32uc3b064"/> | 72 | <device-support value="at32uc3b064"/> |
| 73 | <device-support value="at32uc3b164"/> | 73 | <device-support value="at32uc3b164"/> |
| 74 | <device-support value="at32uc3a0128"/> | 74 | <device-support value="at32uc3a0128"/> |
| 75 | <device-support value="at32uc3a1128"/> | 75 | <device-support value="at32uc3a1128"/> |
| 76 | <device-support value="at32uc3a3128"/> | 76 | <device-support value="at32uc3a3128"/> |
| 77 | <device-support value="at32uc3a3128s"/> | 77 | <device-support value="at32uc3a3128s"/> |
| 78 | <device-support value="at32uc3a4128"/> | 78 | <device-support value="at32uc3a4128"/> |
| 79 | <device-support value="at32uc3a4128s"/> | 79 | <device-support value="at32uc3a4128s"/> |
| 80 | <device-support value="at32uc3b0128"/> | 80 | <device-support value="at32uc3b0128"/> |
| 81 | <device-support value="at32uc3b1128"/> | 81 | <device-support value="at32uc3b1128"/> |
| 82 | <device-support value="at32uc3a0256"/> | 82 | <device-support value="at32uc3a0256"/> |
| 83 | <device-support value="at32uc3a1256"/> | 83 | <device-support value="at32uc3a1256"/> |
| 84 | <device-support value="at32uc3a3256"/> | 84 | <device-support value="at32uc3a3256"/> |
| 85 | <device-support value="at32uc3a3256s"/> | 85 | <device-support value="at32uc3a3256s"/> |
| 86 | <device-support value="at32uc3a4256"/> | 86 | <device-support value="at32uc3a4256"/> |
| 87 | <device-support value="at32uc3a4256s"/> | 87 | <device-support value="at32uc3a4256s"/> |
| 88 | <device-support value="at32uc3b0256"/> | 88 | <device-support value="at32uc3b0256"/> |
| 89 | <device-support value="at32uc3b1256"/> | 89 | <device-support value="at32uc3b1256"/> |
| 90 | <device-support value="at32uc3a0512"/> | 90 | <device-support value="at32uc3a0512"/> |
| 91 | <device-support value="at32uc3a1512"/> | 91 | <device-support value="at32uc3a1512"/> |
| 92 | <device-support value="at32uc3b0512"/> | 92 | <device-support value="at32uc3b0512"/> |
| 93 | <device-support value="at32uc3b1512"/> | 93 | <device-support value="at32uc3b1512"/> |
| 94 | </device-alias-map> | 94 | </device-alias-map> |
| 95 | </asf> | 95 | </asf> |
| 96 | </lufa> | 96 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_common.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_common.xml index 9e17b188b..c2ef7af4c 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_common.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_common.xml | |||
| @@ -1,34 +1,34 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="service" id="lufa.common" caption="LUFA Common Infrastructure"> | 13 | <module type="service" id="lufa.common" caption="LUFA Common Infrastructure"> |
| 14 | <device-support-alias value="lufa_avr8"/> | 14 | <device-support-alias value="lufa_avr8"/> |
| 15 | <device-support-alias value="lufa_xmega"/> | 15 | <device-support-alias value="lufa_xmega"/> |
| 16 | <device-support-alias value="lufa_uc3"/> | 16 | <device-support-alias value="lufa_uc3"/> |
| 17 | 17 | ||
| 18 | <info type="gui-flag" value="hidden"/> | 18 | <info type="gui-flag" value="hidden"/> |
| 19 | <build type="doxygen-entry-point" value="Group_Common"/> | 19 | <build type="doxygen-entry-point" value="Group_Common"/> |
| 20 | 20 | ||
| 21 | <build type="include-path" value=".."/> | 21 | <build type="include-path" value=".."/> |
| 22 | <build type="header-file" subtype="api" value="Version.h"/> | 22 | <build type="header-file" subtype="api" value="Version.h"/> |
| 23 | <build type="distribute" subtype="license" value="License.txt"/> | 23 | <build type="distribute" subtype="license" value="License.txt"/> |
| 24 | 24 | ||
| 25 | <build type="header-file" subtype="api" value="Common/Common.h"/> | 25 | <build type="header-file" subtype="api" value="Common/Common.h"/> |
| 26 | <build type="header-file" value="Common/Architectures.h"/> | 26 | <build type="header-file" value="Common/Architectures.h"/> |
| 27 | <build type="header-file" value="Common/ArchitectureSpecific.h"/> | 27 | <build type="header-file" value="Common/ArchitectureSpecific.h"/> |
| 28 | <build type="header-file" value="Common/Attributes.h"/> | 28 | <build type="header-file" value="Common/Attributes.h"/> |
| 29 | <build type="header-file" value="Common/BoardTypes.h"/> | 29 | <build type="header-file" value="Common/BoardTypes.h"/> |
| 30 | <build type="header-file" value="Common/CompilerSpecific.h"/> | 30 | <build type="header-file" value="Common/CompilerSpecific.h"/> |
| 31 | <build type="header-file" value="Common/Endianness.h"/> | 31 | <build type="header-file" value="Common/Endianness.h"/> |
| 32 | </module> | 32 | </module> |
| 33 | </asf> | 33 | </asf> |
| 34 | </lufa> | 34 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board.xml index 3677d2003..e150aa645 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board.xml | |||
| @@ -1,114 +1,114 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture"> | 13 | <board id="lufa.boards.dummy.avr8" vendor="LUFA" caption="AVR8 Architecture"> |
| 14 | <device-support value="mega"/> | 14 | <device-support value="mega"/> |
| 15 | 15 | ||
| 16 | <require idref="lufa.drivers.board"/> | 16 | <require idref="lufa.drivers.board"/> |
| 17 | <require idref="lufa.drivers.board.info"/> | 17 | <require idref="lufa.drivers.board.info"/> |
| 18 | </board> | 18 | </board> |
| 19 | 19 | ||
| 20 | <board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture"> | 20 | <board id="lufa.boards.dummy.xmega" vendor="LUFA" caption="XMEGA Architecture"> |
| 21 | <device-support value="xmega"/> | 21 | <device-support value="xmega"/> |
| 22 | 22 | ||
| 23 | <require idref="lufa.drivers.board"/> | 23 | <require idref="lufa.drivers.board"/> |
| 24 | <require idref="lufa.drivers.board.info"/> | 24 | <require idref="lufa.drivers.board.info"/> |
| 25 | </board> | 25 | </board> |
| 26 | 26 | ||
| 27 | <board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture"> | 27 | <board id="lufa.boards.dummy.uc3" vendor="LUFA" caption="UC3 Architecture"> |
| 28 | <device-support value="uc3"/> | 28 | <device-support value="uc3"/> |
| 29 | 29 | ||
| 30 | <require idref="lufa.drivers.board"/> | 30 | <require idref="lufa.drivers.board"/> |
| 31 | <require idref="lufa.drivers.board.info"/> | 31 | <require idref="lufa.drivers.board.info"/> |
| 32 | </board> | 32 | </board> |
| 33 | 33 | ||
| 34 | <module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver"> | 34 | <module type="driver" id="lufa.drivers.board.info" caption="LUFA Board Hardware Information Driver"> |
| 35 | <device-support-alias value="lufa_avr8"/> | 35 | <device-support-alias value="lufa_avr8"/> |
| 36 | <device-support-alias value="lufa_xmega"/> | 36 | <device-support-alias value="lufa_xmega"/> |
| 37 | <device-support-alias value="lufa_uc3"/> | 37 | <device-support-alias value="lufa_uc3"/> |
| 38 | 38 | ||
| 39 | <build type="doxygen-entry-point" value="Group_BoardInfo"/> | 39 | <build type="doxygen-entry-point" value="Group_BoardInfo"/> |
| 40 | 40 | ||
| 41 | <require idref="lufa.common"/> | 41 | <require idref="lufa.common"/> |
| 42 | 42 | ||
| 43 | <build type="include-path" value=".."/> | 43 | <build type="include-path" value=".."/> |
| 44 | <build type="header-file" subtype="api" value="Drivers/Board/Board.h"/> | 44 | <build type="header-file" subtype="api" value="Drivers/Board/Board.h"/> |
| 45 | </module> | 45 | </module> |
| 46 | 46 | ||
| 47 | <module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver"> | 47 | <module type="driver" id="lufa.drivers.board.leds" caption="LUFA Board LED Driver"> |
| 48 | <device-support-alias value="lufa_avr8"/> | 48 | <device-support-alias value="lufa_avr8"/> |
| 49 | <device-support-alias value="lufa_xmega"/> | 49 | <device-support-alias value="lufa_xmega"/> |
| 50 | <device-support-alias value="lufa_uc3"/> | 50 | <device-support-alias value="lufa_uc3"/> |
| 51 | 51 | ||
| 52 | <build type="doxygen-entry-point" value="Group_LEDs"/> | 52 | <build type="doxygen-entry-point" value="Group_LEDs"/> |
| 53 | 53 | ||
| 54 | <require idref="lufa.common"/> | 54 | <require idref="lufa.common"/> |
| 55 | 55 | ||
| 56 | <build type="include-path" value=".."/> | 56 | <build type="include-path" value=".."/> |
| 57 | <build type="header-file" subtype="api" value="Drivers/Board/LEDs.h"/> | 57 | <build type="header-file" subtype="api" value="Drivers/Board/LEDs.h"/> |
| 58 | </module> | 58 | </module> |
| 59 | 59 | ||
| 60 | <module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver"> | 60 | <module type="driver" id="lufa.drivers.board.buttons" caption="LUFA Board Buttons Driver"> |
| 61 | <device-support-alias value="lufa_avr8"/> | 61 | <device-support-alias value="lufa_avr8"/> |
| 62 | <device-support-alias value="lufa_xmega"/> | 62 | <device-support-alias value="lufa_xmega"/> |
| 63 | <device-support-alias value="lufa_uc3"/> | 63 | <device-support-alias value="lufa_uc3"/> |
| 64 | 64 | ||
| 65 | <build type="doxygen-entry-point" value="Group_Buttons"/> | 65 | <build type="doxygen-entry-point" value="Group_Buttons"/> |
| 66 | 66 | ||
| 67 | <require idref="lufa.common"/> | 67 | <require idref="lufa.common"/> |
| 68 | 68 | ||
| 69 | <build type="include-path" value=".."/> | 69 | <build type="include-path" value=".."/> |
| 70 | <build type="header-file" subtype="api" value="Drivers/Board/Buttons.h"/> | 70 | <build type="header-file" subtype="api" value="Drivers/Board/Buttons.h"/> |
| 71 | </module> | 71 | </module> |
| 72 | 72 | ||
| 73 | <module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver"> | 73 | <module type="driver" id="lufa.drivers.board.dataflash" caption="LUFA Board Dataflash Driver"> |
| 74 | <device-support-alias value="lufa_avr8"/> | 74 | <device-support-alias value="lufa_avr8"/> |
| 75 | <device-support-alias value="lufa_xmega"/> | 75 | <device-support-alias value="lufa_xmega"/> |
| 76 | <device-support-alias value="lufa_uc3"/> | 76 | <device-support-alias value="lufa_uc3"/> |
| 77 | 77 | ||
| 78 | <build type="doxygen-entry-point" value="Group_Dataflash"/> | 78 | <build type="doxygen-entry-point" value="Group_Dataflash"/> |
| 79 | 79 | ||
| 80 | <require idref="lufa.common"/> | 80 | <require idref="lufa.common"/> |
| 81 | 81 | ||
| 82 | <build type="include-path" value=".."/> | 82 | <build type="include-path" value=".."/> |
| 83 | <build type="header-file" subtype="api" value="Drivers/Board/Dataflash.h"/> | 83 | <build type="header-file" subtype="api" value="Drivers/Board/Dataflash.h"/> |
| 84 | </module> | 84 | </module> |
| 85 | 85 | ||
| 86 | <module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver"> | 86 | <module type="driver" id="lufa.drivers.board.joystick" caption="LUFA Board Joystick Driver"> |
| 87 | <device-support-alias value="lufa_avr8"/> | 87 | <device-support-alias value="lufa_avr8"/> |
| 88 | <device-support-alias value="lufa_xmega"/> | 88 | <device-support-alias value="lufa_xmega"/> |
| 89 | <device-support-alias value="lufa_uc3"/> | 89 | <device-support-alias value="lufa_uc3"/> |
| 90 | 90 | ||
| 91 | <build type="doxygen-entry-point" value="Group_Joystick"/> | 91 | <build type="doxygen-entry-point" value="Group_Joystick"/> |
| 92 | 92 | ||
| 93 | <require idref="lufa.common"/> | 93 | <require idref="lufa.common"/> |
| 94 | 94 | ||
| 95 | <build type="include-path" value=".."/> | 95 | <build type="include-path" value=".."/> |
| 96 | <build type="header-file" subtype="api" value="Drivers/Board/Joystick.h"/> | 96 | <build type="header-file" subtype="api" value="Drivers/Board/Joystick.h"/> |
| 97 | </module> | 97 | </module> |
| 98 | 98 | ||
| 99 | <module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver"> | 99 | <module type="driver" id="lufa.drivers.board.temperature" caption="LUFA Board Temperature Sensor Driver"> |
| 100 | <device-support-alias value="lufa_avr8"/> | 100 | <device-support-alias value="lufa_avr8"/> |
| 101 | <device-support-alias value="lufa_xmega"/> | 101 | <device-support-alias value="lufa_xmega"/> |
| 102 | <device-support-alias value="lufa_uc3"/> | 102 | <device-support-alias value="lufa_uc3"/> |
| 103 | 103 | ||
| 104 | <build type="doxygen-entry-point" value="Group_Temperature"/> | 104 | <build type="doxygen-entry-point" value="Group_Temperature"/> |
| 105 | 105 | ||
| 106 | <require idref="lufa.common"/> | 106 | <require idref="lufa.common"/> |
| 107 | <require idref="lufa.drivers.peripheral.adc"/> | 107 | <require idref="lufa.drivers.peripheral.adc"/> |
| 108 | 108 | ||
| 109 | <build type="c-source" value="Drivers/Board/Temperature.c"/> | 109 | <build type="c-source" value="Drivers/Board/Temperature.c"/> |
| 110 | <build type="include-path" value=".."/> | 110 | <build type="include-path" value=".."/> |
| 111 | <build type="header-file" subtype="api" value="Drivers/Board/Temperature.h"/> | 111 | <build type="header-file" subtype="api" value="Drivers/Board/Temperature.h"/> |
| 112 | </module> | 112 | </module> |
| 113 | </asf> | 113 | </asf> |
| 114 | </lufa> | 114 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board_names.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board_names.xml index 4b099920b..ab7e03e4e 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board_names.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_board_names.xml | |||
| @@ -1,853 +1,853 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <select-by-config id="lufa.drivers.board" name="lufa.drivers.board.name" default="none" caption="LUFA Board Support"> | 13 | <select-by-config id="lufa.drivers.board" name="lufa.drivers.board.name" default="none" caption="LUFA Board Support"> |
| 14 | <info type="description" value="summary"> | 14 | <info type="description" value="summary"> |
| 15 | Board hardware (LEDs, Buttons, etc.) drivers for the preconfigured LUFA boards. Note that only the boards | 15 | Board hardware (LEDs, Buttons, etc.) drivers for the preconfigured LUFA boards. Note that only the boards |
| 16 | compatible with the currently selected device will be shown. | 16 | compatible with the currently selected device will be shown. |
| 17 | 17 | ||
| 18 | To disable all hardware drivers silently, use NONE. To supply customer drivers, use USER (see manual). | 18 | To disable all hardware drivers silently, use NONE. To supply customer drivers, use USER (see manual). |
| 19 | </info> | 19 | </info> |
| 20 | 20 | ||
| 21 | <module type="driver" id="lufa.drivers.board#none" caption="Board Support - None"> | 21 | <module type="driver" id="lufa.drivers.board#none" caption="Board Support - None"> |
| 22 | <device-support value="avr"/> | 22 | <device-support value="avr"/> |
| 23 | <build type="define" name="BOARD" value="BOARD_NONE"/> | 23 | <build type="define" name="BOARD" value="BOARD_NONE"/> |
| 24 | </module> | 24 | </module> |
| 25 | 25 | ||
| 26 | <module type="driver" id="lufa.drivers.board#user" caption="Board Support - User Supplied"> | 26 | <module type="driver" id="lufa.drivers.board#user" caption="Board Support - User Supplied"> |
| 27 | <device-support value="avr"/> | 27 | <device-support value="avr"/> |
| 28 | <build type="define" name="BOARD" value="BOARD_USER"/> | 28 | <build type="define" name="BOARD" value="BOARD_USER"/> |
| 29 | </module> | 29 | </module> |
| 30 | 30 | ||
| 31 | <module type="driver" id="lufa.drivers.board#adafruit_u4" caption="Board Support - ADAFRUITU4"> | 31 | <module type="driver" id="lufa.drivers.board#adafruit_u4" caption="Board Support - ADAFRUITU4"> |
| 32 | <build type="doxygen-entry-point" value="Group_BoardInfo_ADAFRUITU4"/> | 32 | <build type="doxygen-entry-point" value="Group_BoardInfo_ADAFRUITU4"/> |
| 33 | 33 | ||
| 34 | <device-support value="atmega32u4"/> | 34 | <device-support value="atmega32u4"/> |
| 35 | <build type="define" name="BOARD" value="BOARD_ADAFRUITU4"/> | 35 | <build type="define" name="BOARD" value="BOARD_ADAFRUITU4"/> |
| 36 | 36 | ||
| 37 | <require idref="lufa.drivers.board.leds"/> | 37 | <require idref="lufa.drivers.board.leds"/> |
| 38 | 38 | ||
| 39 | <build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/Board.h"/> | 39 | <build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/Board.h"/> |
| 40 | <build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/LEDs.h"/> | 40 | <build type="header-file" value="Drivers/Board/AVR8/ADAFRUITU4/LEDs.h"/> |
| 41 | </module> | 41 | </module> |
| 42 | 42 | ||
| 43 | <module type="driver" id="lufa.drivers.board#atavrusbrf01" caption="Board Support - ATAVRUSBRF01"> | 43 | <module type="driver" id="lufa.drivers.board#atavrusbrf01" caption="Board Support - ATAVRUSBRF01"> |
| 44 | <build type="doxygen-entry-point" value="Group_BoardInfo_ATAVRUSBRF01"/> | 44 | <build type="doxygen-entry-point" value="Group_BoardInfo_ATAVRUSBRF01"/> |
| 45 | 45 | ||
| 46 | <device-support value="at90usb1287"/> | 46 | <device-support value="at90usb1287"/> |
| 47 | <build type="define" name="BOARD" value="BOARD_ATAVRUSBRF01"/> | 47 | <build type="define" name="BOARD" value="BOARD_ATAVRUSBRF01"/> |
| 48 | 48 | ||
| 49 | <require idref="lufa.drivers.board.buttons"/> | 49 | <require idref="lufa.drivers.board.buttons"/> |
| 50 | <require idref="lufa.drivers.board.leds"/> | 50 | <require idref="lufa.drivers.board.leds"/> |
| 51 | 51 | ||
| 52 | <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Board.h"/> | 52 | <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Board.h"/> |
| 53 | <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h"/> | 53 | <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h"/> |
| 54 | <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h"/> | 54 | <build type="header-file" value="Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h"/> |
| 55 | </module> | 55 | </module> |
| 56 | 56 | ||
| 57 | <module type="driver" id="lufa.drivers.board#benito" caption="Board Support - BENITO"> | 57 | <module type="driver" id="lufa.drivers.board#benito" caption="Board Support - BENITO"> |
| 58 | <build type="doxygen-entry-point" value="Group_BoardInfo_BENITO"/> | 58 | <build type="doxygen-entry-point" value="Group_BoardInfo_BENITO"/> |
| 59 | 59 | ||
| 60 | <device-support value="at90usb162"/> | 60 | <device-support value="at90usb162"/> |
| 61 | <build type="define" name="BOARD" value="BOARD_BENITO"/> | 61 | <build type="define" name="BOARD" value="BOARD_BENITO"/> |
| 62 | 62 | ||
| 63 | <require idref="lufa.drivers.board.buttons"/> | 63 | <require idref="lufa.drivers.board.buttons"/> |
| 64 | <require idref="lufa.drivers.board.leds"/> | 64 | <require idref="lufa.drivers.board.leds"/> |
| 65 | 65 | ||
| 66 | <build type="header-file" value="Drivers/Board/AVR8/BENITO/Board.h"/> | 66 | <build type="header-file" value="Drivers/Board/AVR8/BENITO/Board.h"/> |
| 67 | <build type="header-file" value="Drivers/Board/AVR8/BENITO/Buttons.h"/> | 67 | <build type="header-file" value="Drivers/Board/AVR8/BENITO/Buttons.h"/> |
| 68 | <build type="header-file" value="Drivers/Board/AVR8/BENITO/LEDs.h"/> | 68 | <build type="header-file" value="Drivers/Board/AVR8/BENITO/LEDs.h"/> |
| 69 | </module> | 69 | </module> |
| 70 | 70 | ||
| 71 | <module type="driver" id="lufa.drivers.board#big_multio" caption="Board Support - BIGMULTIO"> | 71 | <module type="driver" id="lufa.drivers.board#big_multio" caption="Board Support - BIGMULTIO"> |
| 72 | <build type="doxygen-entry-point" value="Group_BoardInfo_BIGMULTIO"/> | 72 | <build type="doxygen-entry-point" value="Group_BoardInfo_BIGMULTIO"/> |
| 73 | 73 | ||
| 74 | <device-support value="atmega32u4"/> | 74 | <device-support value="atmega32u4"/> |
| 75 | <build type="define" name="BOARD" value="BOARD_BIGMULTIO"/> | 75 | <build type="define" name="BOARD" value="BOARD_BIGMULTIO"/> |
| 76 | 76 | ||
| 77 | <require idref="lufa.drivers.board.leds"/> | 77 | <require idref="lufa.drivers.board.leds"/> |
| 78 | 78 | ||
| 79 | <build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/Board.h"/> | 79 | <build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/Board.h"/> |
| 80 | <build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/LEDs.h"/> | 80 | <build type="header-file" value="Drivers/Board/AVR8/BIGMULTIO/LEDs.h"/> |
| 81 | </module> | 81 | </module> |
| 82 | 82 | ||
| 83 | <module type="driver" id="lufa.drivers.board#blackcat" caption="Board Support - BLACKCAT"> | 83 | <module type="driver" id="lufa.drivers.board#blackcat" caption="Board Support - BLACKCAT"> |
| 84 | <build type="doxygen-entry-point" value="Group_BoardInfo_BLACKCAT"/> | 84 | <build type="doxygen-entry-point" value="Group_BoardInfo_BLACKCAT"/> |
| 85 | 85 | ||
| 86 | <device-support value="at90usb162"/> | 86 | <device-support value="at90usb162"/> |
| 87 | <build type="define" name="BOARD" value="BOARD_BLACKCAT"/> | 87 | <build type="define" name="BOARD" value="BOARD_BLACKCAT"/> |
| 88 | 88 | ||
| 89 | <require idref="lufa.drivers.board.leds"/> | 89 | <require idref="lufa.drivers.board.leds"/> |
| 90 | 90 | ||
| 91 | <build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/Board.h"/> | 91 | <build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/Board.h"/> |
| 92 | <build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/LEDs.h"/> | 92 | <build type="header-file" value="Drivers/Board/AVR8/BLACKCAT/LEDs.h"/> |
| 93 | </module> | 93 | </module> |
| 94 | 94 | ||
| 95 | <module type="driver" id="lufa.drivers.board#bui" caption="Board Support - BUI"> | 95 | <module type="driver" id="lufa.drivers.board#bui" caption="Board Support - BUI"> |
| 96 | <build type="doxygen-entry-point" value="Group_BoardInfo_BUI"/> | 96 | <build type="doxygen-entry-point" value="Group_BoardInfo_BUI"/> |
| 97 | 97 | ||
| 98 | <device-support value="at90usb646"/> | 98 | <device-support value="at90usb646"/> |
| 99 | <build type="define" name="BOARD" value="BOARD_BUI"/> | 99 | <build type="define" name="BOARD" value="BOARD_BUI"/> |
| 100 | 100 | ||
| 101 | <require idref="lufa.drivers.board.leds"/> | 101 | <require idref="lufa.drivers.board.leds"/> |
| 102 | 102 | ||
| 103 | <build type="header-file" value="Drivers/Board/AVR8/BUI/Board.h"/> | 103 | <build type="header-file" value="Drivers/Board/AVR8/BUI/Board.h"/> |
| 104 | <build type="header-file" value="Drivers/Board/AVR8/BUI/LEDs.h"/> | 104 | <build type="header-file" value="Drivers/Board/AVR8/BUI/LEDs.h"/> |
| 105 | </module> | 105 | </module> |
| 106 | 106 | ||
| 107 | <module type="driver" id="lufa.drivers.board#bumbleb" caption="Board Support - BUMBLEB"> | 107 | <module type="driver" id="lufa.drivers.board#bumbleb" caption="Board Support - BUMBLEB"> |
| 108 | <build type="doxygen-entry-point" value="Group_BoardInfo_BUMBLEB"/> | 108 | <build type="doxygen-entry-point" value="Group_BoardInfo_BUMBLEB"/> |
| 109 | 109 | ||
| 110 | <device-support value="at90usb162"/> | 110 | <device-support value="at90usb162"/> |
| 111 | <build type="define" name="BOARD" value="BOARD_BUMBLEB"/> | 111 | <build type="define" name="BOARD" value="BOARD_BUMBLEB"/> |
| 112 | 112 | ||
| 113 | <require idref="lufa.drivers.board.buttons"/> | 113 | <require idref="lufa.drivers.board.buttons"/> |
| 114 | <require idref="lufa.drivers.board.leds"/> | 114 | <require idref="lufa.drivers.board.leds"/> |
| 115 | <require idref="lufa.drivers.board.joystick"/> | 115 | <require idref="lufa.drivers.board.joystick"/> |
| 116 | 116 | ||
| 117 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Board.h"/> | 117 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Board.h"/> |
| 118 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Buttons.h"/> | 118 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Buttons.h"/> |
| 119 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Joystick.h"/> | 119 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/Joystick.h"/> |
| 120 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/LEDs.h"/> | 120 | <build type="header-file" value="Drivers/Board/AVR8/BUMBLEB/LEDs.h"/> |
| 121 | </module> | 121 | </module> |
| 122 | 122 | ||
| 123 | <module type="driver" id="lufa.drivers.board#culv3" caption="Board Support - CULV3"> | 123 | <module type="driver" id="lufa.drivers.board#culv3" caption="Board Support - CULV3"> |
| 124 | <build type="doxygen-entry-point" value="Group_BoardInfo_CULV3"/> | 124 | <build type="doxygen-entry-point" value="Group_BoardInfo_CULV3"/> |
| 125 | 125 | ||
| 126 | <device-support value="atmega32u4"/> | 126 | <device-support value="atmega32u4"/> |
| 127 | <build type="define" name="BOARD" value="BOARD_CULV3"/> | 127 | <build type="define" name="BOARD" value="BOARD_CULV3"/> |
| 128 | 128 | ||
| 129 | <require idref="lufa.drivers.board.buttons"/> | 129 | <require idref="lufa.drivers.board.buttons"/> |
| 130 | <require idref="lufa.drivers.board.leds"/> | 130 | <require idref="lufa.drivers.board.leds"/> |
| 131 | 131 | ||
| 132 | <build type="header-file" value="Drivers/Board/AVR8/CULV3/Board.h"/> | 132 | <build type="header-file" value="Drivers/Board/AVR8/CULV3/Board.h"/> |
| 133 | <build type="header-file" value="Drivers/Board/AVR8/CULV3/Buttons.h"/> | 133 | <build type="header-file" value="Drivers/Board/AVR8/CULV3/Buttons.h"/> |
| 134 | <build type="header-file" value="Drivers/Board/AVR8/CULV3/LEDs.h"/> | 134 | <build type="header-file" value="Drivers/Board/AVR8/CULV3/LEDs.h"/> |
| 135 | </module> | 135 | </module> |
| 136 | 136 | ||
| 137 | <module type="driver" id="lufa.drivers.board#duce" caption="Board Support - DUCE"> | 137 | <module type="driver" id="lufa.drivers.board#duce" caption="Board Support - DUCE"> |
| 138 | <build type="doxygen-entry-point" value="Group_BoardInfo_DUCE"/> | 138 | <build type="doxygen-entry-point" value="Group_BoardInfo_DUCE"/> |
| 139 | 139 | ||
| 140 | <device-support value="atmega32u2"/> | 140 | <device-support value="atmega32u2"/> |
| 141 | <build type="define" name="BOARD" value="BOARD_DUCE"/> | 141 | <build type="define" name="BOARD" value="BOARD_DUCE"/> |
| 142 | 142 | ||
| 143 | <require idref="lufa.drivers.board.leds"/> | 143 | <require idref="lufa.drivers.board.leds"/> |
| 144 | 144 | ||
| 145 | <build type="header-file" value="Drivers/Board/AVR8/DUCE/Board.h"/> | 145 | <build type="header-file" value="Drivers/Board/AVR8/DUCE/Board.h"/> |
| 146 | <build type="header-file" value="Drivers/Board/AVR8/DUCE/LEDs.h"/> | 146 | <build type="header-file" value="Drivers/Board/AVR8/DUCE/LEDs.h"/> |
| 147 | </module> | 147 | </module> |
| 148 | 148 | ||
| 149 | <module type="driver" id="lufa.drivers.board#evk527" caption="Board Support - EVK527"> | 149 | <module type="driver" id="lufa.drivers.board#evk527" caption="Board Support - EVK527"> |
| 150 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK527"/> | 150 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK527"/> |
| 151 | 151 | ||
| 152 | <device-support value="atmega32u4"/> | 152 | <device-support value="atmega32u4"/> |
| 153 | <build type="define" name="BOARD" value="BOARD_EVK527"/> | 153 | <build type="define" name="BOARD" value="BOARD_EVK527"/> |
| 154 | 154 | ||
| 155 | <require idref="lufa.drivers.misc.at45db321c"/> | 155 | <require idref="lufa.drivers.misc.at45db321c"/> |
| 156 | <require idref="lufa.drivers.peripheral.spi"/> | 156 | <require idref="lufa.drivers.peripheral.spi"/> |
| 157 | <require idref="lufa.drivers.board.buttons"/> | 157 | <require idref="lufa.drivers.board.buttons"/> |
| 158 | <require idref="lufa.drivers.board.dataflash"/> | 158 | <require idref="lufa.drivers.board.dataflash"/> |
| 159 | <require idref="lufa.drivers.board.joystick"/> | 159 | <require idref="lufa.drivers.board.joystick"/> |
| 160 | <require idref="lufa.drivers.board.leds"/> | 160 | <require idref="lufa.drivers.board.leds"/> |
| 161 | 161 | ||
| 162 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Board.h"/> | 162 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Board.h"/> |
| 163 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Buttons.h"/> | 163 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Buttons.h"/> |
| 164 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Dataflash.h"/> | 164 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Dataflash.h"/> |
| 165 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Joystick.h"/> | 165 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/Joystick.h"/> |
| 166 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/LEDs.h"/> | 166 | <build type="header-file" value="Drivers/Board/AVR8/EVK527/LEDs.h"/> |
| 167 | </module> | 167 | </module> |
| 168 | 168 | ||
| 169 | <module type="driver" id="lufa.drivers.board#jm_db_u2" caption="Board Support - JMDBU2"> | 169 | <module type="driver" id="lufa.drivers.board#jm_db_u2" caption="Board Support - JMDBU2"> |
| 170 | <build type="doxygen-entry-point" value="Group_BoardInfo_JMDBU2"/> | 170 | <build type="doxygen-entry-point" value="Group_BoardInfo_JMDBU2"/> |
| 171 | 171 | ||
| 172 | <device-support value="atmega32u2"/> | 172 | <device-support value="atmega32u2"/> |
| 173 | <build type="define" name="BOARD" value="BOARD_JMDBU2"/> | 173 | <build type="define" name="BOARD" value="BOARD_JMDBU2"/> |
| 174 | 174 | ||
| 175 | <require idref="lufa.drivers.board.buttons"/> | 175 | <require idref="lufa.drivers.board.buttons"/> |
| 176 | <require idref="lufa.drivers.board.leds"/> | 176 | <require idref="lufa.drivers.board.leds"/> |
| 177 | 177 | ||
| 178 | <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Board.h"/> | 178 | <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Board.h"/> |
| 179 | <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Buttons.h"/> | 179 | <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/Buttons.h"/> |
| 180 | <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/LEDs.h"/> | 180 | <build type="header-file" value="Drivers/Board/AVR8/JMDBU2/LEDs.h"/> |
| 181 | </module> | 181 | </module> |
| 182 | 182 | ||
| 183 | <module type="driver" id="lufa.drivers.board#leonardo" caption="Board Support - LEONARDO"> | 183 | <module type="driver" id="lufa.drivers.board#leonardo" caption="Board Support - LEONARDO"> |
| 184 | <build type="doxygen-entry-point" value="Group_BoardInfo_LEONARDO"/> | 184 | <build type="doxygen-entry-point" value="Group_BoardInfo_LEONARDO"/> |
| 185 | 185 | ||
| 186 | <device-support value="atmega32u4"/> | 186 | <device-support value="atmega32u4"/> |
| 187 | <build type="define" name="BOARD" value="BOARD_LEONARDO"/> | 187 | <build type="define" name="BOARD" value="BOARD_LEONARDO"/> |
| 188 | 188 | ||
| 189 | <require idref="lufa.drivers.board.leds"/> | 189 | <require idref="lufa.drivers.board.leds"/> |
| 190 | 190 | ||
| 191 | <build type="header-file" value="Drivers/Board/AVR8/LEONARDO/Board.h"/> | 191 | <build type="header-file" value="Drivers/Board/AVR8/LEONARDO/Board.h"/> |
| 192 | <build type="header-file" value="Drivers/Board/AVR8/LEONARDO/LEDs.h"/> | 192 | <build type="header-file" value="Drivers/Board/AVR8/LEONARDO/LEDs.h"/> |
| 193 | </module> | 193 | </module> |
| 194 | 194 | ||
| 195 | <module type="driver" id="lufa.drivers.board#maximus" caption="Board Support - MAXIMUS"> | 195 | <module type="driver" id="lufa.drivers.board#maximus" caption="Board Support - MAXIMUS"> |
| 196 | <build type="doxygen-entry-point" value="Group_BoardInfo_MAXIMUS"/> | 196 | <build type="doxygen-entry-point" value="Group_BoardInfo_MAXIMUS"/> |
| 197 | 197 | ||
| 198 | <device-support value="at90usb162"/> | 198 | <device-support value="at90usb162"/> |
| 199 | <build type="define" name="BOARD" value="BOARD_MAXIMUS"/> | 199 | <build type="define" name="BOARD" value="BOARD_MAXIMUS"/> |
| 200 | 200 | ||
| 201 | <require idref="lufa.drivers.board.leds"/> | 201 | <require idref="lufa.drivers.board.leds"/> |
| 202 | 202 | ||
| 203 | <build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/Board.h"/> | 203 | <build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/Board.h"/> |
| 204 | <build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/LEDs.h"/> | 204 | <build type="header-file" value="Drivers/Board/AVR8/MAXIMUS/LEDs.h"/> |
| 205 | </module> | 205 | </module> |
| 206 | 206 | ||
| 207 | <module type="driver" id="lufa.drivers.board#micropendous_32u2" caption="Board Support - MICROPENDOUS_32U2"> | 207 | <module type="driver" id="lufa.drivers.board#micropendous_32u2" caption="Board Support - MICROPENDOUS_32U2"> |
| 208 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_32U2"/> | 208 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_32U2"/> |
| 209 | 209 | ||
| 210 | <device-support value="atmega32u2"/> | 210 | <device-support value="atmega32u2"/> |
| 211 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_32U2"/> | 211 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_32U2"/> |
| 212 | 212 | ||
| 213 | <require idref="lufa.drivers.board.leds"/> | 213 | <require idref="lufa.drivers.board.leds"/> |
| 214 | <require idref="lufa.drivers.board.buttons"/> | 214 | <require idref="lufa.drivers.board.buttons"/> |
| 215 | 215 | ||
| 216 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 216 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 217 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/> | 217 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/> |
| 218 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 218 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 219 | </module> | 219 | </module> |
| 220 | 220 | ||
| 221 | <module type="driver" id="lufa.drivers.board#micropendous_a" caption="Board Support - MICROPENDOUS_A"> | 221 | <module type="driver" id="lufa.drivers.board#micropendous_a" caption="Board Support - MICROPENDOUS_A"> |
| 222 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_A"/> | 222 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_A"/> |
| 223 | 223 | ||
| 224 | <device-support value="at90usb1287"/> | 224 | <device-support value="at90usb1287"/> |
| 225 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_A"/> | 225 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_A"/> |
| 226 | 226 | ||
| 227 | <require idref="lufa.drivers.board.buttons"/> | 227 | <require idref="lufa.drivers.board.buttons"/> |
| 228 | 228 | ||
| 229 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 229 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 230 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 230 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 231 | </module> | 231 | </module> |
| 232 | 232 | ||
| 233 | <module type="driver" id="lufa.drivers.board#micropendous_1" caption="Board Support - MICROPENDOUS_1"> | 233 | <module type="driver" id="lufa.drivers.board#micropendous_1" caption="Board Support - MICROPENDOUS_1"> |
| 234 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_1"/> | 234 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_1"/> |
| 235 | 235 | ||
| 236 | <device-support value="at90usb162"/> | 236 | <device-support value="at90usb162"/> |
| 237 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_1"/> | 237 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_1"/> |
| 238 | 238 | ||
| 239 | <require idref="lufa.drivers.board.buttons"/> | 239 | <require idref="lufa.drivers.board.buttons"/> |
| 240 | 240 | ||
| 241 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 241 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 242 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 242 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 243 | </module> | 243 | </module> |
| 244 | 244 | ||
| 245 | <module type="driver" id="lufa.drivers.board#micropendous_2" caption="Board Support - MICROPENDOUS_2"> | 245 | <module type="driver" id="lufa.drivers.board#micropendous_2" caption="Board Support - MICROPENDOUS_2"> |
| 246 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_2"/> | 246 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_2"/> |
| 247 | 247 | ||
| 248 | <device-support value="atmega32u4"/> | 248 | <device-support value="atmega32u4"/> |
| 249 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_2"/> | 249 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_2"/> |
| 250 | 250 | ||
| 251 | <require idref="lufa.drivers.board.buttons"/> | 251 | <require idref="lufa.drivers.board.buttons"/> |
| 252 | 252 | ||
| 253 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 253 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 254 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 254 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 255 | </module> | 255 | </module> |
| 256 | 256 | ||
| 257 | <module type="driver" id="lufa.drivers.board#micropendous_3" caption="Board Support - MICROPENDOUS_3"> | 257 | <module type="driver" id="lufa.drivers.board#micropendous_3" caption="Board Support - MICROPENDOUS_3"> |
| 258 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_3"/> | 258 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_3"/> |
| 259 | 259 | ||
| 260 | <device-support value="at90usb1287"/> | 260 | <device-support value="at90usb1287"/> |
| 261 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_3"/> | 261 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_3"/> |
| 262 | 262 | ||
| 263 | <require idref="lufa.drivers.board.buttons"/> | 263 | <require idref="lufa.drivers.board.buttons"/> |
| 264 | 264 | ||
| 265 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 265 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 266 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 266 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 267 | </module> | 267 | </module> |
| 268 | 268 | ||
| 269 | <module type="driver" id="lufa.drivers.board#micropendous_4" caption="Board Support - MICROPENDOUS_4"> | 269 | <module type="driver" id="lufa.drivers.board#micropendous_4" caption="Board Support - MICROPENDOUS_4"> |
| 270 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_4"/> | 270 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_4"/> |
| 271 | 271 | ||
| 272 | <device-support value="at90usb1287"/> | 272 | <device-support value="at90usb1287"/> |
| 273 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_4"/> | 273 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_4"/> |
| 274 | 274 | ||
| 275 | <require idref="lufa.drivers.board.buttons"/> | 275 | <require idref="lufa.drivers.board.buttons"/> |
| 276 | 276 | ||
| 277 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 277 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 278 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 278 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 279 | </module> | 279 | </module> |
| 280 | 280 | ||
| 281 | <module type="driver" id="lufa.drivers.board#micropendous_dip" caption="Board Support - MICROPENDOUS_DIP"> | 281 | <module type="driver" id="lufa.drivers.board#micropendous_dip" caption="Board Support - MICROPENDOUS_DIP"> |
| 282 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_DIP"/> | 282 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_DIP"/> |
| 283 | 283 | ||
| 284 | <device-support value="at90usb1287"/> | 284 | <device-support value="at90usb1287"/> |
| 285 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_DIP"/> | 285 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_DIP"/> |
| 286 | 286 | ||
| 287 | <require idref="lufa.drivers.board.buttons"/> | 287 | <require idref="lufa.drivers.board.buttons"/> |
| 288 | 288 | ||
| 289 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 289 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 290 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 290 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 291 | </module> | 291 | </module> |
| 292 | 292 | ||
| 293 | <module type="driver" id="lufa.drivers.board#micropendous_rev1" caption="Board Support - MICROPENDOUS_REV1"> | 293 | <module type="driver" id="lufa.drivers.board#micropendous_rev1" caption="Board Support - MICROPENDOUS_REV1"> |
| 294 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV1"/> | 294 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV1"/> |
| 295 | 295 | ||
| 296 | <device-support value="at90usb1287"/> | 296 | <device-support value="at90usb1287"/> |
| 297 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV1"/> | 297 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV1"/> |
| 298 | 298 | ||
| 299 | <require idref="lufa.drivers.board.leds"/> | 299 | <require idref="lufa.drivers.board.leds"/> |
| 300 | <require idref="lufa.drivers.board.buttons"/> | 300 | <require idref="lufa.drivers.board.buttons"/> |
| 301 | 301 | ||
| 302 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 302 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 303 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/> | 303 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/> |
| 304 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 304 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 305 | </module> | 305 | </module> |
| 306 | 306 | ||
| 307 | <module type="driver" id="lufa.drivers.board#micropendous_rev2" caption="Board Support - MICROPENDOUS_REV2"> | 307 | <module type="driver" id="lufa.drivers.board#micropendous_rev2" caption="Board Support - MICROPENDOUS_REV2"> |
| 308 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV2"/> | 308 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROPENDOUS_REV2"/> |
| 309 | 309 | ||
| 310 | <device-support value="at90usb1287"/> | 310 | <device-support value="at90usb1287"/> |
| 311 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV2"/> | 311 | <build type="define" name="BOARD" value="BOARD_MICROPENDOUS_REV2"/> |
| 312 | 312 | ||
| 313 | <require idref="lufa.drivers.board.leds"/> | 313 | <require idref="lufa.drivers.board.leds"/> |
| 314 | <require idref="lufa.drivers.board.buttons"/> | 314 | <require idref="lufa.drivers.board.buttons"/> |
| 315 | 315 | ||
| 316 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> | 316 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Board.h"/> |
| 317 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/> | 317 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/LEDs.h"/> |
| 318 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> | 318 | <build type="header-file" value="Drivers/Board/AVR8/MICROPENDOUS/Buttons.h"/> |
| 319 | </module> | 319 | </module> |
| 320 | 320 | ||
| 321 | <module type="driver" id="lufa.drivers.board#microsin_162" caption="Board Support - MICROSIN162"> | 321 | <module type="driver" id="lufa.drivers.board#microsin_162" caption="Board Support - MICROSIN162"> |
| 322 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROSIN162"/> | 322 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICROSIN162"/> |
| 323 | 323 | ||
| 324 | <device-support value="atmega162"/> | 324 | <device-support value="atmega162"/> |
| 325 | <build type="define" name="BOARD" value="BOARD_MICROSIN162"/> | 325 | <build type="define" name="BOARD" value="BOARD_MICROSIN162"/> |
| 326 | 326 | ||
| 327 | <require idref="lufa.drivers.board.leds"/> | 327 | <require idref="lufa.drivers.board.leds"/> |
| 328 | <require idref="lufa.drivers.board.buttons"/> | 328 | <require idref="lufa.drivers.board.buttons"/> |
| 329 | 329 | ||
| 330 | <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Board.h"/> | 330 | <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Board.h"/> |
| 331 | <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/LEDs.h"/> | 331 | <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/LEDs.h"/> |
| 332 | <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Buttons.h"/> | 332 | <build type="header-file" value="Drivers/Board/AVR8/MICROSIN162/Buttons.h"/> |
| 333 | </module> | 333 | </module> |
| 334 | 334 | ||
| 335 | <module type="driver" id="lufa.drivers.board#minimus" caption="Board Support - MINIMUS"> | 335 | <module type="driver" id="lufa.drivers.board#minimus" caption="Board Support - MINIMUS"> |
| 336 | <build type="doxygen-entry-point" value="Group_BoardInfo_MINIMUS"/> | 336 | <build type="doxygen-entry-point" value="Group_BoardInfo_MINIMUS"/> |
| 337 | 337 | ||
| 338 | <device-support value="atmega32u2"/> | 338 | <device-support value="atmega32u2"/> |
| 339 | <build type="define" name="BOARD" value="BOARD_MINIMUS"/> | 339 | <build type="define" name="BOARD" value="BOARD_MINIMUS"/> |
| 340 | 340 | ||
| 341 | <require idref="lufa.drivers.board.leds"/> | 341 | <require idref="lufa.drivers.board.leds"/> |
| 342 | <require idref="lufa.drivers.board.buttons"/> | 342 | <require idref="lufa.drivers.board.buttons"/> |
| 343 | 343 | ||
| 344 | <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Board.h"/> | 344 | <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Board.h"/> |
| 345 | <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/LEDs.h"/> | 345 | <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/LEDs.h"/> |
| 346 | <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Buttons.h"/> | 346 | <build type="header-file" value="Drivers/Board/AVR8/MINIMUS/Buttons.h"/> |
| 347 | </module> | 347 | </module> |
| 348 | 348 | ||
| 349 | <module type="driver" id="lufa.drivers.board#multio" caption="Board Support - MULTIO"> | 349 | <module type="driver" id="lufa.drivers.board#multio" caption="Board Support - MULTIO"> |
| 350 | <build type="doxygen-entry-point" value="Group_BoardInfo_MULTIO"/> | 350 | <build type="doxygen-entry-point" value="Group_BoardInfo_MULTIO"/> |
| 351 | 351 | ||
| 352 | <device-support value="at90usb162"/> | 352 | <device-support value="at90usb162"/> |
| 353 | <build type="define" name="BOARD" value="BOARD_MULTIO"/> | 353 | <build type="define" name="BOARD" value="BOARD_MULTIO"/> |
| 354 | 354 | ||
| 355 | <require idref="lufa.drivers.board.leds"/> | 355 | <require idref="lufa.drivers.board.leds"/> |
| 356 | 356 | ||
| 357 | <build type="header-file" value="Drivers/Board/AVR8/MULTIO/Board.h"/> | 357 | <build type="header-file" value="Drivers/Board/AVR8/MULTIO/Board.h"/> |
| 358 | <build type="header-file" value="Drivers/Board/AVR8/MULTIO/LEDs.h"/> | 358 | <build type="header-file" value="Drivers/Board/AVR8/MULTIO/LEDs.h"/> |
| 359 | </module> | 359 | </module> |
| 360 | 360 | ||
| 361 | <module type="driver" id="lufa.drivers.board#olimex_162" caption="Board Support - OLIMEX162"> | 361 | <module type="driver" id="lufa.drivers.board#olimex_162" caption="Board Support - OLIMEX162"> |
| 362 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX162"/> | 362 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX162"/> |
| 363 | 363 | ||
| 364 | <device-support value="at90usb162"/> | 364 | <device-support value="at90usb162"/> |
| 365 | <build type="define" name="BOARD" value="BOARD_OLIMEX162"/> | 365 | <build type="define" name="BOARD" value="BOARD_OLIMEX162"/> |
| 366 | 366 | ||
| 367 | <require idref="lufa.drivers.board.leds"/> | 367 | <require idref="lufa.drivers.board.leds"/> |
| 368 | <require idref="lufa.drivers.board.buttons"/> | 368 | <require idref="lufa.drivers.board.buttons"/> |
| 369 | 369 | ||
| 370 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Board.h"/> | 370 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Board.h"/> |
| 371 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/LEDs.h"/> | 371 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/LEDs.h"/> |
| 372 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Buttons.h"/> | 372 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX162/Buttons.h"/> |
| 373 | </module> | 373 | </module> |
| 374 | 374 | ||
| 375 | <module type="driver" id="lufa.drivers.board#olimex_32u4" caption="Board Support - OLIMEX32U4"> | 375 | <module type="driver" id="lufa.drivers.board#olimex_32u4" caption="Board Support - OLIMEX32U4"> |
| 376 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX32U4"/> | 376 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEX32U4"/> |
| 377 | 377 | ||
| 378 | <device-support value="atmega32u4"/> | 378 | <device-support value="atmega32u4"/> |
| 379 | <build type="define" name="BOARD" value="BOARD_OLIMEX32U4"/> | 379 | <build type="define" name="BOARD" value="BOARD_OLIMEX32U4"/> |
| 380 | 380 | ||
| 381 | <require idref="lufa.drivers.board.leds"/> | 381 | <require idref="lufa.drivers.board.leds"/> |
| 382 | <require idref="lufa.drivers.board.buttons"/> | 382 | <require idref="lufa.drivers.board.buttons"/> |
| 383 | 383 | ||
| 384 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Board.h"/> | 384 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Board.h"/> |
| 385 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/LEDs.h"/> | 385 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/LEDs.h"/> |
| 386 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Buttons.h"/> | 386 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEX32U4/Buttons.h"/> |
| 387 | </module> | 387 | </module> |
| 388 | 388 | ||
| 389 | <module type="driver" id="lufa.drivers.board#olimex_isp_mkii" caption="Board Support - OLIMEXISPMK2"> | 389 | <module type="driver" id="lufa.drivers.board#olimex_isp_mkii" caption="Board Support - OLIMEXISPMK2"> |
| 390 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXISPMK2"/> | 390 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXISPMK2"/> |
| 391 | 391 | ||
| 392 | <device-support value="at90usb162"/> | 392 | <device-support value="at90usb162"/> |
| 393 | <build type="define" name="BOARD" value="BOARD_OLIMEXISPMK2"/> | 393 | <build type="define" name="BOARD" value="BOARD_OLIMEXISPMK2"/> |
| 394 | 394 | ||
| 395 | <require idref="lufa.drivers.board.leds"/> | 395 | <require idref="lufa.drivers.board.leds"/> |
| 396 | <require idref="lufa.drivers.board.buttons"/> | 396 | <require idref="lufa.drivers.board.buttons"/> |
| 397 | 397 | ||
| 398 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Board.h"/> | 398 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Board.h"/> |
| 399 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h"/> | 399 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/LEDs.h"/> |
| 400 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h"/> | 400 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXISPMK2/Buttons.h"/> |
| 401 | </module> | 401 | </module> |
| 402 | 402 | ||
| 403 | <module type="driver" id="lufa.drivers.board#olimex_t32u4" caption="Board Support - OLIMEX_T32U4"> | 403 | <module type="driver" id="lufa.drivers.board#olimex_t32u4" caption="Board Support - OLIMEX_T32U4"> |
| 404 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXT32U4"/> | 404 | <build type="doxygen-entry-point" value="Group_BoardInfo_OLIMEXT32U4"/> |
| 405 | 405 | ||
| 406 | <device-support value="atmega32u4"/> | 406 | <device-support value="atmega32u4"/> |
| 407 | <build type="define" name="BOARD" value="BOARD_OLIMEXT32U4"/> | 407 | <build type="define" name="BOARD" value="BOARD_OLIMEXT32U4"/> |
| 408 | 408 | ||
| 409 | <require idref="lufa.drivers.board.leds"/> | 409 | <require idref="lufa.drivers.board.leds"/> |
| 410 | <require idref="lufa.drivers.board.buttons"/> | 410 | <require idref="lufa.drivers.board.buttons"/> |
| 411 | 411 | ||
| 412 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Board.h"/> | 412 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Board.h"/> |
| 413 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h"/> | 413 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h"/> |
| 414 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h"/> | 414 | <build type="header-file" value="Drivers/Board/AVR8/OLIMEXT32U4/Buttons.h"/> |
| 415 | </module> | 415 | </module> |
| 416 | 416 | ||
| 417 | <module type="driver" id="lufa.drivers.board#rzusbstick" caption="Board Support - RZUSBSTICK"> | 417 | <module type="driver" id="lufa.drivers.board#rzusbstick" caption="Board Support - RZUSBSTICK"> |
| 418 | <build type="doxygen-entry-point" value="Group_BoardInfo_RZUSBSTICK"/> | 418 | <build type="doxygen-entry-point" value="Group_BoardInfo_RZUSBSTICK"/> |
| 419 | 419 | ||
| 420 | <device-support value="at90usb1287"/> | 420 | <device-support value="at90usb1287"/> |
| 421 | <build type="define" name="BOARD" value="BOARD_RZUSBSTICK"/> | 421 | <build type="define" name="BOARD" value="BOARD_RZUSBSTICK"/> |
| 422 | 422 | ||
| 423 | <require idref="lufa.drivers.board.leds"/> | 423 | <require idref="lufa.drivers.board.leds"/> |
| 424 | 424 | ||
| 425 | <build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/Board.h"/> | 425 | <build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/Board.h"/> |
| 426 | <build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/LEDs.h"/> | 426 | <build type="header-file" value="Drivers/Board/AVR8/RZUSBSTICK/LEDs.h"/> |
| 427 | </module> | 427 | </module> |
| 428 | 428 | ||
| 429 | <module type="driver" id="lufa.drivers.board#sparkfun_8u2" caption="Board Support - SPARKFUN8U2"> | 429 | <module type="driver" id="lufa.drivers.board#sparkfun_8u2" caption="Board Support - SPARKFUN8U2"> |
| 430 | <build type="doxygen-entry-point" value="Group_BoardInfo_SPARKFUN8U2"/> | 430 | <build type="doxygen-entry-point" value="Group_BoardInfo_SPARKFUN8U2"/> |
| 431 | 431 | ||
| 432 | <device-support value="atmega8u2"/> | 432 | <device-support value="atmega8u2"/> |
| 433 | <build type="define" name="BOARD" value="BOARD_SPARKFUN8U2"/> | 433 | <build type="define" name="BOARD" value="BOARD_SPARKFUN8U2"/> |
| 434 | 434 | ||
| 435 | <require idref="lufa.drivers.board.leds"/> | 435 | <require idref="lufa.drivers.board.leds"/> |
| 436 | 436 | ||
| 437 | <build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/Board.h"/> | 437 | <build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/Board.h"/> |
| 438 | <build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h"/> | 438 | <build type="header-file" value="Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h"/> |
| 439 | </module> | 439 | </module> |
| 440 | 440 | ||
| 441 | <module type="driver" id="lufa.drivers.board#stk525" caption="Board Support - STK525"> | 441 | <module type="driver" id="lufa.drivers.board#stk525" caption="Board Support - STK525"> |
| 442 | <build type="doxygen-entry-point" value="Group_BoardInfo_STK525"/> | 442 | <build type="doxygen-entry-point" value="Group_BoardInfo_STK525"/> |
| 443 | 443 | ||
| 444 | <device-support value="at90usb1287"/> | 444 | <device-support value="at90usb1287"/> |
| 445 | <device-support value="at90usb1286"/> | 445 | <device-support value="at90usb1286"/> |
| 446 | <device-support value="at90usb647"/> | 446 | <device-support value="at90usb647"/> |
| 447 | <device-support value="at90usb646"/> | 447 | <device-support value="at90usb646"/> |
| 448 | <build type="define" name="BOARD" value="BOARD_STK525"/> | 448 | <build type="define" name="BOARD" value="BOARD_STK525"/> |
| 449 | 449 | ||
| 450 | <require idref="lufa.drivers.misc.at45db321c"/> | 450 | <require idref="lufa.drivers.misc.at45db321c"/> |
| 451 | <require idref="lufa.drivers.peripheral.spi"/> | 451 | <require idref="lufa.drivers.peripheral.spi"/> |
| 452 | <require idref="lufa.drivers.board.buttons"/> | 452 | <require idref="lufa.drivers.board.buttons"/> |
| 453 | <require idref="lufa.drivers.board.dataflash"/> | 453 | <require idref="lufa.drivers.board.dataflash"/> |
| 454 | <require idref="lufa.drivers.board.joystick"/> | 454 | <require idref="lufa.drivers.board.joystick"/> |
| 455 | <require idref="lufa.drivers.board.leds"/> | 455 | <require idref="lufa.drivers.board.leds"/> |
| 456 | 456 | ||
| 457 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Board.h"/> | 457 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Board.h"/> |
| 458 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Buttons.h"/> | 458 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Buttons.h"/> |
| 459 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Dataflash.h"/> | 459 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Dataflash.h"/> |
| 460 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Joystick.h"/> | 460 | <build type="header-file" value="Drivers/Board/AVR8/STK525/Joystick.h"/> |
| 461 | <build type="header-file" value="Drivers/Board/AVR8/STK525/LEDs.h"/> | 461 | <build type="header-file" value="Drivers/Board/AVR8/STK525/LEDs.h"/> |
| 462 | </module> | 462 | </module> |
| 463 | 463 | ||
| 464 | <module type="driver" id="lufa.drivers.board#stk526" caption="Board Support - STK526"> | 464 | <module type="driver" id="lufa.drivers.board#stk526" caption="Board Support - STK526"> |
| 465 | <build type="doxygen-entry-point" value="Group_BoardInfo_STK526"/> | 465 | <build type="doxygen-entry-point" value="Group_BoardInfo_STK526"/> |
| 466 | 466 | ||
| 467 | <device-support value="at90usb162"/> | 467 | <device-support value="at90usb162"/> |
| 468 | <device-support value="at90usb82"/> | 468 | <device-support value="at90usb82"/> |
| 469 | <device-support value="atmega32u2"/> | 469 | <device-support value="atmega32u2"/> |
| 470 | <device-support value="atmega16u2"/> | 470 | <device-support value="atmega16u2"/> |
| 471 | <device-support value="atmega8u2"/> | 471 | <device-support value="atmega8u2"/> |
| 472 | <build type="define" name="BOARD" value="BOARD_STK526"/> | 472 | <build type="define" name="BOARD" value="BOARD_STK526"/> |
| 473 | 473 | ||
| 474 | <require idref="lufa.drivers.misc.at45db642d"/> | 474 | <require idref="lufa.drivers.misc.at45db642d"/> |
| 475 | <require idref="lufa.drivers.peripheral.spi"/> | 475 | <require idref="lufa.drivers.peripheral.spi"/> |
| 476 | <require idref="lufa.drivers.board.buttons"/> | 476 | <require idref="lufa.drivers.board.buttons"/> |
| 477 | <require idref="lufa.drivers.board.dataflash"/> | 477 | <require idref="lufa.drivers.board.dataflash"/> |
| 478 | <require idref="lufa.drivers.board.joystick"/> | 478 | <require idref="lufa.drivers.board.joystick"/> |
| 479 | <require idref="lufa.drivers.board.leds"/> | 479 | <require idref="lufa.drivers.board.leds"/> |
| 480 | 480 | ||
| 481 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Board.h"/> | 481 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Board.h"/> |
| 482 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Buttons.h"/> | 482 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Buttons.h"/> |
| 483 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Dataflash.h"/> | 483 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Dataflash.h"/> |
| 484 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Joystick.h"/> | 484 | <build type="header-file" value="Drivers/Board/AVR8/STK526/Joystick.h"/> |
| 485 | <build type="header-file" value="Drivers/Board/AVR8/STK526/LEDs.h"/> | 485 | <build type="header-file" value="Drivers/Board/AVR8/STK526/LEDs.h"/> |
| 486 | </module> | 486 | </module> |
| 487 | 487 | ||
| 488 | <module type="driver" id="lufa.drivers.board#teensy" caption="Board Support - TEENSY"> | 488 | <module type="driver" id="lufa.drivers.board#teensy" caption="Board Support - TEENSY"> |
| 489 | <build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY"/> | 489 | <build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY"/> |
| 490 | 490 | ||
| 491 | <device-support value="at90usb162"/> | 491 | <device-support value="at90usb162"/> |
| 492 | <build type="define" name="BOARD" value="BOARD_TEENSY"/> | 492 | <build type="define" name="BOARD" value="BOARD_TEENSY"/> |
| 493 | 493 | ||
| 494 | <require idref="lufa.drivers.board.leds"/> | 494 | <require idref="lufa.drivers.board.leds"/> |
| 495 | 495 | ||
| 496 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/> | 496 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/> |
| 497 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/> | 497 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/> |
| 498 | </module> | 498 | </module> |
| 499 | 499 | ||
| 500 | <module type="driver" id="lufa.drivers.board#teensy2" caption="Board Support - TEENSY2"> | 500 | <module type="driver" id="lufa.drivers.board#teensy2" caption="Board Support - TEENSY2"> |
| 501 | <build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY2"/> | 501 | <build type="doxygen-entry-point" value="Group_BoardInfo_TEENSY2"/> |
| 502 | 502 | ||
| 503 | <device-support value="at90usb646"/> | 503 | <device-support value="at90usb646"/> |
| 504 | <build type="define" name="BOARD" value="BOARD_TEENSY2"/> | 504 | <build type="define" name="BOARD" value="BOARD_TEENSY2"/> |
| 505 | 505 | ||
| 506 | <require idref="lufa.drivers.board.leds"/> | 506 | <require idref="lufa.drivers.board.leds"/> |
| 507 | 507 | ||
| 508 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/> | 508 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/Board.h"/> |
| 509 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/> | 509 | <build type="header-file" value="Drivers/Board/AVR8/TEENSY/LEDs.h"/> |
| 510 | </module> | 510 | </module> |
| 511 | 511 | ||
| 512 | <module type="driver" id="lufa.drivers.board#tul" caption="Board Support - TUL"> | 512 | <module type="driver" id="lufa.drivers.board#tul" caption="Board Support - TUL"> |
| 513 | <build type="doxygen-entry-point" value="Group_BoardInfo_TUL"/> | 513 | <build type="doxygen-entry-point" value="Group_BoardInfo_TUL"/> |
| 514 | 514 | ||
| 515 | <device-support value="atmega32u4"/> | 515 | <device-support value="atmega32u4"/> |
| 516 | <build type="define" name="BOARD" value="BOARD_TUL"/> | 516 | <build type="define" name="BOARD" value="BOARD_TUL"/> |
| 517 | 517 | ||
| 518 | <require idref="lufa.drivers.board.buttons"/> | 518 | <require idref="lufa.drivers.board.buttons"/> |
| 519 | <require idref="lufa.drivers.board.leds"/> | 519 | <require idref="lufa.drivers.board.leds"/> |
| 520 | 520 | ||
| 521 | <build type="header-file" value="Drivers/Board/AVR8/TUL/Board.h"/> | 521 | <build type="header-file" value="Drivers/Board/AVR8/TUL/Board.h"/> |
| 522 | <build type="header-file" value="Drivers/Board/AVR8/TUL/Buttons.h"/> | 522 | <build type="header-file" value="Drivers/Board/AVR8/TUL/Buttons.h"/> |
| 523 | <build type="header-file" value="Drivers/Board/AVR8/TUL/LEDs.h"/> | 523 | <build type="header-file" value="Drivers/Board/AVR8/TUL/LEDs.h"/> |
| 524 | </module> | 524 | </module> |
| 525 | 525 | ||
| 526 | <module type="driver" id="lufa.drivers.board#udip" caption="Board Support - UDIP"> | 526 | <module type="driver" id="lufa.drivers.board#udip" caption="Board Support - UDIP"> |
| 527 | <build type="doxygen-entry-point" value="Group_BoardInfo_UDIP"/> | 527 | <build type="doxygen-entry-point" value="Group_BoardInfo_UDIP"/> |
| 528 | 528 | ||
| 529 | <device-support value="atmega32u2"/> | 529 | <device-support value="atmega32u2"/> |
| 530 | <build type="define" name="BOARD" value="BOARD_UDIP"/> | 530 | <build type="define" name="BOARD" value="BOARD_UDIP"/> |
| 531 | 531 | ||
| 532 | <require idref="lufa.drivers.board.buttons"/> | 532 | <require idref="lufa.drivers.board.buttons"/> |
| 533 | <require idref="lufa.drivers.board.leds"/> | 533 | <require idref="lufa.drivers.board.leds"/> |
| 534 | 534 | ||
| 535 | <build type="header-file" value="Drivers/Board/AVR8/UDIP/Board.h"/> | 535 | <build type="header-file" value="Drivers/Board/AVR8/UDIP/Board.h"/> |
| 536 | <build type="header-file" value="Drivers/Board/AVR8/UDIP/Buttons.h"/> | 536 | <build type="header-file" value="Drivers/Board/AVR8/UDIP/Buttons.h"/> |
| 537 | <build type="header-file" value="Drivers/Board/AVR8/UDIP/LEDs.h"/> | 537 | <build type="header-file" value="Drivers/Board/AVR8/UDIP/LEDs.h"/> |
| 538 | </module> | 538 | </module> |
| 539 | 539 | ||
| 540 | <module type="driver" id="lufa.drivers.board#uno" caption="Board Support - UNO"> | 540 | <module type="driver" id="lufa.drivers.board#uno" caption="Board Support - UNO"> |
| 541 | <build type="doxygen-entry-point" value="Group_BoardInfo_UNO"/> | 541 | <build type="doxygen-entry-point" value="Group_BoardInfo_UNO"/> |
| 542 | 542 | ||
| 543 | <device-support value="atmega8u2"/> | 543 | <device-support value="atmega8u2"/> |
| 544 | <device-support value="atmega16u2"/> | 544 | <device-support value="atmega16u2"/> |
| 545 | <build type="define" name="BOARD" value="BOARD_UNO"/> | 545 | <build type="define" name="BOARD" value="BOARD_UNO"/> |
| 546 | 546 | ||
| 547 | <require idref="lufa.drivers.board.leds"/> | 547 | <require idref="lufa.drivers.board.leds"/> |
| 548 | 548 | ||
| 549 | <build type="header-file" value="Drivers/Board/AVR8/UNO/Board.h"/> | 549 | <build type="header-file" value="Drivers/Board/AVR8/UNO/Board.h"/> |
| 550 | <build type="header-file" value="Drivers/Board/AVR8/UNO/LEDs.h"/> | 550 | <build type="header-file" value="Drivers/Board/AVR8/UNO/LEDs.h"/> |
| 551 | </module> | 551 | </module> |
| 552 | 552 | ||
| 553 | <module type="driver" id="lufa.drivers.board#usb2ax" caption="Board Support - USB2AX"> | 553 | <module type="driver" id="lufa.drivers.board#usb2ax" caption="Board Support - USB2AX"> |
| 554 | <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX"/> | 554 | <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX"/> |
| 555 | 555 | ||
| 556 | <device-support value="atmega32u2"/> | 556 | <device-support value="atmega32u2"/> |
| 557 | <build type="define" name="BOARD" value="BOARD_USB2AX"/> | 557 | <build type="define" name="BOARD" value="BOARD_USB2AX"/> |
| 558 | 558 | ||
| 559 | <require idref="lufa.drivers.board.buttons"/> | 559 | <require idref="lufa.drivers.board.buttons"/> |
| 560 | <require idref="lufa.drivers.board.leds"/> | 560 | <require idref="lufa.drivers.board.leds"/> |
| 561 | 561 | ||
| 562 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/> | 562 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/> |
| 563 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/> | 563 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/> |
| 564 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/> | 564 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/> |
| 565 | </module> | 565 | </module> |
| 566 | 566 | ||
| 567 | <module type="driver" id="lufa.drivers.board#usb2ax_v3" caption="Board Support - USB2AX_V3"> | 567 | <module type="driver" id="lufa.drivers.board#usb2ax_v3" caption="Board Support - USB2AX_V3"> |
| 568 | <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V3"/> | 568 | <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V3"/> |
| 569 | 569 | ||
| 570 | <device-support value="atmega32u2"/> | 570 | <device-support value="atmega32u2"/> |
| 571 | <build type="define" name="BOARD" value="BOARD_USB2AX_V3"/> | 571 | <build type="define" name="BOARD" value="BOARD_USB2AX_V3"/> |
| 572 | 572 | ||
| 573 | <require idref="lufa.drivers.board.buttons"/> | 573 | <require idref="lufa.drivers.board.buttons"/> |
| 574 | <require idref="lufa.drivers.board.leds"/> | 574 | <require idref="lufa.drivers.board.leds"/> |
| 575 | 575 | ||
| 576 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/> | 576 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/> |
| 577 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/> | 577 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/> |
| 578 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/> | 578 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/> |
| 579 | </module> | 579 | </module> |
| 580 | 580 | ||
| 581 | <module type="driver" id="lufa.drivers.board#usb2ax_v3_1" caption="Board Support - USB2AX_V31"> | 581 | <module type="driver" id="lufa.drivers.board#usb2ax_v3_1" caption="Board Support - USB2AX_V31"> |
| 582 | <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V31"/> | 582 | <build type="doxygen-entry-point" value="Group_BoardInfo_USB2AX_V31"/> |
| 583 | 583 | ||
| 584 | <device-support value="atmega32u2"/> | 584 | <device-support value="atmega32u2"/> |
| 585 | <build type="define" name="BOARD" value="BOARD_USB2AX_V31"/> | 585 | <build type="define" name="BOARD" value="BOARD_USB2AX_V31"/> |
| 586 | 586 | ||
| 587 | <require idref="lufa.drivers.board.buttons"/> | 587 | <require idref="lufa.drivers.board.buttons"/> |
| 588 | <require idref="lufa.drivers.board.leds"/> | 588 | <require idref="lufa.drivers.board.leds"/> |
| 589 | 589 | ||
| 590 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/> | 590 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Board.h"/> |
| 591 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/> | 591 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/Buttons.h"/> |
| 592 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/> | 592 | <build type="header-file" value="Drivers/Board/AVR8/USB2AX/LEDs.h"/> |
| 593 | </module> | 593 | </module> |
| 594 | 594 | ||
| 595 | <module type="driver" id="lufa.drivers.board#usbfoo" caption="Board Support - USBFOO"> | 595 | <module type="driver" id="lufa.drivers.board#usbfoo" caption="Board Support - USBFOO"> |
| 596 | <build type="doxygen-entry-point" value="Group_BoardInfo_USBFOO"/> | 596 | <build type="doxygen-entry-point" value="Group_BoardInfo_USBFOO"/> |
| 597 | 597 | ||
| 598 | <device-support value="atmega162"/> | 598 | <device-support value="atmega162"/> |
| 599 | <build type="define" name="BOARD" value="BOARD_USBFOO"/> | 599 | <build type="define" name="BOARD" value="BOARD_USBFOO"/> |
| 600 | 600 | ||
| 601 | <require idref="lufa.drivers.board.buttons"/> | 601 | <require idref="lufa.drivers.board.buttons"/> |
| 602 | <require idref="lufa.drivers.board.leds"/> | 602 | <require idref="lufa.drivers.board.leds"/> |
| 603 | 603 | ||
| 604 | <build type="header-file" value="Drivers/Board/AVR8/USBFOO/Board.h"/> | 604 | <build type="header-file" value="Drivers/Board/AVR8/USBFOO/Board.h"/> |
| 605 | <build type="header-file" value="Drivers/Board/AVR8/USBFOO/Buttons.h"/> | 605 | <build type="header-file" value="Drivers/Board/AVR8/USBFOO/Buttons.h"/> |
| 606 | <build type="header-file" value="Drivers/Board/AVR8/USBFOO/LEDs.h"/> | 606 | <build type="header-file" value="Drivers/Board/AVR8/USBFOO/LEDs.h"/> |
| 607 | </module> | 607 | </module> |
| 608 | 608 | ||
| 609 | <module type="driver" id="lufa.drivers.board#usbkey" caption="Board Support - USBKEY"> | 609 | <module type="driver" id="lufa.drivers.board#usbkey" caption="Board Support - USBKEY"> |
| 610 | <build type="doxygen-entry-point" value="Group_BoardInfo_USBKEY"/> | 610 | <build type="doxygen-entry-point" value="Group_BoardInfo_USBKEY"/> |
| 611 | 611 | ||
| 612 | <device-support value="at90usb1287"/> | 612 | <device-support value="at90usb1287"/> |
| 613 | <build type="define" name="BOARD" value="BOARD_USBKEY"/> | 613 | <build type="define" name="BOARD" value="BOARD_USBKEY"/> |
| 614 | 614 | ||
| 615 | <require idref="lufa.drivers.misc.at45db642d"/> | 615 | <require idref="lufa.drivers.misc.at45db642d"/> |
| 616 | <require idref="lufa.drivers.peripheral.spi"/> | 616 | <require idref="lufa.drivers.peripheral.spi"/> |
| 617 | 617 | ||
| 618 | <require idref="lufa.drivers.board.buttons"/> | 618 | <require idref="lufa.drivers.board.buttons"/> |
| 619 | <require idref="lufa.drivers.board.dataflash"/> | 619 | <require idref="lufa.drivers.board.dataflash"/> |
| 620 | <require idref="lufa.drivers.board.joystick"/> | 620 | <require idref="lufa.drivers.board.joystick"/> |
| 621 | <require idref="lufa.drivers.board.leds"/> | 621 | <require idref="lufa.drivers.board.leds"/> |
| 622 | 622 | ||
| 623 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Board.h"/> | 623 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Board.h"/> |
| 624 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Buttons.h"/> | 624 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Buttons.h"/> |
| 625 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Dataflash.h"/> | 625 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Dataflash.h"/> |
| 626 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Joystick.h"/> | 626 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/Joystick.h"/> |
| 627 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/LEDs.h"/> | 627 | <build type="header-file" value="Drivers/Board/AVR8/USBKEY/LEDs.h"/> |
| 628 | </module> | 628 | </module> |
| 629 | 629 | ||
| 630 | <module type="driver" id="lufa.drivers.board#usbtiny_mkii" caption="Board Support - USBTINYMKII"> | 630 | <module type="driver" id="lufa.drivers.board#usbtiny_mkii" caption="Board Support - USBTINYMKII"> |
| 631 | <build type="doxygen-entry-point" value="Group_BoardInfo_USBTINYMKII"/> | 631 | <build type="doxygen-entry-point" value="Group_BoardInfo_USBTINYMKII"/> |
| 632 | 632 | ||
| 633 | <device-support value="at90usb162"/> | 633 | <device-support value="at90usb162"/> |
| 634 | <build type="define" name="BOARD" value="BOARD_USBTINYMKII"/> | 634 | <build type="define" name="BOARD" value="BOARD_USBTINYMKII"/> |
| 635 | 635 | ||
| 636 | <require idref="lufa.drivers.board.buttons"/> | 636 | <require idref="lufa.drivers.board.buttons"/> |
| 637 | <require idref="lufa.drivers.board.leds"/> | 637 | <require idref="lufa.drivers.board.leds"/> |
| 638 | 638 | ||
| 639 | <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Board.h"/> | 639 | <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Board.h"/> |
| 640 | <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Buttons.h"/> | 640 | <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/Buttons.h"/> |
| 641 | <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/LEDs.h"/> | 641 | <build type="header-file" value="Drivers/Board/AVR8/USBTINYMKII/LEDs.h"/> |
| 642 | </module> | 642 | </module> |
| 643 | 643 | ||
| 644 | <module type="driver" id="lufa.drivers.board#xplain_rev1" caption="Board Support - XPLAIN (HW Rev 1)"> | 644 | <module type="driver" id="lufa.drivers.board#xplain_rev1" caption="Board Support - XPLAIN (HW Rev 1)"> |
| 645 | <build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN_REV1"/> | 645 | <build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN_REV1"/> |
| 646 | 646 | ||
| 647 | <device-support value="at90usb1287"/> | 647 | <device-support value="at90usb1287"/> |
| 648 | 648 | ||
| 649 | <require idref="lufa.drivers.misc.at45db642d"/> | 649 | <require idref="lufa.drivers.misc.at45db642d"/> |
| 650 | <require idref="lufa.drivers.peripheral.spi"/> | 650 | <require idref="lufa.drivers.peripheral.spi"/> |
| 651 | <require idref="lufa.drivers.board.dataflash"/> | 651 | <require idref="lufa.drivers.board.dataflash"/> |
| 652 | <require idref="lufa.drivers.board.leds"/> | 652 | <require idref="lufa.drivers.board.leds"/> |
| 653 | 653 | ||
| 654 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/> | 654 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/> |
| 655 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/> | 655 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/> |
| 656 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/> | 656 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/> |
| 657 | 657 | ||
| 658 | <build type="define" name="BOARD" value="BOARD_XPLAIN_REV1"/> | 658 | <build type="define" name="BOARD" value="BOARD_XPLAIN_REV1"/> |
| 659 | </module> | 659 | </module> |
| 660 | 660 | ||
| 661 | <module type="driver" id="lufa.drivers.board#xplain" caption="Board Support - XPLAIN (HW Rev 2+)"> | 661 | <module type="driver" id="lufa.drivers.board#xplain" caption="Board Support - XPLAIN (HW Rev 2+)"> |
| 662 | <build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN"/> | 662 | <build type="doxygen-entry-point" value="Group_BoardInfo_XPLAIN"/> |
| 663 | 663 | ||
| 664 | <device-support value="at90usb1287"/> | 664 | <device-support value="at90usb1287"/> |
| 665 | 665 | ||
| 666 | <require idref="lufa.drivers.misc.at45db642d"/> | 666 | <require idref="lufa.drivers.misc.at45db642d"/> |
| 667 | <require idref="lufa.drivers.peripheral.spi"/> | 667 | <require idref="lufa.drivers.peripheral.spi"/> |
| 668 | <require idref="lufa.drivers.board.dataflash"/> | 668 | <require idref="lufa.drivers.board.dataflash"/> |
| 669 | <require idref="lufa.drivers.board.leds"/> | 669 | <require idref="lufa.drivers.board.leds"/> |
| 670 | 670 | ||
| 671 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/> | 671 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Board.h"/> |
| 672 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/> | 672 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/Dataflash.h"/> |
| 673 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/> | 673 | <build type="header-file" value="Drivers/Board/AVR8/XPLAIN/LEDs.h"/> |
| 674 | 674 | ||
| 675 | <build type="define" name="BOARD" value="BOARD_XPLAIN"/> | 675 | <build type="define" name="BOARD" value="BOARD_XPLAIN"/> |
| 676 | </module> | 676 | </module> |
| 677 | 677 | ||
| 678 | <module type="driver" id="lufa.drivers.board#a3bu_xplained" caption="Board Support - A3BU_XPLAINED"> | 678 | <module type="driver" id="lufa.drivers.board#a3bu_xplained" caption="Board Support - A3BU_XPLAINED"> |
| 679 | <build type="doxygen-entry-point" value="Group_BoardInfo_A3BU_XPLAINED"/> | 679 | <build type="doxygen-entry-point" value="Group_BoardInfo_A3BU_XPLAINED"/> |
| 680 | 680 | ||
| 681 | <device-support value="atxmega256a3bu"/> | 681 | <device-support value="atxmega256a3bu"/> |
| 682 | 682 | ||
| 683 | <require idref="lufa.drivers.misc.at45db642d"/> | 683 | <require idref="lufa.drivers.misc.at45db642d"/> |
| 684 | <require idref="lufa.drivers.peripheral.usart_spi"/> | 684 | <require idref="lufa.drivers.peripheral.usart_spi"/> |
| 685 | 685 | ||
| 686 | <require idref="lufa.drivers.board.buttons"/> | 686 | <require idref="lufa.drivers.board.buttons"/> |
| 687 | <require idref="lufa.drivers.board.dataflash"/> | 687 | <require idref="lufa.drivers.board.dataflash"/> |
| 688 | <require idref="lufa.drivers.board.leds"/> | 688 | <require idref="lufa.drivers.board.leds"/> |
| 689 | 689 | ||
| 690 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h"/> | 690 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Board.h"/> |
| 691 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h"/> | 691 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h"/> |
| 692 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h"/> | 692 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/Dataflash.h"/> |
| 693 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h"/> | 693 | <build type="header-file" value="Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h"/> |
| 694 | 694 | ||
| 695 | <build type="define" name="BOARD" value="BOARD_A3BU_XPLAINED"/> | 695 | <build type="define" name="BOARD" value="BOARD_A3BU_XPLAINED"/> |
| 696 | </module> | 696 | </module> |
| 697 | 697 | ||
| 698 | <module type="driver" id="lufa.drivers.board#b1_xplained" caption="Board Support - B1_XPLAINED"> | 698 | <module type="driver" id="lufa.drivers.board#b1_xplained" caption="Board Support - B1_XPLAINED"> |
| 699 | <build type="doxygen-entry-point" value="Group_BoardInfo_B1_XPLAINED"/> | 699 | <build type="doxygen-entry-point" value="Group_BoardInfo_B1_XPLAINED"/> |
| 700 | 700 | ||
| 701 | <device-support value="atxmega128b1"/> | 701 | <device-support value="atxmega128b1"/> |
| 702 | 702 | ||
| 703 | <require idref="lufa.drivers.misc.at45db642d"/> | 703 | <require idref="lufa.drivers.misc.at45db642d"/> |
| 704 | <require idref="lufa.drivers.peripheral.usart_spi"/> | 704 | <require idref="lufa.drivers.peripheral.usart_spi"/> |
| 705 | <require idref="lufa.drivers.board.buttons"/> | 705 | <require idref="lufa.drivers.board.buttons"/> |
| 706 | <require idref="lufa.drivers.board.dataflash"/> | 706 | <require idref="lufa.drivers.board.dataflash"/> |
| 707 | <require idref="lufa.drivers.board.leds"/> | 707 | <require idref="lufa.drivers.board.leds"/> |
| 708 | 708 | ||
| 709 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Board.h"/> | 709 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Board.h"/> |
| 710 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h"/> | 710 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Buttons.h"/> |
| 711 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h"/> | 711 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/Dataflash.h"/> |
| 712 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h"/> | 712 | <build type="header-file" value="Drivers/Board/XMEGA/B1_XPLAINED/LEDs.h"/> |
| 713 | 713 | ||
| 714 | <build type="define" name="BOARD" value="BOARD_B1_XPLAINED"/> | 714 | <build type="define" name="BOARD" value="BOARD_B1_XPLAINED"/> |
| 715 | </module> | 715 | </module> |
| 716 | 716 | ||
| 717 | <module type="driver" id="lufa.drivers.board#evk1100" caption="Board Support - EVK1100"> | 717 | <module type="driver" id="lufa.drivers.board#evk1100" caption="Board Support - EVK1100"> |
| 718 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1100"/> | 718 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1100"/> |
| 719 | 719 | ||
| 720 | <device-support value="at32uc3a0512"/> | 720 | <device-support value="at32uc3a0512"/> |
| 721 | 721 | ||
| 722 | <require idref="lufa.drivers.board.buttons"/> | 722 | <require idref="lufa.drivers.board.buttons"/> |
| 723 | <require idref="lufa.drivers.board.joystick"/> | 723 | <require idref="lufa.drivers.board.joystick"/> |
| 724 | <require idref="lufa.drivers.board.leds"/> | 724 | <require idref="lufa.drivers.board.leds"/> |
| 725 | 725 | ||
| 726 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/Board.h"/> | 726 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/Board.h"/> |
| 727 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/Buttons.h"/> | 727 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/Buttons.h"/> |
| 728 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/Joystick.h"/> | 728 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/Joystick.h"/> |
| 729 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/LEDs.h"/> | 729 | <build type="header-file" value="Drivers/Board/UC3/EVK1100/LEDs.h"/> |
| 730 | 730 | ||
| 731 | <build type="define" name="BOARD" value="BOARD_EVK1100"/> | 731 | <build type="define" name="BOARD" value="BOARD_EVK1100"/> |
| 732 | </module> | 732 | </module> |
| 733 | 733 | ||
| 734 | <module type="driver" id="lufa.drivers.board#evk1101" caption="Board Support - EVK1101"> | 734 | <module type="driver" id="lufa.drivers.board#evk1101" caption="Board Support - EVK1101"> |
| 735 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1101"/> | 735 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1101"/> |
| 736 | 736 | ||
| 737 | <device-support value="at32uc3b0256"/> | 737 | <device-support value="at32uc3b0256"/> |
| 738 | 738 | ||
| 739 | <require idref="lufa.drivers.board.buttons"/> | 739 | <require idref="lufa.drivers.board.buttons"/> |
| 740 | <require idref="lufa.drivers.board.joystick"/> | 740 | <require idref="lufa.drivers.board.joystick"/> |
| 741 | <require idref="lufa.drivers.board.leds"/> | 741 | <require idref="lufa.drivers.board.leds"/> |
| 742 | 742 | ||
| 743 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/Board.h"/> | 743 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/Board.h"/> |
| 744 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/Buttons.h"/> | 744 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/Buttons.h"/> |
| 745 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/Joystick.h"/> | 745 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/Joystick.h"/> |
| 746 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/LEDs.h"/> | 746 | <build type="header-file" value="Drivers/Board/UC3/EVK1101/LEDs.h"/> |
| 747 | 747 | ||
| 748 | <build type="define" name="BOARD" value="BOARD_EVK1101"/> | 748 | <build type="define" name="BOARD" value="BOARD_EVK1101"/> |
| 749 | </module> | 749 | </module> |
| 750 | 750 | ||
| 751 | <module type="driver" id="lufa.drivers.board#evk1104" caption="Board Support - EVK1104"> | 751 | <module type="driver" id="lufa.drivers.board#evk1104" caption="Board Support - EVK1104"> |
| 752 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1104"/> | 752 | <build type="doxygen-entry-point" value="Group_BoardInfo_EVK1104"/> |
| 753 | 753 | ||
| 754 | <device-support value="at32uc3a3256"/> | 754 | <device-support value="at32uc3a3256"/> |
| 755 | 755 | ||
| 756 | <require idref="lufa.drivers.board.buttons"/> | 756 | <require idref="lufa.drivers.board.buttons"/> |
| 757 | <require idref="lufa.drivers.board.leds"/> | 757 | <require idref="lufa.drivers.board.leds"/> |
| 758 | 758 | ||
| 759 | <build type="header-file" value="Drivers/Board/UC3/EVK1104/Board.h"/> | 759 | <build type="header-file" value="Drivers/Board/UC3/EVK1104/Board.h"/> |
| 760 | <build type="header-file" value="Drivers/Board/UC3/EVK1104/Buttons.h"/> | 760 | <build type="header-file" value="Drivers/Board/UC3/EVK1104/Buttons.h"/> |
| 761 | <build type="header-file" value="Drivers/Board/UC3/EVK1104/LEDs.h"/> | 761 | <build type="header-file" value="Drivers/Board/UC3/EVK1104/LEDs.h"/> |
| 762 | 762 | ||
| 763 | <build type="define" name="BOARD" value="BOARD_EVK1104"/> | 763 | <build type="define" name="BOARD" value="BOARD_EVK1104"/> |
| 764 | </module> | 764 | </module> |
| 765 | 765 | ||
| 766 | <module type="driver" id="lufa.drivers.board#uc3a3_xplained" caption="Board Support - UC3A3_XPLAINED"> | 766 | <module type="driver" id="lufa.drivers.board#uc3a3_xplained" caption="Board Support - UC3A3_XPLAINED"> |
| 767 | <build type="doxygen-entry-point" value="Group_BoardInfo_UC3_A3_XPLAINED"/> | 767 | <build type="doxygen-entry-point" value="Group_BoardInfo_UC3_A3_XPLAINED"/> |
| 768 | 768 | ||
| 769 | <device-support value="at32uc3a3256"/> | 769 | <device-support value="at32uc3a3256"/> |
| 770 | 770 | ||
| 771 | <require idref="lufa.drivers.board.buttons"/> | 771 | <require idref="lufa.drivers.board.buttons"/> |
| 772 | <require idref="lufa.drivers.board.leds"/> | 772 | <require idref="lufa.drivers.board.leds"/> |
| 773 | 773 | ||
| 774 | <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Board.h"/> | 774 | <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Board.h"/> |
| 775 | <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Buttons.h"/> | 775 | <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/Buttons.h"/> |
| 776 | <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h"/> | 776 | <build type="header-file" value="Drivers/Board/UC3/UC3A3_XPLAINED/LEDs.h"/> |
| 777 | 777 | ||
| 778 | <build type="define" name="BOARD" value="BOARD_UC3A3_XPLAINED"/> | 778 | <build type="define" name="BOARD" value="BOARD_UC3A3_XPLAINED"/> |
| 779 | </module> | 779 | </module> |
| 780 | 780 | ||
| 781 | <module type="driver" id="lufa.drivers.board#stange_isp" caption="Board Support - STANGE_ISP"> | 781 | <module type="driver" id="lufa.drivers.board#stange_isp" caption="Board Support - STANGE_ISP"> |
| 782 | <build type="doxygen-entry-point" value="Group_BoardInfo_STANGE_ISP"/> | 782 | <build type="doxygen-entry-point" value="Group_BoardInfo_STANGE_ISP"/> |
| 783 | 783 | ||
| 784 | <device-support value="at90usb162"/> | 784 | <device-support value="at90usb162"/> |
| 785 | 785 | ||
| 786 | <require idref="lufa.drivers.board.buttons"/> | 786 | <require idref="lufa.drivers.board.buttons"/> |
| 787 | <require idref="lufa.drivers.board.leds"/> | 787 | <require idref="lufa.drivers.board.leds"/> |
| 788 | 788 | ||
| 789 | <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Board.h"/> | 789 | <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Board.h"/> |
| 790 | <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Buttons.h"/> | 790 | <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/Buttons.h"/> |
| 791 | <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/LEDs.h"/> | 791 | <build type="header-file" value="Drivers/Board/AVR8/STANGE_ISP/LEDs.h"/> |
| 792 | 792 | ||
| 793 | <build type="define" name="BOARD" value="BOARD_STANGE_ISP"/> | 793 | <build type="define" name="BOARD" value="BOARD_STANGE_ISP"/> |
| 794 | </module> | 794 | </module> |
| 795 | 795 | ||
| 796 | <module type="driver" id="lufa.drivers.board#c3_xplained" caption="Board Support - C3_XPLAINED"> | 796 | <module type="driver" id="lufa.drivers.board#c3_xplained" caption="Board Support - C3_XPLAINED"> |
| 797 | <build type="doxygen-entry-point" value="Group_BoardInfo_C3_XPLAINED"/> | 797 | <build type="doxygen-entry-point" value="Group_BoardInfo_C3_XPLAINED"/> |
| 798 | 798 | ||
| 799 | <device-support value="atxmega384c3"/> | 799 | <device-support value="atxmega384c3"/> |
| 800 | 800 | ||
| 801 | <require idref="lufa.drivers.board.buttons"/> | 801 | <require idref="lufa.drivers.board.buttons"/> |
| 802 | <require idref="lufa.drivers.board.leds"/> | 802 | <require idref="lufa.drivers.board.leds"/> |
| 803 | 803 | ||
| 804 | <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Board.h"/> | 804 | <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Board.h"/> |
| 805 | <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h"/> | 805 | <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/Buttons.h"/> |
| 806 | <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h"/> | 806 | <build type="header-file" value="Drivers/Board/XMEGA/C3_XPLAINED/LEDs.h"/> |
| 807 | 807 | ||
| 808 | <build type="define" name="BOARD" value="BOARD_C3_XPLAINED"/> | 808 | <build type="define" name="BOARD" value="BOARD_C3_XPLAINED"/> |
| 809 | </module> | 809 | </module> |
| 810 | 810 | ||
| 811 | <module type="driver" id="lufa.drivers.board#u2s" caption="Board Support - U2S"> | 811 | <module type="driver" id="lufa.drivers.board#u2s" caption="Board Support - U2S"> |
| 812 | <build type="doxygen-entry-point" value="Group_BoardInfo_U2S"/> | 812 | <build type="doxygen-entry-point" value="Group_BoardInfo_U2S"/> |
| 813 | 813 | ||
| 814 | <device-support value="atmega32u2"/> | 814 | <device-support value="atmega32u2"/> |
| 815 | 815 | ||
| 816 | <require idref="lufa.drivers.board.buttons"/> | 816 | <require idref="lufa.drivers.board.buttons"/> |
| 817 | <require idref="lufa.drivers.board.leds"/> | 817 | <require idref="lufa.drivers.board.leds"/> |
| 818 | 818 | ||
| 819 | <build type="header-file" value="Drivers/Board/AVR8/U2S/Board.h"/> | 819 | <build type="header-file" value="Drivers/Board/AVR8/U2S/Board.h"/> |
| 820 | <build type="header-file" value="Drivers/Board/AVR8/U2S/Buttons.h"/> | 820 | <build type="header-file" value="Drivers/Board/AVR8/U2S/Buttons.h"/> |
| 821 | <build type="header-file" value="Drivers/Board/AVR8/U2S/LEDs.h"/> | 821 | <build type="header-file" value="Drivers/Board/AVR8/U2S/LEDs.h"/> |
| 822 | 822 | ||
| 823 | <build type="define" name="BOARD" value="BOARD_U2S"/> | 823 | <build type="define" name="BOARD" value="BOARD_U2S"/> |
| 824 | </module> | 824 | </module> |
| 825 | 825 | ||
| 826 | <module type="driver" id="lufa.drivers.board#yun" caption="Board Support - YUN"> | 826 | <module type="driver" id="lufa.drivers.board#yun" caption="Board Support - YUN"> |
| 827 | <build type="doxygen-entry-point" value="Group_BoardInfo_YUN"/> | 827 | <build type="doxygen-entry-point" value="Group_BoardInfo_YUN"/> |
| 828 | 828 | ||
| 829 | <device-support value="atmega32u4"/> | 829 | <device-support value="atmega32u4"/> |
| 830 | 830 | ||
| 831 | <require idref="lufa.drivers.board.leds"/> | 831 | <require idref="lufa.drivers.board.leds"/> |
| 832 | 832 | ||
| 833 | <build type="header-file" value="Drivers/Board/AVR8/YUN/Board.h"/> | 833 | <build type="header-file" value="Drivers/Board/AVR8/YUN/Board.h"/> |
| 834 | <build type="header-file" value="Drivers/Board/AVR8/YUN/LEDs.h"/> | 834 | <build type="header-file" value="Drivers/Board/AVR8/YUN/LEDs.h"/> |
| 835 | 835 | ||
| 836 | <build type="define" name="BOARD" value="BOARD_YUN"/> | 836 | <build type="define" name="BOARD" value="BOARD_YUN"/> |
| 837 | </module> | 837 | </module> |
| 838 | 838 | ||
| 839 | <module type="driver" id="lufa.drivers.board#yun" caption="Board Support - MICRO"> | 839 | <module type="driver" id="lufa.drivers.board#yun" caption="Board Support - MICRO"> |
| 840 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICRO"/> | 840 | <build type="doxygen-entry-point" value="Group_BoardInfo_MICRO"/> |
| 841 | 841 | ||
| 842 | <device-support value="atmega32u4"/> | 842 | <device-support value="atmega32u4"/> |
| 843 | 843 | ||
| 844 | <require idref="lufa.drivers.board.leds"/> | 844 | <require idref="lufa.drivers.board.leds"/> |
| 845 | 845 | ||
| 846 | <build type="header-file" value="Drivers/Board/AVR8/MICRO/Board.h"/> | 846 | <build type="header-file" value="Drivers/Board/AVR8/MICRO/Board.h"/> |
| 847 | <build type="header-file" value="Drivers/Board/AVR8/MICRO/LEDs.h"/> | 847 | <build type="header-file" value="Drivers/Board/AVR8/MICRO/LEDs.h"/> |
| 848 | 848 | ||
| 849 | <build type="define" name="BOARD" value="BOARD_MICRO"/> | 849 | <build type="define" name="BOARD" value="BOARD_MICRO"/> |
| 850 | </module> | 850 | </module> |
| 851 | </select-by-config> | 851 | </select-by-config> |
| 852 | </asf> | 852 | </asf> |
| 853 | </lufa> | 853 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_misc.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_misc.xml index 8680ca2df..4311ae87b 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_misc.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_misc.xml | |||
| @@ -1,57 +1,57 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands"> | 13 | <module type="component" id="lufa.drivers.misc.at45db321c" caption="LUFA AT45DB321C Dataflash Commands"> |
| 14 | <device-support-alias value="lufa_avr8"/> | 14 | <device-support-alias value="lufa_avr8"/> |
| 15 | <device-support-alias value="lufa_xmega"/> | 15 | <device-support-alias value="lufa_xmega"/> |
| 16 | <device-support-alias value="lufa_uc3"/> | 16 | <device-support-alias value="lufa_uc3"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_AT45DB321C"/> | 18 | <build type="doxygen-entry-point" value="Group_AT45DB321C"/> |
| 19 | 19 | ||
| 20 | <build type="include-path" value=".."/> | 20 | <build type="include-path" value=".."/> |
| 21 | <build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/> | 21 | <build type="header-file" subtype="api" value="Drivers/Misc/AT45DB321C.h"/> |
| 22 | </module> | 22 | </module> |
| 23 | 23 | ||
| 24 | <module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands"> | 24 | <module type="component" id="lufa.drivers.misc.at45db642d" caption="LUFA AT45DB642D Dataflash Commands"> |
| 25 | <device-support-alias value="lufa_avr8"/> | 25 | <device-support-alias value="lufa_avr8"/> |
| 26 | <device-support-alias value="lufa_xmega"/> | 26 | <device-support-alias value="lufa_xmega"/> |
| 27 | <device-support-alias value="lufa_uc3"/> | 27 | <device-support-alias value="lufa_uc3"/> |
| 28 | 28 | ||
| 29 | <build type="doxygen-entry-point" value="Group_AT45DB321C"/> | 29 | <build type="doxygen-entry-point" value="Group_AT45DB321C"/> |
| 30 | 30 | ||
| 31 | <build type="include-path" value=".."/> | 31 | <build type="include-path" value=".."/> |
| 32 | <build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/> | 32 | <build type="header-file" subtype="api" value="Drivers/Misc/AT45DB642D.h"/> |
| 33 | </module> | 33 | </module> |
| 34 | 34 | ||
| 35 | <module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer"> | 35 | <module type="service" id="lufa.drivers.misc.ringbuffer" caption="LUFA Ring Buffer"> |
| 36 | <device-support-alias value="lufa_avr8"/> | 36 | <device-support-alias value="lufa_avr8"/> |
| 37 | <device-support-alias value="lufa_xmega"/> | 37 | <device-support-alias value="lufa_xmega"/> |
| 38 | <device-support-alias value="lufa_uc3"/> | 38 | <device-support-alias value="lufa_uc3"/> |
| 39 | 39 | ||
| 40 | <build type="doxygen-entry-point" value="Group_RingBuff"/> | 40 | <build type="doxygen-entry-point" value="Group_RingBuff"/> |
| 41 | 41 | ||
| 42 | <build type="include-path" value=".."/> | 42 | <build type="include-path" value=".."/> |
| 43 | <build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/> | 43 | <build type="header-file" subtype="api" value="Drivers/Misc/RingBuffer.h"/> |
| 44 | </module> | 44 | </module> |
| 45 | 45 | ||
| 46 | <module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands"> | 46 | <module type="service" id="lufa.drivers.misc.ansi" caption="LUFA ANSI Terminal Commands"> |
| 47 | <device-support-alias value="lufa_avr8"/> | 47 | <device-support-alias value="lufa_avr8"/> |
| 48 | <device-support-alias value="lufa_xmega"/> | 48 | <device-support-alias value="lufa_xmega"/> |
| 49 | <device-support-alias value="lufa_uc3"/> | 49 | <device-support-alias value="lufa_uc3"/> |
| 50 | 50 | ||
| 51 | <build type="doxygen-entry-point" value="Group_Terminal"/> | 51 | <build type="doxygen-entry-point" value="Group_Terminal"/> |
| 52 | 52 | ||
| 53 | <build type="include-path" value=".."/> | 53 | <build type="include-path" value=".."/> |
| 54 | <build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/> | 54 | <build type="header-file" subtype="api" value="Drivers/Misc/TerminalCodes.h"/> |
| 55 | </module> | 55 | </module> |
| 56 | </asf> | 56 | </asf> |
| 57 | </lufa> \ No newline at end of file | 57 | </lufa> \ No newline at end of file |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_peripheral.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_peripheral.xml index 3a982e565..76ea516db 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_peripheral.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_peripheral.xml | |||
| @@ -1,198 +1,198 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver"> | 13 | <select-by-device id="lufa.drivers.peripheral.usart" caption="LUFA USART Driver"> |
| 14 | <module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8"> | 14 | <module type="driver" id="lufa.drivers.peripheral.usart#avr8" caption="LUFA USART Driver - AVR8"> |
| 15 | <device-support-alias value="lufa_avr8"/> | 15 | <device-support-alias value="lufa_avr8"/> |
| 16 | 16 | ||
| 17 | <build type="doxygen-entry-point" value="Group_Serial"/> | 17 | <build type="doxygen-entry-point" value="Group_Serial"/> |
| 18 | 18 | ||
| 19 | <require idref="lufa.common"/> | 19 | <require idref="lufa.common"/> |
| 20 | <require idref="lufa.drivers.misc.ansi"/> | 20 | <require idref="lufa.drivers.misc.ansi"/> |
| 21 | 21 | ||
| 22 | <build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/> | 22 | <build type="c-source" value="Drivers/Peripheral/AVR8/Serial_AVR8.c"/> |
| 23 | <build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/> | 23 | <build type="header-file" value="Drivers/Peripheral/AVR8/Serial_AVR8.h"/> |
| 24 | <build type="include-path" value=".."/> | 24 | <build type="include-path" value=".."/> |
| 25 | <build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/> | 25 | <build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/> |
| 26 | </module> | 26 | </module> |
| 27 | 27 | ||
| 28 | <module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8"> | 28 | <module type="driver" id="lufa.drivers.peripheral.usart#xmega" caption="LUFA USART Driver - AVR8"> |
| 29 | <device-support-alias value="lufa_xmega"/> | 29 | <device-support-alias value="lufa_xmega"/> |
| 30 | 30 | ||
| 31 | <build type="doxygen-entry-point" value="Group_Serial"/> | 31 | <build type="doxygen-entry-point" value="Group_Serial"/> |
| 32 | 32 | ||
| 33 | <require idref="lufa.common"/> | 33 | <require idref="lufa.common"/> |
| 34 | <require idref="lufa.drivers.misc.ansi"/> | 34 | <require idref="lufa.drivers.misc.ansi"/> |
| 35 | 35 | ||
| 36 | <build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/> | 36 | <build type="c-source" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.c"/> |
| 37 | <build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/> | 37 | <build type="header-file" value="Drivers/Peripheral/XMEGA/Serial_XMEGA.h"/> |
| 38 | <build type="include-path" value=".."/> | 38 | <build type="include-path" value=".."/> |
| 39 | <build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/> | 39 | <build type="header-file" subtype="api" value="Drivers/Peripheral/Serial.h"/> |
| 40 | </module> | 40 | </module> |
| 41 | 41 | ||
| 42 | <module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3"> | 42 | <module type="driver" id="lufa.drivers.peripheral.usart#uc3" caption="LUFA USART Driver - UC3"> |
| 43 | <device-support-alias value="lufa_uc3"/> | 43 | <device-support-alias value="lufa_uc3"/> |
| 44 | 44 | ||
| 45 | <build type="doxygen-entry-point" value="Group_Serial"/> | 45 | <build type="doxygen-entry-point" value="Group_Serial"/> |
| 46 | 46 | ||
| 47 | <require idref="lufa.common"/> | 47 | <require idref="lufa.common"/> |
| 48 | <require idref="lufa.drivers.misc.ansi"/> | 48 | <require idref="lufa.drivers.misc.ansi"/> |
| 49 | 49 | ||
| 50 | <info type="gui-flag" value="hidden"/> | 50 | <info type="gui-flag" value="hidden"/> |
| 51 | </module> | 51 | </module> |
| 52 | </select-by-device> | 52 | </select-by-device> |
| 53 | 53 | ||
| 54 | <select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver"> | 54 | <select-by-device id="lufa.drivers.peripheral.spi" caption="LUFA SPI Driver"> |
| 55 | <module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8"> | 55 | <module type="driver" id="lufa.drivers.peripheral.spi#avr8" caption="LUFA SPI Driver - AVR8"> |
| 56 | <device-support-alias value="lufa_avr8"/> | 56 | <device-support-alias value="lufa_avr8"/> |
| 57 | 57 | ||
| 58 | <build type="doxygen-entry-point" value="Group_SPI"/> | 58 | <build type="doxygen-entry-point" value="Group_SPI"/> |
| 59 | 59 | ||
| 60 | <require idref="lufa.common"/> | 60 | <require idref="lufa.common"/> |
| 61 | 61 | ||
| 62 | <build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/> | 62 | <build type="header-file" value="Drivers/Peripheral/AVR8/SPI_AVR8.h"/> |
| 63 | <build type="include-path" value=".."/> | 63 | <build type="include-path" value=".."/> |
| 64 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/> | 64 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/> |
| 65 | </module> | 65 | </module> |
| 66 | 66 | ||
| 67 | <module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA"> | 67 | <module type="driver" id="lufa.drivers.peripheral.spi#xmega" caption="LUFA SPI Driver - XMEGA"> |
| 68 | <device-support-alias value="lufa_xmega"/> | 68 | <device-support-alias value="lufa_xmega"/> |
| 69 | 69 | ||
| 70 | <build type="doxygen-entry-point" value="Group_SPI"/> | 70 | <build type="doxygen-entry-point" value="Group_SPI"/> |
| 71 | 71 | ||
| 72 | <require idref="lufa.common"/> | 72 | <require idref="lufa.common"/> |
| 73 | 73 | ||
| 74 | <build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/> | 74 | <build type="header-file" value="Drivers/Peripheral/XMEGA/SPI_XMEGA.h"/> |
| 75 | <build type="include-path" value=".."/> | 75 | <build type="include-path" value=".."/> |
| 76 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/> | 76 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SPI.h"/> |
| 77 | </module> | 77 | </module> |
| 78 | 78 | ||
| 79 | <module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3"> | 79 | <module type="driver" id="lufa.drivers.peripheral.spi#uc3" caption="LUFA SPI Driver - UC3"> |
| 80 | <device-support-alias value="lufa_uc3"/> | 80 | <device-support-alias value="lufa_uc3"/> |
| 81 | 81 | ||
| 82 | <build type="doxygen-entry-point" value="Group_SPI"/> | 82 | <build type="doxygen-entry-point" value="Group_SPI"/> |
| 83 | 83 | ||
| 84 | <require idref="lufa.common"/> | 84 | <require idref="lufa.common"/> |
| 85 | 85 | ||
| 86 | <info type="gui-flag" value="hidden"/> | 86 | <info type="gui-flag" value="hidden"/> |
| 87 | </module> | 87 | </module> |
| 88 | </select-by-device> | 88 | </select-by-device> |
| 89 | 89 | ||
| 90 | <select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver"> | 90 | <select-by-device id="lufa.drivers.peripheral.usart_spi" caption="LUFA USART SPI Driver"> |
| 91 | <module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8"> | 91 | <module type="driver" id="lufa.drivers.peripheral.usart_spi#avr8" caption="LUFA USART SPI Driver - AVR8"> |
| 92 | <device-support-alias value="lufa_avr8"/> | 92 | <device-support-alias value="lufa_avr8"/> |
| 93 | 93 | ||
| 94 | <build type="doxygen-entry-point" value="Group_SerialSPI"/> | 94 | <build type="doxygen-entry-point" value="Group_SerialSPI"/> |
| 95 | 95 | ||
| 96 | <require idref="lufa.common"/> | 96 | <require idref="lufa.common"/> |
| 97 | 97 | ||
| 98 | <build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/> | 98 | <build type="header-file" value="Drivers/Peripheral/AVR8/SerialSPI_AVR8.h"/> |
| 99 | <build type="include-path" value=".."/> | 99 | <build type="include-path" value=".."/> |
| 100 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/> | 100 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/> |
| 101 | </module> | 101 | </module> |
| 102 | 102 | ||
| 103 | <module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA"> | 103 | <module type="driver" id="lufa.drivers.peripheral.usart_spi#xmega" caption="LUFA USART SPI Driver - XMEGA"> |
| 104 | <device-support-alias value="lufa_xmega"/> | 104 | <device-support-alias value="lufa_xmega"/> |
| 105 | 105 | ||
| 106 | <build type="doxygen-entry-point" value="Group_SerialSPI"/> | 106 | <build type="doxygen-entry-point" value="Group_SerialSPI"/> |
| 107 | 107 | ||
| 108 | <require idref="lufa.common"/> | 108 | <require idref="lufa.common"/> |
| 109 | 109 | ||
| 110 | <build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/> | 110 | <build type="header-file" value="Drivers/Peripheral/XMEGA/SerialSPI_XMEGA.h"/> |
| 111 | <build type="include-path" value=".."/> | 111 | <build type="include-path" value=".."/> |
| 112 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/> | 112 | <build type="header-file" subtype="api" value="Drivers/Peripheral/SerialSPI.h"/> |
| 113 | </module> | 113 | </module> |
| 114 | 114 | ||
| 115 | <module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3"> | 115 | <module type="driver" id="lufa.drivers.peripheral.usart_spi#uc3" caption="LUFA USART SPI Driver - UC3"> |
| 116 | <device-support-alias value="lufa_uc3"/> | 116 | <device-support-alias value="lufa_uc3"/> |
| 117 | 117 | ||
| 118 | <build type="doxygen-entry-point" value="Group_SerialSPI"/> | 118 | <build type="doxygen-entry-point" value="Group_SerialSPI"/> |
| 119 | 119 | ||
| 120 | <require idref="lufa.common"/> | 120 | <require idref="lufa.common"/> |
| 121 | 121 | ||
| 122 | <info type="gui-flag" value="hidden"/> | 122 | <info type="gui-flag" value="hidden"/> |
| 123 | </module> | 123 | </module> |
| 124 | </select-by-device> | 124 | </select-by-device> |
| 125 | 125 | ||
| 126 | <select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver"> | 126 | <select-by-device id="lufa.drivers.peripheral.twi" caption="LUFA TWI Master Driver"> |
| 127 | <module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8"> | 127 | <module type="driver" id="lufa.drivers.peripheral.twi#avr8" caption="LUFA TWI Master Driver - AVR8"> |
| 128 | <device-support-alias value="lufa_avr8"/> | 128 | <device-support-alias value="lufa_avr8"/> |
| 129 | 129 | ||
| 130 | <build type="doxygen-entry-point" value="Group_TWI"/> | 130 | <build type="doxygen-entry-point" value="Group_TWI"/> |
| 131 | 131 | ||
| 132 | <require idref="lufa.common"/> | 132 | <require idref="lufa.common"/> |
| 133 | 133 | ||
| 134 | <build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/> | 134 | <build type="c-source" value="Drivers/Peripheral/AVR8/TWI_AVR8.c"/> |
| 135 | <build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/> | 135 | <build type="header-file" value="Drivers/Peripheral/AVR8/TWI_AVR8.h"/> |
| 136 | <build type="include-path" value=".."/> | 136 | <build type="include-path" value=".."/> |
| 137 | <build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/> | 137 | <build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/> |
| 138 | </module> | 138 | </module> |
| 139 | 139 | ||
| 140 | <module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA"> | 140 | <module type="driver" id="lufa.drivers.peripheral.twi#xmega" caption="LUFA TWI Master Driver - XMEGA"> |
| 141 | <device-support-alias value="lufa_xmega"/> | 141 | <device-support-alias value="lufa_xmega"/> |
| 142 | 142 | ||
| 143 | <build type="doxygen-entry-point" value="Group_TWI"/> | 143 | <build type="doxygen-entry-point" value="Group_TWI"/> |
| 144 | 144 | ||
| 145 | <require idref="lufa.common"/> | 145 | <require idref="lufa.common"/> |
| 146 | 146 | ||
| 147 | <build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/> | 147 | <build type="c-source" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.c"/> |
| 148 | <build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/> | 148 | <build type="header-file" value="Drivers/Peripheral/XMEGA/TWI_XMEGA.h"/> |
| 149 | <build type="include-path" value=".."/> | 149 | <build type="include-path" value=".."/> |
| 150 | <build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/> | 150 | <build type="header-file" subtype="api" value="Drivers/Peripheral/TWI.h"/> |
| 151 | </module> | 151 | </module> |
| 152 | 152 | ||
| 153 | <module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3"> | 153 | <module type="driver" id="lufa.drivers.peripheral.twi#uc3" caption="LUFA TWI Master Driver - UC3"> |
| 154 | <device-support-alias value="lufa_uc3"/> | 154 | <device-support-alias value="lufa_uc3"/> |
| 155 | 155 | ||
| 156 | <build type="doxygen-entry-point" value="Group_TWI"/> | 156 | <build type="doxygen-entry-point" value="Group_TWI"/> |
| 157 | 157 | ||
| 158 | <require idref="lufa.common"/> | 158 | <require idref="lufa.common"/> |
| 159 | 159 | ||
| 160 | <info type="gui-flag" value="hidden"/> | 160 | <info type="gui-flag" value="hidden"/> |
| 161 | </module> | 161 | </module> |
| 162 | </select-by-device> | 162 | </select-by-device> |
| 163 | 163 | ||
| 164 | <select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver"> | 164 | <select-by-device id="lufa.drivers.peripheral.adc" caption="LUFA ADC Driver"> |
| 165 | <module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8"> | 165 | <module type="driver" id="lufa.drivers.peripheral.adc#avr8" caption="LUFA ADC Driver - AVR8"> |
| 166 | <device-support-alias value="lufa_avr8"/> | 166 | <device-support-alias value="lufa_avr8"/> |
| 167 | 167 | ||
| 168 | <build type="doxygen-entry-point" value="Group_ADC"/> | 168 | <build type="doxygen-entry-point" value="Group_ADC"/> |
| 169 | 169 | ||
| 170 | <require idref="lufa.common"/> | 170 | <require idref="lufa.common"/> |
| 171 | 171 | ||
| 172 | <build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/> | 172 | <build type="header-file" value="Drivers/Peripheral/AVR8/ADC_AVR8.h"/> |
| 173 | <build type="include-path" value=".."/> | 173 | <build type="include-path" value=".."/> |
| 174 | <build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/> | 174 | <build type="header-file" subtype="api" value="Drivers/Peripheral/ADC.h"/> |
| 175 | </module> | 175 | </module> |
| 176 | 176 | ||
| 177 | <module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA"> | 177 | <module type="driver" id="lufa.drivers.peripheral.adc#xmega" caption="LUFA ADC Driver - XMEGA"> |
| 178 | <device-support-alias value="lufa_xmega"/> | 178 | <device-support-alias value="lufa_xmega"/> |
| 179 | 179 | ||
| 180 | <build type="doxygen-entry-point" value="Group_ADC"/> | 180 | <build type="doxygen-entry-point" value="Group_ADC"/> |
| 181 | 181 | ||
| 182 | <require idref="lufa.common"/> | 182 | <require idref="lufa.common"/> |
| 183 | 183 | ||
| 184 | <info type="gui-flag" value="hidden"/> | 184 | <info type="gui-flag" value="hidden"/> |
| 185 | </module> | 185 | </module> |
| 186 | 186 | ||
| 187 | <module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3"> | 187 | <module type="driver" id="lufa.drivers.peripheral.adc#uc3" caption="LUFA ADC Driver - UC3"> |
| 188 | <device-support-alias value="lufa_uc3"/> | 188 | <device-support-alias value="lufa_uc3"/> |
| 189 | 189 | ||
| 190 | <build type="doxygen-entry-point" value="Group_ADC"/> | 190 | <build type="doxygen-entry-point" value="Group_ADC"/> |
| 191 | 191 | ||
| 192 | <require idref="lufa.common"/> | 192 | <require idref="lufa.common"/> |
| 193 | 193 | ||
| 194 | <info type="gui-flag" value="hidden"/> | 194 | <info type="gui-flag" value="hidden"/> |
| 195 | </module> | 195 | </module> |
| 196 | </select-by-device> | 196 | </select-by-device> |
| 197 | </asf> | 197 | </asf> |
| 198 | </lufa> | 198 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb.xml index 7ff4b3949..263c411df 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb.xml | |||
| @@ -1,32 +1,32 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver"> | 13 | <module type="driver" id="lufa.drivers.usb" caption="LUFA USB Driver"> |
| 14 | <device-support-alias value="lufa_avr8"/> | 14 | <device-support-alias value="lufa_avr8"/> |
| 15 | <device-support-alias value="lufa_xmega"/> | 15 | <device-support-alias value="lufa_xmega"/> |
| 16 | <device-support-alias value="lufa_uc3"/> | 16 | <device-support-alias value="lufa_uc3"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_USB"/> | 18 | <build type="doxygen-entry-point" value="Group_USB"/> |
| 19 | 19 | ||
| 20 | <build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/> | 20 | <build type="define" name="USE_LUFA_CONFIG_HEADER" value=""/> |
| 21 | <build type="module-config" subtype="path" value="CodeTemplates"/> | 21 | <build type="module-config" subtype="path" value="CodeTemplates"/> |
| 22 | <build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/> | 22 | <build type="module-config" subtype="required-header-file" value="LUFAConfig.h"/> |
| 23 | 23 | ||
| 24 | <build type="include-path" value=".."/> | 24 | <build type="include-path" value=".."/> |
| 25 | <build type="header-file" subtype="api" value="Drivers/USB/USB.h"/> | 25 | <build type="header-file" subtype="api" value="Drivers/USB/USB.h"/> |
| 26 | 26 | ||
| 27 | <require idref="lufa.common"/> | 27 | <require idref="lufa.common"/> |
| 28 | <require idref="lufa.drivers.usb.class"/> | 28 | <require idref="lufa.drivers.usb.class"/> |
| 29 | <require idref="lufa.drivers.usb.core"/> | 29 | <require idref="lufa.drivers.usb.core"/> |
| 30 | </module> | 30 | </module> |
| 31 | </asf> | 31 | </asf> |
| 32 | </lufa> \ No newline at end of file | 32 | </lufa> \ No newline at end of file |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_class.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_class.xml index cd18bf10e..67ab760d3 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_class.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_class.xml | |||
| @@ -1,32 +1,32 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers"> | 13 | <module type="service" id="lufa.drivers.usb.class" caption="LUFA USB Class Drivers"> |
| 14 | <device-support-alias value="lufa_avr8"/> | 14 | <device-support-alias value="lufa_avr8"/> |
| 15 | <device-support-alias value="lufa_xmega"/> | 15 | <device-support-alias value="lufa_xmega"/> |
| 16 | <device-support-alias value="lufa_uc3"/> | 16 | <device-support-alias value="lufa_uc3"/> |
| 17 | 17 | ||
| 18 | <info type="gui-flag" value="hidden"/> | 18 | <info type="gui-flag" value="hidden"/> |
| 19 | <build type="doxygen-entry-point" value="Group_USBClassDrivers"/> | 19 | <build type="doxygen-entry-point" value="Group_USBClassDrivers"/> |
| 20 | 20 | ||
| 21 | <require idref="lufa.drivers.usb.class.android"/> | 21 | <require idref="lufa.drivers.usb.class.android"/> |
| 22 | <require idref="lufa.drivers.usb.class.audio"/> | 22 | <require idref="lufa.drivers.usb.class.audio"/> |
| 23 | <require idref="lufa.drivers.usb.class.cdc"/> | 23 | <require idref="lufa.drivers.usb.class.cdc"/> |
| 24 | <require idref="lufa.drivers.usb.class.hid"/> | 24 | <require idref="lufa.drivers.usb.class.hid"/> |
| 25 | <require idref="lufa.drivers.usb.class.ms"/> | 25 | <require idref="lufa.drivers.usb.class.ms"/> |
| 26 | <require idref="lufa.drivers.usb.class.midi"/> | 26 | <require idref="lufa.drivers.usb.class.midi"/> |
| 27 | <require idref="lufa.drivers.usb.class.printer"/> | 27 | <require idref="lufa.drivers.usb.class.printer"/> |
| 28 | <require idref="lufa.drivers.usb.class.rndis"/> | 28 | <require idref="lufa.drivers.usb.class.rndis"/> |
| 29 | <require idref="lufa.drivers.usb.class.si"/> | 29 | <require idref="lufa.drivers.usb.class.si"/> |
| 30 | </module> | 30 | </module> |
| 31 | </asf> | 31 | </asf> |
| 32 | </lufa> | 32 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core.xml index 58f8917ef..58a0b388f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core.xml | |||
| @@ -1,85 +1,85 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common"> | 13 | <module type="driver" id="lufa.drivers.usb.core.common" caption="LUFA USB Core Driver - Common"> |
| 14 | <device-support-alias value="lufa_avr8"/> | 14 | <device-support-alias value="lufa_avr8"/> |
| 15 | <device-support-alias value="lufa_xmega"/> | 15 | <device-support-alias value="lufa_xmega"/> |
| 16 | <device-support-alias value="lufa_uc3"/> | 16 | <device-support-alias value="lufa_uc3"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_USBManagement"/> | 18 | <build type="doxygen-entry-point" value="Group_USBManagement"/> |
| 19 | 19 | ||
| 20 | <info type="gui-flag" value="hidden"/> | 20 | <info type="gui-flag" value="hidden"/> |
| 21 | 21 | ||
| 22 | <build type="header-file" value="Drivers/USB/Core/Device.h"/> | 22 | <build type="header-file" value="Drivers/USB/Core/Device.h"/> |
| 23 | <build type="header-file" value="Drivers/USB/Core/Endpoint.h"/> | 23 | <build type="header-file" value="Drivers/USB/Core/Endpoint.h"/> |
| 24 | <build type="header-file" value="Drivers/USB/Core/Host.h"/> | 24 | <build type="header-file" value="Drivers/USB/Core/Host.h"/> |
| 25 | <build type="header-file" value="Drivers/USB/Core/Pipe.h"/> | 25 | <build type="header-file" value="Drivers/USB/Core/Pipe.h"/> |
| 26 | <build type="header-file" value="Drivers/USB/Core/OTG.h"/> | 26 | <build type="header-file" value="Drivers/USB/Core/OTG.h"/> |
| 27 | <build type="header-file" value="Drivers/USB/Core/USBController.h"/> | 27 | <build type="header-file" value="Drivers/USB/Core/USBController.h"/> |
| 28 | <build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/> | 28 | <build type="header-file" value="Drivers/USB/Core/USBInterrupt.h"/> |
| 29 | <build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/> | 29 | <build type="header-file" value="Drivers/USB/Core/EndpointStream.h"/> |
| 30 | <build type="header-file" value="Drivers/USB/Core/PipeStream.h"/> | 30 | <build type="header-file" value="Drivers/USB/Core/PipeStream.h"/> |
| 31 | <build type="c-source" value="Drivers/USB/Core/ConfigDescriptors.c"/> | 31 | <build type="c-source" value="Drivers/USB/Core/ConfigDescriptors.c"/> |
| 32 | <build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/> | 32 | <build type="header-file" value="Drivers/USB/Core/ConfigDescriptors.h"/> |
| 33 | <build type="c-source" value="Drivers/USB/Core/DeviceStandardReq.c"/> | 33 | <build type="c-source" value="Drivers/USB/Core/DeviceStandardReq.c"/> |
| 34 | <build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/> | 34 | <build type="header-file" value="Drivers/USB/Core/DeviceStandardReq.h"/> |
| 35 | <build type="c-source" value="Drivers/USB/Core/Events.c"/> | 35 | <build type="c-source" value="Drivers/USB/Core/Events.c"/> |
| 36 | <build type="header-file" value="Drivers/USB/Core/Events.h"/> | 36 | <build type="header-file" value="Drivers/USB/Core/Events.h"/> |
| 37 | <build type="c-source" value="Drivers/USB/Core/HostStandardReq.c"/> | 37 | <build type="c-source" value="Drivers/USB/Core/HostStandardReq.c"/> |
| 38 | <build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/> | 38 | <build type="header-file" value="Drivers/USB/Core/HostStandardReq.h"/> |
| 39 | <build type="c-source" value="Drivers/USB/Core/USBTask.c"/> | 39 | <build type="c-source" value="Drivers/USB/Core/USBTask.c"/> |
| 40 | <build type="header-file" value="Drivers/USB/Core/USBTask.h"/> | 40 | <build type="header-file" value="Drivers/USB/Core/USBTask.h"/> |
| 41 | <build type="header-file" value="Drivers/USB/Core/USBMode.h"/> | 41 | <build type="header-file" value="Drivers/USB/Core/USBMode.h"/> |
| 42 | <build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/> | 42 | <build type="header-file" value="Drivers/USB/Core/StdDescriptors.h"/> |
| 43 | <build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/> | 43 | <build type="header-file" value="Drivers/USB/Core/StdRequestType.h"/> |
| 44 | 44 | ||
| 45 | <build type="c-source" value="Drivers/USB/Class/Common/HIDParser.c"/> | 45 | <build type="c-source" value="Drivers/USB/Class/Common/HIDParser.c"/> |
| 46 | <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/> | 46 | <build type="header-file" value="Drivers/USB/Class/Common/HIDParser.h"/> |
| 47 | <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/> | 47 | <build type="header-file" value="Drivers/USB/Class/Common/HIDReportData.h"/> |
| 48 | </module> | 48 | </module> |
| 49 | 49 | ||
| 50 | <select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver"> | 50 | <select-by-device id="lufa.drivers.usb.core" caption="LUFA USB Core Driver"> |
| 51 | <module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8"> | 51 | <module type="driver" id="lufa.drivers.usb.core#avr8" caption="LUFA USB Core Driver - AVR8"> |
| 52 | <device-support-alias value="lufa_avr8"/> | 52 | <device-support-alias value="lufa_avr8"/> |
| 53 | 53 | ||
| 54 | <info type="gui-flag" value="hidden"/> | 54 | <info type="gui-flag" value="hidden"/> |
| 55 | 55 | ||
| 56 | <build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/> | 56 | <build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/> |
| 57 | 57 | ||
| 58 | <require idref="lufa.drivers.usb.core.common"/> | 58 | <require idref="lufa.drivers.usb.core.common"/> |
| 59 | <require idref="lufa.drivers.usb.core.avr8"/> | 59 | <require idref="lufa.drivers.usb.core.avr8"/> |
| 60 | </module> | 60 | </module> |
| 61 | 61 | ||
| 62 | <module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA"> | 62 | <module type="driver" id="lufa.drivers.usb.core#xmega" caption="LUFA USB Core Driver - XMEGA"> |
| 63 | <device-support-alias value="lufa_xmega"/> | 63 | <device-support-alias value="lufa_xmega"/> |
| 64 | 64 | ||
| 65 | <info type="gui-flag" value="hidden"/> | 65 | <info type="gui-flag" value="hidden"/> |
| 66 | 66 | ||
| 67 | <build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/> | 67 | <build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/> |
| 68 | 68 | ||
| 69 | <require idref="lufa.drivers.usb.core.common"/> | 69 | <require idref="lufa.drivers.usb.core.common"/> |
| 70 | <require idref="lufa.drivers.usb.core.xmega"/> | 70 | <require idref="lufa.drivers.usb.core.xmega"/> |
| 71 | </module> | 71 | </module> |
| 72 | 72 | ||
| 73 | <module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3"> | 73 | <module type="driver" id="lufa.drivers.usb.core#uc3" caption="LUFA USB Core Driver - UC3"> |
| 74 | <device-support-alias value="lufa_uc3"/> | 74 | <device-support-alias value="lufa_uc3"/> |
| 75 | 75 | ||
| 76 | <info type="gui-flag" value="hidden"/> | 76 | <info type="gui-flag" value="hidden"/> |
| 77 | 77 | ||
| 78 | <build type="doxygen-entry-point" value="Group_USBManagement_UC3"/> | 78 | <build type="doxygen-entry-point" value="Group_USBManagement_UC3"/> |
| 79 | 79 | ||
| 80 | <require idref="lufa.drivers.usb.core.common"/> | 80 | <require idref="lufa.drivers.usb.core.common"/> |
| 81 | <require idref="lufa.drivers.usb.core.uc3"/> | 81 | <require idref="lufa.drivers.usb.core.uc3"/> |
| 82 | </module> | 82 | </module> |
| 83 | </select-by-device> | 83 | </select-by-device> |
| 84 | </asf> | 84 | </asf> |
| 85 | </lufa> | 85 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml index 166b9257a..4688f05f9 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_avr8.xml | |||
| @@ -1,43 +1,43 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8"> | 13 | <module type="driver" id="lufa.drivers.usb.core.avr8" caption="LUFA USB Core Driver for AVR8"> |
| 14 | <device-support-alias value="lufa_avr8"/> | 14 | <device-support-alias value="lufa_avr8"/> |
| 15 | 15 | ||
| 16 | <info type="gui-flag" value="hidden"/> | 16 | <info type="gui-flag" value="hidden"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/> | 18 | <build type="doxygen-entry-point" value="Group_USBManagement_AVR8"/> |
| 19 | 19 | ||
| 20 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/> | 20 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_R.c"/> |
| 21 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/> | 21 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_Control_W.c"/> |
| 22 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/> | 22 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c"/> |
| 23 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/> | 23 | <build type="c-source" value="Drivers/USB/Core/AVR8/Template/Template_Pipe_RW.c"/> |
| 24 | <build type="c-source" value="Drivers/USB/Core/AVR8/Device_AVR8.c"/> | 24 | <build type="c-source" value="Drivers/USB/Core/AVR8/Device_AVR8.c"/> |
| 25 | <build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/> | 25 | <build type="header-file" value="Drivers/USB/Core/AVR8/Device_AVR8.h"/> |
| 26 | <build type="c-source" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/> | 26 | <build type="c-source" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.c"/> |
| 27 | <build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/> | 27 | <build type="header-file" value="Drivers/USB/Core/AVR8/Endpoint_AVR8.h"/> |
| 28 | <build type="c-source" value="Drivers/USB/Core/AVR8/Host_AVR8.c"/> | 28 | <build type="c-source" value="Drivers/USB/Core/AVR8/Host_AVR8.c"/> |
| 29 | <build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/> | 29 | <build type="header-file" value="Drivers/USB/Core/AVR8/Host_AVR8.h"/> |
| 30 | <build type="c-source" value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/> | 30 | <build type="c-source" value="Drivers/USB/Core/AVR8/Pipe_AVR8.c"/> |
| 31 | <build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/> | 31 | <build type="header-file" value="Drivers/USB/Core/AVR8/Pipe_AVR8.h"/> |
| 32 | <build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/> | 32 | <build type="header-file" value="Drivers/USB/Core/AVR8/OTG_AVR8.h"/> |
| 33 | <build type="c-source" value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/> | 33 | <build type="c-source" value="Drivers/USB/Core/AVR8/USBController_AVR8.c"/> |
| 34 | <build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/> | 34 | <build type="header-file" value="Drivers/USB/Core/AVR8/USBController_AVR8.h"/> |
| 35 | <build type="c-source" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/> | 35 | <build type="c-source" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c"/> |
| 36 | <build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/> | 36 | <build type="header-file" value="Drivers/USB/Core/AVR8/USBInterrupt_AVR8.h"/> |
| 37 | <build type="c-source" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/> | 37 | <build type="c-source" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.c"/> |
| 38 | <build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/> | 38 | <build type="header-file" value="Drivers/USB/Core/AVR8/EndpointStream_AVR8.h"/> |
| 39 | <build type="c-source" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/> | 39 | <build type="c-source" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.c"/> |
| 40 | <build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/> | 40 | <build type="header-file" value="Drivers/USB/Core/AVR8/PipeStream_AVR8.h"/> |
| 41 | </module> | 41 | </module> |
| 42 | </asf> | 42 | </asf> |
| 43 | </lufa> | 43 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml index 7e0540cda..2e7185f24 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_uc3.xml | |||
| @@ -1,42 +1,42 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3"> | 13 | <module type="driver" id="lufa.drivers.usb.core.uc3" caption="LUFA USB Core Driver for UC3"> |
| 14 | <device-support-alias value="lufa_uc3"/> | 14 | <device-support-alias value="lufa_uc3"/> |
| 15 | 15 | ||
| 16 | <info type="gui-flag" value="hidden"/> | 16 | <info type="gui-flag" value="hidden"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_USBManagement_UC3"/> | 18 | <build type="doxygen-entry-point" value="Group_USBManagement_UC3"/> |
| 19 | 19 | ||
| 20 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/> | 20 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_R.c"/> |
| 21 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/> | 21 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_Control_W.c"/> |
| 22 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/> | 22 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c"/> |
| 23 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/> | 23 | <build type="c-source" value="Drivers/USB/Core/UC3/Template/Template_Pipe_RW.c"/> |
| 24 | <build type="c-source" value="Drivers/USB/Core/UC3/Device_UC3.c"/> | 24 | <build type="c-source" value="Drivers/USB/Core/UC3/Device_UC3.c"/> |
| 25 | <build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/> | 25 | <build type="header-file" value="Drivers/USB/Core/UC3/Device_UC3.h"/> |
| 26 | <build type="c-source" value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/> | 26 | <build type="c-source" value="Drivers/USB/Core/UC3/Endpoint_UC3.c"/> |
| 27 | <build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/> | 27 | <build type="header-file" value="Drivers/USB/Core/UC3/Endpoint_UC3.h"/> |
| 28 | <build type="c-source" value="Drivers/USB/Core/UC3/Host_UC3.c"/> | 28 | <build type="c-source" value="Drivers/USB/Core/UC3/Host_UC3.c"/> |
| 29 | <build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/> | 29 | <build type="header-file" value="Drivers/USB/Core/UC3/Host_UC3.h"/> |
| 30 | <build type="c-source" value="Drivers/USB/Core/UC3/Pipe_UC3.c"/> | 30 | <build type="c-source" value="Drivers/USB/Core/UC3/Pipe_UC3.c"/> |
| 31 | <build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/> | 31 | <build type="header-file" value="Drivers/USB/Core/UC3/Pipe_UC3.h"/> |
| 32 | <build type="c-source" value="Drivers/USB/Core/UC3/USBController_UC3.c"/> | 32 | <build type="c-source" value="Drivers/USB/Core/UC3/USBController_UC3.c"/> |
| 33 | <build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/> | 33 | <build type="header-file" value="Drivers/USB/Core/UC3/USBController_UC3.h"/> |
| 34 | <build type="c-source" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/> | 34 | <build type="c-source" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.c"/> |
| 35 | <build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/> | 35 | <build type="header-file" value="Drivers/USB/Core/UC3/USBInterrupt_UC3.h"/> |
| 36 | <build type="c-source" value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/> | 36 | <build type="c-source" value="Drivers/USB/Core/UC3/EndpointStream_UC3.c"/> |
| 37 | <build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/> | 37 | <build type="header-file" value="Drivers/USB/Core/UC3/EndpointStream_UC3.h"/> |
| 38 | <build type="c-source" value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/> | 38 | <build type="c-source" value="Drivers/USB/Core/UC3/PipeStream_UC3.c"/> |
| 39 | <build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/> | 39 | <build type="header-file" value="Drivers/USB/Core/UC3/PipeStream_UC3.h"/> |
| 40 | </module> | 40 | </module> |
| 41 | </asf> | 41 | </asf> |
| 42 | </lufa> | 42 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml index 9e9f4f6a1..c79a0f5b5 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_drivers_usb_core_xmega.xml | |||
| @@ -1,36 +1,36 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA"> | 13 | <module type="driver" id="lufa.drivers.usb.core.xmega" caption="LUFA USB Core Driver for XMEGA"> |
| 14 | <device-support-alias value="lufa_xmega"/> | 14 | <device-support-alias value="lufa_xmega"/> |
| 15 | 15 | ||
| 16 | <info type="gui-flag" value="hidden"/> | 16 | <info type="gui-flag" value="hidden"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/> | 18 | <build type="doxygen-entry-point" value="Group_USBManagement_XMEGA"/> |
| 19 | 19 | ||
| 20 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/> | 20 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_R.c"/> |
| 21 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/> | 21 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_Control_W.c"/> |
| 22 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/> | 22 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c"/> |
| 23 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/> | 23 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Device_XMEGA.c"/> |
| 24 | <build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/> | 24 | <build type="header-file" value="Drivers/USB/Core/XMEGA/Device_XMEGA.h"/> |
| 25 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/> | 25 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c"/> |
| 26 | <build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/> | 26 | <build type="header-file" value="Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h"/> |
| 27 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/> | 27 | <build type="c-source" value="Drivers/USB/Core/XMEGA/Pipe_XMEGA.c"/> |
| 28 | <build type="c-source" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/> | 28 | <build type="c-source" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.c"/> |
| 29 | <build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/> | 29 | <build type="header-file" value="Drivers/USB/Core/XMEGA/USBController_XMEGA.h"/> |
| 30 | <build type="c-source" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/> | 30 | <build type="c-source" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c"/> |
| 31 | <build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/> | 31 | <build type="header-file" value="Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.h"/> |
| 32 | <build type="c-source" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/> | 32 | <build type="c-source" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.c"/> |
| 33 | <build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/> | 33 | <build type="header-file" value="Drivers/USB/Core/XMEGA/EndpointStream_XMEGA.h"/> |
| 34 | </module> | 34 | </module> |
| 35 | </asf> | 35 | </asf> |
| 36 | </lufa> | 36 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform.xml index 02c7463ee..4ee51f6ee 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform.xml | |||
| @@ -1,60 +1,60 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <select-by-device id="lufa.platform" caption="LUFA Platform Specific Support"> | 13 | <select-by-device id="lufa.platform" caption="LUFA Platform Specific Support"> |
| 14 | <module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8"> | 14 | <module type="service" id="lufa.platform#avr8" caption="LUFA Platform Specific Support - AVR8"> |
| 15 | <device-support-alias value="lufa_avr8"/> | 15 | <device-support-alias value="lufa_avr8"/> |
| 16 | 16 | ||
| 17 | <build type="define" name="ARCH" value="ARCH_AVR8"/> | 17 | <build type="define" name="ARCH" value="ARCH_AVR8"/> |
| 18 | 18 | ||
| 19 | <build type="doxygen-entry-point" value="Group_PlatformDrivers"/> | 19 | <build type="doxygen-entry-point" value="Group_PlatformDrivers"/> |
| 20 | 20 | ||
| 21 | <build type="include-path" value=".."/> | 21 | <build type="include-path" value=".."/> |
| 22 | <build type="header-file" subtype="api" value="Platform/Platform.h"/> | 22 | <build type="header-file" subtype="api" value="Platform/Platform.h"/> |
| 23 | 23 | ||
| 24 | <require idref="lufa.common"/> | 24 | <require idref="lufa.common"/> |
| 25 | </module> | 25 | </module> |
| 26 | 26 | ||
| 27 | <module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA"> | 27 | <module type="service" id="lufa.platform#xmega" caption="LUFA Platform Specific Support - XMEGA"> |
| 28 | <device-support-alias value="lufa_xmega"/> | 28 | <device-support-alias value="lufa_xmega"/> |
| 29 | 29 | ||
| 30 | <build type="define" name="ARCH" value="ARCH_XMEGA"/> | 30 | <build type="define" name="ARCH" value="ARCH_XMEGA"/> |
| 31 | 31 | ||
| 32 | <build type="doxygen-entry-point" value="Group_PlatformDrivers"/> | 32 | <build type="doxygen-entry-point" value="Group_PlatformDrivers"/> |
| 33 | 33 | ||
| 34 | <build type="include-path" value=".."/> | 34 | <build type="include-path" value=".."/> |
| 35 | <build type="header-file" subtype="api" value="Platform/Platform.h"/> | 35 | <build type="header-file" subtype="api" value="Platform/Platform.h"/> |
| 36 | 36 | ||
| 37 | <build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/> | 37 | <build type="distribute" value="Platform/XMEGA/XMEGAExperimentalInfo.txt" subtype="license"/> |
| 38 | 38 | ||
| 39 | <require idref="lufa.platform.xmega"/> | 39 | <require idref="lufa.platform.xmega"/> |
| 40 | <require idref="lufa.common"/> | 40 | <require idref="lufa.common"/> |
| 41 | </module> | 41 | </module> |
| 42 | 42 | ||
| 43 | <module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3"> | 43 | <module type="service" id="lufa.platform#uc3" caption="LUFA Platform Specific Support - UC3"> |
| 44 | <device-support-alias value="lufa_uc3"/> | 44 | <device-support-alias value="lufa_uc3"/> |
| 45 | 45 | ||
| 46 | <build type="define" name="ARCH" value="ARCH_UC3"/> | 46 | <build type="define" name="ARCH" value="ARCH_UC3"/> |
| 47 | 47 | ||
| 48 | <build type="doxygen-entry-point" value="Group_PlatformDrivers"/> | 48 | <build type="doxygen-entry-point" value="Group_PlatformDrivers"/> |
| 49 | 49 | ||
| 50 | <build type="include-path" value=".."/> | 50 | <build type="include-path" value=".."/> |
| 51 | <build type="header-file" subtype="api" value="Platform/Platform.h"/> | 51 | <build type="header-file" subtype="api" value="Platform/Platform.h"/> |
| 52 | 52 | ||
| 53 | <build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/> | 53 | <build type="distribute" value="Platform/UC3/UC3ExperimentalInfo.txt" subtype="license"/> |
| 54 | 54 | ||
| 55 | <require idref="lufa.platform.uc3"/> | 55 | <require idref="lufa.platform.uc3"/> |
| 56 | <require idref="lufa.common"/> | 56 | <require idref="lufa.common"/> |
| 57 | </module> | 57 | </module> |
| 58 | </select-by-device> | 58 | </select-by-device> |
| 59 | </asf> | 59 | </asf> |
| 60 | </lufa> | 60 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_uc3.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_uc3.xml index a488c4b83..98017b08a 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_uc3.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_uc3.xml | |||
| @@ -1,26 +1,26 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers"> | 13 | <module type="driver" id="lufa.platform.uc3" caption="LUFA UC3 Platform Drivers"> |
| 14 | <device-support-alias value="lufa_uc3"/> | 14 | <device-support-alias value="lufa_uc3"/> |
| 15 | 15 | ||
| 16 | <info type="gui-flag" value="hidden"/> | 16 | <info type="gui-flag" value="hidden"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/> | 18 | <build type="doxygen-entry-point" value="Group_PlatformDrivers_UC3"/> |
| 19 | 19 | ||
| 20 | <build type="header-file" value="Platform/UC3/ClockManagement.h"/> | 20 | <build type="header-file" value="Platform/UC3/ClockManagement.h"/> |
| 21 | <build type="header-file" value="Platform/UC3/InterruptManagement.h"/> | 21 | <build type="header-file" value="Platform/UC3/InterruptManagement.h"/> |
| 22 | <build type="c-source" value="Platform/UC3/InterruptManagement.c"/> | 22 | <build type="c-source" value="Platform/UC3/InterruptManagement.c"/> |
| 23 | <build type="asm-source" value="Platform/UC3/Exception.S"/> | 23 | <build type="asm-source" value="Platform/UC3/Exception.S"/> |
| 24 | </module> | 24 | </module> |
| 25 | </asf> | 25 | </asf> |
| 26 | </lufa> | 26 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_xmega.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_xmega.xml index 1674a77b0..e613fe520 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_xmega.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_platform_xmega.xml | |||
| @@ -1,23 +1,23 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf xmlversion="1.0"> | 12 | <asf xmlversion="1.0"> |
| 13 | <module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers"> | 13 | <module type="driver" id="lufa.platform.xmega" caption="LUFA XMEGA Platform Drivers"> |
| 14 | <device-support-alias value="lufa_xmega"/> | 14 | <device-support-alias value="lufa_xmega"/> |
| 15 | 15 | ||
| 16 | <info type="gui-flag" value="hidden"/> | 16 | <info type="gui-flag" value="hidden"/> |
| 17 | 17 | ||
| 18 | <build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/> | 18 | <build type="doxygen-entry-point" value="Group_PlatformDrivers_XMEGA"/> |
| 19 | 19 | ||
| 20 | <build type="header-file" value="Platform/XMEGA/ClockManagement.h"/> | 20 | <build type="header-file" value="Platform/XMEGA/ClockManagement.h"/> |
| 21 | </module> | 21 | </module> |
| 22 | </asf> | 22 | </asf> |
| 23 | </lufa> | 23 | </lufa> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_toolchain.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_toolchain.xml index 031c8a2be..a76b6d0d3 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_toolchain.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/StudioIntegration/lufa_toolchain.xml | |||
| @@ -1,43 +1,43 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2013. | 3 | Copyright (C) Dean Camera, 2013. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | --> | 7 | --> |
| 8 | 8 | ||
| 9 | <!-- Atmel Studio framework integration file --> | 9 | <!-- Atmel Studio framework integration file --> |
| 10 | 10 | ||
| 11 | <lufa> | 11 | <lufa> |
| 12 | <asf> | 12 | <asf> |
| 13 | <select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults"> | 13 | <select-by-device id="common.utils.toolchain_config" caption="Toolchain configuration defaults"> |
| 14 | <module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR"> | 14 | <module type="build-specific" id="common.utils.toolchain_config#avr" caption="Toolchain configuration defaults for 8-bit AVR"> |
| 15 | <info type="gui-flag" value="hidden"/> | 15 | <info type="gui-flag" value="hidden"/> |
| 16 | <device-support value="avr"/> | 16 | <device-support value="avr"/> |
| 17 | 17 | ||
| 18 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/> | 18 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avrgcc"/> |
| 19 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/> | 19 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avrgcc"/> |
| 20 | <toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/> | 20 | <toolchain-config name="avrgcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avrgcc"/> |
| 21 | <toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/> | 21 | <toolchain-config name="avrgcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avrgcc"/> |
| 22 | <toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/> | 22 | <toolchain-config name="avrgcc.compiler.warnings.AllWarnings" value="True" toolchain="avrgcc"/> |
| 23 | <toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/> | 23 | <toolchain-config name="avrgcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -fno-jump-tables" toolchain="avrgcc"/> |
| 24 | <toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/> | 24 | <toolchain-config name="avrgcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avrgcc"/> |
| 25 | <toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/> | 25 | <toolchain-config name="avrgcc.linker.optimization.RelaxBranches" value="True" toolchain="avrgcc"/> |
| 26 | </module> | 26 | </module> |
| 27 | </select-by-device> | 27 | </select-by-device> |
| 28 | 28 | ||
| 29 | <module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR"> | 29 | <module type="build-specific" id="common.utils.toolchain_config#uc3" caption="Toolchain configuration defaults for 32-bit AVR"> |
| 30 | <info type="gui-flag" value="hidden"/> | 30 | <info type="gui-flag" value="hidden"/> |
| 31 | <device-support value="uc3"/> | 31 | <device-support value="uc3"/> |
| 32 | 32 | ||
| 33 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/> | 33 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned" value="True" toolchain="avr32gcc"/> |
| 34 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/> | 34 | <toolchain-config name="avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned" value="True" toolchain="avr32gcc"/> |
| 35 | <toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/> | 35 | <toolchain-config name="avr32gcc.compiler.optimization.OtherFlags" value="-fdata-sections" toolchain="avr32gcc"/> |
| 36 | <toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/> | 36 | <toolchain-config name="avr32gcc.compiler.optimization.PrepareFunctionsForGarbageCollection" value="True" toolchain="avr32gcc"/> |
| 37 | <toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/> | 37 | <toolchain-config name="avr32gcc.compiler.warnings.AllWarnings" value="True" toolchain="avr32gcc"/> |
| 38 | <toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/> | 38 | <toolchain-config name="avr32gcc.compiler.miscellaneous.OtherFlags" value="-mrelax -std=gnu99 -fno-strict-aliasing -mno-cond-exec-before-reload" toolchain="avr32gcc"/> |
| 39 | <toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/> | 39 | <toolchain-config name="avr32gcc.linker.optimization.GarbageCollectUnusedSections" value="True" toolchain="avr32gcc"/> |
| 40 | <toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/> | 40 | <toolchain-config name="avr32gcc.linker.optimization.RelaxBranches" value="True" toolchain="avr32gcc"/> |
| 41 | </module> | 41 | </module> |
| 42 | </asf> | 42 | </asf> |
| 43 | </lufa> | 43 | </lufa> |
diff --git a/tmk_core/protocol/lufa/descriptor.c b/tmk_core/protocol/lufa/descriptor.c index 539a58d66..6f2407f58 100644 --- a/tmk_core/protocol/lufa/descriptor.c +++ b/tmk_core/protocol/lufa/descriptor.c | |||
| @@ -231,9 +231,15 @@ const USB_Descriptor_Device_t PROGMEM DeviceDescriptor = | |||
| 231 | .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device}, | 231 | .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device}, |
| 232 | 232 | ||
| 233 | .USBSpecification = VERSION_BCD(1,1,0), | 233 | .USBSpecification = VERSION_BCD(1,1,0), |
| 234 | #if VIRTSER_ENABLE | ||
| 235 | .Class = USB_CSCP_IADDeviceClass, | ||
| 236 | .SubClass = USB_CSCP_IADDeviceSubclass, | ||
| 237 | .Protocol = USB_CSCP_IADDeviceProtocol, | ||
| 238 | #else | ||
| 234 | .Class = USB_CSCP_NoDeviceClass, | 239 | .Class = USB_CSCP_NoDeviceClass, |
| 235 | .SubClass = USB_CSCP_NoDeviceSubclass, | 240 | .SubClass = USB_CSCP_NoDeviceSubclass, |
| 236 | .Protocol = USB_CSCP_NoDeviceProtocol, | 241 | .Protocol = USB_CSCP_NoDeviceProtocol, |
| 242 | #endif | ||
| 237 | 243 | ||
| 238 | .Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE, | 244 | .Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE, |
| 239 | 245 | ||
| @@ -643,8 +649,112 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = | |||
| 643 | 649 | ||
| 644 | .TotalEmbeddedJacks = 0x01, | 650 | .TotalEmbeddedJacks = 0x01, |
| 645 | .AssociatedJackID = {0x03} | 651 | .AssociatedJackID = {0x03} |
| 646 | } | 652 | }, |
| 647 | #endif | 653 | #endif |
| 654 | |||
| 655 | #ifdef VIRTSER_ENABLE | ||
| 656 | .CDC_Interface_Association = | ||
| 657 | { | ||
| 658 | .Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation}, | ||
| 659 | |||
| 660 | .FirstInterfaceIndex = CCI_INTERFACE, | ||
| 661 | .TotalInterfaces = 2, | ||
| 662 | |||
| 663 | .Class = CDC_CSCP_CDCClass, | ||
| 664 | .SubClass = CDC_CSCP_ACMSubclass, | ||
| 665 | .Protocol = CDC_CSCP_ATCommandProtocol, | ||
| 666 | |||
| 667 | .IADStrIndex = NO_DESCRIPTOR, | ||
| 668 | }, | ||
| 669 | |||
| 670 | .CDC_CCI_Interface = | ||
| 671 | { | ||
| 672 | .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, | ||
| 673 | |||
| 674 | .InterfaceNumber = CCI_INTERFACE, | ||
| 675 | .AlternateSetting = 0, | ||
| 676 | |||
| 677 | .TotalEndpoints = 1, | ||
| 678 | |||
| 679 | .Class = CDC_CSCP_CDCClass, | ||
| 680 | .SubClass = CDC_CSCP_ACMSubclass, | ||
| 681 | .Protocol = CDC_CSCP_ATCommandProtocol, | ||
| 682 | |||
| 683 | .InterfaceStrIndex = NO_DESCRIPTOR | ||
| 684 | }, | ||
| 685 | |||
| 686 | .CDC_Functional_Header = | ||
| 687 | { | ||
| 688 | .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface}, | ||
| 689 | .Subtype = 0x00, | ||
| 690 | |||
| 691 | .CDCSpecification = VERSION_BCD(1,1,0), | ||
| 692 | }, | ||
| 693 | |||
| 694 | .CDC_Functional_ACM = | ||
| 695 | { | ||
| 696 | .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface}, | ||
| 697 | .Subtype = 0x02, | ||
| 698 | |||
| 699 | .Capabilities = 0x02, | ||
| 700 | }, | ||
| 701 | |||
| 702 | .CDC_Functional_Union = | ||
| 703 | { | ||
| 704 | .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface}, | ||
| 705 | .Subtype = 0x06, | ||
| 706 | |||
| 707 | .MasterInterfaceNumber = CCI_INTERFACE, | ||
| 708 | .SlaveInterfaceNumber = CDI_INTERFACE, | ||
| 709 | }, | ||
| 710 | |||
| 711 | .CDC_NotificationEndpoint = | ||
| 712 | { | ||
| 713 | .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, | ||
| 714 | |||
| 715 | .EndpointAddress = CDC_NOTIFICATION_EPADDR, | ||
| 716 | .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), | ||
| 717 | .EndpointSize = CDC_NOTIFICATION_EPSIZE, | ||
| 718 | .PollingIntervalMS = 0xFF | ||
| 719 | }, | ||
| 720 | |||
| 721 | .CDC_DCI_Interface = | ||
| 722 | { | ||
| 723 | .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, | ||
| 724 | |||
| 725 | .InterfaceNumber = CDI_INTERFACE, | ||
| 726 | .AlternateSetting = 0, | ||
| 727 | |||
| 728 | .TotalEndpoints = 2, | ||
| 729 | |||
| 730 | .Class = CDC_CSCP_CDCDataClass, | ||
| 731 | .SubClass = CDC_CSCP_NoDataSubclass, | ||
| 732 | .Protocol = CDC_CSCP_NoDataProtocol, | ||
| 733 | |||
| 734 | .InterfaceStrIndex = NO_DESCRIPTOR | ||
| 735 | }, | ||
| 736 | |||
| 737 | .CDC_DataOutEndpoint = | ||
| 738 | { | ||
| 739 | .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, | ||
| 740 | |||
| 741 | .EndpointAddress = CDC_OUT_EPADDR, | ||
| 742 | .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), | ||
| 743 | .EndpointSize = CDC_EPSIZE, | ||
| 744 | .PollingIntervalMS = 0x05 | ||
| 745 | }, | ||
| 746 | |||
| 747 | .CDC_DataInEndpoint = | ||
| 748 | { | ||
| 749 | .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, | ||
| 750 | |||
| 751 | .EndpointAddress = CDC_IN_EPADDR, | ||
| 752 | .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), | ||
| 753 | .EndpointSize = CDC_EPSIZE, | ||
| 754 | .PollingIntervalMS = 0x05 | ||
| 755 | }, | ||
| 756 | #endif | ||
| 757 | |||
| 648 | }; | 758 | }; |
| 649 | 759 | ||
| 650 | 760 | ||
diff --git a/tmk_core/protocol/lufa/descriptor.h b/tmk_core/protocol/lufa/descriptor.h index 4fd81a0e8..c6c94e361 100644 --- a/tmk_core/protocol/lufa/descriptor.h +++ b/tmk_core/protocol/lufa/descriptor.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright 2012,2013 Jun Wako <wakojun@gmail.com> | 2 | * Copyright 2012,2013 Jun Wako <wakojun@gmail.com> |
| 3 | * This file is based on: | 3 | * This file is based on: |
| 4 | * LUFA-120219/Demos/Device/Lowlevel/KeyboardMouse | 4 | * LUFA-120219/Demos/Device/Lowlevel/KeyboardMouse |
| @@ -104,6 +104,21 @@ typedef struct | |||
| 104 | USB_MIDI_Descriptor_Jack_Endpoint_t MIDI_Out_Jack_Endpoint_SPC; | 104 | USB_MIDI_Descriptor_Jack_Endpoint_t MIDI_Out_Jack_Endpoint_SPC; |
| 105 | #endif | 105 | #endif |
| 106 | 106 | ||
| 107 | #ifdef VIRTSER_ENABLE | ||
| 108 | USB_Descriptor_Interface_Association_t CDC_Interface_Association; | ||
| 109 | |||
| 110 | // CDC Control Interface | ||
| 111 | USB_Descriptor_Interface_t CDC_CCI_Interface; | ||
| 112 | USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header; | ||
| 113 | USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM; | ||
| 114 | USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union; | ||
| 115 | USB_Descriptor_Endpoint_t CDC_NotificationEndpoint; | ||
| 116 | |||
| 117 | // CDC Data Interface | ||
| 118 | USB_Descriptor_Interface_t CDC_DCI_Interface; | ||
| 119 | USB_Descriptor_Endpoint_t CDC_DataOutEndpoint; | ||
| 120 | USB_Descriptor_Endpoint_t CDC_DataInEndpoint; | ||
| 121 | #endif | ||
| 107 | } USB_Descriptor_Configuration_t; | 122 | } USB_Descriptor_Configuration_t; |
| 108 | 123 | ||
| 109 | 124 | ||
| @@ -114,13 +129,13 @@ typedef struct | |||
| 114 | # define MOUSE_INTERFACE (KEYBOARD_INTERFACE + 1) | 129 | # define MOUSE_INTERFACE (KEYBOARD_INTERFACE + 1) |
| 115 | #else | 130 | #else |
| 116 | # define MOUSE_INTERFACE KEYBOARD_INTERFACE | 131 | # define MOUSE_INTERFACE KEYBOARD_INTERFACE |
| 117 | #endif | 132 | #endif |
| 118 | 133 | ||
| 119 | #ifdef EXTRAKEY_ENABLE | 134 | #ifdef EXTRAKEY_ENABLE |
| 120 | # define EXTRAKEY_INTERFACE (MOUSE_INTERFACE + 1) | 135 | # define EXTRAKEY_INTERFACE (MOUSE_INTERFACE + 1) |
| 121 | #else | 136 | #else |
| 122 | # define EXTRAKEY_INTERFACE MOUSE_INTERFACE | 137 | # define EXTRAKEY_INTERFACE MOUSE_INTERFACE |
| 123 | #endif | 138 | #endif |
| 124 | 139 | ||
| 125 | #ifdef CONSOLE_ENABLE | 140 | #ifdef CONSOLE_ENABLE |
| 126 | # define CONSOLE_INTERFACE (EXTRAKEY_INTERFACE + 1) | 141 | # define CONSOLE_INTERFACE (EXTRAKEY_INTERFACE + 1) |
| @@ -141,15 +156,22 @@ typedef struct | |||
| 141 | # define AS_INTERFACE NKRO_INTERFACE | 156 | # define AS_INTERFACE NKRO_INTERFACE |
| 142 | #endif | 157 | #endif |
| 143 | 158 | ||
| 159 | #ifdef VIRTSER_ENABLE | ||
| 160 | # define CCI_INTERFACE (AS_INTERFACE + 1) | ||
| 161 | # define CDI_INTERFACE (AS_INTERFACE + 2) | ||
| 162 | #else | ||
| 163 | # define CDI_INTERFACE AS_INTERFACE | ||
| 164 | #endif | ||
| 165 | |||
| 144 | /* nubmer of interfaces */ | 166 | /* nubmer of interfaces */ |
| 145 | #define TOTAL_INTERFACES AS_INTERFACE + 1 | 167 | #define TOTAL_INTERFACES (CDI_INTERFACE + 1) |
| 146 | 168 | ||
| 147 | 169 | ||
| 148 | // Endopoint number and size | 170 | // Endopoint number and size |
| 149 | #define KEYBOARD_IN_EPNUM 1 | 171 | #define KEYBOARD_IN_EPNUM 1 |
| 150 | 172 | ||
| 151 | #ifdef MOUSE_ENABLE | 173 | #ifdef MOUSE_ENABLE |
| 152 | # define MOUSE_IN_EPNUM (KEYBOARD_IN_EPNUM + 1) | 174 | # define MOUSE_IN_EPNUM (KEYBOARD_IN_EPNUM + 1) |
| 153 | #else | 175 | #else |
| 154 | # define MOUSE_IN_EPNUM KEYBOARD_IN_EPNUM | 176 | # define MOUSE_IN_EPNUM KEYBOARD_IN_EPNUM |
| 155 | #endif | 177 | #endif |
| @@ -157,7 +179,7 @@ typedef struct | |||
| 157 | #ifdef EXTRAKEY_ENABLE | 179 | #ifdef EXTRAKEY_ENABLE |
| 158 | # define EXTRAKEY_IN_EPNUM (MOUSE_IN_EPNUM + 1) | 180 | # define EXTRAKEY_IN_EPNUM (MOUSE_IN_EPNUM + 1) |
| 159 | #else | 181 | #else |
| 160 | # define EXTRAKEY_IN_EPNUM MOUSE_IN_EPNUM | 182 | # define EXTRAKEY_IN_EPNUM MOUSE_IN_EPNUM |
| 161 | #endif | 183 | #endif |
| 162 | 184 | ||
| 163 | #ifdef CONSOLE_ENABLE | 185 | #ifdef CONSOLE_ENABLE |
| @@ -180,19 +202,34 @@ typedef struct | |||
| 180 | # define MIDI_STREAM_OUT_EPNUM (NKRO_IN_EPNUM + 2) | 202 | # define MIDI_STREAM_OUT_EPNUM (NKRO_IN_EPNUM + 2) |
| 181 | # define MIDI_STREAM_IN_EPADDR (ENDPOINT_DIR_IN | MIDI_STREAM_IN_EPNUM) | 203 | # define MIDI_STREAM_IN_EPADDR (ENDPOINT_DIR_IN | MIDI_STREAM_IN_EPNUM) |
| 182 | # define MIDI_STREAM_OUT_EPADDR (ENDPOINT_DIR_OUT | MIDI_STREAM_OUT_EPNUM) | 204 | # define MIDI_STREAM_OUT_EPADDR (ENDPOINT_DIR_OUT | MIDI_STREAM_OUT_EPNUM) |
| 205 | #else | ||
| 206 | # define MIDI_STREAM_OUT_EPNUM NKRO_IN_EPNUM | ||
| 207 | #endif | ||
| 208 | |||
| 209 | #ifdef VIRTSER_ENABLE | ||
| 210 | # define CDC_NOTIFICATION_EPNUM (MIDI_STREAM_OUT_EPNUM + 1) | ||
| 211 | # define CDC_IN_EPNUM (MIDI_STREAM_OUT_EPNUM + 2) | ||
| 212 | # define CDC_OUT_EPNUM (MIDI_STREAM_OUT_EPNUM + 3) | ||
| 213 | # define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | CDC_NOTIFICATION_EPNUM) | ||
| 214 | # define CDC_IN_EPADDR (ENDPOINT_DIR_IN | CDC_IN_EPNUM) | ||
| 215 | # define CDC_OUT_EPADDR (ENDPOINT_DIR_OUT | CDC_OUT_EPNUM) | ||
| 216 | #else | ||
| 217 | # define CDC_OUT_EPNUM MIDI_STREAM_OUT_EPNUM | ||
| 183 | #endif | 218 | #endif |
| 184 | 219 | ||
| 185 | 220 | ||
| 186 | #if defined(__AVR_ATmega32U2__) && MIDI_STREAM_OUT_EPADDR > 4 | 221 | #if defined(__AVR_ATmega32U2__) && CDC_OUT_EPNUM > 4 |
| 187 | # error "Endpoints are not available enough to support all functions. Remove some in Makefile.(MOUSEKEY, EXTRAKEY, CONSOLE, NKRO, MIDI)" | 222 | # error "Endpoints are not available enough to support all functions. Remove some in Makefile.(MOUSEKEY, EXTRAKEY, CONSOLE, NKRO, MIDI, SERIAL)" |
| 188 | #endif | 223 | #endif |
| 189 | 224 | ||
| 190 | #define KEYBOARD_EPSIZE 8 | 225 | #define KEYBOARD_EPSIZE 8 |
| 191 | #define MOUSE_EPSIZE 8 | 226 | #define MOUSE_EPSIZE 8 |
| 192 | #define EXTRAKEY_EPSIZE 8 | 227 | #define EXTRAKEY_EPSIZE 8 |
| 193 | #define CONSOLE_EPSIZE 32 | 228 | #define CONSOLE_EPSIZE 32 |
| 194 | #define NKRO_EPSIZE 16 | 229 | #define NKRO_EPSIZE 32 |
| 195 | #define MIDI_STREAM_EPSIZE 64 | 230 | #define MIDI_STREAM_EPSIZE 64 |
| 231 | #define CDC_NOTIFICATION_EPSIZE 8 | ||
| 232 | #define CDC_EPSIZE 16 | ||
| 196 | 233 | ||
| 197 | 234 | ||
| 198 | uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, | 235 | uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, |
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 9ca55dbc9..01c0e45b0 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c | |||
| @@ -52,6 +52,13 @@ | |||
| 52 | #include "descriptor.h" | 52 | #include "descriptor.h" |
| 53 | #include "lufa.h" | 53 | #include "lufa.h" |
| 54 | 54 | ||
| 55 | #ifdef NKRO_ENABLE | ||
| 56 | #include "keycode_config.h" | ||
| 57 | |||
| 58 | extern keymap_config_t keymap_config; | ||
| 59 | #endif | ||
| 60 | |||
| 61 | |||
| 55 | #ifdef AUDIO_ENABLE | 62 | #ifdef AUDIO_ENABLE |
| 56 | #include <audio.h> | 63 | #include <audio.h> |
| 57 | #endif | 64 | #endif |
| @@ -60,6 +67,10 @@ | |||
| 60 | #include "bluetooth.h" | 67 | #include "bluetooth.h" |
| 61 | #endif | 68 | #endif |
| 62 | 69 | ||
| 70 | #ifdef VIRTSER_ENABLE | ||
| 71 | #include "virtser.h" | ||
| 72 | #endif | ||
| 73 | |||
| 63 | uint8_t keyboard_idle = 0; | 74 | uint8_t keyboard_idle = 0; |
| 64 | /* 0: Boot Protocol, 1: Report Protocol(default) */ | 75 | /* 0: Boot Protocol, 1: Report Protocol(default) */ |
| 65 | uint8_t keyboard_protocol = 1; | 76 | uint8_t keyboard_protocol = 1; |
| @@ -127,6 +138,34 @@ USB_ClassInfo_MIDI_Device_t USB_MIDI_Interface = | |||
| 127 | #define SYS_COMMON_3 0x30 | 138 | #define SYS_COMMON_3 0x30 |
| 128 | #endif | 139 | #endif |
| 129 | 140 | ||
| 141 | #ifdef VIRTSER_ENABLE | ||
| 142 | USB_ClassInfo_CDC_Device_t cdc_device = | ||
| 143 | { | ||
| 144 | .Config = | ||
| 145 | { | ||
| 146 | .ControlInterfaceNumber = CCI_INTERFACE, | ||
| 147 | .DataINEndpoint = | ||
| 148 | { | ||
| 149 | .Address = CDC_IN_EPADDR, | ||
| 150 | .Size = CDC_EPSIZE, | ||
| 151 | .Banks = 1, | ||
| 152 | }, | ||
| 153 | .DataOUTEndpoint = | ||
| 154 | { | ||
| 155 | .Address = CDC_OUT_EPADDR, | ||
| 156 | .Size = CDC_EPSIZE, | ||
| 157 | .Banks = 1, | ||
| 158 | }, | ||
| 159 | .NotificationEndpoint = | ||
| 160 | { | ||
| 161 | .Address = CDC_NOTIFICATION_EPADDR, | ||
| 162 | .Size = CDC_NOTIFICATION_EPSIZE, | ||
| 163 | .Banks = 1, | ||
| 164 | }, | ||
| 165 | }, | ||
| 166 | }; | ||
| 167 | #endif | ||
| 168 | |||
| 130 | 169 | ||
| 131 | /******************************************************************************* | 170 | /******************************************************************************* |
| 132 | * Console | 171 | * Console |
| @@ -311,6 +350,12 @@ void EVENT_USB_Device_ConfigurationChanged(void) | |||
| 311 | ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_IN_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE); | 350 | ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_IN_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE); |
| 312 | ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_OUT_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE); | 351 | ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_OUT_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE); |
| 313 | #endif | 352 | #endif |
| 353 | |||
| 354 | #ifdef VIRTSER_ENABLE | ||
| 355 | ConfigSuccess &= Endpoint_ConfigureEndpoint(CDC_NOTIFICATION_EPADDR, EP_TYPE_INTERRUPT, CDC_NOTIFICATION_EPSIZE, ENDPOINT_BANK_SINGLE); | ||
| 356 | ConfigSuccess &= Endpoint_ConfigureEndpoint(CDC_OUT_EPADDR, EP_TYPE_BULK, CDC_EPSIZE, ENDPOINT_BANK_SINGLE); | ||
| 357 | ConfigSuccess &= Endpoint_ConfigureEndpoint(CDC_IN_EPADDR, EP_TYPE_BULK, CDC_EPSIZE, ENDPOINT_BANK_SINGLE); | ||
| 358 | #endif | ||
| 314 | } | 359 | } |
| 315 | 360 | ||
| 316 | /* | 361 | /* |
| @@ -432,10 +477,15 @@ void EVENT_USB_Device_ControlRequest(void) | |||
| 432 | 477 | ||
| 433 | break; | 478 | break; |
| 434 | } | 479 | } |
| 480 | |||
| 481 | #ifdef VIRTSER_ENABLE | ||
| 482 | CDC_Device_ProcessControlRequest(&cdc_device); | ||
| 483 | #endif | ||
| 435 | } | 484 | } |
| 436 | 485 | ||
| 437 | /******************************************************************************* | 486 | /******************************************************************************* |
| 438 | * Host driver | 487 | * Host driver |
| 488 | p | ||
| 439 | ******************************************************************************/ | 489 | ******************************************************************************/ |
| 440 | static uint8_t keyboard_leds(void) | 490 | static uint8_t keyboard_leds(void) |
| 441 | { | 491 | { |
| @@ -459,7 +509,7 @@ static void send_keyboard(report_keyboard_t *report) | |||
| 459 | 509 | ||
| 460 | /* Select the Keyboard Report Endpoint */ | 510 | /* Select the Keyboard Report Endpoint */ |
| 461 | #ifdef NKRO_ENABLE | 511 | #ifdef NKRO_ENABLE |
| 462 | if (keyboard_protocol && keyboard_nkro) { | 512 | if (keyboard_protocol && keymap_config.nkro) { |
| 463 | /* Report protocol - NKRO */ | 513 | /* Report protocol - NKRO */ |
| 464 | Endpoint_SelectEndpoint(NKRO_IN_EPNUM); | 514 | Endpoint_SelectEndpoint(NKRO_IN_EPNUM); |
| 465 | 515 | ||
| @@ -827,6 +877,61 @@ void MIDI_Task(void) | |||
| 827 | 877 | ||
| 828 | #endif | 878 | #endif |
| 829 | 879 | ||
| 880 | /******************************************************************************* | ||
| 881 | * VIRTUAL SERIAL | ||
| 882 | ******************************************************************************/ | ||
| 883 | |||
| 884 | #ifdef VIRTSER_ENABLE | ||
| 885 | void virtser_init(void) | ||
| 886 | { | ||
| 887 | cdc_device.State.ControlLineStates.DeviceToHost = CDC_CONTROL_LINE_IN_DSR ; | ||
| 888 | CDC_Device_SendControlLineStateChange(&cdc_device); | ||
| 889 | } | ||
| 890 | |||
| 891 | void virtser_recv(uint8_t c) __attribute__ ((weak)); | ||
| 892 | void virtser_recv(uint8_t c) | ||
| 893 | { | ||
| 894 | // Ignore by default | ||
| 895 | } | ||
| 896 | |||
| 897 | void virtser_task(void) | ||
| 898 | { | ||
| 899 | uint16_t count = CDC_Device_BytesReceived(&cdc_device); | ||
| 900 | uint8_t ch; | ||
| 901 | if (count) | ||
| 902 | { | ||
| 903 | ch = CDC_Device_ReceiveByte(&cdc_device); | ||
| 904 | virtser_recv(ch); | ||
| 905 | } | ||
| 906 | } | ||
| 907 | void virtser_send(const uint8_t byte) | ||
| 908 | { | ||
| 909 | uint8_t timeout = 255; | ||
| 910 | uint8_t ep = Endpoint_GetCurrentEndpoint(); | ||
| 911 | |||
| 912 | if (cdc_device.State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR) | ||
| 913 | { | ||
| 914 | /* IN packet */ | ||
| 915 | Endpoint_SelectEndpoint(cdc_device.Config.DataINEndpoint.Address); | ||
| 916 | |||
| 917 | if (!Endpoint_IsEnabled() || !Endpoint_IsConfigured()) { | ||
| 918 | Endpoint_SelectEndpoint(ep); | ||
| 919 | return; | ||
| 920 | } | ||
| 921 | |||
| 922 | while (timeout-- && !Endpoint_IsReadWriteAllowed()) _delay_us(40); | ||
| 923 | |||
| 924 | Endpoint_Write_8(byte); | ||
| 925 | CDC_Device_Flush(&cdc_device); | ||
| 926 | |||
| 927 | if (Endpoint_IsINReady()) { | ||
| 928 | Endpoint_ClearIN(); | ||
| 929 | } | ||
| 930 | |||
| 931 | Endpoint_SelectEndpoint(ep); | ||
| 932 | } | ||
| 933 | } | ||
| 934 | #endif | ||
| 830 | 935 | ||
| 831 | /******************************************************************************* | 936 | /******************************************************************************* |
| 832 | * main | 937 | * main |
| @@ -918,6 +1023,10 @@ int main(void) | |||
| 918 | sleep_led_init(); | 1023 | sleep_led_init(); |
| 919 | #endif | 1024 | #endif |
| 920 | 1025 | ||
| 1026 | #ifdef VIRTSER_ENABLE | ||
| 1027 | virtser_init(); | ||
| 1028 | #endif | ||
| 1029 | |||
| 921 | print("Keyboard start.\n"); | 1030 | print("Keyboard start.\n"); |
| 922 | while (1) { | 1031 | while (1) { |
| 923 | #ifndef BLUETOOTH_ENABLE | 1032 | #ifndef BLUETOOTH_ENABLE |
| @@ -936,6 +1045,11 @@ int main(void) | |||
| 936 | #endif | 1045 | #endif |
| 937 | keyboard_task(); | 1046 | keyboard_task(); |
| 938 | 1047 | ||
| 1048 | #ifdef VIRTSER_ENABLE | ||
| 1049 | virtser_task(); | ||
| 1050 | CDC_Device_USBTask(&cdc_device); | ||
| 1051 | #endif | ||
| 1052 | |||
| 939 | #if !defined(INTERRUPT_CONTROL_ENDPOINT) | 1053 | #if !defined(INTERRUPT_CONTROL_ENDPOINT) |
| 940 | USB_USBTask(); | 1054 | USB_USBTask(); |
| 941 | #endif | 1055 | #endif |
diff --git a/tmk_core/protocol/midi/Config/LUFAConfig.h b/tmk_core/protocol/midi/Config/LUFAConfig.h index fa9404498..a1d748267 100755 --- a/tmk_core/protocol/midi/Config/LUFAConfig.h +++ b/tmk_core/protocol/midi/Config/LUFAConfig.h | |||
| @@ -1,93 +1,93 @@ | |||
| 1 | /* | 1 | /* |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2012. | 3 | Copyright (C) Dean Camera, 2012. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* | 9 | /* |
| 10 | Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) | 10 | Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) |
| 11 | 11 | ||
| 12 | Permission to use, copy, modify, distribute, and sell this | 12 | Permission to use, copy, modify, distribute, and sell this |
| 13 | software and its documentation for any purpose is hereby granted | 13 | software and its documentation for any purpose is hereby granted |
| 14 | without fee, provided that the above copyright notice appear in | 14 | without fee, provided that the above copyright notice appear in |
| 15 | all copies and that both that the copyright notice and this | 15 | all copies and that both that the copyright notice and this |
| 16 | permission notice and warranty disclaimer appear in supporting | 16 | permission notice and warranty disclaimer appear in supporting |
| 17 | documentation, and that the name of the author not be used in | 17 | documentation, and that the name of the author not be used in |
| 18 | advertising or publicity pertaining to distribution of the | 18 | advertising or publicity pertaining to distribution of the |
| 19 | software without specific, written prior permission. | 19 | software without specific, written prior permission. |
| 20 | 20 | ||
| 21 | The author disclaim all warranties with regard to this | 21 | The author disclaim all warranties with regard to this |
| 22 | software, including all implied warranties of merchantability | 22 | software, including all implied warranties of merchantability |
| 23 | and fitness. In no event shall the author be liable for any | 23 | and fitness. In no event shall the author be liable for any |
| 24 | special, indirect or consequential damages or any damages | 24 | special, indirect or consequential damages or any damages |
| 25 | whatsoever resulting from loss of use, data or profits, whether | 25 | whatsoever resulting from loss of use, data or profits, whether |
| 26 | in an action of contract, negligence or other tortious action, | 26 | in an action of contract, negligence or other tortious action, |
| 27 | arising out of or in connection with the use or performance of | 27 | arising out of or in connection with the use or performance of |
| 28 | this software. | 28 | this software. |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | /** \file | 31 | /** \file |
| 32 | * \brief LUFA Library Configuration Header File | 32 | * \brief LUFA Library Configuration Header File |
| 33 | * | 33 | * |
| 34 | * This header file is used to configure LUFA's compile time options, | 34 | * This header file is used to configure LUFA's compile time options, |
| 35 | * as an alternative to the compile time constants supplied through | 35 | * as an alternative to the compile time constants supplied through |
| 36 | * a makefile. | 36 | * a makefile. |
| 37 | * | 37 | * |
| 38 | * For information on what each token does, refer to the LUFA | 38 | * For information on what each token does, refer to the LUFA |
| 39 | * manual section "Summary of Compile Tokens". | 39 | * manual section "Summary of Compile Tokens". |
| 40 | */ | 40 | */ |
| 41 | 41 | ||
| 42 | #ifndef _LUFA_CONFIG_H_ | 42 | #ifndef _LUFA_CONFIG_H_ |
| 43 | #define _LUFA_CONFIG_H_ | 43 | #define _LUFA_CONFIG_H_ |
| 44 | 44 | ||
| 45 | #if (ARCH == ARCH_AVR8) | 45 | #if (ARCH == ARCH_AVR8) |
| 46 | 46 | ||
| 47 | /* Non-USB Related Configuration Tokens: */ | 47 | /* Non-USB Related Configuration Tokens: */ |
| 48 | // #define DISABLE_TERMINAL_CODES | 48 | // #define DISABLE_TERMINAL_CODES |
| 49 | 49 | ||
| 50 | /* USB Class Driver Related Tokens: */ | 50 | /* USB Class Driver Related Tokens: */ |
| 51 | // #define HID_HOST_BOOT_PROTOCOL_ONLY | 51 | // #define HID_HOST_BOOT_PROTOCOL_ONLY |
| 52 | // #define HID_STATETABLE_STACK_DEPTH {Insert Value Here} | 52 | // #define HID_STATETABLE_STACK_DEPTH {Insert Value Here} |
| 53 | // #define HID_USAGE_STACK_DEPTH {Insert Value Here} | 53 | // #define HID_USAGE_STACK_DEPTH {Insert Value Here} |
| 54 | // #define HID_MAX_COLLECTIONS {Insert Value Here} | 54 | // #define HID_MAX_COLLECTIONS {Insert Value Here} |
| 55 | // #define HID_MAX_REPORTITEMS {Insert Value Here} | 55 | // #define HID_MAX_REPORTITEMS {Insert Value Here} |
| 56 | // #define HID_MAX_REPORT_IDS {Insert Value Here} | 56 | // #define HID_MAX_REPORT_IDS {Insert Value Here} |
| 57 | // #define NO_CLASS_DRIVER_AUTOFLUSH | 57 | // #define NO_CLASS_DRIVER_AUTOFLUSH |
| 58 | 58 | ||
| 59 | /* General USB Driver Related Tokens: */ | 59 | /* General USB Driver Related Tokens: */ |
| 60 | // #define ORDERED_EP_CONFIG | 60 | // #define ORDERED_EP_CONFIG |
| 61 | #define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL) | 61 | #define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL) |
| 62 | #define USB_DEVICE_ONLY | 62 | #define USB_DEVICE_ONLY |
| 63 | // #define USB_HOST_ONLY | 63 | // #define USB_HOST_ONLY |
| 64 | // #define USB_STREAM_TIMEOUT_MS {Insert Value Here} | 64 | // #define USB_STREAM_TIMEOUT_MS {Insert Value Here} |
| 65 | // #define NO_LIMITED_CONTROLLER_CONNECT | 65 | // #define NO_LIMITED_CONTROLLER_CONNECT |
| 66 | // #define NO_SOF_EVENTS | 66 | // #define NO_SOF_EVENTS |
| 67 | 67 | ||
| 68 | /* USB Device Mode Driver Related Tokens: */ | 68 | /* USB Device Mode Driver Related Tokens: */ |
| 69 | // #define USE_RAM_DESCRIPTORS | 69 | // #define USE_RAM_DESCRIPTORS |
| 70 | #define USE_FLASH_DESCRIPTORS | 70 | #define USE_FLASH_DESCRIPTORS |
| 71 | // #define USE_EEPROM_DESCRIPTORS | 71 | // #define USE_EEPROM_DESCRIPTORS |
| 72 | // #define NO_INTERNAL_SERIAL | 72 | // #define NO_INTERNAL_SERIAL |
| 73 | #define FIXED_CONTROL_ENDPOINT_SIZE 8 | 73 | #define FIXED_CONTROL_ENDPOINT_SIZE 8 |
| 74 | // #define DEVICE_STATE_AS_GPIOR {Insert Value Here} | 74 | // #define DEVICE_STATE_AS_GPIOR {Insert Value Here} |
| 75 | #define FIXED_NUM_CONFIGURATIONS 1 | 75 | #define FIXED_NUM_CONFIGURATIONS 1 |
| 76 | // #define CONTROL_ONLY_DEVICE | 76 | // #define CONTROL_ONLY_DEVICE |
| 77 | // #define INTERRUPT_CONTROL_ENDPOINT | 77 | // #define INTERRUPT_CONTROL_ENDPOINT |
| 78 | // #define NO_DEVICE_REMOTE_WAKEUP | 78 | // #define NO_DEVICE_REMOTE_WAKEUP |
| 79 | // #define NO_DEVICE_SELF_POWER | 79 | // #define NO_DEVICE_SELF_POWER |
| 80 | 80 | ||
| 81 | /* USB Host Mode Driver Related Tokens: */ | 81 | /* USB Host Mode Driver Related Tokens: */ |
| 82 | // #define HOST_STATE_AS_GPIOR {Insert Value Here} | 82 | // #define HOST_STATE_AS_GPIOR {Insert Value Here} |
| 83 | // #define USB_HOST_TIMEOUT_MS {Insert Value Here} | 83 | // #define USB_HOST_TIMEOUT_MS {Insert Value Here} |
| 84 | // #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here} | 84 | // #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here} |
| 85 | // #define NO_AUTO_VBUS_MANAGEMENT | 85 | // #define NO_AUTO_VBUS_MANAGEMENT |
| 86 | // #define INVERTED_VBUS_ENABLE_LINE | 86 | // #define INVERTED_VBUS_ENABLE_LINE |
| 87 | 87 | ||
| 88 | #else | 88 | #else |
| 89 | 89 | ||
| 90 | #error Unsupported architecture for this LUFA configuration file. | 90 | #error Unsupported architecture for this LUFA configuration file. |
| 91 | 91 | ||
| 92 | #endif | 92 | #endif |
| 93 | #endif | 93 | #endif |
diff --git a/tmk_core/protocol/pjrc/usb.c b/tmk_core/protocol/pjrc/usb.c index 1e6ba8719..09efbe076 100644 --- a/tmk_core/protocol/pjrc/usb.c +++ b/tmk_core/protocol/pjrc/usb.c | |||
| @@ -1,17 +1,17 @@ | |||
| 1 | /* USB Keyboard Plus Debug Channel Example for Teensy USB Development Board | 1 | /* USB Keyboard Plus Debug Channel Example for Teensy USB Development Board |
| 2 | * http://www.pjrc.com/teensy/usb_keyboard.html | 2 | * http://www.pjrc.com/teensy/usb_keyboard.html |
| 3 | * Copyright (c) 2009 PJRC.COM, LLC | 3 | * Copyright (c) 2009 PJRC.COM, LLC |
| 4 | * | 4 | * |
| 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy | 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
| 6 | * of this software and associated documentation files (the "Software"), to deal | 6 | * of this software and associated documentation files (the "Software"), to deal |
| 7 | * in the Software without restriction, including without limitation the rights | 7 | * in the Software without restriction, including without limitation the rights |
| 8 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | 8 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| 9 | * copies of the Software, and to permit persons to whom the Software is | 9 | * copies of the Software, and to permit persons to whom the Software is |
| 10 | * furnished to do so, subject to the following conditions: | 10 | * furnished to do so, subject to the following conditions: |
| 11 | * | 11 | * |
| 12 | * The above copyright notice and this permission notice shall be included in | 12 | * The above copyright notice and this permission notice shall be included in |
| 13 | * all copies or substantial portions of the Software. | 13 | * all copies or substantial portions of the Software. |
| 14 | * | 14 | * |
| 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| @@ -41,6 +41,12 @@ | |||
| 41 | #include "action.h" | 41 | #include "action.h" |
| 42 | #include "action_util.h" | 42 | #include "action_util.h" |
| 43 | 43 | ||
| 44 | #ifdef NKRO_ENABLE | ||
| 45 | #include "keycode_config.h" | ||
| 46 | |||
| 47 | extern keymap_config_t keymap_config; | ||
| 48 | #endif | ||
| 49 | |||
| 44 | 50 | ||
| 45 | /************************************************************************** | 51 | /************************************************************************** |
| 46 | * | 52 | * |
| @@ -694,7 +700,7 @@ ISR(USB_GEN_vect) | |||
| 694 | } | 700 | } |
| 695 | /* TODO: should keep IDLE rate on each keyboard interface */ | 701 | /* TODO: should keep IDLE rate on each keyboard interface */ |
| 696 | #ifdef NKRO_ENABLE | 702 | #ifdef NKRO_ENABLE |
| 697 | if (!keyboard_nkro && keyboard_idle && (++div4 & 3) == 0) { | 703 | if (!keymap_config.nkro && keyboard_idle && (++div4 & 3) == 0) { |
| 698 | #else | 704 | #else |
| 699 | if (keyboard_idle && (++div4 & 3) == 0) { | 705 | if (keyboard_idle && (++div4 & 3) == 0) { |
| 700 | #endif | 706 | #endif |
| @@ -881,7 +887,7 @@ ISR(USB_COM_vect) | |||
| 881 | #endif | 887 | #endif |
| 882 | if (bmRequestType == 0x00 && wValue == DEVICE_REMOTE_WAKEUP) { | 888 | if (bmRequestType == 0x00 && wValue == DEVICE_REMOTE_WAKEUP) { |
| 883 | if (bRequest == SET_FEATURE) { | 889 | if (bRequest == SET_FEATURE) { |
| 884 | remote_wakeup = true; | 890 | remote_wakeup = true; |
| 885 | } else { | 891 | } else { |
| 886 | remote_wakeup = false; | 892 | remote_wakeup = false; |
| 887 | } | 893 | } |
| @@ -932,7 +938,7 @@ ISR(USB_COM_vect) | |||
| 932 | if (bRequest == HID_SET_PROTOCOL) { | 938 | if (bRequest == HID_SET_PROTOCOL) { |
| 933 | keyboard_protocol = wValue; | 939 | keyboard_protocol = wValue; |
| 934 | #ifdef NKRO_ENABLE | 940 | #ifdef NKRO_ENABLE |
| 935 | keyboard_nkro = !!keyboard_protocol; | 941 | keymap_config.nkro = !!keyboard_protocol; |
| 936 | #endif | 942 | #endif |
| 937 | clear_keyboard(); | 943 | clear_keyboard(); |
| 938 | //usb_wait_in_ready(); | 944 | //usb_wait_in_ready(); |
diff --git a/tmk_core/protocol/pjrc/usb_keyboard.c b/tmk_core/protocol/pjrc/usb_keyboard.c index 4b87b5d7b..05f479734 100644 --- a/tmk_core/protocol/pjrc/usb_keyboard.c +++ b/tmk_core/protocol/pjrc/usb_keyboard.c | |||
| @@ -30,6 +30,12 @@ | |||
| 30 | #include "util.h" | 30 | #include "util.h" |
| 31 | #include "host.h" | 31 | #include "host.h" |
| 32 | 32 | ||
| 33 | #ifdef NKRO_ENABLE | ||
| 34 | #include "keycode_config.h" | ||
| 35 | |||
| 36 | extern keymap_config_t keymap_config; | ||
| 37 | #endif | ||
| 38 | |||
| 33 | 39 | ||
| 34 | // protocol setting from the host. We use exactly the same report | 40 | // protocol setting from the host. We use exactly the same report |
| 35 | // either way, so this variable only stores the setting since we | 41 | // either way, so this variable only stores the setting since we |
| @@ -56,7 +62,7 @@ int8_t usb_keyboard_send_report(report_keyboard_t *report) | |||
| 56 | int8_t result = 0; | 62 | int8_t result = 0; |
| 57 | 63 | ||
| 58 | #ifdef NKRO_ENABLE | 64 | #ifdef NKRO_ENABLE |
| 59 | if (keyboard_nkro) | 65 | if (keymap_config.nkro) |
| 60 | result = send_report(report, KBD2_ENDPOINT, 0, KBD2_SIZE); | 66 | result = send_report(report, KBD2_ENDPOINT, 0, KBD2_SIZE); |
| 61 | else | 67 | else |
| 62 | #endif | 68 | #endif |
diff --git a/tmk_core/readme.md b/tmk_core/readme.md index f460d0ed4..5f135617c 100644 --- a/tmk_core/readme.md +++ b/tmk_core/readme.md | |||
| @@ -23,7 +23,7 @@ These features can be used in your keyboard. | |||
| 23 | * Mouse key - Mouse control with keyboard | 23 | * Mouse key - Mouse control with keyboard |
| 24 | * System Control Key - Power Down, Sleep, Wake Up and USB Remote Wake up | 24 | * System Control Key - Power Down, Sleep, Wake Up and USB Remote Wake up |
| 25 | * Media Control Key - Volume Down/Up, Mute, Next/Prev track, Play, Stop and etc | 25 | * Media Control Key - Volume Down/Up, Mute, Next/Prev track, Play, Stop and etc |
| 26 | * USB NKRO - 120 keys(+ 8 modifiers) simultaneously | 26 | * USB NKRO - 248 keys(+ 8 modifiers) simultaneously |
| 27 | * PS/2 mouse support - PS/2 mouse(TrackPoint) as composite device | 27 | * PS/2 mouse support - PS/2 mouse(TrackPoint) as composite device |
| 28 | * Keyboard protocols - PS/2, ADB, M0110, Sun and other old keyboard protocols | 28 | * Keyboard protocols - PS/2, ADB, M0110, Sun and other old keyboard protocols |
| 29 | * User Function - Customizable function of key with writing code | 29 | * User Function - Customizable function of key with writing code |
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index d2350f27c..e4c8aecb2 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk | |||
| @@ -21,10 +21,23 @@ VPATH_SRC := $(VPATH) | |||
| 21 | vpath %.c $(VPATH_SRC) | 21 | vpath %.c $(VPATH_SRC) |
| 22 | vpath %.h $(VPATH_SRC) | 22 | vpath %.h $(VPATH_SRC) |
| 23 | vpath %.cpp $(VPATH_SRC) | 23 | vpath %.cpp $(VPATH_SRC) |
| 24 | vpath %.cc $(VPATH_SRC) | ||
| 24 | vpath %.hpp $(VPATH_SRC) | 25 | vpath %.hpp $(VPATH_SRC) |
| 25 | vpath %.S $(VPATH_SRC) | 26 | vpath %.S $(VPATH_SRC) |
| 26 | VPATH := | 27 | VPATH := |
| 27 | 28 | ||
| 29 | # Convert all SRC to OBJ | ||
| 30 | define OBJ_FROM_SRC | ||
| 31 | $(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$($1_SRC))))) | ||
| 32 | endef | ||
| 33 | $(foreach OUTPUT,$(OUTPUTS),$(eval $(OUTPUT)_OBJ +=$(call OBJ_FROM_SRC,$(OUTPUT)))) | ||
| 34 | |||
| 35 | # Define a list of all objects | ||
| 36 | OBJ := $(foreach OUTPUT,$(OUTPUTS),$($(OUTPUT)_OBJ)) | ||
| 37 | |||
| 38 | MASTER_OUTPUT := $(firstword $(OUTPUTS)) | ||
| 39 | |||
| 40 | |||
| 28 | 41 | ||
| 29 | # Output format. (can be srec, ihex, binary) | 42 | # Output format. (can be srec, ihex, binary) |
| 30 | FORMAT = ihex | 43 | FORMAT = ihex |
| @@ -34,50 +47,8 @@ FORMAT = ihex | |||
| 34 | # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) | 47 | # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) |
| 35 | OPT = s | 48 | OPT = s |
| 36 | 49 | ||
| 37 | COLOR ?= true | ||
| 38 | |||
| 39 | ifeq ($(COLOR),true) | ||
| 40 | NO_COLOR=\033[0m | ||
| 41 | OK_COLOR=\033[32;01m | ||
| 42 | ERROR_COLOR=\033[31;01m | ||
| 43 | WARN_COLOR=\033[33;01m | ||
| 44 | BLUE=\033[0;34m | ||
| 45 | BOLD=\033[1m | ||
| 46 | endif | ||
| 47 | |||
| 48 | AUTOGEN ?= false | 50 | AUTOGEN ?= false |
| 49 | 51 | ||
| 50 | ifneq ($(shell awk --version 2>/dev/null),) | ||
| 51 | AWK=awk | ||
| 52 | else | ||
| 53 | AWK=cat && test | ||
| 54 | endif | ||
| 55 | |||
| 56 | OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n | ||
| 57 | ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n | ||
| 58 | WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n | ||
| 59 | |||
| 60 | ifndef $(SILENT) | ||
| 61 | SILENT = false | ||
| 62 | endif | ||
| 63 | |||
| 64 | TAB_LOG = printf "\n$$LOG\n\n" | $(AWK) '{ sub(/^/," | "); print }' | ||
| 65 | TAB_LOG_PLAIN = printf "$$LOG\n" | ||
| 66 | AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }' | ||
| 67 | AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }' | ||
| 68 | PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && exit 1 | ||
| 69 | PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) | ||
| 70 | PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && exit 1 | ||
| 71 | PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) | ||
| 72 | PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS) | ||
| 73 | BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi; | ||
| 74 | |||
| 75 | # List any extra directories to look for include files here. | ||
| 76 | # Each directory must be seperated by a space. | ||
| 77 | # Use forward slashes for directory separators. | ||
| 78 | # For a directory that has spaces, enclose it in quotes. | ||
| 79 | EXTRAINCDIRS += $(subst :, ,$(VPATH_SRC)) | ||
| 80 | |||
| 81 | 52 | ||
| 82 | # Compiler flag to set the C Standard level. | 53 | # Compiler flag to set the C Standard level. |
| 83 | # c89 = "ANSI" C | 54 | # c89 = "ANSI" C |
| @@ -88,17 +59,18 @@ CSTANDARD = -std=gnu99 | |||
| 88 | 59 | ||
| 89 | 60 | ||
| 90 | # Place -D or -U options here for C sources | 61 | # Place -D or -U options here for C sources |
| 91 | CDEFS += $(OPT_DEFS) | 62 | #CDEFS += |
| 92 | 63 | ||
| 93 | 64 | ||
| 94 | # Place -D or -U options here for ASM sources | 65 | # Place -D or -U options here for ASM sources |
| 95 | ADEFS += $(OPT_DEFS) | 66 | #ADEFS += |
| 96 | 67 | ||
| 97 | 68 | ||
| 98 | # Place -D or -U options here for C++ sources | 69 | # Place -D or -U options here for C++ sources |
| 99 | #CPPDEFS += -D__STDC_LIMIT_MACROS | 70 | #CPPDEFS += -D__STDC_LIMIT_MACROS |
| 100 | #CPPDEFS += -D__STDC_CONSTANT_MACROS | 71 | #CPPDEFS += -D__STDC_CONSTANT_MACROS |
| 101 | CPPDEFS += $(OPT_DEFS) | 72 | #CPPDEFS += |
| 73 | |||
| 102 | 74 | ||
| 103 | 75 | ||
| 104 | 76 | ||
| @@ -126,11 +98,7 @@ CFLAGS += -Wstrict-prototypes | |||
| 126 | #CFLAGS += -Wunreachable-code | 98 | #CFLAGS += -Wunreachable-code |
| 127 | #CFLAGS += -Wsign-compare | 99 | #CFLAGS += -Wsign-compare |
| 128 | CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) | 100 | CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) |
| 129 | CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) | ||
| 130 | CFLAGS += $(CSTANDARD) | 101 | CFLAGS += $(CSTANDARD) |
| 131 | ifdef CONFIG_H | ||
| 132 | CFLAGS += -include $(CONFIG_H) | ||
| 133 | endif | ||
| 134 | 102 | ||
| 135 | 103 | ||
| 136 | #---------------- Compiler Options C++ ---------------- | 104 | #---------------- Compiler Options C++ ---------------- |
| @@ -153,12 +121,7 @@ CPPFLAGS += -Wundef | |||
| 153 | #CPPFLAGS += -Wunreachable-code | 121 | #CPPFLAGS += -Wunreachable-code |
| 154 | #CPPFLAGS += -Wsign-compare | 122 | #CPPFLAGS += -Wsign-compare |
| 155 | CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) | 123 | CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) |
| 156 | CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) | ||
| 157 | #CPPFLAGS += $(CSTANDARD) | 124 | #CPPFLAGS += $(CSTANDARD) |
| 158 | ifdef CONFIG_H | ||
| 159 | CPPFLAGS += -include $(CONFIG_H) | ||
| 160 | endif | ||
| 161 | |||
| 162 | 125 | ||
| 163 | #---------------- Assembler Options ---------------- | 126 | #---------------- Assembler Options ---------------- |
| 164 | # -Wa,...: tell GCC to pass this to the assembler. | 127 | # -Wa,...: tell GCC to pass this to the assembler. |
| @@ -169,11 +132,8 @@ endif | |||
| 169 | # files -- see avr-libc docs [FIXME: not yet described there] | 132 | # files -- see avr-libc docs [FIXME: not yet described there] |
| 170 | # -listing-cont-lines: Sets the maximum number of continuation lines of hex | 133 | # -listing-cont-lines: Sets the maximum number of continuation lines of hex |
| 171 | # dump that will be displayed for a given single line of source input. | 134 | # dump that will be displayed for a given single line of source input. |
| 172 | ASFLAGS += $(ADEFS) -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 | 135 | ASFLAGS += $(ADEFS) |
| 173 | ASFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) | 136 | ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 |
| 174 | ifdef CONFIG_H | ||
| 175 | ASFLAGS += -include $(CONFIG_H) | ||
| 176 | endif | ||
| 177 | 137 | ||
| 178 | #---------------- Library Options ---------------- | 138 | #---------------- Library Options ---------------- |
| 179 | # Minimalistic printf version | 139 | # Minimalistic printf version |
| @@ -201,6 +161,7 @@ SCANF_LIB = | |||
| 201 | 161 | ||
| 202 | 162 | ||
| 203 | MATH_LIB = -lm | 163 | MATH_LIB = -lm |
| 164 | CREATE_MAP ?= yes | ||
| 204 | 165 | ||
| 205 | 166 | ||
| 206 | #---------------- Linker Options ---------------- | 167 | #---------------- Linker Options ---------------- |
| @@ -211,7 +172,10 @@ MATH_LIB = -lm | |||
| 211 | # Comennt out "--relax" option to avoid a error such: | 172 | # Comennt out "--relax" option to avoid a error such: |
| 212 | # (.vectors+0x30): relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_12' | 173 | # (.vectors+0x30): relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_12' |
| 213 | # | 174 | # |
| 214 | LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref | 175 | |
| 176 | ifeq ($(CREATE_MAP),yes) | ||
| 177 | LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref | ||
| 178 | endif | ||
| 215 | #LDFLAGS += -Wl,--relax | 179 | #LDFLAGS += -Wl,--relax |
| 216 | LDFLAGS += $(EXTMEMOPTS) | 180 | LDFLAGS += $(EXTMEMOPTS) |
| 217 | LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS)) | 181 | LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS)) |
| @@ -228,48 +192,6 @@ COPY = cp | |||
| 228 | WINSHELL = cmd | 192 | WINSHELL = cmd |
| 229 | SECHO = $(SILENT) || echo | 193 | SECHO = $(SILENT) || echo |
| 230 | 194 | ||
| 231 | # Define Messages | ||
| 232 | # English | ||
| 233 | MSG_ERRORS_NONE = Errors: none | ||
| 234 | MSG_BEGIN = -------- begin -------- | ||
| 235 | MSG_END = -------- end -------- | ||
| 236 | MSG_SIZE_BEFORE = Size before: | ||
| 237 | MSG_SIZE_AFTER = Size after: | ||
| 238 | MSG_COFF = Converting to AVR COFF: | ||
| 239 | MSG_EXTENDED_COFF = Converting to AVR Extended COFF: | ||
| 240 | MSG_FLASH = Creating load file for Flash: | ||
| 241 | MSG_EEPROM = Creating load file for EEPROM: | ||
| 242 | MSG_BIN = Creating binary load file for Flash: | ||
| 243 | MSG_EXTENDED_LISTING = Creating Extended Listing: | ||
| 244 | MSG_SYMBOL_TABLE = Creating Symbol Table: | ||
| 245 | MSG_LINKING = Linking: | ||
| 246 | MSG_COMPILING = Compiling: | ||
| 247 | MSG_COMPILING_CPP = Compiling: | ||
| 248 | MSG_ASSEMBLING = Assembling: | ||
| 249 | MSG_CLEANING = Cleaning project: | ||
| 250 | MSG_CREATING_LIBRARY = Creating library: | ||
| 251 | MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR)\n \ | ||
| 252 | Some git sub-modules are out of date or modified, please consider runnning:$(BOLD)\n\ | ||
| 253 | git submodule sync --recursive\n\ | ||
| 254 | git submodule update --init --recursive$(NO_COLOR)\n\n\ | ||
| 255 | You can ignore this warning if you are not compiling any ChibiOS keyboards,\n\ | ||
| 256 | or if you have modified the ChibiOS libraries yourself. \n\n | ||
| 257 | |||
| 258 | |||
| 259 | # Define all object files. | ||
| 260 | OBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(patsubst %.cpp,$(OBJDIR)/%.o,$(patsubst %.S,$(OBJDIR)/%.o,$(SRC)))) | ||
| 261 | # The files in the lib folder are shared between all keymaps, so generate that folder name by removing | ||
| 262 | # the keymap from the name | ||
| 263 | KBOBJDIR=$(subst _$(KEYMAP),,$(OBJDIR)) | ||
| 264 | # And fixup the object files to match | ||
| 265 | LIBOBJ = $(foreach v,$(OBJ),$(if $(findstring /lib/,$v),$v)) | ||
| 266 | NONLIBOBJ := $(filter-out $(LIBOBJ),$(OBJ)) | ||
| 267 | LIBOBJ := $(subst _$(KEYMAP)/,/,$(LIBOBJ)) | ||
| 268 | OBJ := $(LIBOBJ) $(NONLIBOBJ) | ||
| 269 | |||
| 270 | # Define all listing files. | ||
| 271 | LST = $(patsubst %.c,$(OBJDIR)/%.lst,$(patsubst %.cpp,$(OBJDIR)/%.lst,$(patsubst %.S,$(OBJDIR)/%.lst,$(SRC)))) | ||
| 272 | |||
| 273 | 195 | ||
| 274 | # Compiler flags to generate dependency files. | 196 | # Compiler flags to generate dependency files. |
| 275 | #GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d | 197 | #GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d |
| @@ -285,14 +207,6 @@ ALL_ASFLAGS = $(MCUFLAGS) -x assembler-with-cpp $(ASFLAGS) $(EXTRAFLAGS) | |||
| 285 | 207 | ||
| 286 | MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@) | 208 | MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@) |
| 287 | 209 | ||
| 288 | # Default target. | ||
| 289 | all: build sizeafter | ||
| 290 | |||
| 291 | # Change the build target to build a HEX file or a library. | ||
| 292 | build: elf hex | ||
| 293 | #build: elf hex eep lss sym | ||
| 294 | #build: lib | ||
| 295 | |||
| 296 | 210 | ||
| 297 | elf: $(BUILD_DIR)/$(TARGET).elf | 211 | elf: $(BUILD_DIR)/$(TARGET).elf |
| 298 | hex: $(BUILD_DIR)/$(TARGET).hex | 212 | hex: $(BUILD_DIR)/$(TARGET).hex |
| @@ -302,15 +216,6 @@ sym: $(BUILD_DIR)/$(TARGET).sym | |||
| 302 | LIBNAME=lib$(TARGET).a | 216 | LIBNAME=lib$(TARGET).a |
| 303 | lib: $(LIBNAME) | 217 | lib: $(LIBNAME) |
| 304 | 218 | ||
| 305 | check_submodule: | ||
| 306 | git submodule status --recursive | \ | ||
| 307 | while IFS= read -r x; do \ | ||
| 308 | case "$$x" in \ | ||
| 309 | \ *) ;; \ | ||
| 310 | *) printf "$(MSG_SUBMODULE_DIRTY)";break;; \ | ||
| 311 | esac \ | ||
| 312 | done | ||
| 313 | |||
| 314 | # Display size of file. | 219 | # Display size of file. |
| 315 | HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex | 220 | HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex |
| 316 | #ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf | 221 | #ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf |
| @@ -364,91 +269,87 @@ gccversion : | |||
| 364 | $(eval CMD=$(BIN) $< $@ || exit 0) | 269 | $(eval CMD=$(BIN) $< $@ || exit 0) |
| 365 | @$(BUILD_CMD) | 270 | @$(BUILD_CMD) |
| 366 | 271 | ||
| 367 | # Create library from object files. | 272 | BEGIN = gccversion sizebefore |
| 368 | .SECONDARY : $(BUILD_DIR)/$(TARGET).a | ||
| 369 | .PRECIOUS : $(OBJ) | ||
| 370 | %.a: $(OBJ) | ||
| 371 | @$(SILENT) || printf "$(MSG_CREATING_LIBRARY) $@" | $(AWK_CMD) | ||
| 372 | $(eval CMD=$(AR) $@ $(OBJ) ) | ||
| 373 | @$(BUILD_CMD) | ||
| 374 | |||
| 375 | BEGIN = gccversion check_submodule sizebefore | ||
| 376 | 273 | ||
| 377 | # Link: create ELF output file from object files. | 274 | # Link: create ELF output file from object files. |
| 378 | .SECONDARY : $(BUILD_DIR)/$(TARGET).elf | 275 | .SECONDARY : $(BUILD_DIR)/$(TARGET).elf |
| 379 | .PRECIOUS : $(OBJ) | 276 | .PRECIOUS : $(OBJ) |
| 380 | # Note the obj.txt depeendency is there to force linking if a source file is deleted | 277 | # Note the obj.txt depeendency is there to force linking if a source file is deleted |
| 381 | %.elf: $(OBJ) $(OBJDIR)/cflags.txt $(OBJDIR)/ldflags.txt $(OBJDIR)/obj.txt | $(BEGIN) | 278 | %.elf: $(OBJ) $(MASTER_OUTPUT)/cflags.txt $(MASTER_OUTPUT)/ldflags.txt $(MASTER_OUTPUT)/obj.txt | $(BEGIN) |
| 382 | @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD) | 279 | @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD) |
| 383 | $(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS)) | 280 | $(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS)) |
| 384 | @$(BUILD_CMD) | 281 | @$(BUILD_CMD) |
| 282 | |||
| 385 | 283 | ||
| 386 | define GEN_OBJRULE | 284 | define GEN_OBJRULE |
| 285 | $1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC)) | ||
| 286 | ifdef $1_CONFIG | ||
| 287 | $1_CONFIG_FLAGS += -include $$($1_CONFIG) | ||
| 288 | endif | ||
| 289 | $1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) | ||
| 290 | $1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) | ||
| 291 | $1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) | ||
| 292 | |||
| 387 | # Compile: create object files from C source files. | 293 | # Compile: create object files from C source files. |
| 388 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) | 294 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) |
| 389 | @mkdir -p $$(@D) | 295 | @mkdir -p $$(@D) |
| 390 | @$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD) | 296 | @$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD) |
| 391 | $$(eval CMD=$$(CC) -c $$(ALL_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) | 297 | $$(eval CMD := $$(CC) -c $$($1_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
| 392 | @$$(BUILD_CMD) | 298 | @$$(BUILD_CMD) |
| 393 | 299 | ||
| 394 | # Compile: create object files from C++ source files. | 300 | # Compile: create object files from C++ source files. |
| 395 | $1/%.o : %.cpp $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN) | 301 | $1/%.o : %.cpp $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN) |
| 396 | @mkdir -p $$(@D) | 302 | @mkdir -p $$(@D) |
| 397 | @$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD) | 303 | @$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD) |
| 398 | $$(eval CMD=$$(CC) -c $$(ALL_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) | 304 | $$(eval CMD=$$(CC) -c $$($1_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
| 399 | @$(BUILD_CMD) | 305 | @$$(BUILD_CMD) |
| 306 | |||
| 307 | $1/%.o : %.cc $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN) | ||
| 308 | @mkdir -p $$(@D) | ||
| 309 | @$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD) | ||
| 310 | $$(eval CMD=$$(CC) -c $$($1_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) | ||
| 311 | @$$(BUILD_CMD) | ||
| 400 | 312 | ||
| 401 | # Assemble: create object files from assembler source files. | 313 | # Assemble: create object files from assembler source files. |
| 402 | $1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN) | 314 | $1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN) |
| 403 | @mkdir -p $$(@D) | 315 | @mkdir -p $$(@D) |
| 404 | @$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD) | 316 | @$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD) |
| 405 | $$(eval CMD=$$(CC) -c $$(ALL_ASFLAGS) $$< -o $$@) | 317 | $$(eval CMD=$$(CC) -c $$($1_ASFLAGS) $$< -o $$@) |
| 406 | @$$(BUILD_CMD) | 318 | @$$(BUILD_CMD) |
| 407 | 319 | ||
| 408 | $1/force: | 320 | $1/force: |
| 409 | 321 | ||
| 410 | $1/cflags.txt: $1/force | 322 | $1/cflags.txt: $1/force |
| 411 | echo '$$(ALL_CFLAGS)' | cmp -s - $$@ || echo '$$(ALL_CFLAGS)' > $$@ | 323 | echo '$$($1_CFLAGS)' | cmp -s - $$@ || echo '$$($1_CFLAGS)' > $$@ |
| 412 | 324 | ||
| 413 | $1/cppflags.txt: $1/force | 325 | $1/cppflags.txt: $1/force |
| 414 | echo '$$(ALL_CPPFLAGS)' | cmp -s - $$@ || echo '$$(ALL_CPPFLAGS)' > $$@ | 326 | echo '$$($1_CPPFLAGS)' | cmp -s - $$@ || echo '$$($1_CPPFLAGS)' > $$@ |
| 415 | 327 | ||
| 416 | $1/asflags.txt: $1/force | 328 | $1/asflags.txt: $1/force |
| 417 | echo '$$(ALL_ASFLAGS)' | cmp -s - $$@ || echo '$$(ALL_ASFLAGS)' > $$@ | 329 | echo '$$($1_ASFLAGS)' | cmp -s - $$@ || echo '$$($1_ASFLAGS)' > $$@ |
| 418 | |||
| 419 | $1/ldflags.txt: $1/force | ||
| 420 | echo '$$(LDFLAGS)' | cmp -s - $$@ || echo '$$(LDFLAGS)' > $$@ | ||
| 421 | |||
| 422 | $1/obj.txt: $1/force | ||
| 423 | echo '$$(OBJ)' | cmp -s - $$@ || echo '$$(OBJ)' > $$@ | ||
| 424 | 330 | ||
| 425 | $1/compiler.txt: $1/force | 331 | $1/compiler.txt: $1/force |
| 426 | $$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@ | 332 | $$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@ |
| 427 | endef | 333 | endef |
| 428 | 334 | ||
| 335 | .PRECIOUS: $(MASTER_OUTPUT)/obj.txt | ||
| 336 | $(MASTER_OUTPUT)/obj.txt: $(MASTER_OUTPUT)/force | ||
| 337 | echo '$(OBJ)' | cmp -s - $@ || echo '$(OBJ)' > $@ | ||
| 338 | |||
| 339 | .PRECIOUS: $(MASTER_OUTPUT)/ldflags.txt | ||
| 340 | $(MASTER_OUTPUT)/ldflags.txt: $(MASTER_OUTPUT)/force | ||
| 341 | echo '$(LDFLAGS)' | cmp -s - $@ || echo '$(LDFLAGS)' > $@ | ||
| 342 | |||
| 343 | |||
| 429 | # We have to use static rules for the .d files for some reason | 344 | # We have to use static rules for the .d files for some reason |
| 430 | DEPS = $(patsubst %.o,%.d,$(OBJ)) | 345 | DEPS = $(patsubst %.o,%.d,$(OBJ)) |
| 431 | # Keep the .d files | 346 | # Keep the .d files |
| 432 | .PRECIOUS: $(DEPS) | 347 | .PRECIOUS: $(DEPS) |
| 433 | # Empty rule to force recompilation if the .d file is missing | 348 | # Empty rule to force recompilation if the .d file is missing |
| 434 | $(DEPS): | 349 | $(DEPS): |
| 350 | |||
| 435 | 351 | ||
| 436 | # Since the object files could be in two different folders, generate | 352 | $(foreach OUTPUT,$(OUTPUTS),$(eval $(call GEN_OBJRULE,$(OUTPUT)))) |
| 437 | # separate rules for them, rather than having too generic rules | ||
| 438 | $(eval $(call GEN_OBJRULE,$(OBJDIR))) | ||
| 439 | $(eval $(call GEN_OBJRULE,$(KBOBJDIR))) | ||
| 440 | |||
| 441 | # Compile: create assembler files from C source files. | ||
| 442 | %.s : %.c | $(BEGIN) | ||
| 443 | @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD) | ||
| 444 | $(eval CMD=$(CC) -S $(ALL_CFLAGS) $< -o $@) | ||
| 445 | @$(BUILD_CMD) | ||
| 446 | |||
| 447 | # Compile: create assembler files from C++ source files. | ||
| 448 | %.s : %.cpp | $(BEGIN) | ||
| 449 | @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD) | ||
| 450 | $(eval CMD=$(CC) -S $(ALL_CPPFLAGS) $< -o $@) | ||
| 451 | @$(BUILD_CMD) | ||
| 452 | 353 | ||
| 453 | # Create preprocessed source for use in sending a bug report. | 354 | # Create preprocessed source for use in sending a bug report. |
| 454 | %.i : %.c | $(BEGIN) | 355 | %.i : %.c | $(BEGIN) |
| @@ -456,71 +357,19 @@ $(eval $(call GEN_OBJRULE,$(KBOBJDIR))) | |||
| 456 | 357 | ||
| 457 | # Target: clean project. | 358 | # Target: clean project. |
| 458 | clean: | 359 | clean: |
| 459 | $(REMOVE) -r $(OBJDIR) 2>/dev/null | 360 | $(foreach OUTPUT,$(OUTPUTS), $(REMOVE) -r $(OUTPUT) 2>/dev/null) |
| 460 | $(REMOVE) -r $(KBOBJDIR) 2>/dev/null | ||
| 461 | $(REMOVE) $(BUILD_DIR)/$(TARGET).* | 361 | $(REMOVE) $(BUILD_DIR)/$(TARGET).* |
| 462 | 362 | ||
| 463 | show_path: | 363 | show_path: |
| 464 | @echo VPATH=$(VPATH) | 364 | @echo VPATH=$(VPATH) |
| 465 | @echo SRC=$(SRC) | 365 | @echo SRC=$(SRC) |
| 466 | 366 | @echo OBJ=$(OBJ) | |
| 467 | SUBDIRS := $(filter-out %/util/ %/doc/ %/keymaps/ %/old_keymap_files/,$(dir $(wildcard $(TOP_DIR)/keyboards/**/*/Makefile))) | ||
| 468 | SUBDIRS := $(SUBDIRS) $(dir $(wildcard $(TOP_DIR)/keyboards/*/.)) | ||
| 469 | SUBDIRS := $(sort $(SUBDIRS)) | ||
| 470 | # $(error $(SUBDIRS)) | ||
| 471 | all-keyboards-defaults-%: | ||
| 472 | @for x in $(SUBDIRS) ; do \ | ||
| 473 | printf "Compiling with default: $$x" | $(AWK_CMD); \ | ||
| 474 | LOG=$$($(MAKE) -C $$x $(subst all-keyboards-defaults-,,$@) VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \ | ||
| 475 | done | ||
| 476 | |||
| 477 | all-keyboards-defaults: all-keyboards-defaults-all | ||
| 478 | |||
| 479 | KEYBOARDS := $(SUBDIRS:$(TOP_DIR)/keyboards/%/=/keyboards/%) | ||
| 480 | all-keyboards-all: $(addsuffix -all,$(KEYBOARDS)) | ||
| 481 | all-keyboards-clean: $(addsuffix -clean,$(KEYBOARDS)) | ||
| 482 | all-keyboards: all-keyboards-all | ||
| 483 | |||
| 484 | define make_keyboard | ||
| 485 | $(eval KEYBOARD=$(patsubst /keyboards/%,%,$1)) | ||
| 486 | $(eval SUBPROJECT=$(lastword $(subst /, ,$(KEYBOARD)))) | ||
| 487 | $(eval KEYBOARD=$(firstword $(subst /, ,$(KEYBOARD)))) | ||
| 488 | $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/keymaps/*/.)))) | ||
| 489 | $(eval KEYMAPS+=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/$(SUBPROJECT)/keymaps/*/.)))) | ||
| 490 | @for x in $(KEYMAPS) ; do \ | ||
| 491 | printf "Compiling $(BOLD)$(KEYBOARD)/$(SUBPROJECT)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-118s", $$0; }'; \ | ||
| 492 | LOG=$$($(MAKE) -C $(TOP_DIR)$1 $2 keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \ | ||
| 493 | done | ||
| 494 | endef | ||
| 495 | |||
| 496 | define make_keyboard_helper | ||
| 497 | # Just remove the -all and so on from the first argument and pass it forward | ||
| 498 | $(call make_keyboard,$(subst -$2,,$1),$2) | ||
| 499 | endef | ||
| 500 | |||
| 501 | /keyboards/%-all: | ||
| 502 | $(call make_keyboard_helper,$@,all) | ||
| 503 | /keyboards/%-clean: | ||
| 504 | $(call make_keyboard_helper,$@,clean) | ||
| 505 | /keyboards/%: | ||
| 506 | $(call make_keyboard_helper,$@,all) | ||
| 507 | |||
| 508 | all-keymaps-%: | ||
| 509 | $(eval MAKECONFIG=$(call get_target,all-keymaps,$@)) | ||
| 510 | $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/keymaps/*/.)))) | ||
| 511 | @for x in $(KEYMAPS) ; do \ | ||
| 512 | printf "Compiling $(BOLD)$(KEYBOARD)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-118s", $$0; }'; \ | ||
| 513 | LOG=$$($(MAKE) $(subst all-keymaps-,,$@) keyboard=$(KEYBOARD) keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \ | ||
| 514 | done | ||
| 515 | |||
| 516 | all-keymaps: all-keymaps-all | ||
| 517 | 367 | ||
| 518 | # Create build directory | 368 | # Create build directory |
| 519 | $(shell mkdir $(BUILD_DIR) 2>/dev/null) | 369 | $(shell mkdir -p $(BUILD_DIR) 2>/dev/null) |
| 520 | 370 | ||
| 521 | # Create object files directory | 371 | # Create object files directory |
| 522 | $(shell mkdir $(OBJDIR) 2>/dev/null) | 372 | $(eval $(foreach OUTPUT,$(OUTPUTS),$(shell mkdir -p $(OUTPUT) 2>/dev/null))) |
| 523 | $(shell mkdir $(KBOBJDIR) 2>/dev/null) | ||
| 524 | 373 | ||
| 525 | # Include the dependency files. | 374 | # Include the dependency files. |
| 526 | -include $(patsubst %.o,%.d,$(OBJ)) | 375 | -include $(patsubst %.o,%.d,$(OBJ)) |
| @@ -528,8 +377,6 @@ $(shell mkdir $(KBOBJDIR) 2>/dev/null) | |||
| 528 | 377 | ||
| 529 | # Listing of phony targets. | 378 | # Listing of phony targets. |
| 530 | .PHONY : all finish sizebefore sizeafter gccversion \ | 379 | .PHONY : all finish sizebefore sizeafter gccversion \ |
| 531 | build elf hex eep lss sym coff extcoff check_submodule \ | 380 | build elf hex eep lss sym coff extcoff \ |
| 532 | clean clean_list debug gdb-config show_path \ | 381 | clean clean_list debug gdb-config show_path \ |
| 533 | program teensy dfu flip dfu-ee flip-ee dfu-start \ | 382 | program teensy dfu flip dfu-ee flip-ee dfu-start \ No newline at end of file |
| 534 | all-keyboards-defaults all-keyboards all-keymaps \ | ||
| 535 | all-keyboards-defaults-% all-keyboards-% all-keymaps-% | ||
diff --git a/tmk_core/tool/chibios/ch-bootloader-jump.patch b/tmk_core/tool/chibios/ch-bootloader-jump.patch index d88657621..c6eb2405c 100644 --- a/tmk_core/tool/chibios/ch-bootloader-jump.patch +++ b/tmk_core/tool/chibios/ch-bootloader-jump.patch | |||
| @@ -3,114 +3,114 @@ index 51a79bb..42d07bd 100644 | |||
| 3 | --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s | 3 | --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s |
| 4 | +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s | 4 | +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s |
| 5 | @@ -105,6 +105,13 @@ | 5 | @@ -105,6 +105,13 @@ |
| 6 | #define CRT0_CALL_DESTRUCTORS TRUE | 6 | #define CRT0_CALL_DESTRUCTORS TRUE |
| 7 | #endif | 7 | #endif |
| 8 | 8 | ||
| 9 | +/** | 9 | +/** |
| 10 | + * @brief Magic number for jumping to bootloader. | 10 | + * @brief Magic number for jumping to bootloader. |
| 11 | + */ | 11 | + */ |
| 12 | +#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__) | 12 | +#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__) |
| 13 | +#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF | 13 | +#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF |
| 14 | +#endif | 14 | +#endif |
| 15 | + | 15 | + |
| 16 | /*===========================================================================*/ | 16 | /*===========================================================================*/ |
| 17 | /* Code section. */ | 17 | /* Code section. */ |
| 18 | /*===========================================================================*/ | 18 | /*===========================================================================*/ |
| 19 | @@ -124,6 +131,17 @@ | 19 | @@ -124,6 +131,17 @@ |
| 20 | .thumb_func | 20 | .thumb_func |
| 21 | .global Reset_Handler | 21 | .global Reset_Handler |
| 22 | Reset_Handler: | 22 | Reset_Handler: |
| 23 | + | 23 | + |
| 24 | +#ifdef STM32_BOOTLOADER_ADDRESS | 24 | +#ifdef STM32_BOOTLOADER_ADDRESS |
| 25 | + /* jump to bootloader code */ | 25 | + /* jump to bootloader code */ |
| 26 | + ldr r0, =__ram0_end__-4 | 26 | + ldr r0, =__ram0_end__-4 |
| 27 | + ldr r1, =MAGIC_BOOTLOADER_NUMBER | 27 | + ldr r1, =MAGIC_BOOTLOADER_NUMBER |
| 28 | + ldr r2, [r0, #0] | 28 | + ldr r2, [r0, #0] |
| 29 | + str r0, [r0, #0] /* erase stored magic */ | 29 | + str r0, [r0, #0] /* erase stored magic */ |
| 30 | + cmp r2, r1 | 30 | + cmp r2, r1 |
| 31 | + beq Bootloader_Jump | 31 | + beq Bootloader_Jump |
| 32 | +#endif /* STM32_BOOTLOADER_ADDRESS */ | 32 | +#endif /* STM32_BOOTLOADER_ADDRESS */ |
| 33 | + | 33 | + |
| 34 | /* Interrupts are globally masked initially.*/ | 34 | /* Interrupts are globally masked initially.*/ |
| 35 | cpsid i | 35 | cpsid i |
| 36 | 36 | ||
| 37 | @@ -242,6 +260,21 @@ endfiniloop: | 37 | @@ -242,6 +260,21 @@ endfiniloop: |
| 38 | ldr r1, =__default_exit | 38 | ldr r1, =__default_exit |
| 39 | bx r1 | 39 | bx r1 |
| 40 | 40 | ||
| 41 | +#ifdef STM32_BOOTLOADER_ADDRESS | 41 | +#ifdef STM32_BOOTLOADER_ADDRESS |
| 42 | +/* | 42 | +/* |
| 43 | + * Jump-to-bootloader function. | 43 | + * Jump-to-bootloader function. |
| 44 | + */ | 44 | + */ |
| 45 | + | 45 | + |
| 46 | + .align 2 | 46 | + .align 2 |
| 47 | + .thumb_func | 47 | + .thumb_func |
| 48 | +Bootloader_Jump: | 48 | +Bootloader_Jump: |
| 49 | + ldr r0, =STM32_BOOTLOADER_ADDRESS | 49 | + ldr r0, =STM32_BOOTLOADER_ADDRESS |
| 50 | + ldr r1, [r0, #0] | 50 | + ldr r1, [r0, #0] |
| 51 | + mov sp, r1 | 51 | + mov sp, r1 |
| 52 | + ldr r0, [r0, #4] | 52 | + ldr r0, [r0, #4] |
| 53 | + bx r0 | 53 | + bx r0 |
| 54 | +#endif /* STM32_BOOTLOADER_ADDRESS */ | 54 | +#endif /* STM32_BOOTLOADER_ADDRESS */ |
| 55 | + | 55 | + |
| 56 | #endif | 56 | #endif |
| 57 | 57 | ||
| 58 | /** @} */ | 58 | /** @} */ |
| 59 | diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s | 59 | diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s |
| 60 | index 4812a29..dca9f88 100644 | 60 | index 4812a29..dca9f88 100644 |
| 61 | --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s | 61 | --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s |
| 62 | +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s | 62 | +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s |
| 63 | @@ -140,6 +140,13 @@ | 63 | @@ -140,6 +140,13 @@ |
| 64 | #define CRT0_CPACR_INIT 0x00F00000 | 64 | #define CRT0_CPACR_INIT 0x00F00000 |
| 65 | #endif | 65 | #endif |
| 66 | 66 | ||
| 67 | +/** | 67 | +/** |
| 68 | + * @brief Magic number for jumping to bootloader. | 68 | + * @brief Magic number for jumping to bootloader. |
| 69 | + */ | 69 | + */ |
| 70 | +#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__) | 70 | +#if !defined(MAGIC_BOOTLOADER_NUMBER) || defined(__DOXYGEN__) |
| 71 | +#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF | 71 | +#define MAGIC_BOOTLOADER_NUMBER 0xDEADBEEF |
| 72 | +#endif | 72 | +#endif |
| 73 | + | 73 | + |
| 74 | /*===========================================================================*/ | 74 | /*===========================================================================*/ |
| 75 | /* Code section. */ | 75 | /* Code section. */ |
| 76 | /*===========================================================================*/ | 76 | /*===========================================================================*/ |
| 77 | @@ -164,6 +171,17 @@ | 77 | @@ -164,6 +171,17 @@ |
| 78 | .thumb_func | 78 | .thumb_func |
| 79 | .global Reset_Handler | 79 | .global Reset_Handler |
| 80 | Reset_Handler: | 80 | Reset_Handler: |
| 81 | + | 81 | + |
| 82 | +#ifdef STM32_BOOTLOADER_ADDRESS | 82 | +#ifdef STM32_BOOTLOADER_ADDRESS |
| 83 | + /* jump to bootloader code */ | 83 | + /* jump to bootloader code */ |
| 84 | + ldr r0, =__ram0_end__-4 | 84 | + ldr r0, =__ram0_end__-4 |
| 85 | + ldr r1, =MAGIC_BOOTLOADER_NUMBER | 85 | + ldr r1, =MAGIC_BOOTLOADER_NUMBER |
| 86 | + ldr r2, [r0, #0] | 86 | + ldr r2, [r0, #0] |
| 87 | + str r0, [r0, #0] /* erase stored magic */ | 87 | + str r0, [r0, #0] /* erase stored magic */ |
| 88 | + cmp r2, r1 | 88 | + cmp r2, r1 |
| 89 | + beq Bootloader_Jump | 89 | + beq Bootloader_Jump |
| 90 | +#endif /* STM32_BOOTLOADER_ADDRESS */ | 90 | +#endif /* STM32_BOOTLOADER_ADDRESS */ |
| 91 | + | 91 | + |
| 92 | /* Interrupts are globally masked initially.*/ | 92 | /* Interrupts are globally masked initially.*/ |
| 93 | cpsid i | 93 | cpsid i |
| 94 | 94 | ||
| 95 | @@ -305,6 +323,21 @@ endfiniloop: | 95 | @@ -305,6 +323,21 @@ endfiniloop: |
| 96 | /* Branching to the defined exit handler.*/ | 96 | /* Branching to the defined exit handler.*/ |
| 97 | b __default_exit | 97 | b __default_exit |
| 98 | 98 | ||
| 99 | +#ifdef STM32_BOOTLOADER_ADDRESS | 99 | +#ifdef STM32_BOOTLOADER_ADDRESS |
| 100 | +/* | 100 | +/* |
| 101 | + * Jump-to-bootloader function. | 101 | + * Jump-to-bootloader function. |
| 102 | + */ | 102 | + */ |
| 103 | + | 103 | + |
| 104 | + .align 2 | 104 | + .align 2 |
| 105 | + .thumb_func | 105 | + .thumb_func |
| 106 | +Bootloader_Jump: | 106 | +Bootloader_Jump: |
| 107 | + ldr r0, =STM32_BOOTLOADER_ADDRESS | 107 | + ldr r0, =STM32_BOOTLOADER_ADDRESS |
| 108 | + ldr r1, [r0, #0] | 108 | + ldr r1, [r0, #0] |
| 109 | + mov sp, r1 | 109 | + mov sp, r1 |
| 110 | + ldr r0, [r0, #4] | 110 | + ldr r0, [r0, #4] |
| 111 | + bx r0 | 111 | + bx r0 |
| 112 | +#endif /* STM32_BOOTLOADER_ADDRESS */ | 112 | +#endif /* STM32_BOOTLOADER_ADDRESS */ |
| 113 | + | 113 | + |
| 114 | #endif /* !defined(__DOXYGEN__) */ | 114 | #endif /* !defined(__DOXYGEN__) */ |
| 115 | 115 | ||
| 116 | /** @} */ | 116 | /** @} */ |
