Compare commits

..
Author SHA1 Message Date
Erez Zukerman cd41355069 Merge pull request #936 from jackhumbert/f/shine_default
Official default factory firmware for ErgoDox EZ Shine
2016-12-06 07:57:02 -05:00
Erez Zukerman 82922a4937 A new default layout that supports Shine 2016-12-05 20:35:03 -05:00
Erez Zukerman a05b6a72d9 Adjusts config for better mousekey support 2016-12-05 20:34:24 -05:00
Jack Humbert c87d039839 Merge pull request #921 from Wilba6582/raw_hid
Initial version of Raw HID interface
2016-12-05 00:13:37 -05:00
Jack Humbert 1eec2b7277 Update planck.c 2016-12-04 23:11:22 -05:00
Jack Humbert b66845ca7f Update rules.mk 2016-12-04 23:10:44 -05:00
Jack Humbert 7e4341e437 Update rules.mk 2016-12-04 23:01:07 -05:00
Jack Humbert d15d1d3833 Merge pull request #935 from priyadi/promethium
Promethium handwired keyboard firmware update
2016-12-04 21:07:26 -05:00
Priyadi Iman Nurcahyo c7d11fd001 Remove unnecessary build options 2016-12-05 02:15:38 +07:00
Priyadi Iman Nurcahyo e18a75609d Merge branch 'master' into promethium 2016-12-05 02:01:20 +07:00
Jack Humbert dd2911151b Merge pull request #932 from climbalima/master
Added ponoko svg for lets split
2016-12-04 13:53:25 -05:00
Jack Humbert 082f7ed3d3 Merge pull request #933 from priyadi/ps2_mouse_init_user2
Implemented weak ps2_mouse_init_user()
2016-12-04 13:52:17 -05:00
Priyadi Iman Nurcahyo 236c040859 syntax error fix 2016-12-05 01:38:41 +07:00
Priyadi Iman Nurcahyo 07d29b7d29 syntax error fix 2016-12-05 01:22:40 +07:00
Priyadi Iman Nurcahyo d059624bfb Implemented weak ps2_mouse_init_user()
There are a lot of PS/2 commands, some are vendor/device specific, so we
provide a weak ps2_mouse_init_user() to be implemented in each keyboard
that need it.
2016-12-05 01:21:17 +07:00
Priyadi Iman Nurcahyo 73073f270b Trackpoint initialization 2016-12-05 01:15:04 +07:00
Priyadi Iman Nurcahyo 6ef3060b42 Implemented weak ps2_mouse_init_user()
There are a lot of PS/2 commands, some are vendor/device specific, so we
provide a weak ps2_mouse_init_user() to be implemented in each keyboard
that need it.
2016-12-05 01:07:12 +07:00
Priyadi Iman Nurcahyo fc80aa9974 Merge branch 'master' into promethium 2016-12-04 23:57:47 +07:00
Priyadi Iman Nurcahyo a8e5f61805 fix emoji LED indicators. 2016-12-04 23:55:06 +07:00
Priyadi Iman Nurcahyo 75b18773bd fix RGB LED order 2016-12-04 14:51:27 +07:00
climbalima 0f71c81df8 having trouble with conflicts 2016-12-03 17:37:41 -05:00
climbalima 45b7718fb1 cleaned up personal projects 2016-12-03 17:30:40 -05:00
climbalima 59c54d651b Merge https://github.com/climbalima/qmk_firmware 2016-12-03 17:15:22 -05:00
climbalima ae66f0d702 added plate files for lets split 2016-12-03 17:09:11 -05:00
climbalima 2186e5ae85 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-12-03 17:01:26 -05:00
Jack Humbert f39e1b5dfe cleans-up formatting of readme 2016-12-03 14:36:39 -05:00
Jack Humbert d0c667c790 Merge pull request #931 from OferPlesser/feature/improve-ps2-mouse
Improving ps/2 mouse
2016-12-03 10:13:11 -05:00
Jack Humbert 464f7d9687 Merge pull request #916 from wez/ble_4
Connect the adafruit ble code to the lufa main loop
2016-12-03 10:12:38 -05:00
Ofer Plesser f0768f8be9 Forgot to use define in delay instead of hardcoded number 2016-12-03 13:41:56 +02:00
Ofer Plesser 8e2732edf3 Updated ps2 mouse documentation in readme 2016-12-03 13:11:37 +02:00
Ofer Plesser 9f41544e1d Added back PS2_MOUSE_INIT_DELAY define 2016-12-03 13:09:42 +02:00
ofples d639e08a31 Refactored and improved ps2 mouse feature 2016-12-03 13:05:02 +02:00
Wez Furlong 044fa3ff85 Connect the adafruit ble code to the lufa main loop
There are now 3 potential locations to send HID reports:

1. USB
2. The bluefruit easy key
3. Adafruit BLE

Generally speaking, if USB is connected then we should prefer to
send the reports there; it is generally the best channel for this.

The bluefruit module has no feedback about bluetooth connectivity
so the code must speculatively send reports over both USB and bluetooth.

The BLE module has connectivity feedback.  In general we want to
prefer to send HID reports over USB while connected there, even
if BLE is connected.  Except that it is convenient to force them
over BLE while testing the implementation.

This policy has been extracted out into a where_to_send function
which returns a bitmask of which of the channels should be used.
2016-12-02 22:46:23 -08:00
Jack Humbert 7f88c9506c Merge pull request #930 from cbbrowne/master
Adds warnings to Planck keymaps that exceed 0x7000 bytes in size #929
2016-12-02 15:21:04 -05:00
Jack Humbert 11d263118a Merge pull request #929 from jackhumbert/hf/size-warnings
Adds warnings to Planck keymaps that exceed 0x7000 bytes in size
2016-12-02 15:20:44 -05:00
cbbrowne cee0cf8a6e Adds warnings to Planck keymaps that exceed 0x7000 bytes in size #929 2016-12-02 14:12:55 -05:00
Jack Humbert 245c9508bd adds warnings to 4 keymaps 2016-12-02 13:32:50 -05:00
Jack Humbert e14b0e8e7e Merge pull request #881 from NoahAndrews/patch-1
Recommend WSL on Windows 10 [Discussion]
2016-12-02 13:22:03 -05:00
Jack Humbert 78f8fe361f Merge pull request #915 from wez/ble_3
Add support for Adafruit BLE modules
2016-12-02 13:14:04 -05:00
Jack Humbert 8f0a8cb7a6 Merge pull request #914 from wez/ble_2
Add arduino-alike GPIO pin control helpers
2016-12-02 13:12:56 -05:00
Jack Humbert ead68248c5 Merge pull request #913 from wez/ble_1
Tidy up atomicity in timer.c and ring_buffer.h
2016-12-02 13:12:19 -05:00
Jack Humbert 4bcec04c01 Merge pull request #924 from cbbrowne/master
Keymapping revs, revisions to documentation on API_SYSEX_ENABLE
2016-12-02 13:06:31 -05:00
Erez Zukerman 555e41d9e5 Annotates nordic 2016-12-02 13:03:51 -05:00
Erez Zukerman aa70aa3962 Tweaks Kristian's layout again 2016-12-02 13:03:39 -05:00
Erez Zukerman 5d43a2aecf Kristian's keymap 2016-12-02 12:53:18 -05:00
cbbrowne f6e86cd2c9 I also want page-down/page-up on UPPER layer 2016-12-02 12:35:03 -05:00
cbbrowne 570e784140 I want page-down/page-up - put those on LOWER-Left/Right near bottom corner 2016-12-02 12:31:43 -05:00
cbbrowne 95a160bf92 Improve docs on memory usage 2016-12-01 16:31:51 -05:00
cbbrowne af4c44deef Improve docs on SYSEX bit 2016-12-01 16:31:30 -05:00
cbbrowne b787ed9dc6 More notes on .hex size protection 2016-12-01 16:24:03 -05:00
cbbrowne 1f290f6213 Make my builds smaller 2016-12-01 16:21:15 -05:00
cbbrowne 13eb2f826b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-12-01 12:54:16 -05:00
Erez Zukerman 66b13a66e9 Better layout 2016-11-30 22:22:57 -05:00
Wilba6582 fe001d46fd Initial version of Raw HID interface 2016-12-01 00:44:54 +11:00
cbbrowne ff1b563e85 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-29 12:20:26 -05:00
Jack Humbert 81ea909467 Merge pull request #919 from jackhumbert/hf/robot_test_layout
Test layout for ErgoDox EZ manufacturing robot
2016-11-29 11:22:31 -05:00
Erez Zukerman 4094544d41 Test layout for ErgoDox EZ manufacturing robot 2016-11-29 09:23:16 -05:00
Erez Zukerman 51ae6da99e Merge pull request #918 from jackhumbert/wu5y7
Adds Ergodox EZ RGB lights (both sides using I2C) and implements API base, Midi SysEx API
2016-11-29 08:16:04 -05:00
Erez Zukerman 7b219a7f60 Merge pull request #917 from gid0/master
keyboards/ergodox/keymaps/bepo : merge from author
2016-11-29 08:13:49 -05:00
Jack Humbert f946d830f9 guess i didnt pull 2016-11-29 00:11:11 -05:00
Jack Humbert efbc205efd Merge branch 'wu5y7' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-29 00:10:06 -05:00
Jack Humbert d0cefef946 enable rgblight by default for ez 2016-11-29 00:09:56 -05:00
Jack Humbert 06f18e95d4 enable api sysex for ez 2016-11-29 00:06:12 -05:00
Jack Humbert 6e0f994950 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-28 23:51:07 -05:00
cbbrowne 5776f39667 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-28 12:27:42 -05:00
Olivier 5a2501d90f Add the AZERTY compatibility layer. 2016-11-28 16:38:03 +01:00
Olivier f02eccbb29 Change layer names (cosmetic change) and reorder them so that the "shift" layer can be accessed from the "alt" layer when in QWERTY compat mode. 2016-11-28 14:16:42 +01:00
Erez Zukerman 84735836e3 Tweaks position of TOG not to conflict with MO 2016-11-28 08:13:32 -05:00
Olivier d2b6438e39 A little cleanup, add some comments, change others. 2016-11-28 14:10:31 +01:00
Erez Zukerman 9caf866618 Tweaks EZ Makefile 2016-11-28 07:59:01 -05:00
Erez Zukerman 2d0ada0190 Pulls LED config into common config for EZ 2016-11-28 07:55:02 -05:00
Olivier 3f1fca2eb8 Adjust comment. 2016-11-28 11:21:23 +01:00
Olivier e26a80508f Reorganize the numeric keypad layer more like a traditional numeric keypad. 2016-11-28 11:20:00 +01:00
Wez Furlong 712476cd28 Add support for Adafruit BLE modules
This implements some helper functions that allow sending key reports
to an SPI based Bluetooth Low Energy module, such as the Adafruit
Feather 32u4 Bluefruit LE.

There is some plumbing required in lufa.c to enable this; that
is in a follow-on commit.
2016-11-27 23:49:44 -08:00
Wez Furlong 8485bb34d2 Add arduino-alike GPIO pin control helpers
Unlike the arduino functions, these don't take abstract pin numbers,
they take pin labels like `B0`.  Also, rather than taking very
generic parameter names, these take slightly more descriptive
enum values.

These improve the clarity of code that would otherwise be inscrutable
bit manipulation in tersely named port register names.
2016-11-27 22:58:34 -08:00
Wez Furlong be4e75423a Tidy up atomicity in timer.c and ring_buffer.h
Adopt the macros for saving/restoring the interrupt state
that are provided by the avr gcc environment.

Removing intialization of the timer value; this shaves off
a few bytes because globals are default initialized to zero.
2016-11-27 22:58:34 -08:00
Olivier d6d0b7eada Merge https://github.com/jackhumbert/qmk_firmware 2016-11-27 23:23:21 +01:00
Jack Humbert 7edac212c8 separated into api files/folder 2016-11-26 15:38:44 -05:00
Jack Humbert 1585fc4b61 Merge pull request #908 from priyadi/promethium
My handwired keyboard firmware
2016-11-26 13:40:42 -05:00
Priyadi Iman Nurcahyo 12c1314b02 update docs 2016-11-27 00:40:31 +07:00
Jack Humbert b5c811bde5 Merge pull request #907 from priyadi/unicode_docs
Update Unicode documentation
2016-11-26 12:38:48 -05:00
Jack Humbert 637170d560 Merge pull request #906 from priyadi/unicode_map_fix_warning
fix strict-prototypes warning
2016-11-26 12:38:10 -05:00
Priyadi Iman Nurcahyo a182cbc031 Update Unicode documentation 2016-11-27 00:34:29 +07:00
Priyadi Iman Nurcahyo 6fee7e178f fix strict-prototypes warning 2016-11-26 23:53:15 +07:00
Priyadi Iman Nurcahyo a1f88bf7bf Merge branch 'promethium' of github.com:priyadi/qmk_firmware into promethium 2016-11-26 23:48:52 +07:00
Priyadi Iman Nurcahyo 0f39ab5219 remove ifdef on chip type 2016-11-26 23:48:11 +07:00
Priyadi Iman Nurcahyo 7f3c9c6a39 protocols.mk is already included in latest QMK 2016-11-26 23:48:11 +07:00
Priyadi Iman Nurcahyo b5019bef05 change init delay to 2000ms 2016-11-26 23:48:11 +07:00
Priyadi Iman Nurcahyo 8ee389c9b6 My Promethium keyboard firmware 2016-11-26 23:48:11 +07:00
Jack Humbert 746fd15638 Merge pull request #905 from priyadi/ps2_documentation
A few addition to PS2 documentation.
2016-11-26 10:46:41 -05:00
Jack Humbert fbd4c34c0f Merge pull request #904 from priyadi/ps2_remove_hardcoded_pins
PS2 pins configuration belongs to each keyboards config.h
2016-11-26 10:46:29 -05:00
Priyadi Iman Nurcahyo f2214ce1cb remove define checks. didn't work because of include ordering. 2016-11-26 15:57:48 +07:00
Priyadi Iman Nurcahyo d9d67e7b76 add macro error when a required define is missing 2016-11-26 15:26:02 +07:00
Priyadi Iman Nurcahyo f837406ace A few addition to PS2 documentation. 2016-11-26 14:23:55 +07:00
Priyadi Iman Nurcahyo 17acde94ee Fix unterminated ifndef 2016-11-26 14:02:38 +07:00
Priyadi Iman Nurcahyo de1df63953 PS2 pins configuration belongs to each keyboards config.h
Each keyboard might have different pin configuration. And keeping this
here will trigger redefinition warning on keyboards that have PS2
defines.
2016-11-26 13:55:41 +07:00
Priyadi Iman Nurcahyo 2cf9b93758 remove ifdef on chip type 2016-11-26 13:47:03 +07:00
Priyadi Iman Nurcahyo 6313ec7ef9 protocols.mk is already included in latest QMK 2016-11-26 13:46:05 +07:00
Priyadi Iman Nurcahyo b94e5b2aa6 change init delay to 2000ms 2016-11-26 13:44:50 +07:00
Jack Humbert 7a1eca784f Merge pull request #903 from priyadi/ps2_init_delay
Make PS2 init delay configurable.
2016-11-26 01:34:49 -05:00
Priyadi Iman Nurcahyo b5511b9a8a Merge branch 'master' into promethium 2016-11-26 13:31:17 +07:00
Priyadi Iman Nurcahyo 9a071f051c Make PS2 init delay configurable. Some devices are not fully powered up
after 1s.
2016-11-26 13:24:53 +07:00
Priyadi Iman Nurcahyo 4b0d16cd7b My Promethium keyboard firmware 2016-11-26 13:11:40 +07:00
cbbrowne e3c735e400 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-25 12:06:35 -05:00
Jack Humbert bf23ac96f6 Merge pull request #902 from OferPlesser/feature/ps2-mouse-support
PS/2 mouse support
2016-11-25 11:22:44 -05:00
ofples 97e7486d4c Added documentation for PS/2 mouse in readme 2016-11-25 12:10:44 +02:00
ofples 0c9d66eb59 Removed comment 2016-11-25 09:20:41 +02:00
ofples 03d6e165bb Added missing endif for ifdef __AVR_ATmega32U4__ and removed the unnecessary one at the end of the file 2016-11-25 09:17:40 +02:00
ofples 3be13d1ffb Added protocol.mk to build 2016-11-25 09:15:12 +02:00
Jack Humbert 98d7ad6f49 Merge pull request #899 from Wilba6582/suspend_fix
Fixed NO_SUSPEND_POWER_DOWN handling
2016-11-24 22:20:08 -05:00
Jack Humbert f25596b8dc rgblight fixes 2016-11-23 21:28:12 -05:00
Jack Humbert cefa8468fb travis pls 2016-11-23 20:16:38 -05:00
Jack Humbert 2e23689b8e converted to new format 2016-11-23 18:52:02 -05:00
cbbrowne c05cbaf534 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-23 17:47:16 -05:00
Wilba6582 cf3926a8e1 Fixed NO_SUSPEND_POWER_DOWN handling 2016-11-23 19:45:50 +11:00
Jack Humbert 3d7aaa31e4 converted to 8bit messages 2016-11-23 00:30:06 -05:00
Wilba6582 5893f0fa1f Fixed NO_SUSPEND_POWER_DOWN handling 2016-11-23 16:22:57 +11:00
Jack Humbert 2b3a3ca678 Merge pull request #898 from PureSpider/backlight-fix
Set backlight status to on if it's at maximum brightness already and the brightness increase keybind is used
2016-11-22 18:41:37 -05:00
Jack Humbert e131de3df6 Merge pull request #896 from h-youhei/jp106
Add japanese keymap
2016-11-22 18:39:54 -05:00
PureSpider d37becc0a9 Set backlight status to on if it's at maximum brightness already and the brightness increase keybind is used
Before it was turned on but the status wasn't set to on, so you had to
push the backlight toggle bind twice to turn it off again
2016-11-22 22:12:57 +01:00
h-youhei 2febf9b9f7 Add japanese keymap 2016-11-22 20:40:12 +09:00
Jack Humbert 450a8fb5b6 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-21 20:17:45 -05:00
Jack Humbert 06a2677b7e fix infinity 2016-11-21 20:17:32 -05:00
Jack Humbert 6390033e86 cleaning up midid 2016-11-21 20:14:16 -05:00
Jack Humbert af119baf71 Merge pull request #894 from dchagniot/ergodoxDvorakEmacs
Ergodox dvorak emacs
2016-11-21 20:00:40 -05:00
Jack Humbert 4bb0eaef26 Merge pull request #893 from Sihui/sh-hhkb-jp
[HHKB JP with Dvorak]
2016-11-21 20:00:13 -05:00
Jack Humbert be265decae Merge pull request #892 from fredizzimo/disable_ergodox_lcd
Always initialize the Infinity Ergodox backlight
2016-11-21 19:59:39 -05:00
Jack Humbert 377583d9f3 Merge pull request #891 from g-sam/galson-keymap
adds galson keymap
2016-11-21 19:59:17 -05:00
Jack Humbert 132c079534 Merge pull request #890 from algernon/f/space-cadet/timeout
Add a timeout to space-cadet shift.
2016-11-21 19:58:55 -05:00
Jack Humbert e0fc186c28 Merge pull request #888 from climbalima/master
Added pro micro to maxipad
2016-11-21 19:58:24 -05:00
Jack Humbert ea472fb018 Merge pull request #887 from profet23/atreus62
atreus62 Keyboard Support
2016-11-21 19:58:00 -05:00
Jack Humbert 664c0a036b cleaning up new code 2016-11-21 19:50:55 -05:00
Jack Humbert 27ebacb15d merging lets_split 2016-11-21 19:18:47 -05:00
Jack Humbert c1037b1dc0 working with helper, qmk_helper_windows@05b0105 2016-11-21 18:05:06 -05:00
Jack Humbert b57cf3c0c8 more structure to the package 2016-11-21 12:54:06 -05:00
Sihui Huang b75538c0bf add del to new cmd 2016-11-20 14:45:51 -08:00
Sihui Huang 390a1bda8b add space to NewCmd layer 2016-11-20 13:32:25 -08:00
Sihui Huang ccc34851f2 add space to NewCmd layer 2016-11-20 13:31:41 -08:00
Didier Chagniot 6f24344be7 typo fix 2016-11-20 20:51:05 +01:00
Sihui Huang 23f63ed1b9 Update README.md 2016-11-20 11:18:08 -08:00
Sihui Huang 34aa59c6d5 Update README.md 2016-11-20 11:13:57 -08:00
Sihui Huang 11f17e3b23 Update README.md 2016-11-20 11:12:48 -08:00
Sihui Huang a8b1c47f0f add sh-hhkb-jp layers 2016-11-20 11:10:26 -08:00
Fred Sundvik c86bbf474e Always initialze the Infinity Ergodox backlight
Otherwise it will stay lit. The set_led functionality is also disabled
since it doesn't work properly for slaves.
2016-11-20 19:28:10 +02:00
Jack Humbert 3b990c08dc Merge pull request #878 from sethbc/add_sethbc_gh60_keymap
add sethbc keymap for gh60 and update macro expansion
2016-11-19 13:05:30 -05:00
Seth Chandler df8724ce08 remove KC expansion from GH60 2016-11-19 12:19:21 -05:00
Gergely Nagy 74a1f00713 Fix the Space Cadet timeout code
Define a default TAPPING_TERM in quantum.c, for keyboards that do not
have it set. Fixes the CI failure.

Signed-off-by: Gergely Nagy <[email protected]>
2016-11-19 18:19:18 +01:00
Seth Chandler 620e4f74d3 move KC expansion to separate macros 2016-11-19 11:37:12 -05:00
Seth Chandler ac7d202d4f merge upstream/master 2016-11-19 11:20:41 -05:00
[email protected] 7f5e71d79f adds galson keymap 2016-11-19 14:21:12 +00:00
Gergely Nagy ffa5b1e7ea Add a timeout to space-cadet shift.
When one holds a Space Cadet shift, to have it act as a shift, so that
mouse behaviour changes, when released without any other key pressed, it
still registers a paren. To remedy this, add a hold timeout: if the key
is held longer than TAPPING_TERM, it will not register the parens.

Fixes #884, with the side-effect of not being able to have parens
trigger the OS-side repeat anymore.

Signed-off-by: Gergely Nagy <[email protected]>
2016-11-19 11:32:09 +01:00
climbalima 102a830bbd changed readme 2016-11-19 00:49:20 -05:00
climbalima e356de2220 added the pinout for pro micro into maxipad 2016-11-19 00:44:52 -05:00
climbalima 01736a502e just saving 2016-11-18 23:40:34 -05:00
Jack Humbert a06115df19 don't always detect a matrix change (fixes debounce) 2016-11-18 23:20:07 -05:00
Jack Humbert ab6557c1a0 wqMerge branch 'wu5y7' of https://github.com/jackhumbert/qmk_firmware into wu5y7 2016-11-18 22:22:29 -05:00
Jack Humbert 161bd5596b midi back and forth 2016-11-18 22:22:24 -05:00
Erez Zukerman 285c5a91f2 Groundwork for dedicated color keycodes 2016-11-17 20:56:36 -05:00
Erez Zukerman 9bbc9a7ce0 Initial Erez Experimental keymap tweaks 2016-11-17 19:47:08 -05:00
Jack Humbert 3774a7fcda rgb light through midi 2016-11-17 17:42:14 -05:00
Benjamin Grabkowitz 6c5fce5c1a Adding readme placeholder 2016-11-16 23:59:42 -05:00
Benjamin Grabkowitz 00d88b74ad Adding Support for atreus62 keyboard. https://github.com/profet23/atreus62 2016-11-16 23:52:36 -05:00
Jack Humbert c38b3e3be9 Merge pull request #883 from climbalima/master
added rev2 lets split after merging with qmk
2016-11-16 21:17:51 -05:00
climbalima b085a34506 fixed readme conflicts 2016-11-16 20:44:49 -05:00
climbalima 21b6b4e6c4 should have fixed conflixed 2016-11-16 19:49:38 -05:00
climbalima 668c739702 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-16 19:28:30 -05:00
climbalima 5cac51a773 Merge https://github.com/climbalima/qmk_firmware 2016-11-16 19:26:38 -05:00
climbalima 1dd6ceb45d Updated my repo to current qmk 2016-11-16 19:18:54 -05:00
Jack Humbert 72e78a017f Merge pull request #882 from seebs/master
dvorak/plover keyboard layout
2016-11-16 17:15:58 -05:00
cbbrowne 5b88e7ab9a Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-16 17:05:11 -05:00
Seebs 4da698fda3 dvorak/plover keyboard layout
Plover's steno support likes quasi-qwerty, and gaming likes qwerty,
and I like dvorak, so... what if I could have it all?

Signed-off-by: seebs <[email protected]>
2016-11-16 15:44:26 -06:00
Jack Humbert 9f1b27c5ba Merge pull request #880 from psyill/master
Added keymap "videck", an ErgoDox keymap for Vi(m) users.
2016-11-16 14:54:18 -05:00
Jack Humbert e025a94bc2 Merge pull request #879 from sethbc/update_sethbc_ergodox_keymap
update sethbc ergodox keymap
2016-11-16 14:53:52 -05:00
Jack Humbert d85f6deb9b Merge pull request #877 from sethbc/update_sethbc_satan_keymap
update sethbc keymap
2016-11-16 14:51:18 -05:00
Jack Humbert 6dde65c2a9 Merge pull request #876 from Dbroqua/master
Updated kc60/dbroqua layout and added satan/dbroqua_hhkb
2016-11-16 14:49:55 -05:00
Jack Humbert 17e1a4f825 Merge pull request #866 from fredizzimo/infinity60_clockfixes
Increase the infinity60 system tick frequency
2016-11-16 14:42:53 -05:00
Jack Humbert 7541122cad Merge pull request #860 from IBNobody/master
Improved Quantum Matrix
2016-11-16 14:41:10 -05:00
Jack Humbert 530dd3377e animations, midi, etc 2016-11-15 13:18:10 -05:00
climbalima bce6e52391 fixed conflict 2016-11-14 23:08:10 -05:00
climbalima dd22c787b8 fixed extra paste 2016-11-14 23:05:37 -05:00
Noah Andrews 702405f039 Recommend WSL on Windows 10
At this point, I consider the batch scripts @IBNobody and I worked on to mostly be a failure. They've proven to be unreliable, too dependent on the environment they're being run in, and I've seen far too many examples of people having frustrating issues with them that I haven't been able to help them with. They can also produce misleading and confusing error messages. I've been pointing people to use the WSL for a while now. Eventually, I think we should make a proper replacement for the batch scripts, possibly with an environment in msys2. For now, the WSL method in Windows 10 is far more reliable, and is easy to set up. 

I also cleaned up some things in the WSL instructions themselves.
2016-11-14 10:03:18 -05:00
Jack Humbert e9f7487518 mostly working 2016-11-13 23:02:38 -05:00
Hans Ellegård 162f603b1c Added keymap "videck", an ErgoDox keymap for Vi(m) users. 2016-11-13 22:44:41 +01:00
Seth Chandler aa76425395 oops, fixed inverted if statement 2016-11-13 01:04:10 -05:00
Seth Chandler 34bf8558cd update sethbc ergodox keymap 2016-11-13 00:56:46 -05:00
Seth Chandler b2bc215934 add sethbc keymap for gh60 and update macro expansion in connection with same 2016-11-13 00:42:07 -05:00
Seth Chandler 28249498bc update sethbc keymap 2016-11-12 23:56:57 -05:00
Jack Humbert 33e62c080c merging 2016-11-12 20:54:37 -05:00
Damien 0a99cf300c Merge pull request #12 from jackhumbert/master
Merged from qmk
2016-11-12 19:33:07 +01:00
dbroqua 3bc51065a4 Merge branch 'master' of https://github.com/Dbroqua/qmk_firmware 2016-11-12 19:27:03 +01:00
dbroqua 19ebf6161f - Added dbroqua_hhkb layout for Satan PCB 2016-11-12 19:23:38 +01:00
cbbrowne c609edc362 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-11-11 10:39:11 -05:00
cbbrowne 992ec01b5d Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-11 10:39:07 -05:00
Chris Browne de3117f483 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-10 23:32:29 -05:00
climbalima ec0db2933c Merge branch 'master' of https://github.com/climbalima/qmk_firmware
second try
2016-11-10 20:06:54 -05:00
climbalima b5cecb4cc9 Added both revisions into one folder 2016-11-10 20:03:24 -05:00
Jack Humbert 631b8999a7 Merge pull request #868 from potz/master
Add brazilian ABNT2 keymap
2016-11-10 18:45:09 -05:00
climbalima 79f82d3d80 returned to o 2016-11-10 18:43:31 -05:00
climbalima 6e27f6fbde Changes to be committed:
new file:   keyboards/lets_splitv2/Makefile
	new file:   keyboards/lets_splitv2/config.h
	new file:   keyboards/lets_splitv2/i2c.c
	new file:   keyboards/lets_splitv2/i2c.h
	new file:   keyboards/lets_splitv2/imgs/split-keyboard-i2c-schematic.png
	new file:   keyboards/lets_splitv2/imgs/split-keyboard-serial-schematic.png
	new file:   keyboards/lets_splitv2/keymaps/default/keymap.c
	new file:   keyboards/lets_splitv2/lets_split.c
	new file:   keyboards/lets_splitv2/lets_split.h
	new file:   keyboards/lets_splitv2/matrix.c
	new file:   keyboards/lets_splitv2/pro_micro.h
	new file:   keyboards/lets_splitv2/readme.md
	new file:   keyboards/lets_splitv2/serial.c
	new file:   keyboards/lets_splitv2/serial.h
	new file:   keyboards/lets_splitv2/split_util.c
	new file:   keyboards/lets_splitv2/split_util.h
	new file:   keyboards/maxipad/Makefile
	new file:   keyboards/maxipad/config.h
	new file:   keyboards/maxipad/keymaps/default/Makefile
	new file:   keyboards/maxipad/keymaps/default/config.h
	new file:   keyboards/maxipad/keymaps/default/keymap.c
	new file:   keyboards/maxipad/keymaps/default/readme.md
	new file:   keyboards/maxipad/maxipad.c
	new file:   keyboards/maxipad/maxipad.h
	new file:   keyboards/maxipad/readme.md
2016-11-10 18:19:13 -05:00
Erez Zukerman f73a378f0f Merge pull request #870 from NoahAndrews/patch-1
Add proper shortcode for KC_DELETE to keycode.txt
2016-11-10 09:43:38 -05:00
IBNobody 1803dbc6d5 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-11-08 21:11:24 -06:00
Noah Andrews 64218f0f70 Add proper shortcode for KC_DELETE to keycode.txt 2016-11-08 22:05:24 -05:00
Potiguar Faga 7aa31ad338 Add brazilian ABNT2 keymap 2016-11-08 13:32:04 -02:00
cbbrowne 83b67b0cf3 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-11-07 12:49:05 -05:00
cbbrowne cdad01b57a Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-07 12:48:34 -05:00
Jack Humbert a9e0fd410c Merge pull request #867 from fredizzimo/variable_trace
Variable trace
2016-11-07 10:55:05 -05:00
Jack Humbert 309d93184e Merge pull request #852 from J3RN/remove-z-slash-controls
Removed the control action when holding z or /
2016-11-07 10:47:32 -05:00
Fred Sundvik 0ba3e523a7 Add documentation for the variable tracing 2016-11-06 22:44:43 +02:00
Fred Sundvik a377017c95 Add possibility to control variable trace from make 2016-11-06 22:11:24 +02:00
Fred Sundvik f519b94be7 Add variable trace
For debugging changes to variables, either normally or as a result
of a memory corruption.
2016-11-06 21:58:34 +02:00
Jonathan Arnett 1d766c596e Removed the control action when holding z or / 2016-11-06 13:48:20 -05:00
Chris Browne a4255664ce Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-11-06 07:52:44 -05:00
Chris Browne 4f1cb9fd5e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-06 07:52:21 -05:00
Fred Sundvik c06e2486ab Increase the infinity60 system tick frequency 2016-11-05 22:45:21 +02:00
Damien 7697f23538 Merge pull request #11 from jackhumbert/master
Merged from jackhumbert
2016-11-03 21:50:31 +01:00
cbbrowne 930ae4b7ff Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-11-01 13:09:27 -04:00
IBNobody 78976d8f7a Adding SKIP_GIT to speed up compiles. 2016-11-01 11:52:58 -05:00
IBNobody 9e6c57af2a Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-11-01 10:56:56 -05:00
Erez Zukerman d5270af111 Implements dedicated text zoom keys 2016-11-01 10:03:58 -04:00
Erez Zukerman 7a9be2562d Merge pull request #851 from J3RN/momentary
Switched to momentary
2016-10-31 21:41:19 -04:00
Erez Zukerman a6401076d5 Merge pull request #843 from lucwastiaux/master
Adding Ergodox Dvorak Programmer layout
2016-10-31 21:40:58 -04:00
Erez Zukerman bd40844e4e Merge pull request #836 from 20lives/master
added new layout
2016-10-31 21:39:40 -04:00
cbbrowne b90366285f Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-31 11:45:54 -04:00
Jack Humbert 964b8574ee Merge pull request #839 from priyadi/planck-priyadi-modification
Update priyadi's keymap for Planck; added readme
2016-10-30 12:26:20 -04:00
Jack Humbert d75de44551 Merge pull request #854 from slebedev/master
Add link to article about Unicode Hex Input in readme
2016-10-30 12:25:52 -04:00
Jack Humbert b0317abe42 Merge pull request #857 from fredizzimo/fix_makefile_too_long_bash
Run each sumbmake in a separate shell
2016-10-30 12:25:22 -04:00
Fred Sundvik d956dd1248 Run each sumbmake in a separate shell
This will fix the situation where the commandline gets too long when
there are many keyboards and keymaps.
2016-10-30 17:03:01 +02:00
IBNobody f403028974 added fixed debounce code 2016-10-29 16:12:58 -05:00
Sergey Lebedev 552f469dfc Add link to article about Unicode Hex Input in readme
For me it wasn't clear what is `Unicode Hex Input`, that article
  clarifies it (at least for me).
2016-10-29 22:08:11 +03:00
IBNobody e40c33f754 Merge branch 'master' of https://github.com/IBNobody/qmk_firmware 2016-10-29 11:13:15 -05:00
IBNobody 32f88c0717 Made scanning more efficient 2016-10-29 10:39:03 -05:00
IBNobody 4c6960835c Refactoring Matrix scanning 2016-10-28 16:24:20 -05:00
IBNobody 508eddf8ba Fixing Debounce - WIP 2016-10-28 14:21:38 -05:00
IBNobody a0fdb6b81a Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-10-28 09:28:47 -05:00
dbroqua 2082c6f110 - Fixed typo in gh60/dbroqua layout 2016-10-26 22:24:26 +02:00
cbbrowne 2a2920d92c Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-26 10:55:41 -04:00
lucwastiaux 055247f35d re-introduce brackets layer 2016-10-26 21:00:58 +08:00
Damien 41d7460f53 Merge pull request #10 from jackhumbert/master
Merge from jackhumbert/qmk_firmware
2016-10-26 07:43:58 +02:00
Jack Humbert f44ead1462 Merge pull request #827 from Dbroqua/master
Updated dbroqua layout for HHKB keyboard and added new layout for KC60
2016-10-26 01:19:27 -04:00
Jack Humbert 67cf367a45 Merge pull request #849 from hot-leaf-juice/master
tiny keymap change
2016-10-26 00:52:13 -04:00
Jack Humbert 003cb9124c Merge pull request #848 from andrebeat/fix-dockerfile
Add subproject env var to dockerfile
2016-10-26 00:51:51 -04:00
Jack Humbert cbb7e95284 Merge pull request #847 from yinshanyang/master
added notes on using Arduino Pro Micro 3.3V with Let’s Split
2016-10-26 00:51:39 -04:00
Jack Humbert 8d60354d5a Merge pull request #844 from priyadi/unicode_wincompose_input
Unicode WinCompose input method
2016-10-26 00:48:44 -04:00
Jack Humbert 108d0e89a6 Merge pull request #842 from priyadi/unicode_map_length
UNICODE_MAP: remove 5 char limit; ignore leading zeroes; handle OS limitations
2016-10-26 00:48:00 -04:00
Jack Humbert 3b34cf7e6c Merge pull request #841 from jacwib/master
Update jacwib keymap to version 1.2
2016-10-26 00:47:30 -04:00
Jack Humbert f2dd125a1e Merge pull request #831 from kejadlen/master
add alphadox layouts to atreus and ergodox
2016-10-26 00:46:56 -04:00
Jack Humbert c66c86cace Merge pull request #834 from kazufukurou/master
add programmer dvorak keymap
2016-10-26 00:45:59 -04:00
Alpha Chen 427ea7a889 [alphadox] remove tmk reset code 2016-10-25 09:00:45 -07:00
Alpha Chen e2916f8ab1 [ergodox][alphadox] undefine tapping_term, ignore_mod_tap_interrupt 2016-10-25 09:00:45 -07:00
Alpha Chen 22cb73fad3 add alphadox layouts to atreus and ergodox 2016-10-25 09:00:45 -07:00
Callum Oakley 6bbb0b030e replace lock key with general power key 2016-10-25 11:51:32 +01:00
Callum Oakley c0a9fa8eea switched to standard volume keys 2016-10-25 11:37:09 +01:00
Andre Silva 1557d16562 add subproject env var to dockerfile 2016-10-24 20:29:34 +01:00
Yin Shanyang 7550abbb7f added notes on using Arduino Pro Micro 3.3V with Let’s Split 2016-10-24 15:36:24 +08:00
IBNobody ef8f618027 Fixing Line Terminations 2016-10-23 23:03:26 -05:00
IBNobody 17170ba76d Fixed some large keyboard bugs
Fixed some bugs relating to keyboards with more than 16 columns. Also
added the ability to mask off keyboard matrix bits.
2016-10-23 23:00:43 -05:00
IBNobody 05ceef2350 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-10-23 20:45:20 -05:00
Lior Haim 0d26320cf3 merge upstream 2016-10-23 20:22:28 +03:00
Chris Browne 6a0313ac26 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-10-23 10:28:47 -04:00
Chris Browne ed8efcf86d Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-23 10:28:02 -04:00
jacwib b7611d5037 1.2 update 2016-10-23 15:57:36 +02:00
Priyadi Iman Nurcahyo c6f6172fd5 Use WinCompose unicode input method instead of HexNumpad 2016-10-23 19:35:06 +07:00
Priyadi Iman Nurcahyo 4a666c2010 Unicode WinCompose input method 2016-10-23 19:15:33 +07:00
lucwastiaux 919caaccb7 adding readme 2016-10-23 11:44:16 +08:00
Priyadi Iman Nurcahyo e7d5dc89f2 UNICODE_MAP: remove 5 char limit; ignore leading zeroes; handle OS limitations 2016-10-23 05:36:26 +07:00
jacwib dbcbd8ee3c Update readme to reflect 1.1 changes. 2016-10-22 21:32:39 +02:00
jacwib 83b2149885 Update keymap to reflect 1.1 changes. 2016-10-22 21:29:47 +02:00
jacwib a625c2201a Update readme to reflect changes 2016-10-22 21:29:11 +02:00
lucwastiaux 14ac397d5d add up/down keys on thumb clusters 2016-10-23 00:47:58 +08:00
lucwastiaux 64ac74cab6 remove brackets layer, replace a few shortcuts on thumb cluster 2016-10-23 00:44:34 +08:00
lucwastiaux 97e3106848 type brackets in symbol layer, using bottom row 2016-10-23 00:11:16 +08:00
lucwastiaux e0c9ec54dd add tap-dance support, make right shift double-tap=caplock 2016-10-22 22:39:24 +08:00
lucwastiaux bc8092245c change include files 2016-10-22 22:29:05 +08:00
lucwastiaux 53a2bf9215 added dvorak programmer layout 2016-10-22 22:22:34 +08:00
Priyadi Iman Nurcahyo 5fa44c594f Update priyadi's keymap for Planck; added readme 2016-10-22 18:47:51 +07:00
twentylives 8727976a1a fixed copy-cut-paste buttons 2016-10-21 12:13:44 +03:00
cbbrowne 976136a0b2 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-20 12:03:15 -04:00
Erez Zukerman 2e2b9962cd Merge pull request #833 from h-parks/master
Win10 Writer's Block - An ErgoDox Keymap
2016-10-20 08:55:16 -04:00
Erez Zukerman c3dee2bb66 Merge pull request #832 from PhoenixRion/master
Phoenix Layout
2016-10-20 08:53:47 -04:00
twentylives 4ebbb3c297 Merge branch 'master' of https://github.com/20lives/qmk_firmware 2016-10-20 11:07:53 +03:00
twentylives 7090c99adf fixed base layer = key 2016-10-20 11:07:14 +03:00
Artyom Mironov 6e003b1e3f add programmer dvorak keymap 2016-10-19 23:45:55 +03:00
20lives 464af700eb fix readme 2016-10-19 20:26:58 +03:00
twentylives 65c1127b49 update pics and readme 2016-10-19 20:23:10 +03:00
h-parks f2197611c7 Win10 Writer's Block - An ErgoDox Keymap
fix for compiling on infinity:

replaced `_delay_ms()' with `wait_ms()'
included "wait.h"
2016-10-19 09:33:37 -05:00
h-parks 1688c014cc Win10 Writer's Block - An ErgoDox Keymap
This is a QWERTY layout for ErgoDox on QMK. It's designed to work well in MS Office-like environments. It's tested on Windows 7 and 10.
2016-10-18 21:58:33 -05:00
cbbrowne 729b4cdef3 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-18 18:11:54 -04:00
IBNobody 826417bfc0 Updating Vision keyboard files 2016-10-18 16:45:45 -05:00
Ryan Ascheman fad20756e3 update header file 2016-10-18 13:58:59 -07:00
Ryan Ascheman cabfd78309 didn't read PR comment close enough, correcting folder 2016-10-18 12:48:07 -07:00
Ryan Ascheman 60326eded2 moving keymap to new location 2016-10-18 12:44:30 -07:00
Ryan Ascheman 55b8b8477c Merge remote-tracking branch 'upstream/master'
* upstream/master: (1239 commits)
  Update ez.c
  removes planck/rev3 temporarily
  Move hand_swap_config to ez.c, removes error for infinity
  Update Makefile
  ergodox: Update algernon's keymap to v1.9
  Added VS Code dir to .gitignore
  Support the Pegasus Hoof controller.
  [Jack & Erez] Simplifies and documents TO
  add readme
  use wait_ms instead of _delay_ms
  add messenger
  init keymap
  Add example keymap
  Adding whiskey_tango_foxtrot_capslock ergodox keymap
  Unicode map framework. Allow unicode up to 0xFFFFF using separate mapping table
  CIE 1931 dim curve
  Apply the dim curve to the RGB output
  Update the Cluecard readme files
  Tune snake and knight intervals for Cluecard
  Tunable RGB light intervals
  ...
2016-10-18 12:42:02 -07:00
20lives 48eb5112b5 Update readme.md 2016-10-18 22:35:05 +03:00
20lives 31193b9cff Update readme.md 2016-10-18 22:33:42 +03:00
twentylives 28dfaa20f5 adding dvorak hebrew layout 2016-10-18 22:27:36 +03:00
Jack Humbert 04df74f636 Merge pull request #829 from r2d2rogers/master
Move hand_swap_config to ez.c, removes error for infinity
2016-10-18 15:19:00 -04:00
Jack Humbert d8417f9f6e Merge pull request #824 from dsvensson/pegasushoof
Support the Pegasus Hoof controller.
2016-10-18 15:18:19 -04:00
Rob Rogers 75ea142d01 Update ez.c 2016-10-18 13:59:19 -05:00
Jack Humbert b466628c0b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-18 13:58:20 -04:00
Jack Humbert 18b5c3dccf removes planck/rev3 temporarily 2016-10-18 13:57:56 -04:00
Erez Zukerman 0d8844dcb8 Merge pull request #826 from algernon/ergodox-ez/algernon
ergodox: Update algernon's keymap to v1.9
2016-10-17 18:12:31 -04:00
cbbrowne 778dbe46d2 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-10-17 10:54:09 -04:00
cbbrowne 0469bd8ffa Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-17 10:53:39 -04:00
Rob Rogers 1dcee07eab Move hand_swap_config to ez.c, removes error for infinity 2016-10-17 08:04:29 -05:00
Chris Browne 62e6789ab2 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-16 20:59:52 -04:00
Jack Humbert a889b899e2 working with power limit 2016-10-16 16:03:56 -04:00
Jack Humbert 5f91fb4136 working with power limit 2016-10-16 16:03:33 -04:00
Jack Humbert 80ac73a21c Update Makefile 2016-10-16 15:59:50 -04:00
Jack Humbert 52d7f7d277 Merge pull request #815 from priyadi/unicode_map
Allow unicode up to 0xFFFFF using separate mapping table
2016-10-16 15:49:45 -04:00
Jack Humbert 5e2b843538 Merge pull request #825 from replicaJunction/pr-vscode
Added VS Code dir to .gitignore
2016-10-16 15:49:33 -04:00
dbroqua 911b52a494 - Added HHKB like layout for KC60 pcb 2016-10-16 15:37:47 +02:00
Gergely Nagy f9d8cf35f6 ergodox: Update algernon's keymap to v1.9
Overall changes
===============

* `F12` was replaced by an `Fx` key, that activate the **Media** layer
  as a one-shot layer, and also `Alt` as a one-shot modifier.

Base layer changes
==================

* The `Media Stop` key is now a tap-dance key, and resets the device for
  programming on the fourth tap.

Miscellaneous
=============

* `π` can now be entered with UCIS.
* `🐁` can now be entered with UCIS.

Tools
=====

* The `tools/layer-notify` tool was removed, it was an example, which I
  don't use.

`tools/hid-commands`
--------------------

* Now looks at the `DISABLE_APPSEL_START` environment value, and does
  not display an AppSel notification if it is non-empty.
* Will attempt to re-program the keyboard when receiving a `reflash`
  command.
* No longer tries to select Emacs 24 on `APPSEL_EMACS`, rather, it goes
  for any Emacs.
* The `APPSEL_MUSIC` command now includes Kodi in the list too, as the
  last choice.

Signed-off-by: Gergely Nagy <[email protected]>
2016-10-16 08:01:50 +02:00
Joshua T 2a918718f1 Added VS Code dir to .gitignore 2016-10-15 18:46:39 -05:00
dbroqua 28ca1f5345 Merge branch 'master' of https://github.com/Dbroqua/qmk_firmware 2016-10-14 21:53:37 +02:00
Damien 2098b363ea Merge pull request #9 from jackhumbert/master
Merge from jackhumbert
2016-10-13 21:51:35 +02:00
cbbrowne f74c560be8 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-13 13:05:33 -04:00
Daniel Svensson b73adf0dea Support the Pegasus Hoof controller.
Replacement controller for Filco Majestouch TKL keyboards.

matrix.c ported from:
https://github.com/BathroomEpiphanies/epiphanies_tmk_keyboard

More details:
http://bathroomepiphanies.com/controllers/
2016-10-13 12:50:54 +02:00
Erez Zukerman 0a9ad8f335 Merge pull request #818 from pvinis/pvinis-keymap
pvinis keymap
2016-10-13 06:41:51 -04:00
Erez Zukerman 16e362cfc4 Merge pull request #822 from jackhumbert/hotfix/simplify_to
[Jack & Erez] Simplifies and documents TO
2016-10-13 06:41:07 -04:00
Jack & Erez e27a754b70 [Jack & Erez] Simplifies and documents TO 2016-10-12 22:18:27 -04:00
cbbrowne 99ca59baf8 I keep mis-using UPPER|LOWER/SLASH, and getting RESET.
With RESET shifted to the UPPER+LOWER layer, it is now time to change that key to Alt-Slash, which, in Emacs, does automatic word completion
2016-10-12 12:03:54 -04:00
cbbrowne dbb8cbac18 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-10-12 11:57:46 -04:00
Pavlos Vinieratos 0853227ede add readme 2016-10-11 11:25:54 +02:00
Pavlos Vinieratos 538cdda78e use wait_ms instead of _delay_ms 2016-10-11 10:34:47 +02:00
Pavlos Vinieratos bcc0fa5c81 add messenger 2016-10-11 10:34:47 +02:00
Pavlos Vinieratos 2855de5f0f init keymap 2016-10-11 10:34:47 +02:00
Erez Zukerman 698d02122b Merge pull request #803 from coderkun/coderkun_neo2
Merge Unicode fixes for keymap “coderkun_neo2”
2016-10-10 19:59:28 -04:00
Erez Zukerman be60c057dc Merge pull request #809 from nathanejohnson/osx_whiskey_tango_foxtrot_capslock
Adding whiskey_tango_foxtrot_capslock ergodox keymap
2016-10-10 19:58:59 -04:00
Chris Browne 92ca95641f Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-10-10 17:19:47 -04:00
Chris Browne 4b682ea63e Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-10-10 17:18:15 -04:00
Jack Humbert aa8aa6af75 Merge pull request #808 from npoirey/master
Altgr quick combination and updated readme
2016-10-10 00:22:12 -04:00
Jack Humbert 49fe93fbb3 Merge pull request #811 from Vifon/planck_keymap_vifon
New Planck keymap: vifon
2016-10-10 00:21:01 -04:00
Jack Humbert 0f119e09a5 Merge pull request #810 from Vifon/dynamic_macros
Reduce the default dynamic macro buffer
2016-10-10 00:20:46 -04:00
Jack Humbert 03b6fcdaf0 Merge pull request #814 from fredizzimo/rgb_tuning
Improve the RGB led effects
2016-10-10 00:20:24 -04:00
Jack Humbert 4859be084d Merge pull request #813 from fredizzimo/add_cluecard_rgb_effects
Add a Cluecard keymap for testing the RGB effects
2016-10-10 00:19:34 -04:00
Priyadi Iman Nurcahyo 932705706e Add example keymap 2016-10-10 01:35:41 +07:00
Nathan Johnson e95c1e3f2c Adding whiskey_tango_foxtrot_capslock ergodox keymap 2016-10-09 12:58:31 -05:00
Priyadi Iman Nurcahyo 5b2e455d3b Unicode map framework. Allow unicode up to 0xFFFFF using separate
mapping table
2016-10-10 00:56:09 +07:00
Fred Sundvik ffae9d84c5 CIE 1931 dim curve 2016-10-09 20:07:23 +03:00
Fred Sundvik 92a3a96849 Apply the dim curve to the RGB output
Just like it's supposed to be used. It now looks much better.
2016-10-09 20:04:33 +03:00
Fred Sundvik db4dce7312 Update the Cluecard readme files 2016-10-09 19:37:47 +03:00
Fred Sundvik 02c9a99215 Tune snake and knight intervals for Cluecard 2016-10-09 19:27:11 +03:00
Fred Sundvik 9b0e21f87f Tunable RGB light intervals 2016-10-09 19:26:16 +03:00
Fred Sundvik 0ae07ae64d Tune the snake and knight effect parameters for Cluecard 2016-10-09 19:11:52 +03:00
Jonathan Arnett f284bc6af9 Switched to momentary
Also updated the style of these lines slightly to match the style of the
default keymap
2016-10-09 11:40:08 -04:00
Wojciech Siewierski 26759e126e New Planck keymap: vifon 2016-10-09 13:34:17 +02:00
Wojciech Siewierski 70f32842e5 Reduce the default dynamic macro buffer
There have been reports of it leaving not enough free memory preventing
the keyboard from working properly.
2016-10-09 12:52:39 +02:00
Fred Sundvik 2d7b549e21 Add keymap with audio disabled but RGB effects enabled 2016-10-09 01:38:55 +03:00
Damien 811257a0c8 Merge pull request #8 from jackhumbert/master
Merge from jackhumbert
2016-10-07 22:27:36 +02:00
npoirey 628a48c788 Updated Readme to help windows users use docker for build 2016-10-07 17:21:38 +02:00
npoirey 1048a588c7 Add Altgr combination for non US layouts 2016-10-07 17:21:38 +02:00
IBNobody 973f526bb4 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-10-06 20:17:16 -05:00
Jack Humbert a9df99b81c Merge pull request #807 from hot-leaf-juice/master
minor update to callum planck keymap
2016-10-06 19:44:53 -04:00
Jack Humbert 91d2b64850 Merge pull request #805 from SethSenpai/gamenum
Gamenum
2016-10-06 19:44:39 -04:00
Callum Oakley 387b94a6cf updated readme 2016-10-06 07:24:26 +01:00
Callum Oakley 059990e05a added lock screen button and fixed error in diagram 2016-10-06 07:23:12 +01:00
Jack Humbert b8679bbe04 RGBW lights 2016-10-05 20:41:38 -04:00
SethSenpai b7442999df updated the wrong makefile like a dummy 2016-10-04 07:58:28 +00:00
SethSenpai aac3ba61a5 added rules.mk 2016-10-04 07:52:13 +00:00
IBNobody 8ed1208b42 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-10-03 18:46:10 -05:00
Erez Zukerman d465e3f0c3 Merge pull request #804 from algernon/ergodox-ez/algernon
ergodox: Update algernon's keymap to v1.8
2016-10-03 17:49:23 -04:00
dbroqua 0320fbf6f4 - Updated dbroqua layout for HHKB keyboard (added some missing fn keys) 2016-10-03 23:30:31 +02:00
SethSenpai 0e2786e396 updated readme with images 2016-10-03 18:27:52 +00:00
Gergely Nagy aa9c6e9f59 ergodox: Update algernon's keymap to v1.8
ADORE
-----

* Major rearrangements were made, to reduce pinky use, and to balance
  out the hand usage.

Tools
-----

* The `hid-commands` tool will now display a notification when
  the **AppSel** layer is triggered.
* The `log-to-heatmap.py` tool now treats the innermost keys on the
  bottom row as thumb keys, as far as statistics are concerned.

Miscellaneous
-------------

* Fixed the **Steno** toggle key.
* My wife is now present on the keyboard too.

Signed-off-by: Gergely Nagy <[email protected]>
2016-10-03 19:20:00 +02:00
coderkun 8dd69a1b05 Overwrite method hex_to_unicode() for make it compatible with Neo 2016-10-03 16:36:21 +02:00
coderkun 4c9071964b Merge branch 'master' into coderkun_neo2 2016-10-03 16:35:40 +02:00
Jack Humbert 86065dca4d Merge pull request #799 from coderkun/master
Declare Unicode method hex_to_keycode() as “weak”
2016-10-03 10:27:06 -04:00
Jack Humbert fc86ef6c95 Merge pull request #798 from Dbroqua/master
Updated dbroqua layout for HHKB keyboard
2016-10-03 10:26:39 -04:00
Jack Humbert 37d587d62b Merge pull request #797 from hot-leaf-juice/master
Made some simplifications leveraging the LALT(), LGUI(), and S() functions.
2016-10-03 10:26:21 -04:00
SethSenpai 0f06e94d5d update readme 2016-10-03 09:07:37 +00:00
SethSenpai 468e855207 moved folder, update readme 2016-10-03 08:59:50 +00:00
SethSenpai c0c0c579ff added gamenum handwired keyboard 2016-10-03 08:53:09 +00:00
coderkun a3f5a4cf58 Declare Unicode method hex_to_keycode() as “weak”
Declare Unicode method hex_to_keycode() as “weak” to be able to override it in keymaps.
2016-10-02 10:37:51 +02:00
coderkun 8655677584 Merge branch 'master' into coderkun_neo2 2016-10-02 10:04:29 +02:00
coderkun a10e100bd5 Add double arrow Unicode characters to FMU layer 2016-10-02 09:55:38 +02:00
dbroqua 6a090c5df7 - Fixed key name in default layer definition 2016-10-01 19:04:11 +02:00
dbroqua 7cd210722d Merge remote-tracking branch 'origin/master' 2016-10-01 18:28:48 +02:00
dbroqua 8747c0786e - Updated dbroqua layout for HHKB keyboard 2016-10-01 18:28:33 +02:00
Callum Oakley 633da3bdb6 Made some simplifications leveraging the LALT(), LGUI(), and S() functions. 2016-10-01 13:03:46 +01:00
Damien 7abd3b4ddd Merge pull request #7 from jackhumbert/master
Merge from jackhumbert
2016-09-30 22:55:07 +02:00
Erez Zukerman 35e6870e5c Merge pull request #788 from chwilk/kastyle-refresh
Kastyle refresh
2016-09-30 08:59:59 -04:00
Erez Zukerman fede822fce Merge pull request #789 from cmclen/master
Contributing new keymap to Ergodox
2016-09-30 08:59:24 -04:00
Jack Humbert 7c76d36454 Merge pull request #794 from AGausmann/midi-patch
Missing ifdef statement
2016-09-29 23:32:23 -04:00
Jack Humbert d3fdc3a00f Merge pull request #792 from hot-leaf-juice/master
Big restructure, plus mouse and some convenience keys.
2016-09-29 23:31:59 -04:00
Damien eb0f21a984 Merge pull request #6 from jackhumbert/master
Merge from jackhumbert
2016-09-29 22:59:31 +02:00
Adam Gausmann 8d99140d1b Missing ifdef statement 2016-09-29 14:46:10 -05:00
Callum Oakley 3c7d2e765a Merge branch 'master' of https://github.com/hot-leaf-juice/qmk_firmware 2016-09-29 07:49:45 +01:00
Callum Oakley 2f07ad8e8a added en-dash and gbp keys and updated readme 2016-09-29 07:49:27 +01:00
Callum Oakley c762ea975a big restructure now I only have to consider macOS, also added mouse, more function keys, and some neat macros 2016-09-29 07:49:27 +01:00
Callum Oakley fa2724360b removed windows layer and updated brightness keys for macOS Sierra 2016-09-29 07:49:27 +01:00
Callum Oakley 02635e5924 changed RALT to LALT on Windows 2016-09-29 07:49:27 +01:00
Callum Oakley b2ecd296ae fixed comments 2016-09-29 07:49:27 +01:00
Callum Oakley c593564aca Update readme.md 2016-09-29 07:49:27 +01:00
Callum Oakley ff09695897 Update readme.md 2016-09-29 07:49:27 +01:00
Callum Oakley 6ad8a06c73 updated readme 2016-09-29 07:49:27 +01:00
Callum Oakley b51f51c614 added close key for alt-f4 macro 2016-09-29 07:49:27 +01:00
Callum Oakley 41227856f4 added a toggle between Mac and Windows base layers (with swapped cmd and ctrl) 2016-09-29 07:49:27 +01:00
Callum Oakley ce57b94908 added en-dash and gbp keys and updated readme 2016-09-29 07:47:30 +01:00
Jack Humbert f0db230c46 Merge pull request #790 from IBNobody/master
Fix #770, Fix #779, Update Vision
2016-09-28 23:57:50 -04:00
IBNobody 78767bf208 Fix #770, Fix #779 2016-09-28 20:26:41 -05:00
IBNobody 72e643998f Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-28 20:21:19 -05:00
IBNobody 3d45860dc2 Updating Vision to beta layout. 2016-09-28 20:19:28 -05:00
Callum Oakley 8fa41f1ca1 big restructure now I only have to consider macOS, also added mouse, more function keys, and some neat macros 2016-09-28 23:15:35 +01:00
Chris McLennon cce294df86 Remove config.h 2016-09-28 14:44:41 -05:00
Chris McLennon 65b0eff6d8 Contributing new keymap to Ergodox 2016-09-28 13:24:29 -05:00
Callum Oakley ddb8eb842d removed windows layer and updated brightness keys for macOS Sierra 2016-09-28 08:04:38 +01:00
Callum Oakley 848bb6df43 changed RALT to LALT on Windows 2016-09-28 07:28:08 +01:00
Callum Oakley d387534687 fixed comments 2016-09-28 07:28:08 +01:00
Callum Oakley 1c1aa729b1 Update readme.md 2016-09-28 07:28:08 +01:00
Callum Oakley 65f035933b Update readme.md 2016-09-28 07:28:08 +01:00
Callum Oakley 0c243d0d5d updated readme 2016-09-28 07:28:08 +01:00
Callum Oakley f442348e50 added close key for alt-f4 macro 2016-09-28 07:28:08 +01:00
Callum Oakley 7bca9bc402 added a toggle between Mac and Windows base layers (with swapped cmd and ctrl) 2016-09-28 07:28:08 +01:00
chwilk 32cc2f6bd9 Added description of kastyle keymap 2016-09-27 11:27:09 -05:00
chwilk e1bfe13090 Moved hand_swap_config array so all keyboards get it defined 2016-09-26 15:49:10 -05:00
chwilk 90fd0810db Updated kastyle keymap, including swap hands feature 2016-09-26 01:05:06 -05:00
chwilk 04c0a1c3e2 Added ONEHAND_ENABLE to allow SWAP HANDS actions 2016-09-26 01:04:33 -05:00
Jack Humbert 812219e8a0 Merge pull request #786 from mannkind/patch-1
Fix lets_split.c so that audio can be disabled
2016-09-25 22:43:38 -04:00
Dustin c40ad11615 Fix lets_split.c so that audio can be disabled
Matching the use of `#ifdef AUDIO_ENABLE` used in `matrix_init_kb()` in order to compile firmware for the Let's Split keyboard without audio enabled.
2016-09-25 19:04:20 -07:00
IBNobody 24a953ae64 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-25 16:36:30 -05:00
Jack Humbert f24b3f4589 Merge pull request #785 from jcowgar/master
Added Jeremy’s Atreus Layout
2016-09-25 16:45:08 -04:00
Jack Humbert a64840613f Merge pull request #784 from Dbroqua/master
Added dbroqua layout for HHKB keyboard
2016-09-25 16:44:50 -04:00
Jack Humbert 628c5bcc62 Merge pull request #781 from cbbrowne/master
Recent enhancements to keyboard map
2016-09-25 16:43:55 -04:00
Jeremy Cowgar 77099c777a Added Jeremy’s Atreus Layout 2016-09-25 12:27:29 -04:00
dbroqua f0441f08b8 - Added dbroqua layout for HHKB keyboard 2016-09-25 16:32:06 +02:00
Damien b75cb53c4a Merge pull request #5 from jackhumbert/master
Merge from jackhumbert
2016-09-25 14:03:27 +02:00
Erez Zukerman 6725262516 Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-09-23 20:57:41 -04:00
Erez Zukerman 1a96b2cdc8 Disables sleep LED by default 2016-09-23 20:57:36 -04:00
cbbrowne 3f020c0b92 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-23 17:51:32 -04:00
Jack Humbert e1fa9073c2 Merge pull request #778 from TerryMathews/master
Establish support for TADA68
2016-09-23 15:27:20 -04:00
Jack Humbert 3d42d60b7f Merge pull request #776 from DidierLoiseau/issue-772
Fix issue #772 Meh and Hyper not working
2016-09-23 15:26:28 -04:00
TerryMathews e71d4f3235 Disable RGB led support until a suitable pin is located 2016-09-23 14:20:05 -04:00
cbbrowne 888bd89ba7 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-23 12:05:25 -04:00
TerryMathews fad5487266 Initial support for TADA68 2016-09-22 23:33:22 -04:00
Erez Zukerman ce6a9a6c38 Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-09-22 22:05:18 -04:00
Erez Zukerman 6e5142ca3e Adds EPRM reset key 2016-09-22 22:05:12 -04:00
Erez Zukerman 545f0ca00e Merge pull request #760 from algernon/ergodox-ez/algernon
Update the ergodox/algernon keymap to v1.7
2016-09-22 21:38:59 -04:00
Didier Loiseau d430999047 Fix issue #772 Meh and Hyper not working 2016-09-23 01:20:49 +02:00
cbbrowne 7a183b4e8b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-22 16:32:29 -04:00
Jack Humbert 0f205a854f Merge pull request #771 from UnderSampled/master
Impossible Layout
2016-09-21 15:56:00 -04:00
Jack Humbert bd57faa7bf Merge pull request #769 from pvinis/fix/tap-dance-each-tap-restore
[tap dance] restore each_tap functionality
2016-09-21 15:55:18 -04:00
Jack Humbert 3dc1f39d40 Merge pull request #768 from Dbroqua/master
Updated backlight levels for KC60
2016-09-21 15:53:27 -04:00
Jack Humbert c1414e59c2 Merge pull request #767 from IBNobody/lets_split_reduce_hex_size
Lets split reduce hex size
2016-09-21 15:53:11 -04:00
UnderSampled 9e6a493172 Fixed Impossible Layout readme tables (again) 2016-09-21 18:55:14 +00:00
cbbrowne 3b57a35532 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-21 12:19:23 -04:00
Stephen Christie 073a1f21bb Corrected Impossible Layout readme tables 2016-09-21 14:45:05 +00:00
Stephen Christie 9d629719cb Filled Impossible Layout documentation 2016-09-21 14:41:37 +00:00
Pavlos Vinieratos cda4b534fa add user_data field 2016-09-21 11:29:43 +02:00
Pavlos Vinieratos 0edc82f030 formatting 2016-09-21 11:29:34 +02:00
Pavlos Vinieratos e1f131db8e restore each_tap callback 2016-09-21 10:23:51 +02:00
dbroqua 7a91cce869 - Updated backlight levels for KC60 2016-09-21 08:02:51 +02:00
IBNobody b30e6c1c9e Created I2C and Serial keymaps for unit testing
Having a dedicated I2C keymap and a dedicated serial keymap will allow
the testing suite to check both conditions.
2016-09-20 21:46:33 -05:00
IBNobody 6631abc1cb Made Serial and I2C not include the Other
This saves 192 bytes
2016-09-20 21:38:59 -05:00
IBNobody f956802f29 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-20 20:31:09 -05:00
Jack Humbert d1d54dedac Merge pull request #765 from jakllsch/more-shifted-dvorak-keycodes
Add more shifted Dvorak key code definitions
2016-09-20 21:02:07 -04:00
Jack Humbert 4d493cd05c Merge pull request #763 from Dbroqua/master
Updated dbroqua layout for KC60
2016-09-20 21:00:47 -04:00
Stephen Christie 86e85438d3 Fixed Qwerty Fn layer to match documented design 2016-09-20 15:45:50 -04:00
IBNobody 3b1df7fb00 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-19 21:00:20 -05:00
Stephen Christie 57a6828a7a Merge branch 'master' of http://github.com/jackhumbert/qmk_firmware 2016-09-19 18:05:58 -04:00
Jonathan A. Kollasch f0021c9cb9 Add more shifted Dvorak key code definitions 2016-09-19 14:25:44 -05:00
cbbrowne 2c3fcc6c08 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-19 11:13:53 -04:00
dbroqua 9a2e24fa98 - Removed HHKB like layout 2016-09-19 13:36:36 +02:00
dbroqua 21b6e4c1f3 Merge remote-tracking branch 'origin/master' 2016-09-19 13:26:18 +02:00
Damien c438a2a265 Merge pull request #4 from jackhumbert/master
Merge from jackhumbert
2016-09-19 13:25:37 +02:00
dbroqua 94af0194dd - Updated dbroqua layout for kc60 2016-09-19 13:22:34 +02:00
Jack Humbert 5f9c2f63ff Merge pull request #761 from runcom/fix-yum-installs
util/install_dependecies.sh: fix yum packages
2016-09-19 01:22:38 -04:00
Jack Humbert c678676e41 Merge pull request #755 from IBNobody/master
Fix USER PRINT/NO PRINT warning w/ Bootmagic
2016-09-19 01:21:25 -04:00
Jack Humbert 6282fc8dc1 Merge pull request #751 from erlandsona/master
My Atreus Layout
2016-09-19 01:20:04 -04:00
Antonio Murdaca edc7441800 util/install_dependecies.sh: fix yum packages
Signed-off-by: Antonio Murdaca <[email protected]>
2016-09-18 12:42:58 +02:00
Gergely Nagy 3e128552d9 Update the ergodox/algernon keymap to v1.7
Overall changes
===============

* The number row has been completely rearranged on both the **Base** and
  the **ADORE** layers.
* The number/function key behavior was changed: function keys are now on
  the **Media**.
* The `:`/`;` and `-`/`_` keys were put back to their thumb position on
  the bottom row, on both the **Base** and **ADORE** layers.
* The bottom large keys on the inner side of each half now function as
  [tmux](http://tmux.github.io/) keys: the left to send the prefix, the
  right to send the `display-panes` key. The left also doubles as a GNU
  screen prefix key, and sends `C-a` when double tapped.
* A number of functions, such as the **AppSel** layer, now require the
  `hid-commands` tool to be running, with the output of `hid_listen`
  being piped to it.

ADORE
=====

* `Y` and `X` have been swapped again.

Media/Navigation layer
======================

* The function keys are now on this layer.
* Mouse keys have been removed.
* Media start/stop/prev/next have been removed.
* `Print screen` has been removed.
* There is only one screen lock key now.

Heatmap
=======

* Fixed a few issues in the finger-stats calculation.
* The tool now also timestamps and saves all input lines to a logfile,
  which it loads on start, allowing one to continue the collection after
  upgrading the tool.
* The heatmap tool will now colorize the stats by default.
* The periodic stats are now printed in a more compact format.

Tools
=====

* Added a new tool, `tools/layer-notify` that listens to layer change
  events on the HID console, and pops up a notification on layer
  changes.
* Another new tool, `tools/text-to-log.py` has been added that converts
  arbitrary text to a keylogger output, which can be fed to the heatmap
  generator.
* A number of features have been moved to the `tools/hid-commands`
  utility. These generally are OS dependent, and are easier to implement
  on the software side.

Signed-off-by: Gergely Nagy <[email protected]>
2016-09-18 11:48:47 +02:00
dbroqua 602b058b9e - Added capslock led for KC60 keyboard (based on gitbug.com/jpec/kc60 works) 2016-09-17 19:40:56 +02:00
cbbrowne cc7604d116 Add breathing, as initial implementation with the RAISE/LOWER keys. And throw in extra macros to shorten keymaps 2016-09-16 17:15:33 -04:00
IBNobody bbf06d516a Added notes on vagrant file fixes, UPRINT 2016-09-15 21:44:03 -05:00
IBNobody 39cbf1c221 Fixed Batch Syntax on different versions of Windows 2016-09-15 19:49:29 -05:00
Austin Erlandson ac6125cbea Revert because the IGNORE_MOD_TAP_INTERRUPT flag didn't feel right. 2016-09-15 11:19:54 -05:00
Austin Erlandson e50f15e360 Add IGNORE_MOD_TAP_INTERRUPT to fix overloaded mod keys sending mod on diads... 2016-09-15 10:58:28 -05:00
cbbrowne 24e8d01dc9 Move ALT... 2016-09-15 11:28:12 -04:00
cbbrowne 0db06def9b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-15 11:27:37 -04:00
IBNobody 4f5f5f0103 Fixed Win_Check Verbose mode. 2016-09-15 07:59:14 -05:00
IBNobody edb5e72605 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-15 07:52:10 -05:00
IBNobody 0d3ce58b6b Renamed to Win_Check, Removed SET for privacy. 2016-09-14 22:53:23 -05:00
Erez Zukerman a258358b6c Merge pull request #758 from absenth/development
Absenth Ergodox Keymap Improvements
2016-09-14 22:51:41 -04:00
IBNobody bcc4213edc Marked the Win_Check_Output.txt file as ignored 2016-09-14 21:39:19 -05:00
IBNobody b4622eb894 Fixed a last minute format bug. 2016-09-14 21:34:28 -05:00
IBNobody e72f8dfd7e Adding WinCheck Script for windows install help 2016-09-14 20:22:18 -05:00
Lars R. Noldan 8a01bbc422 Adding Space Cadet, And Correcting Ascii Keymap 2016-09-14 11:54:13 -05:00
Austin Erlandson c8e7cca6ed Copy config overrides to my keymap directory... 2016-09-14 09:39:57 -05:00
IBNobody 9c574b493c Changed Docs, Moved RetroRefit to Handwired 2016-09-13 22:05:10 -05:00
cbbrowne 5d643bb7ee Got Right SHIFT + Right CTRL 2016-09-13 16:29:01 -04:00
cbbrowne 5be2795ca1 C macros for my favorite complex keystrokes 2016-09-13 16:17:51 -04:00
cbbrowne fdeaf1d9f8 Give layers longer names 2016-09-13 15:49:46 -04:00
cbbrowne 344929e067 Give layers longer names 2016-09-13 15:48:50 -04:00
Austin Erlandson 3668b29520 Shorten TAPPING_TERM for better responsiveness of overloaded keys... 2016-09-13 11:20:59 -05:00
Austin Erlandson 6098704145 Small update 2016-09-13 10:35:59 -05:00
IBNobody cb1ac2a3ed Fixed NO_PRINT / USER_PRINT conflict warning. 2016-09-12 20:20:31 -05:00
IBNobody e9a093451e Clean up atomic keymap (#9)
* Added keyboard help macros

* Fixing Atomic PVC keymap / adding print help
2016-09-12 19:54:52 -05:00
IBNobody 658db40df9 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-12 18:56:16 -05:00
Austin Erlandson cf17eb0f43 Get rid of sleep button... 2016-09-12 18:36:41 -05:00
Austin Erlandson 0c3aede09e Latest making use of overloaded modifiers... 2016-09-12 18:23:24 -05:00
Austin Erlandson af4c25c475 My Atreus Layout 2016-09-12 15:20:51 -05:00
cbbrowne 103ba24df2 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-12 13:24:31 -04:00
cbbrowne 6a7ef59629 Ongoing experiment; have a special layer for RESET 2016-09-12 13:24:22 -04:00
Erez Zukerman 23faf9ec81 Merge pull request #734 from adiabatic/master
Ergodox EZ: Zweihander keyboard layout updates
2016-09-11 20:28:09 -04:00
Erez Zukerman 862d93e0cb Merge pull request #740 from absenth/development
Absenth's Layout- QWERTY with additional Media Layer Functions.
2016-09-11 20:27:12 -04:00
Erez Zukerman fe4b379287 Merge pull request #746 from DidierLoiseau/bépo
Bépo with firmware remapping for software CSA layout
2016-09-11 20:26:23 -04:00
Jack Humbert 05b4949fd2 Merge pull request #744 from AlliedEnvy/master
Use rules.mk template in new project generator
2016-09-11 19:25:16 -04:00
Jack Humbert ffa12f9235 Merge pull request #743 from shelaf/patch-2
Fix compiler warnings for HHKB
2016-09-11 19:24:59 -04:00
Jack Humbert b06b8f5c18 Merge pull request #742 from dbordak/master
Update Atreus default map
2016-09-11 19:24:34 -04:00
Jack Humbert 5b4f56d6e5 Merge pull request #741 from shelaf/patch-1
fix number of NKRO keys
2016-09-11 19:24:12 -04:00
Didier Loiseau 21747cc310 Added readme.md for bepo_csa 2016-09-11 22:30:05 +02:00
IBNobody 498eddedc5 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-10 21:51:21 -05:00
Didier Loiseau 1aeb59335f Fixed compilation issues after the merge 2016-09-11 02:19:55 +02:00
Didier Loiseau b9014c7575 Merge remote-tracking branch 'remotes/jackhumbert/master' into bépo 2016-09-11 01:26:47 +02:00
Didier Loiseau 60a826923d Added KC_APP on fn+BP_AGRV 2016-09-11 01:16:36 +02:00
Daniel K. Levy 11bcdbc1f5 Use rules.mk template in new project generator 2016-09-10 16:37:08 -05:00
shela 2a8536f00f Variables in Makefile are ignored in rules.mk 2016-09-11 02:46:06 +09:00
Daniel Bordak 475d0b23f6 Add PCBDOWN 2016-09-10 13:35:53 -04:00
Daniel Bordak 054108d1d1 Update to new default keymap 2016-09-10 13:35:53 -04:00
shela 70b4fc808d fix variable value of rules.mk 2016-09-11 02:29:32 +09:00
Daniel Bordak a9e56186e0 Fix typo 2016-09-10 12:16:38 -04:00
shela e25ae23287 fix number of NKRO keys
32byte report = 1byte modifiers + 31byte keys
31byte * 8bit * 1key/bit = 248keys
2016-09-10 23:47:33 +09:00
Didier Chagniot 83b6dd0cd6 readme.md updated 2016-09-10 00:20:21 +02:00
Didier Chagniot 67dfde765f typing with it 2016-09-09 21:42:35 +02:00
Jack Humbert 5010df3d8b Merge pull request #715 from profet23/master
Support for Ergodoxes with 80 keys.
2016-09-09 10:50:39 -04:00
Lars 52121cee7a Updated Image Header 2016-09-08 23:32:11 -05:00
Lars 9c2015ea7f first commit of Absenth's Ergodox Firmware 2016-09-08 23:20:17 -05:00
profet23 b83f76e1b0 Changing keymap name to "profet_80" 2016-09-08 23:34:55 -04:00
Jack Humbert 7c1b5c85b9 Merge pull request #739 from pondrejk/master
util/install_dependencies.sh made executable, fixes #738
2016-09-08 17:50:36 -04:00
Jack Humbert 55a3fb2411 Merge pull request #737 from pondrejk/patch-1
fixed typo in Linux install instructions
2016-09-08 17:50:24 -04:00
Jack Humbert 4caddd1c5b Merge pull request #736 from tong92/master
add tong92 keymap
2016-09-08 17:50:11 -04:00
Jack Humbert 02ff748132 Merge pull request #735 from romanzolotarev/patch-1
Fix typo
2016-09-08 17:49:51 -04:00
Jack Humbert 94ef7f99b8 Merge pull request #733 from cbbrowne/master
Various recent enhancements to my keyboard map
2016-09-08 17:49:35 -04:00
Jack Humbert 4a54ece468 Merge pull request #730 from IBNobody/master
Change NKRO Report Size = 32, User Print
2016-09-08 17:48:54 -04:00
Peter Ondrejka 01163b268a util/install_dependencies.sh made executable, fixes #738 2016-09-08 19:39:27 +02:00
Peter Ondrejka 08c177f00b fixed typo in Linux install instructions 2016-09-08 19:22:26 +02:00
tong92 98e43f995d add tong92 keymap 2016-09-08 23:37:13 +09:00
Roman Zolotarev 740b4bbe46 Fix typo 2016-09-08 21:12:34 +08:00
IBNobody fe2aed0d1c Added User Print - A "light" console out option (#8)
User print disables the normal print messages in the body of QMK/TMK
code and is meant as a lightweight alternative to NOPRINT. Use it when
you only want to do a spot of debugging but lack flash resources for
allowing all of the codebase to print (and store their wasteful
strings).
2016-09-07 23:50:58 -05:00
Nathan Sharfi 273a6cc688 - Make thumb-accessible ⌥ and ⌃ into right-⌥ and right-⌃
- remove media-space and media-shift-space; put a play/pause key at media-m instead
- add print screen, scroll lock, and pause/break to the media layer

And in the readme:

- don't say we don't have any Windows-specific keys
- add mnemonics for thumb-alt and thumb-ctrl positioning
2016-09-07 20:28:31 -07:00
Nathan Sharfi e5396ca9e5 zweihander: rename to Makefile 2016-09-07 18:23:01 -07:00
cbbrowne 54214b3abc Borrowed joint Shift/Enter idea from sgoodwin mapping 2016-09-07 13:29:29 -04:00
cbbrowne 73fdd8a769 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-09-07 13:09:14 -04:00
IBNobody 558f3ec1eb Use keyboard config for nkro (#7)
* removing nkro references - wip

* changed NKRO to be defined by keymap_config
2016-09-06 23:19:01 -05:00
profet23 1406118c71 Removing separate ergodox80 project.
Created KEYMAP_80 in ez.h to support 80 key ergodoxes.
Creating default_80 keymap as ez keymap.
2016-09-06 21:59:47 -04:00
Erez Zukerman 0f111182a6 Merge pull request #732 from romanzolotarev/master
Change CTL_T(KC_ESC) to KC_LCTRL and update readme
2016-09-06 21:35:15 -04:00
Erez Zukerman 74d72c724b Merge pull request #729 from joarau/master
norwegian programmer-friendly layout
2016-09-06 21:33:55 -04:00
Roman Zolotarev da16733e7a Change CTL_T(KC_ESC) to KC_LCTRL and update readme 2016-09-07 08:03:19 +08:00
IBNobody f0388a5b13 Merge pull request #6 from IBNobody/fix_magic_key_binding_NKRO
Set keyboard_nkro (used by TMK) w/ MAGIC_HOST_NKRO
2016-09-06 18:07:48 -05:00
IBNobody e571d4656c Set keyboard_nkro (used by TMK) w/ MAGIC_HOST_NKRO
If NKRO is enabled, also set keyboard_nkro with MAGIC_HOST_NKRO and
MAGIC_UNHOST_NKRO.
2016-09-06 18:02:43 -05:00
IBNobody 91e0f62417 Merge pull request #5 from IBNobody/make_nkro_report_32_bytes
Change NKRO size fron 16 bytes to 32 bytes.
2016-09-06 15:00:51 -05:00
IBNobody 16e706214f Change NKRO size fron 16 bytes to 32 bytes. 2016-09-06 14:59:12 -05:00
IBNobody ff53e16767 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-06 14:57:12 -05:00
joar a3e7042084 norwegian programmer-friendly layout 2016-09-06 16:00:08 +02:00
Erez Zukerman 8b0769fe5a Merge pull request #728 from fitzsim/yoruian
Add new ErgoDox EZ keymap, YORUIAN
2016-09-06 07:07:25 -04:00
Thomas Fitzsimmons ce53c0643d Fix ergodox_yoruian XKB naming 2016-09-06 00:09:14 -04:00
Thomas Fitzsimmons e9ce4960c1 Add new ErgoDox EZ keymap, YORUIAN 2016-09-05 20:53:35 -04:00
Erez Zukerman 5bb29136b1 Merge pull request #686 from coderkun/coderkun_neo2
Merge Ergodox keymap “coderkun_neo2”
2016-09-05 20:33:09 -04:00
Erez Zukerman 45d68486a2 Merge pull request #678 from algernon/ergodox-ez/algernon
ergodox: Update algernon's keymap to v1.6
2016-09-05 20:32:46 -04:00
Jack Humbert 0468093b12 Merge pull request #724 from sgoodwin/master
Add my keymap.
2016-09-05 13:21:24 -04:00
Jack Humbert 751832192c Merge pull request #722 from fredizzimo/fix_always_linking
Fix the ldflags.txt and obj.txt checks
2016-09-05 13:20:59 -04:00
Jack Humbert 4769b85130 Merge pull request #719 from IBNobody/master
Updated docs to show more info on backlight breathing.
2016-09-05 13:20:48 -04:00
Jack Humbert fcc2d43943 Merge pull request #716 from MajorKoos/master
Add support for JD40 MKII PCB
2016-09-05 13:19:58 -04:00
Jack Humbert f1b6729921 Merge pull request #711 from hot-leaf-juice/master
Updated callum's keymap
2016-09-05 13:17:14 -04:00
Jack Humbert 0301d2fdc2 Merge pull request #710 from algernon/h/tap-dance/keyup-seq-start-fix
tap-dance: Do not start a sequence on keyup
2016-09-05 13:16:58 -04:00
Samuel Ryan Goodwin bf5941b335 Add my keymap. 2016-09-05 15:53:52 +02:00
Fred Sundvik 13f3c73386 Fix the ldflags.txt and obj.txt checks
There was a minor typo, which caused the files to not be generated
and therefore the elf files were always linked.
2016-09-04 23:26:49 +03:00
IBNobody f16fece283 Merge pull request #4 from IBNobody/update_atomic_planck_pvc_keymaps
Added diagonal mice macros, breathing ala Atomic
2016-09-04 01:08:36 -05:00
IBNobody f6cb08a5bd Added diagonal mice macros, breathing ala Atomic 2016-09-04 01:07:36 -05:00
IBNobody d55a705bbb Moved breathing backlighting section in readme.md 2016-09-03 23:21:24 -05:00
IBNobody f065652812 Updated doc to contain breathing information. 2016-09-03 20:33:34 -05:00
IBNobody 7fd5b6581a Updated readme to have better backlight breathing info. 2016-09-03 20:29:29 -05:00
IBNobody c20540984e Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-09-03 11:52:55 -05:00
Major Koos 11224a00fe Add rules.mk file 2016-09-02 16:42:40 -07:00
Major Koos 295ef0d964 Add support for JD40 MKII PCB
RGB Included.
2016-09-02 16:14:40 -07:00
profet23 36e16b46e3 Removing/editing non applicable readme 2016-09-02 17:18:39 -04:00
profet23 a485e13afe Adding 80 Key Ergodox Support 2016-09-02 16:24:05 -04:00
Callum Oakley e4167c8c53 fixed incorrect key combination for locking screen on macOS 2016-09-02 09:03:39 +01:00
Callum Oakley 4c67ccc81e changed some of the wording in the readme 2016-09-01 18:30:49 +01:00
Callum Oakley 8b2a235c8d changed order of modifiers after experimentation, updated readme 2016-09-01 18:14:39 +01:00
Callum Oakley 9c3193f225 Merge remote-tracking branch 'upstream/master' 2016-09-01 17:55:00 +01:00
Gergely Nagy acda2b793f tap-dance: Do not start a sequence on keyup
There was an odd case, which confused the hell out of tap-dance: suppose
you had a number of tap-dance keys, on a layer, and as part of the
tap-dance, you turned that layer off - or had it on one-shot to begin
with. In this case, the keydown event would trigger the tap-dance key,
but the keyup would not. This had two funky consequences:

- tap-dance did not correctly register that the dance has ended.
- pressing any other tap-dance key would interrupt the previous
  tap-dance, and potentially input unwanted characters.

To fix this, we simply do not start a tap-dance sequence on keyup, only
when it is pressed. This way the previous sequence has enough time to
time-out and finish properly, and we don't get confused.

This fixes algernon/ergodox-layout#107.

Signed-off-by: Gergely Nagy <[email protected]>
2016-09-01 08:32:47 +02:00
Jack Humbert e28d151a8a Merge pull request #707 from algernon/f/unicode/get-mode
process_unicode: Add get_unicode_input_mode()
2016-08-31 11:28:52 -04:00
Gergely Nagy c9ea236fc3 process_unicode: Add get_unicode_input_mode()
There may be cases where one would like to know the current Unicode
input mode, without having to keep track of it themselves. Add a
function that does just this.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-31 08:21:52 +02:00
Jack Humbert 27f9671a3e Merge pull request #705 from VoodaGod/bone2planck
Bone2planck update
2016-08-30 23:07:24 -04:00
Jason Janse van Rensburg fc2ca62a3b Merge branch 'master'
Conflicts:
	keyboards/planck/keymaps/bone2planck/keymap.c
2016-08-30 14:54:00 +02:00
Jack Humbert 8e00c464e6 Merge pull request #703 from jhenahan/feature/jhenahan-keymap
jhenahan Planck layout
2016-08-29 20:16:20 -04:00
Jack Humbert 3301e2219f Merge pull request #700 from algernon/h/ucis/enable-fix
build_keyboard.mk: Restore UCIS_ENABLE support
2016-08-29 20:15:46 -04:00
Damien af24ea558a Merge pull request #3 from jackhumbert/master
Merge from jackhumbert
2016-08-29 22:33:50 +02:00
cbbrowne fba509780e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-29 12:32:03 -04:00
Jack Henahan 6d7637ae3e Update README 2016-08-29 11:43:06 -04:00
Jack Henahan 42f1ce08dc jhenahan layout 2016-08-29 11:35:07 -04:00
Gergely Nagy 2f0395ce72 build_keyboard.mk: Restore UCIS_ENABLE support
During the build system refactor, support for enabling UCIS seems to
have been lost. This little patch adds that back, so that keymaps using
UCIS can be compiled again.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-29 11:30:38 +02:00
IBNobody 6da0eb2b2b Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-28 18:50:06 -05:00
Jack Humbert 6d1e916851 Merge pull request #697 from fredizzimo/fix_gh_token_problem
Fix the .travis.yml so that GH_TOKEN works properly
2016-08-27 19:00:21 -04:00
Jack Humbert 25502277e8 Merge pull request #696 from fredizzimo/community_boards
Update list of community keyboards
2016-08-27 18:56:42 -04:00
Fred Sundvik 83eb9e4eed Fix the .travis.yml so that GH_TOKEN works properly 2016-08-28 01:10:14 +03:00
Fred Sundvik 3bdebd2270 Update list of community keyboards 2016-08-28 00:54:26 +03:00
Jack Humbert 326de65439 Merge pull request #689 from jeebak/tv44-jeebak
Port jeebak's Planck/JD45 keymap to TV44
2016-08-27 17:30:39 -04:00
Jack Humbert 2ac90ed704 Merge pull request #684 from tomb0y/kc60_workman_dead
Correct typo in kc60 workman-dead keymap
2016-08-27 17:30:05 -04:00
Jack Humbert bade8be66c Merge pull request #695 from fredizzimo/dfu-util_instructions
Add dfu-util to the instructions
2016-08-27 17:29:35 -04:00
Jack Humbert 98bedbeb75 Merge pull request #693 from fredizzimo/infinity60
Rename infinity_chibios to infinity60, and add readme
2016-08-27 17:29:12 -04:00
Jack Humbert a1b289c99a Merge pull request #694 from fredizzimo/keyboard_template
Fix the keyboard template with new make syntax
2016-08-27 17:07:49 -04:00
Jack Humbert 4fd5ac8326 Merge pull request #690 from fredizzimo/unit_test
Add Unit Testing support
2016-08-27 17:06:45 -04:00
Fred Sundvik 8ab9c5c55a Rename infinity_chibios to infinity60, and add readme 2016-08-27 23:55:33 +03:00
Fred Sundvik 53302328d0 Add dfu-util to the instructions 2016-08-27 23:43:49 +03:00
Fred Sundvik 1f5838a286 Fix the keyboard template with new make syntax
Also add proper link to the parent
2016-08-27 23:31:15 +03:00
Fred Sundvik 922c4ea3bc Add unit test documentation 2016-08-27 21:57:49 +03:00
Fred Sundvik ca51457327 Another attempt to make keyboards and tests in parallel 2016-08-27 21:57:49 +03:00
Fred Sundvik fd93a9bb29 Make tests and keyboards in two different jobs 2016-08-27 21:57:49 +03:00
Fred Sundvik 03b1d142f2 Add -p parameter to mkdir
So that it's created even when there's a deeper structure
2016-08-27 21:57:49 +03:00
Fred Sundvik 6b92b62802 Travis builds the default all target 2016-08-27 21:57:49 +03:00
Fred Sundvik 6410f0c021 The all target makes all keyboards and all tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 1b963117fe Support for running and cleaning all tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 42baa6cf43 Disable map file creation when building tests
It causes strange linker warnings on cygwin.
2016-08-27 21:57:49 +03:00
Fred Sundvik 7eefb34e7c Detect failures when running multiple tests
Also add better output.
2016-08-27 21:57:49 +03:00
Fred Sundvik ffb0a126f5 Convert tirple_buffered_object_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik bcdf9ab76b Convert transport_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik b3eba797af Convert frame_validator_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik cdd0913bcc Convert frame_router_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik c692fd1d55 More common settings for unit tests and keyboards 2016-08-27 21:57:49 +03:00
Fred Sundvik fc855cb30e Fix running multiple tests 2016-08-27 21:57:49 +03:00
Fred Sundvik f4429ba48c Running of unit tests
But only if the compilation has succeeded
2016-08-27 21:57:49 +03:00
Fred Sundvik 0a11460175 Build actual tests, convert byte_stuffer_tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 8a9aac6e32 Rules for compiling and linking google test 2016-08-27 21:57:49 +03:00
Fred Sundvik 27a673f5cf The makefile actually calls build_test 2016-08-27 21:57:49 +03:00
Fred Sundvik 6d7cd639a5 Basic framework for parsing test targets 2016-08-27 21:57:49 +03:00
Fred Sundvik cfddec17d5 Add Google Test submodule 2016-08-27 21:57:49 +03:00
Jack Humbert f815b4871e Merge pull request #691 from fredizzimo/fix_line_endings
Fix line endings
2016-08-27 14:54:55 -04:00
Fred Sundvik cff26bc484 Merge branch 'master' into fix_line_endings 2016-08-27 21:01:46 +03:00
Jack Humbert 36b6a96596 Merge pull request #666 from fredizzimo/makefile_overhaul
Makefile overhaul
2016-08-27 13:49:42 -04:00
Fred Sundvik 265df7d5da Fix travis_compiled_push 2016-08-27 20:18:26 +03:00
Fred Sundvik a5b1af4999 Normalize line endings 2016-08-27 18:40:50 +03:00
Fred Sundvik de58ec9738 Set eep files to binary mode 2016-08-27 18:37:28 +03:00
JeeBak Kim 5fe883e74b [tv44] Port jeebak's planck keymap to tv44 2016-08-26 22:18:40 -07:00
JeeBak Kim ff0e0ee459 [tv44] Add "jeebak" keymap folder as a copy of the "default" folder 2016-08-26 14:48:03 -07:00
Fred Sundvik d1e4f2eb08 Merge remote-tracking branch 'upstream/master' into makefile_overhaul 2016-08-26 21:57:17 +03:00
cbbrowne a732003bfd Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-26 12:13:50 -04:00
Erez Zukerman 2c8f6557e6 Merge pull request #664 from linsomniac/infinity_readme
Adding nicer Infinity build instructions.
2016-08-26 07:32:24 -04:00
Erez Zukerman 17511870bc Merge pull request #685 from fredizzimo/windows10_instructions_typo
Fix minor typo in the readme
2016-08-26 07:29:12 -04:00
coderkun 137eb118e3 Add box-drawing Unicode characters to keymap “coderkun_neo2” 2016-08-26 13:27:56 +02:00
coderkun c78b44fb18 Set Unicode input mode and override unicode_input_start() method to keymap “coderkun_neo2” 2016-08-26 13:27:56 +02:00
coderkun 5b58d7d145 Disable debugging for Ergodox keymap “coderkun_neo2” 2016-08-26 13:27:56 +02:00
zs 3f0e1b3a8e Correct typo in kc60 workman-dead keymap
and rename README.md to readme.md
2016-08-26 10:42:36 +02:00
Damien 8e058135e2 Merge pull request #2 from jackhumbert/master
Merge from jackhumbert
2016-08-26 07:55:30 +02:00
Fred Sundvik 6cfdd077b5 Fix bad merge
Led should have been added to KC60, not GH60
2016-08-26 00:05:58 +03:00
Fred Sundvik 86ece64176 Fix minor typo in the readme 2016-08-25 23:54:05 +03:00
Fred Sundvik 3300203157 Remove google test submodule
It had been added for some strange reason, allthough it's supposed
to be there only in another branch.
2016-08-25 23:37:18 +03:00
Fred Sundvik fb8365a378 Split vision_division into Makefile/rules.mk 2016-08-25 23:28:10 +03:00
Fred Sundvik 523dff3005 Merge branch 'master' into makefile_overhaul 2016-08-25 23:26:02 +03:00
Jack Humbert 4321f0af7d Merge pull request #659 from Dbroqua/master
- Updated dbroqua layout for planck keyboard
2016-08-25 15:49:50 -04:00
dbroqua 8d0aed39d1 - Added capslock led for KC60 keyboard (based on gitbug.com/jpec/kc60 works) 2016-08-25 20:39:55 +02:00
Jack Humbert f0cb5e9e50 Merge pull request #683 from ickerwx/master
LEDs work now, fixed Kitten Paw default keymap, added my own keymap as a better example
2016-08-25 12:22:28 -04:00
Jack Humbert 8ebe9c446c Merge pull request #681 from IBNobody/vision_division_dev
Added Port A Pin Mapping / Added Vision Division (WIP)
2016-08-25 11:40:51 -04:00
Jack Humbert 6f6f745385 Merge pull request #682 from jeebak/jd45-jeebak
Port jeebak's Planck keymap to JD45
2016-08-25 11:33:14 -04:00
Jack Humbert 5728d1c9f2 Merge pull request #680 from replicaJunction/layout-atreus-replicaJunction
Added replicaJunction keymap
2016-08-25 11:27:55 -04:00
IBNobody 34eeea787c Fixed naming of Analog pins to differentiate them from DIO pins used by Quantum Matrix 2016-08-25 08:16:18 -05:00
René Werner 22ef0bbac5 Merge remote-tracking branch 'upstream/master' into kitten_paw 2016-08-25 12:27:29 +02:00
René Werner 1bbd3c1eea fixed defaulf keymap, added my own keymap
now the LEDs are working like they should
2016-08-25 12:25:57 +02:00
JeeBak Kim 94597a27c5 Make the "extra" key in the top row another backspace 2016-08-25 03:06:42 -07:00
Damien c51862b237 Merge pull request #1 from jackhumbert/master
Merge from jackhumbert
2016-08-25 08:58:04 +02:00
dbroqua c34399c592 - Updated kc60/readme
- Added layout examples for kc60
2016-08-25 08:29:30 +02:00
JeeBak Kim 9c0c8c307d [jd45] Port jeebak's planck keymap to jd45 2016-08-24 22:34:03 -07:00
JeeBak Kim 601feed87e [jd45] Add "jeebak" keymap folder as a copy of the "default" folder 2016-08-24 22:23:24 -07:00
IBNobody 8423601ea1 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' into vision_division_dev 2016-08-25 00:16:15 -05:00
IBNobody 936a26d04f Added pin support for A0-A7
Vision Division - It works!
2016-08-25 00:15:41 -05:00
Joshua T a72d46d1ec Added replicaJunction keymap 2016-08-24 23:58:59 -05:00
Olivier 73d2a470ee Merge https://github.com/jackhumbert/qmk_firmware 2016-08-25 00:11:37 +02:00
cbbrowne 7c2a24b315 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-24 17:47:09 -04:00
cbbrowne 9778349c4b More notes 2016-08-24 17:47:01 -04:00
Gergely Nagy f512179e66 ergodox: Update algernon's keymap to v1.6
Major changes include:

Base layer changes
------------------

* The parentheses & bracket keys have been merged: tapping them results
  in `[` or `{` (if it was shifted), double tapping leads to `(`.
* The `:;` and `-_` keys are now available on the base layer, on
  their **ADORE** location, too, just below `[{(`/`]})`.
* The `Apps` key has been replaced by `F12`.
* The `-`/`_` is no longer a tap-dance key.

ADORE layer changes
-------------------

* Adjustments were made to the **ADORE** layer, to separate some
  inconvenient combinations.

Miscellaneous changes
---------------------

* `LEAD u` now starts the symbolic unicode input system, instead of the
  OS-one.
* The mouse acceleration keys on the **Navigation and Media* layer have
  been turned into toggles: tap them once to turn them on, until tapped
  again. Tapping an accelerator button will turn all the others off.
* When the **ARROW** layer is on, the *red* and *blue* LEDs light up
  now.

Heatmap
-------

* The built-in keylogger has been greatly enhanced, it now outputs the
  pressed state, and the layer (Dvorak or ADORE). As such, the
  `ADORE_AUTOLOG` option has been removed, instead there is
  `AUTOLOG_ENABLE` now, which when enabled, makes the keylogger start
  when the keyboard boots. It defaults to off.
* The heatmap generator received a lot of updates.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-24 23:22:57 +02:00
dbroqua e6dcb8de8c - Fixed layout for kc60 2016-08-24 22:22:14 +02:00
dbroqua 5979051de3 - Updated kc60.h for 2x 1u backspace (K49)
- Added dbroqua layout
2016-08-24 21:53:49 +02:00
Sean Reifschneider 0dfd1712bb Making the existing firmware link better 2016-08-24 09:30:29 -06:00
Sean Reifschneider 7debe7cd77 Changes based on @fredizzimo review, flashing Infinity details 2016-08-24 09:26:41 -06:00
Jack Humbert ad206155aa Merge pull request #679 from algernon/h/ucis/subproject-fix
quantum: Move qk_ucis_state to process_unicode.c
2016-08-24 11:21:17 -04:00
Jack Humbert d2990645ca Merge pull request #646 from nclundsten/master
fix ergodox ez link
2016-08-24 11:14:21 -04:00
Gergely Nagy a058ae40e2 quantum: Move qk_ucis_state to process_unicode.c
In order to not declare the same variable in multiple objects (which
happens when building UCIS-enabled keymap for both the ErgoDox EZ and
the ErgoDox Infinity), move the declaration to the .c file, and keep
only an extern reference in the header.

Many thanks to @fredizzimo for spotting the error in Travis, and
suggesting the fix.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-24 15:39:23 +02:00
dbroqua 235d47e747 - Updated readme by adding link on kle for each layer 2016-08-24 12:57:32 +02:00
Fred Sundvik 2e3834edea Merge remote-tracking branch 'upstream/master' into makefile_overhaul 2016-08-24 10:37:02 +03:00
Fred Sundvik 7c9fff59d0 Fix slight inconsistency
When running make from either a keyboard folder or a subproject
it runs all keymaps for all subprojects and the selected subproject
respectively. Without this fix, the same doesn't happen if your
run make clean for example. As it would just provide you with an
error message. Now this will work as expected.
2016-08-24 10:29:01 +03:00
IBNobody a902206735 Nightly
Prep for Vision build
2016-08-23 23:05:35 -05:00
IBNobody 5d685efa49 Merge remote-tracking branch 'refs/remotes/origin/master' into vision_division_dev 2016-08-23 20:53:21 -05:00
IBNobody 9263ade0fb Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-23 20:52:19 -05:00
IBNobody 6c2b7f359c Fixed line ending 2016-08-23 20:47:35 -05:00
IBNobody 3f8672287f Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-23 20:45:06 -05:00
dbroqua d19c0d46d9 Merge remote-tracking branch 'upstream/master' 2016-08-23 20:39:01 +02:00
Jack Humbert a920548471 Merge pull request #677 from SmackleFunky/master
Virtual Serial Port - and a Layout that uses that virtual serial port for Plover
2016-08-23 11:05:26 -04:00
dbroqua e65252d591 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	keyboards/planck/keymaps/dbroqua/keymap.c
2016-08-23 13:39:49 +02:00
René Werner 6a61c89477 added my personal keymap
I ported my keymap from tmk to QMK.
2016-08-23 13:20:59 +02:00
René Werner d28942f5d7 Merge branch 'kitten_paw' 2016-08-23 12:17:39 +02:00
René Werner 06c82a063b Fixed wrong keycode in default keymap
Where I used KC_MENU I should have used KC_APP instead.
2016-08-23 12:15:29 +02:00
Jason Green 7009112752 move to ergodox-ez only 2016-08-23 07:04:55 +00:00
Fred Sundvik feebc58d32 Split kitten_paw into Makefile/rules.mk 2016-08-23 09:42:11 +03:00
Fred Sundvik 8f2af3c6bc Merge branch 'master' into makefile_overhaul 2016-08-23 09:38:05 +03:00
Jason Green 104ca8a5e1 Remove unneeded include 2016-08-23 04:49:05 +00:00
Jason Green ec62cbe384 add missing #include 2016-08-23 04:32:40 +00:00
Jack Humbert fb4452c2f5 Merge pull request #671 from Talljoe/one-hand
Add native one-handed support
2016-08-23 00:29:46 -04:00
Jack Humbert 57125ce790 Merge pull request #673 from coderkun/master
Add method to set Unicode input key for ISO 14755
2016-08-23 00:28:01 -04:00
Jack Humbert 3824fa0014 Merge pull request #675 from Xyverz/master
Added missing item K3A to KEYMAP() variable in tv44.h
2016-08-23 00:27:23 -04:00
Jack Humbert 9ca4c9f57f Merge pull request #676 from ickerwx/kitten_paw
Added support for the Kitten Paw controller
2016-08-23 00:26:59 -04:00
Jason Green 86656690f1 TxBolt (Steno) Serial protocol for Ergodox Ez 2016-08-23 04:17:34 +00:00
Jason Green 80d10bef07 Added USB Virtual Serial support 2016-08-23 04:16:35 +00:00
dbroqua 92fe78a5ea - Added PrintScreen key on multimedia layer 2016-08-22 21:19:03 +02:00
René Werner a26ee57eb8 Added support for the Kitten Paw controller
This adds support for the 2016 revision of the Kitten Paw [1] replacement
controller by Bathroom Epiphanies.

[1] http://bathroomepiphanies.com/controllers/
2016-08-22 20:34:29 +02:00
cbbrowne 90abe70586 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-22 13:16:49 -04:00
Sean Reifschneider 0418ecc073 Changes from review by @fredizzimo and @Xyverz 2016-08-22 10:26:18 -06:00
IBNobody 705c775a4a Nightly
Only major change to qmk was the addition of A0-A7 pins for the AT90USB
2016-08-21 22:05:55 -05:00
Xyverz 02f4e5b064 Merge remote-tracking branch 'upstream/master' 2016-08-21 19:02:32 -07:00
Xyverz 364b77563c Added missing key K3A to KEYMAP() macro in tv44.h 2016-08-21 18:59:10 -07:00
Jack Humbert d8c5041f0a Merge pull request #669 from fredizzimo/windows10_build_instructions
Add instructions for Windows 10 subsystem for Linux
2016-08-21 19:13:19 -04:00
Jack Humbert fa18e62d37 Merge pull request #668 from fredizzimo/line_endings
Enforce correct line endings
2016-08-21 19:13:06 -04:00
Jack Humbert 7c140538c7 Merge pull request #674 from kyleberry/master
Fixing Dvorak
2016-08-21 19:09:26 -04:00
dbroqua d7b6d74842 - Inverted key Tab and Esc
- Reorganised bottom row
2016-08-21 23:20:24 +02:00
Kyle Berry 30de8663a9 Fixing Dvorak
Updating with proper Dvorak layout.
2016-08-21 14:01:43 -07:00
coderkun 81594c7883 Drop method to set Unicode input key and declare start and finish methods as “weak” instead 2016-08-21 21:02:18 +02:00
coderkun dffdeb50b7 Add method to set Unicode input key for ISO 14755
https://github.com/jackhumbert/qmk_firmware/issues/672
2016-08-21 20:27:23 +02:00
Fred Sundvik 8f16403179 Change order of variable assignment
BUILD_DIR and TARGET was assigned too late, so the dfu-util target,
which depends on them did not work.
2016-08-21 13:53:36 +03:00
Fred Sundvik 1c69acb7d5 Add longest match to the rule-checking
This fixes cases where you have several keyboards with a common
prefix, like algernon, and algernon-master
2016-08-21 13:10:34 +03:00
Joe Wasson c20bf83afd Add one-hand key to planck/experimental keymap. 2016-08-20 18:47:06 -07:00
Joe Wasson 66adbfcab5 Add default swap configs for a couple of boards. 2016-08-20 17:46:53 -07:00
Joe Wasson 8090f6b499 Improve one-hand support by adding more actions and tap keys. 2016-08-20 17:46:53 -07:00
Joe Wasson dd37860160 Add one-hand support.
This adds an action, `ACTION_SWAP_HANDS`, that swaps the the keys on the keyboard across a keymap-defined hemisphere in order to support one-hand typing without requiring a separate one-handed layer. See updated `doc/keymap.md` for more information.
2016-08-20 17:46:53 -07:00
IBNobody 4807feec8a In Progress Merge 2016-08-20 14:49:16 -05:00
Olivier b5172e3afa Rename file following upstream folder rename. 2016-08-20 18:19:03 +02:00
Fred Sundvik 2a5bdd81d4 Add warning about line endings 2016-08-20 19:11:22 +03:00
Olivier 009ab77d3e Merge https://github.com/jackhumbert/qmk_firmware 2016-08-20 18:07:02 +02:00
Fred Sundvik 704cbd1d2b Add instructions for Windows 10 subsystem for Linux
Also simplify the linux instructions
2016-08-20 19:02:19 +03:00
IBNobody 5febdb0a3c Initial Commmit 2016-08-20 10:26:36 -05:00
Jack Humbert a3f726174c Merge pull request #665 from linsomniac/keymap_jafo
Adding jafo layout.
2016-08-20 11:04:54 -04:00
Jack Humbert a592c9dcf4 Merge pull request #658 from Xyverz/master
Got rid of all the kludge in my ErgoDox keymap.
2016-08-20 11:04:02 -04:00
Jack Humbert 7cef0f56e9 Merge pull request #630 from nrrkeene/master
The Ordinary Layout is the unsurprising layout
2016-08-20 11:01:22 -04:00
Fred Sundvik fd2f957a1a Normalize line endings 2016-08-20 17:59:18 +03:00
Fred Sundvik f0fd840a57 Add .gitattributes to ensure correct line endings
It also ensures that make files and shell script are checked out
with lf endings, for compability with the Windows 10 bash
2016-08-20 17:27:51 +03:00
IBNobody 462e516ad9 Merge 2016-08-20 08:34:42 -05:00
IBNobody 9e3a550840 Merge 2016-08-20 08:31:24 -05:00
IBNobody 2dfe13ac6d fixed color detection routine in makefile 2016-08-20 08:28:30 -05:00
IBNobody e1590abea9 fixed color detection routine in makefile 2016-08-20 08:28:30 -05:00
IBNobody 6bd9235fe3 Merge 2016-08-20 08:16:06 -05:00
Fred Sundvik b26ded3ab1 Comment the Makefile
Also move some messages to message.mk
2016-08-20 14:53:29 +03:00
Fred Sundvik 48f8ab1ae2 Fix the clean target
It now properly cleans all the outputs
2016-08-20 12:44:04 +03:00
Xyverz 70d4ea7904 Merge remote-tracking branch 'upstream/master' 2016-08-19 22:50:55 -07:00
Xyverz e4984f65de Changed the Ergodox keymap to use the KEYMAP() macro, updated readme.md. 2016-08-19 22:45:20 -07:00
Xyverz aff792545d Changed my keymap to match normal keymaps. 2016-08-19 22:30:34 -07:00
IBNobody dd553d460e fixed color detection routine in makefile 2016-08-19 23:53:22 -05:00
Nicholas Keene 6a9a6b9477 The Ordinary Layout is boring because all the keys are where you expect them to be 2016-08-19 23:44:08 -05:00
IBNobody 23617779b4 Merge https://github.com/IBNobody/qmk_firmware 2016-08-19 23:39:35 -05:00
Nicholas Keene 8f78ba1f73 The Ordinary Layout is boring because all the keys are where you expect them to be 2016-08-19 23:38:13 -05:00
IBNobody fdaae7ec88 fixed color detection routine in makefile 2016-08-19 23:37:54 -05:00
Sean Reifschneider d98e5ddf30 Tweaks after review. 2016-08-19 21:50:04 -06:00
Sean Reifschneider 9e03517ae5 Restructuring of the ergodox README. 2016-08-19 21:47:00 -06:00
Sean Reifschneider a25480b3b5 Bringing over changes from default map. 2016-08-19 20:55:50 -06:00
Fred Sundvik da226e6126 Update keyboard readme files with new makefile instructions 2016-08-20 03:56:48 +03:00
Fred Sundvik b4c75569b0 Update readme with new instructions for make 2016-08-20 03:56:47 +03:00
Fred Sundvik e1243339ca Add diffutils to travis.yml and install_dependencies
It has been required for a while now, and now actually checked in
the makefiles. Before, if you didn't have it installed it would
just recompile everything.

The readme hasn't been updated to reflect this, I think we need
to go through that separately, and see what's really needed. Or
just instruct people to run the batch scripts.
2016-08-20 03:56:46 +03:00
Fred Sundvik ab4d7adbb9 Fix the template for the Makefile/rules.mk split 2016-08-20 03:56:45 +03:00
Fred Sundvik f29730da36 Better format for non-silent output 2016-08-20 03:56:44 +03:00
Fred Sundvik 03e31ef8b9 Continue on error 2016-08-20 03:56:43 +03:00
Fred Sundvik 3442e216dc Move bootloader_defs include to build_keyboard
Also fix it for subprojects
2016-08-20 03:56:42 +03:00
Fred Sundvik 9028a412ea Add output specific config file 2016-08-20 03:56:41 +03:00
Fred Sundvik 33fbd3be36 Output specific include paths 2016-08-20 03:56:40 +03:00
Fred Sundvik 3aac4e95c9 More general system for generating several outputs 2016-08-20 03:56:39 +03:00
Fred Sundvik 87bf34a5d3 Pass the target to submake 2016-08-20 03:56:38 +03:00
Fred Sundvik d924eb591e Fix variable name clash with builtin
This caused the submake to be called several times, messing up the
build.
2016-08-20 03:56:37 +03:00
Fred Sundvik 8732265928 Options for silent compilation
A single keyboard is always by default compiled in verbose mode.
While multiple keyboards are compiled in silent mode. This can be
overriden by the silent variable from the command line
2016-08-20 03:56:36 +03:00
Fred Sundvik e4c842de02 Don't run builtin rules for submake
To speed up the compilation
2016-08-20 03:56:35 +03:00
Fred Sundvik 881bde8258 Fix running make in parallel 2016-08-20 03:56:34 +03:00
Fred Sundvik dd8c1a7659 Don't add VERSION as a define
To avoid full recompilation when the git commit hash changes.
2016-08-20 03:56:33 +03:00
Fred Sundvik 60c6e79ecb Move git submodule check and version generation to main Makefile 2016-08-20 03:56:32 +03:00
Fred Sundvik cc2df445ab Remove unneded code from tmk_core/rules.mk 2016-08-20 03:56:31 +03:00
Fred Sundvik 67b294ca66 Actual compilation 2016-08-20 03:56:30 +03:00
Fred Sundvik db5c3b74fb Add color output 2016-08-20 03:56:29 +03:00
Fred Sundvik 0dd629a990 Fix running make from various subfolders 2016-08-20 03:56:28 +03:00
Fred Sundvik a04bb3a3ba Fixed the shortcut targets 2016-08-20 03:56:27 +03:00
Fred Sundvik 3fa6625869 Proper default goals when inside keyboard fodlers 2016-08-20 03:56:26 +03:00
Fred Sundvik 459ddaceda Add backwards compability with makefile variables 2016-08-20 03:56:25 +03:00
Fred Sundvik 4f20061f66 Proper handling for running make from a subproject or keymap dir 2016-08-20 03:56:24 +03:00
Fred Sundvik 051017c312 Split subproject make files into Makefile and rules.mk 2016-08-20 03:56:23 +03:00
Fred Sundvik c83af54513 Support for running from keyboard directory 2016-08-20 03:56:21 +03:00
Fred Sundvik 1ad5578d11 Print error when building non-existing keyboard 2016-08-20 03:56:20 +03:00
Fred Sundvik a6d3500024 Print error message when trying to build non-existing keymap 2016-08-20 03:56:20 +03:00
Fred Sundvik 2dd9c1edcd Proper parsing of keymaps inside subprojects 2016-08-20 03:56:19 +03:00
Fred Sundvik 44441de8ca Split keyboard makefiles into rules and Makefile 2016-08-20 03:56:08 +03:00
Fred Sundvik 0d5caead5a Add default subproject parsing 2016-08-20 03:24:40 +03:00
Fred Sundvik 091fab5103 Slight rearrange of the Makefile for easier readability 2016-08-20 03:24:40 +03:00
Fred Sundvik 286b3b8057 Slight refactoring to remove some verbosity 2016-08-20 03:24:40 +03:00
Fred Sundvik 1df6498721 Subproject parsing
Does not handle keyboards without subprojects correctly yet.
2016-08-20 03:24:40 +03:00
Fred Sundvik 9ee6d4a23d Proper looping for allkb and allkm 2016-08-20 03:24:40 +03:00
Fred Sundvik dfe510d5b8 Refactor common rule list parsing into own function 2016-08-20 03:24:40 +03:00
Fred Sundvik 9b02e66ce0 Add keymap parsing 2016-08-20 03:24:40 +03:00
Fred Sundvik f97ae2b199 Rule parsing to match kebyoards 2016-08-20 03:24:40 +03:00
Fred Sundvik e6e675335d First version of rule parsing
Only handles allkb at the moment.
2016-08-20 03:24:40 +03:00
Fred Sundvik 86706de036 Parsing of makefile variables from starting dir 2016-08-20 03:24:40 +03:00
Jack Humbert a3a312f8f4 Merge pull request #662 from toneman77/iso_satan
Satan Cleanup
2016-08-19 17:55:54 -04:00
Jack Humbert 47b670bced Merge pull request #663 from tomb0y/kc60_workman_dead
Add the workman-dead layout for kc60
2016-08-19 17:54:12 -04:00
Sean Reifschneider 30c63b1495 Noting the change directory. 2016-08-19 14:52:05 -06:00
Sean Reifschneider b918aa6bab Adding submodule note. 2016-08-19 14:49:29 -06:00
Sean Reifschneider 50531068b3 Adding jafo layout. 2016-08-19 14:42:41 -06:00
Sean Reifschneider 32216066e7 Adding nicer Infinity build instructions. 2016-08-19 14:36:41 -06:00
zs a1da23d827 Add the workman-dead layout for kc60 2016-08-19 21:59:08 +02:00
dbroqua b9a284352e - Moved Insert/Del in Esc layer 2016-08-19 21:10:07 +02:00
dbroqua 11aa19a626 - Updated lower and raise layer 2016-08-19 21:00:24 +02:00
Jack Humbert 7bb9d7f0f9 Merge pull request #660 from toneman77/amj60
new keyboard: AMJ60
2016-08-19 11:19:52 -04:00
dbroqua c6e733afce - Added readme file and layout preview 2016-08-19 14:17:07 +02:00
dbroqua b4f23b146f - Moved Home/End/PgUp/PgDn on arrow keys 2016-08-19 14:01:37 +02:00
Toni bc0bd11430 forgot media keys 2016-08-19 10:24:48 +02:00
Toni 225c73ed30 Merge remote-tracking branch 'origin/master' into amj60
merge with upstream
2016-08-19 09:49:56 +02:00
dbroqua 31120ed166 - Moved Brite function on esc to avoid conflict with ctrl key. 2016-08-19 09:39:25 +02:00
dbroqua 578b7e969e - Updated dbroqua layout for planck keyboard 2016-08-19 09:19:55 +02:00
Xyverz ed1291bfbd Added compatibility for the Infinity ErgoDox to my Ergodox keymap.
Updated readme.md to reflect this change.
2016-08-18 22:43:31 -07:00
Jack Humbert 2c59f71090 Merge pull request #655 from Dbroqua/patch-1
Added dbroqua layout for planck keyboard
2016-08-18 19:25:36 -04:00
Jack Humbert 05728cad68 Merge pull request #656 from Vifon/dynamic_macros
Improve the dynamic macro documentation
2016-08-18 19:23:53 -04:00
Wojciech Siewierski ea7115534a Improve the dynamic macro documentation 2016-08-19 00:18:45 +02:00
Damien a5e6da7aa8 Added dbroqua layout for planck keyboard 2016-08-18 22:25:13 +02:00
Jack Humbert 6c359cabbf Merge pull request #652 from iFreilicht/master
Added S60-X keyboard
2016-08-18 10:34:22 -04:00
Jack Humbert ca7fa07bc1 Merge pull request #651 from algernon/f/register16
Add a register/unregister_code16 pair of functions
2016-08-18 10:32:16 -04:00
Jack Humbert 8f32595820 Merge pull request #650 from Xyverz/master
Minor changes to keymaps and other files
2016-08-18 10:31:17 -04:00
Jack Humbert 6e1b89fdc8 Merge pull request #654 from algernon/h/planck-circuit-tap-dance-fix
planck/circuit: Update after the latest tap-dance change
2016-08-18 10:04:02 -04:00
Toni 21dc8381d1 made a correct default KEYMAP. moved the old one to KEYMAP_ANSI
fixed all layouts that were referencing KEYMAP to KEYMAP_ANSI
whitespace prettyfying
2016-08-18 15:57:17 +02:00
Toni fe90653886 smyll typo fixed 2016-08-18 15:32:06 +02:00
Toni 0e86c85241 amj60 variant of the readme 2016-08-18 15:30:52 +02:00
Toni 0edf7c7cad first attempt at documentation for the amj60 board 2016-08-18 15:22:34 +02:00
Gergely Nagy 0d9d4b8658 planck/circuit: Update after the latest tap-dance change
Fixes #653.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-18 13:22:16 +02:00
Toni 068e76bbf0 uniform whitespace 2016-08-18 13:10:02 +02:00
Toni 387bd772e1 initial commit for the AMJ60 PCB 2016-08-18 13:06:16 +02:00
Felix Uhl dbfb27326b Added info to docs 2016-08-18 12:15:10 +02:00
Felix Uhl ed6ecff292 Merge pull request #1 from jackhumbert/master
Merging from base Repo
2016-08-18 12:02:31 +02:00
Felix Uhl 73f13c8f26 Bugfixes 2016-08-18 11:56:44 +02:00
Felix Uhl a72dc6da70 Final link fix 2016-08-18 11:45:56 +02:00
Felix Uhl 406ae1a2eb More link fixing 2016-08-18 11:43:32 +02:00
Felix Uhl aa71ebfbba Fixed links again
Note to self: check before commiting.
2016-08-18 11:41:52 +02:00
Felix Uhl d34c0a2fc1 Fixed dead link 2016-08-18 11:40:05 +02:00
Felix Uhl 738151d12a Minor documentation changes 2016-08-18 11:38:04 +02:00
Gergely Nagy 0d28787c5c Add a register/unregister_code16 pair of functions
These functions register not only the 8bit keycode, but the modifiers
too. It doesn't handle the full range of the upper 8bits, just the mods,
but that's a good start.

Changed the tap-dance pair functions to use these, so one can do:

  `ACTION_TAP_DANCE_DOUBLE (KC_COLN, KC_SCLN)`

...and that will do the right thing.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-18 11:29:53 +02:00
Felix Uhl c5f13e5836 Fixed links again 2016-08-18 11:16:10 +02:00
Felix Uhl a865995595 Fixed pictures and links 2016-08-18 11:11:42 +02:00
Felix Uhl 2618260b34 Documentation overhaul. 2016-08-18 10:37:32 +02:00
Toni 864e26f439 cleanup, readability , shift swap in ISO_SPLIT_RSHIFT 2016-08-18 10:06:13 +02:00
Felix Uhl 07924511f3 Small changes, renamed keymap
Added MicMute
Revived all dead keys
Removed OS Shift
2016-08-18 10:01:46 +02:00
Toni 64ecb15310 corrected the split rshift key to reality
fixed my keymap in the process to adjust to that
2016-08-18 09:56:11 +02:00
Xyverz aa37a57e0f One last change to the readme. 2016-08-18 00:38:25 -07:00
Xyverz eb81978ecb One last formatting change 2016-08-18 00:35:32 -07:00
Xyverz 118ad691c4 more formatting changes 2016-08-18 00:34:22 -07:00
Xyverz 4dd641a128 Hopefully this fixes the layout diagrams. 2016-08-18 00:27:54 -07:00
Xyverz 035290b7d8 Added a readme, tidied up comments in the keymap. 2016-08-18 00:22:56 -07:00
Xyverz 47beb763e8 Returned RAISE and LOWER buttons to their original functions - too many inopportune ENTER inputs. :-( 2016-08-18 00:05:24 -07:00
Xyverz 67227e4c71 Merge branch 'master' of https://github.com/Xyverz/qmk_firmware 2016-08-17 23:55:58 -07:00
Xyverz 385b827c85 Merge remote-tracking branch 'upstream/master'
this merge is necessary,
2016-08-17 23:53:56 -07:00
Jack Humbert 8144ce8852 Merge pull request #648 from Vifon/dynamic_macros
Implement the dynamic macros that are recorded in runtime
2016-08-17 21:17:30 -04:00
Jack Humbert 39a95897bc Merge pull request #647 from Vifon/process_record_nocache-fix
Fix the process_record_nocache function
2016-08-17 21:16:49 -04:00
Jack Humbert f4f80a0e3a Merge pull request #645 from algernon/f/tap-dance/buffering
tap-dance rework
2016-08-17 21:15:29 -04:00
Jack Humbert 1442a882d4 Merge pull request #640 from toneman77/iso_satan
heavily modified spacefn layout for iso boards using the satan PCB
2016-08-17 21:11:59 -04:00
Jack Humbert f59b61332f Merge pull request #638 from premek/master
Split layout for planck
2016-08-17 21:11:02 -04:00
Jack Humbert 034bf67f2a Merge pull request #637 from mld2443/master
Circuit keymap for Planck keyboard
2016-08-17 21:10:33 -04:00
Wojciech Siewierski 950755edaf Add the dynamic macros documentation to the readme 2016-08-18 01:40:54 +02:00
Wojciech Siewierski 39e8e61258 Implement the dynamic macros that are recorded in runtime 2016-08-18 01:37:13 +02:00
Wojciech Siewierski 644c8c7927 Fix the process_record_nocache function
This function relies on checking the disable_action_cache static
variable before accessing the layer cache.
2016-08-18 01:34:05 +02:00
Xyverz ef95c10c66 Update readme.md 2016-08-17 14:55:01 -07:00
Xyverz e3486caf87 Create readme.md 2016-08-17 14:54:05 -07:00
Nigel Lundsten 3e1d142018 trailing slash 2016-08-17 14:01:27 -07:00
Nigel Lundsten 6bafafc18d fix ergodox link (again?)
/ergodox/ez  is a broken link, seems like the ez stuff is at /ergodox
2016-08-17 14:00:47 -07:00
Toni c024de4a87 wring keypress for german iso fixed. prettified 2016-08-17 15:33:14 +02:00
Gergely Nagy 29f64d7a93 tap-dance: Major rework, to make it more reliable
This reworks how the tap-dance feature works: instead of one global
state, we have a state for each tap-dance key, so we can cancel them
when another tap-dance key is in flight. This fixes #527.

Since we have a state for each key, we can avoid situation where a keyup
would mess with our global state. This fixes #563.

And while here, we also make sure to fire events only once, and this
fixes #574.

There is one breaking change, though: tap-dance debugging support was
removed, because dumping the whole state would increase the firmware
size too much. Any keymap that made use of this, will have to be
updated (but there's no such keymap in the repo).

Also, there's a nice trick used in this rework: we need to iterate
through tap_dance_actions in a few places, to check for timeouts, and so
on. For this, we'd need to know the size of the array. We can't discover
that at compile-time, because tap-dance gets compiled separately. We'd
like to avoid having to terminate the list with a sentinel value,
because that would require updates to all keymaps that use the feature.
So, we keep track of the highest tap-dance code seen so far, and iterate
until that index.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-17 15:05:58 +02:00
Gergely Nagy d78058cc75 tap-dance: Include action_tapping.h for TAPPING_TERM
Include `action_tapping.h`, so the keymap does not have to define a
`TAPPING_TERM` for us, and we can use the default.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-17 10:28:08 +02:00
Toni 8e142d8cbe no more warning thanks to iFreilicht's tip with undef 2016-08-16 17:35:03 +02:00
Toni deedd2f408 in accordance to keymap_makefile_example.mk 2016-08-16 16:44:12 +02:00
Toni 03a24eb86a minor grammer fixes 2016-08-16 16:35:57 +02:00
Toni b1ac91a040 big cleanup and minor refactoring. thanks iFreilicht. 2016-08-16 16:32:42 +02:00
Přemek Vyhnal 2ebfdcac40 Update readme.md 2016-08-16 01:07:34 +02:00
premek a75d4bd593 premek split layout 2016-08-16 00:50:35 +02:00
premek 5abb05ca40 premek split layout 2016-08-16 00:44:58 +02:00
Matt f5ed3e5155 Added my custom Planck layout called Circuit.
* Layout has image and readme, as well as documentation in the code.
2016-08-15 17:26:01 -05:00
Felix Uhl faa3fd48ae Minor changes to felix keymap 2016-08-15 22:57:26 +02:00
Toni 68005ce602 grammar 2016-08-15 21:47:07 +02:00
Toni 7e1be3ae7c reference to reddit post and Terry Mathews 2016-08-15 21:44:20 +02:00
Toni b8cbf7c9c0 script now waits for the user to press the button 2016-08-15 21:18:25 +02:00
Toni 396b59f256 readme now with picture 2016-08-15 21:12:49 +02:00
Toni 94ff9c9fa5 more prettyness 2016-08-15 21:04:11 +02:00
Toni 14de76ea80 Update readme.md
typo
2016-08-15 21:02:40 +02:00
Toni 5cf5e27dcd Update readme.md
attempt to prettify the table
2016-08-15 21:02:07 +02:00
Toni 77f3efbef6 more information. first steps in markdown 2016-08-15 20:59:50 +02:00
Toni ca4968bc44 readme.md added 2016-08-15 20:46:38 +02:00
Toni f89aec98ae removed my personal stuff 2016-08-15 20:32:45 +02:00
Toni 5ecebc3a66 Merge remote-tracking branch 'origin/master' into iso_split_rshift
no idea what is merged
2016-08-15 19:48:53 +02:00
cbbrowne 3cb1dce622 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-15 12:59:27 -04:00
Jack Humbert cc7acfb416 Merge pull request #635 from algernon/f/ucis
Symbolic Unicode Input System
2016-08-15 12:19:01 -04:00
cbbrowne 8a14952e44 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-15 11:19:24 -04:00
Xyverz 5c5c3e626b Adding KC_BSPC to the LT() macro for LOWER resulted in a backspace stroke being sent if the LOWER key was used too quickly.
Switching back to original LOWER macro, but keeping the new RAISE macro.
2016-08-15 06:57:24 -07:00
Xyverz 8e2d69d5a2 Adding u/treasuredfrog's hack to use LT() with the RAISE and LOWER macros. 2016-08-15 06:28:39 -07:00
Gergely Nagy e8845f0daf process_unicode: Introduce a slight delay
When entering unicode codes, use some delay, so the OS has time to
process the information. This is not needed on all systems, but some
seem to require it.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy 43d08629cf process_unicode: Replace register_hex32
It turns out that register_hex32 did not work reliably, and some systems
only allow 7 chars after the unicode magic sequence, while others allow
8. To remedy the situation, store the codes as strings, and type those
in instead of doing bit shifting magic.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy a312cbf712 process_unicode: Use uint32_t for UCIS purposes
Use a single uint32_t to store the unicode of a symbol, instead of an
array of uint16_ts.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy 234dd276cf process_unicode: Make the startup overridable
Extract out the part of `qk_ucis_start` that inputs the placeholder
symbol, and make it weak, so it can be overridden.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy 857aa5bef6 process_unicode: Call process_ucis() automatically
If UCIS is enabled, call process_ucis() automatically from
process_record_quantum().

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy 0b6861827f process_unicode: Handle too long UCIS symbol names
If the symbol name being entered is longer than the max, stop recording
it, and stop processing keycodes apart from the ones that can delete,
finish or cancel the sequence.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy fa06a16360 process_unicode: Add a way to enter unicode symbols by name
The purpose of this change is to allow keymaps to specify a dictionary
of unicode symbol name to code mappings, and let the person at the
keyboard enter unicode symbols by name.

This is done by having a way to trigger unicode symbol input mode, when
all keys are cached until Esc, Enter or Space are pressed. Once that
happens, we try to look up the symbol from our lookup table. If found,
we erase back, and type the unicode magic in to get that symbol. If not
found, we still erase back, start unicode input mode, and replay what
the user typed in.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Gergely Nagy 63e5782d2c process_unicode: Small refactor & linux fix
This moves the unicode input start / end sequences into their own
functions, so keymaps and other functionality can build on it too.

At the same time, it changes how the Linux variant works, to match
reality: CTRL+SHIFT must be unregistered too, and we close the thing
with a Space instead.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-15 10:08:53 +02:00
Xyverz 4f0bcfe724 Merge remote-tracking branch 'upstream/master' 2016-08-14 20:27:41 -07:00
Xyverz 055b887b0d Setup the bottom-row modifiers to be mac-like in their arrangement. 2016-08-14 20:25:52 -07:00
Jack Humbert bc8976d277 Merge pull request #634 from di0ib/master
minorca handwired
2016-08-14 21:03:15 -04:00
di0ib 959c48e146 moved to handwired folder 2016-08-14 14:13:58 -10:00
di0ib 288bf4faa3 Merge branch 'master' of https://github.com/di0ib/qmk_firmware 2016-08-14 13:20:00 -10:00
di0ib df56d742b1 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-14 13:19:20 -10:00
Jack Humbert 4865e6f81f Merge pull request #631 from jacwib/master
Jacwib's keymap
2016-08-14 18:50:22 -04:00
Jack Humbert cdd7301b8b Merge pull request #627 from algernon/h/set-unicode-input-mode
process_unicode: Fix set_unicode_input_mode()
2016-08-14 18:50:03 -04:00
Jack Humbert 8bb299255b Merge pull request #624 from Xyverz/master
Added Ergodox Layout with persistent layers, Atreus corrections
2016-08-14 18:49:28 -04:00
di0ib 503ec7f9f6 Updated readme
Added link to Minorca/Sebright blog.
2016-08-14 11:15:46 -10:00
di0ib f58a67c991 cleanup readme 2016-08-14 11:10:12 -10:00
di0ib 1eaa685872 Correct data pin to D5 2016-08-14 11:08:15 -10:00
di0ib 65060ad000 Fix list 2016-08-14 11:07:35 -10:00
di0ib dde9ee572c clean up readnme 2016-08-14 11:06:46 -10:00
di0ib b4218a2b3e Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-14 10:58:22 -10:00
di0ib c6c2c3fc14 minorca
minirca with RGB keymap
2016-08-14 10:58:10 -10:00
Toni 5705a40320 increased readability with a defince 2016-08-14 20:06:47 +02:00
Felix Uhl df01d502d4 Ported all keymaps
Old TMK keymaps were ported and confirmed to compile
All keymaps compiled and added to zip-archive.
Documentation was updated.
2016-08-14 13:07:03 +02:00
Felix Uhl 6774f300da Update readme.md 2016-08-14 11:48:59 +02:00
Felix Uhl ec75c04663 Fixed links to keymap sources 2016-08-14 11:44:43 +02:00
jacwib 54e37fd2d1 Fix bug 2016-08-14 11:08:01 +02:00
jacwib 6ba27ea318 Remove pointless comments 2016-08-14 11:02:46 +02:00
jacwib e4e13ddc54 Update readme.md 2016-08-14 10:57:47 +02:00
jacwib 26f4a0cf04 Update Makefile 2016-08-14 10:49:26 +02:00
jacwib 62004866b3 Update config.h 2016-08-14 10:49:06 +02:00
jacwib cf91aa416a Update keymap.c 2016-08-14 10:48:52 +02:00
jacwib 1ab78110bd Update readme.md 2016-08-14 10:48:22 +02:00
jacwib 880486bd24 Jack's keymap. 2016-08-14 10:46:40 +02:00
Xyverz 049343e523 Added my own layout to the Phantom. 2016-08-14 00:33:11 -07:00
Xyverz 97fca1efff Fixing a mixup. Tidying up the keymap. 2016-08-13 20:14:27 -07:00
Xyverz 1920c290a4 Merge remote-tracking branch 'upstream/master' 2016-08-13 19:51:49 -07:00
Erez Zukerman 6323f3d1e7 Merge pull request #623 from algernon/ergodox-ez/algernon
ergodox: Update my keymap to v1.5
2016-08-13 20:12:15 -04:00
Erez Zukerman 5ef3f05215 Merge pull request #626 from tenderlove/readme-link
fix link to ErgoDox EZ
2016-08-13 20:11:34 -04:00
Felix Uhl 911cc68325 Added all original S60-X keymaps
All keymaps that were included in VinnyCordeiro's repository were ported to QMK.
Main Readme was copied over from VC's repo, slightly altered.
Main Makefile was updated to reflect VC's original configuration.
Small changes in felix keymap.
2016-08-14 00:41:09 +02:00
Nicholas Keene ba7f2b1d3f The Ordinary Layout is the unsurprising layout 2016-08-13 15:53:03 -05:00
Ian Sterling e87506767c Removal of old minivan44 folder. 2016-08-13 10:44:42 -07:00
Ian Sterling 2d0f585e42 Renamed minivan44 to tv44 in all occurrences per wishes of
Jack and Evan.
2016-08-13 10:36:08 -07:00
Gergely Nagy 8bdf745909 process_unicode: Fix set_unicode_input_mode()
In the header, this was defined as `set_unicode_input_mode`, but the
implementation had `set_unicode_mode` for a name. Changed the
implementation to match the header.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-13 10:37:01 +02:00
Toni e0aa216905 Merge remote-tracking branch 'origin/master' into iso_split_rshift
update from Upstream
2016-08-13 09:24:24 +02:00
Ian Sterling c07fe96581 Adding the MiniVan44 aka TheVan 44 by u/evangs to the repo.
Initial Commit.
2016-08-12 23:45:40 -07:00
Xyverz 3bae791372 Update keymap.c 2016-08-12 22:30:01 -07:00
Ian Sterling 458607ee5e Corrections to the Atreus Makefile and updates to my keymap 2016-08-12 22:26:30 -07:00
Aaron Patterson 477f1ad0c8 fix link to ErgoDox EZ
This just fixes the readme link to the ErgoDox EZ directory
2016-08-12 19:15:53 -07:00
Jack Humbert 098951905d forces all ergodox keymaps to be ez on qmk.fm (were infinity) 2016-08-12 20:45:43 -04:00
Callum Oakley 993d72b11f added a lock screen key 2016-08-12 21:05:52 +01:00
Jack Humbert 11d4784d3a Merge pull request #622 from shelaf/master
My HHKB layout
2016-08-12 14:43:04 -04:00
Jack Humbert c6ec63eac3 Merge pull request #621 from shelaf/fix
Fix typo
2016-08-12 14:42:42 -04:00
Toni cafa528b88 only aesthetics 2016-08-12 19:14:48 +02:00
cbbrowne c21a882ec9 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-12 11:17:34 -04:00
Gergely Nagy b98d47abe5 ergodox: Update my keymap to v1.5
Major changes include:

* The **1HAND** layer has been removed.
* A `Delete` key is now available on the right thumb cluster.
* The **ADORE** layer received a major update, see the updated layout
  image.
* It is now possible to enable automatic logging for the **ADORE**
  layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when
  compiling the keymap. It is off by default.
* The `~` key and the `Media Next/Prev` key have been swapped on
  the **base** layer.
* On the **ARROW** layer, `Backspace` has been replaced by `Enter`.
* There is some experimental support for entering Unicode symbols.

Signed-off-by: Gergely Nagy <[email protected]>
2016-08-12 16:36:07 +02:00
shela 11e23fd3fd add new line 2016-08-12 21:45:36 +09:00
shela c9272fee08 add new line 2016-08-12 21:33:32 +09:00
shela 1c8d64d3b3 add my keymap 2016-08-12 21:24:43 +09:00
shela e692ebf86a fix typo 2016-08-12 20:38:26 +09:00
Jack Humbert 97cd7afc32 Merge pull request #618 from denolfe/master
Add denolfe satan keymap
2016-08-11 21:34:34 -04:00
Jack Humbert a0ed238c12 Merge pull request #617 from iFreilicht/patch-2
Fix dead link in keycode.txt
2016-08-11 21:34:09 -04:00
Jack Humbert bad77bf4e9 Merge pull request #614 from iFreilicht/patch-1
Update TMK_README.md
2016-08-11 21:33:55 -04:00
Jack Humbert a087a207f1 Merge pull request #608 from finleye/master
Adds keymap based on Kinesis advantage
2016-08-11 21:32:32 -04:00
Felix Uhl 4725942dc7 Small changes
Enabled Bootmagic and ISO layouts on felix keymap
Added unused pins
2016-08-11 21:49:10 +02:00
Xyverz 71e1bb2e1c Delete keymap.c
Not ready to submit this one just yet.
2016-08-11 11:04:57 -07:00
Xyverz eeade4af84 Update keymap.c
Changed right-hand F-key layout in order to add KC_PLUS to _L2.
2016-08-11 09:48:23 -07:00
Xyverz d1f418d85d Update Makefile
Corrected spelling of "ATREUS" in all locations. (ATRUES -> ATREUS)
2016-08-11 09:46:05 -07:00
Elliot DeNolf 56f86413e0 Add denolfe satan keymap 2016-08-11 09:54:02 -06:00
Felix Uhl 38766dbc82 Minor changes to keymaps
Clarified extra keys
Made ISO-keys non-dead in default layout
Added non-US backslash on felix layout
2016-08-11 09:36:37 +02:00
Felix Uhl a41a53baad Fix dead link in keycode.txt
The link to the HID Usage tables was outdated and dead, so I replaced it.
2016-08-11 09:13:38 +02:00
Felix Uhl aa1a90af66 Added S60-X to keyboards with two layouts. 2016-08-11 00:54:55 +02:00
cbbrowne 83913f9197 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-10 11:36:37 -04:00
Felix Uhl 6975135f54 updated reference
Build setup links to main readme now.
2016-08-10 11:40:51 +02:00
Ian Sterling 0d60355241 Added braces using LSFT(KC_LBRC) and LSFT(KC_RBRC) since the normal RBCR and LBCR didn't work for me. 2016-08-09 23:56:21 -07:00
Ian Sterling 6f700f1eb0 Adding my own layouts for the Phantom and Ergodox. My Ergodox layout adds persistent layers
based on the Planck and Preonic setup. The layout arrays are pulled directly from the
ergodox/ez/ez.h keymap definition starting at line 81.
2016-08-09 23:49:27 -07:00
Callum Oakley 2a160bbbe3 Update keymap. (#616)
* changed order of bottom row of symbol layer to ease acess to brackets

* updated readme.md to reflect keymap changes
2016-08-09 12:33:07 -04:00
Xyverz ca3278cc35 adds Xyverz's keymaps (#615)
* Adding my own keymaps to the following keyboards:

Planck, Preonic, Atreus, Ergodox

* Delete dvorak.png

Not reflective of my layout.

* Delete readme.md

file cleanup, removing file that doesn't apply to my layout.

* Delete old_keymap.c

file cleanup

* Delete README.md

file clean up.

* Delete README.md

file cleanup

* Delete keymap.c

file cleanup

* Changed behavior of _DVORAK layout's KC_RSFT to SFT_T(KC_ENT) for flexibility's sake.
Updated the rest of the keymap to reflect the current (as of 19:37 on 08 Aug 2018) default
layout and default makefile.
2016-08-09 12:31:56 -04:00
cbbrowne 6a618fd44d Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-09 12:10:48 -04:00
Callum Oakley 49fbcb3e7c Merge remote-tracking branch 'upstream/master' 2016-08-09 12:39:59 +01:00
Callum Oakley 725dd7328f updated readme.md to reflect keymap changes 2016-08-09 11:09:52 +01:00
Callum Oakley 5f37b11f2c changed order of bottom row of symbol layer to ease acess to brackets 2016-08-09 11:03:12 +01:00
Ian Sterling 78a6fae453 Merge branch 'master' of https://github.com/Xyverz/qmk_firmware 2016-08-08 19:40:41 -07:00
Ian Sterling 39dd3d674c Changed behavior of _DVORAK layout's KC_RSFT to SFT_T(KC_ENT) for flexibility's sake.
Updated the rest of the keymap to reflect the current (as of 19:37 on 08 Aug 2018) default
layout and default makefile.
2016-08-08 19:35:13 -07:00
Xyverz c062b6a13d Delete keymap.c
file cleanup
2016-08-08 18:52:48 -07:00
Xyverz 4e030313f7 Delete README.md
file cleanup
2016-08-08 18:51:34 -07:00
Xyverz 1493836762 Delete README.md
file clean up.
2016-08-08 18:48:36 -07:00
Xyverz c060afe68e Delete old_keymap.c
file cleanup
2016-08-08 18:47:13 -07:00
Xyverz bf93fa510b Delete readme.md
file cleanup, removing file that doesn't apply to my layout.
2016-08-08 18:46:34 -07:00
Xyverz de1db144d0 Delete dvorak.png
Not reflective of my layout.
2016-08-08 18:44:09 -07:00
Ian Sterling 552399df4c Adding my own keymaps to the following keyboards:
Planck, Preonic, Atreus, Ergodox
2016-08-08 18:34:08 -07:00
skullY adad05c3fb Add support for the cluecard 2016-08-08 16:11:54 -07:00
skullY d561f63bd1 Clueboard: Fix the title in keymaps/skully/readme.md 2016-08-08 13:46:55 -07:00
skullY e85bf50e1a Clueboard: Add some readme.md files and do some minor cleanup. 2016-08-08 13:43:24 -07:00
Corey Finley 76cd7c5444 Adds keymap based on Kinesis advantage 2016-08-08 15:17:10 -04:00
cbbrowne 6ce0195e24 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-08 13:50:01 -04:00
Jack Humbert 55ca218634 Merge pull request #613 from di0ib/master
Convert hex to bin
2016-08-08 12:10:49 -04:00
Jack Humbert 1f4277fe6b Merge pull request #612 from kuel/master
Added file for software implementation of Russian, gave keymap_cyrillic.h a better name.
2016-08-08 12:09:48 -04:00
Jack Humbert a3167bdc09 Merge pull request #609 from sethbc/fix_clueboard_orphaned_files
remove orphaned clueboard files
2016-08-08 12:09:14 -04:00
Jack Humbert 9866c23bff Merge pull request #607 from jeebak/jeebak
Update Jeebak's keymap, w/ KC_COPY, etc. workaround.
2016-08-08 12:07:39 -04:00
Felix Uhl f41c2e6863 Update TMK_README.md
updated link to non-existent build.md file
2016-08-08 17:53:08 +02:00
di0ib 8fab141a02 Convert hex to bin
For flashing via alternative methods like LUFA MassStorage bootloader.
2016-08-07 20:58:59 -10:00
di0ib a36b2a0756 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-08-07 20:20:16 -10:00
JeeBak Kim ef83f1d04f Tap for ;, hold for GUI, tap for ", hold for Alt 2016-08-07 12:44:45 -07:00
JeeBak Kim 3d86e5b7a7 Tap for Tab, hold for Hyper 2016-08-07 11:05:10 -07:00
kuel 2a0121a786 Removed unnecessary comment 2016-08-07 11:07:38 -05:00
kuel c5ee24a6c3 Add keymap_russian.h, a software implementation of Russian
rename keymap_cyrillic.h to keymap_unicode_cyrillic.h
changed CY_RUBLE and CY_NUMERO to CY_RUBL and CY_NMRO in
 keymap_unicode_cyrillic.h
2016-08-07 11:01:12 -05:00
Toni b5fcb5a744 new variant with the curly braces on tab layer 2016-08-07 11:37:28 +02:00
JeeBak Kim 68e287013b Add Tab Close, New, Reopen macros to TouchCursor layer 2016-08-06 13:36:46 -07:00
JeeBak Kim bda4d15ffa Add Virtual Desktop Switching macros to TouchCursor layer 2016-08-06 12:00:37 -07:00
JeeBak Kim 57218827cb Move KC_ACL1 button 2016-08-06 00:08:59 -07:00
JeeBak Kim 96ed96f924 Fix KC_ALT_TAB/KC_CMD_TAB logic 2016-08-06 00:01:12 -07:00
JeeBak Kim 6483a2a04b Mouse layer updates
- Rename to MOUSECURSOR
- Use "d" key, since middle finger is stronger than pinky
- Shuffle some mouse buttons around
2016-08-05 23:32:00 -07:00
Seth Chandler 545925fb1b remove orphaned clueboard files 2016-08-05 23:19:12 -04:00
Toni dcf672223f enterfn / enterisctrl on hold added 2016-08-05 20:53:58 +02:00
JeeBak Kim 36abd4463f Revert swapp of AltTab/CmdTab in readme. Layout did not change 2016-08-04 14:26:03 -07:00
cbbrowne 64e051652b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-08-04 11:10:41 -04:00
JeeBak Kim 7db1d7902b Workaround for KC_COPY, etc. based on current AG_NORM/AG_SWAP setting 2016-08-03 21:21:28 -07:00
JeeBak Kim 9a4e72fa71 Add CmdSlash to TouchCursor Layer 2016-08-03 19:19:18 -07:00
JeeBak Kim 16f4a31784 Number layer tweaks 2016-08-03 19:19:18 -07:00
JeeBak Kim fdd89e7f0d Add Alt-Tab, Cmd-Tab, and Ctl-Tab Macros to TouchCursor layer, swap LGUI and LSFT 2016-08-03 19:19:18 -07:00
JeeBak Kim abc3cd4d72 Update readme.md 2016-08-03 19:19:18 -07:00
kuel 8d8709fb79 Merge pull request #1 from jackhumbert/master
Update
2016-08-03 11:24:29 -05:00
Jack Humbert 213cb2c243 Merge pull request #605 from kuel/master
Add keymap_cyrillic.h, lots of cyrillic characters
2016-08-03 00:11:02 -04:00
Jack Humbert 301e46c529 Merge pull request #599 from Depariel/master
Fixed compiling errors and updated keymaps for infinity_chibios
2016-08-03 00:10:41 -04:00
Jack Humbert e62c588921 Merge pull request #561 from 0xdec/patch-1
Clean up formatting & tiny refactor in rgblight.c
2016-08-03 00:08:02 -04:00
Stephen Christie bf2b260429 Merge branch 'master' of http://github.com/jackhumbert/qmk_firmware 2016-08-02 22:51:30 -04:00
Stephen Christie 0acb394ac4 Moved Insert, PrtSc, Pause to Adjust; Corner enter 2016-08-02 22:32:27 -04:00
kuel c70b276b1b Add keymap_cyrillic.h, lots of cyrillic characters 2016-08-02 14:09:01 -05:00
Erez Zukerman 79a9e04706 Merge pull request #592 from sethbc/ez-sethbc
Ez sethbc
2016-08-02 08:03:09 -04:00
Erez Zukerman 8c52327aa6 Merge pull request #593 from J3RN/master
Updated the J3RN ErgoDox keymap
2016-08-02 08:02:27 -04:00
Erez Zukerman 6eab4ecd7e Merge pull request #600 from adiabatic/master
zweihander-osx: add left-hand-thumb tab key
2016-08-02 08:01:56 -04:00
Jack Humbert 461f973c2b correct file name 2016-08-01 23:46:50 -04:00
Jack Humbert 25f138c0d3 fix mkdir cmd 2016-08-01 22:59:25 -04:00
Erez Zukerman 56aa51664e Updates ErgoDox readme 2016-08-01 21:15:01 -04:00
Stephen Christie 76ef37e72d Corrected Qwerty/Fn Mismatch. 2016-08-01 18:54:25 -04:00
Jack Humbert f422f442cf automatically forward ergodox ez 2016-08-01 14:51:26 -04:00
Jack Humbert bb249fb239 Merge pull request #597 from Jiehong/feature/basic_keyboard_doc
feature: add basic doc about how a keyboard works on USB
2016-08-01 02:25:20 -04:00
Jack Humbert d5baa4773d Merge pull request #596 from fredizzimo/rid_of_quick
Fix the makefile dependencies and remove quick targets
2016-08-01 02:24:53 -04:00
Depariel a675c1aee0 added support for Infinity 1.1a (4th drop) matrix, no LED support yet 2016-07-31 23:12:16 -04:00
Stephen Christie 4b74c90cdb Added quote key. 2016-07-31 22:39:25 -04:00
Nathan Sharfi 07a631bd5a Thumb ⌫ into ⇥, numpad & into :, yank home/end
Also: add (back?) in the light-shine disabler
2016-07-31 14:21:08 -07:00
Nathan Sharfi c2419ffecc Remove /keyboard/* files 2016-07-31 14:10:03 -07:00
Nathan Sharfi d889648d53 Merge branch 'master' of github.com:jackhumbert/qmk_firmware
# Conflicts:
#	keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c
#	keyboard/ergodox_ez/keymaps/zweihander-osx/zweihander-osx.hex
2016-07-31 14:02:25 -07:00
Depariel 0c4177e077 fixed typo in hasu/keymap.c 2016-07-31 15:16:55 -04:00
Depariel ceecb7c819 fixed compiling bugs in infinity_chibios.h, updated keymaps, added depariel keymap 2016-07-31 14:25:25 -04:00
Jiehong Ma d9bef1658e feature: add basic doc about how a keyboard works on USB
This comes from the discussion on #520
2016-07-31 16:49:31 +02:00
Fred Sundvik fda29be3e7 Travis calls the normal build target, instead of quick 2016-07-31 14:18:51 +03:00
Fred Sundvik 87a1a095d0 Fix the readme for the removed quick target 2016-07-31 14:18:00 +03:00
Fred Sundvik a0dc622199 Remove the quick commands and add proper clean 2016-07-31 14:17:32 +03:00
Fred Sundvik d5a947b324 Also depend on the gcc version 2016-07-31 13:49:04 +03:00
Fred Sundvik 97817a773e Generate version information to version.h
So that only the files that really needs a version are recompiled.
2016-07-31 13:42:05 +03:00
Fred Sundvik 84bfb19554 Force compilation and linking when options changes 2016-07-31 13:42:04 +03:00
Fred Sundvik e58e9af2ab More reliable .d file generation
Also generated inside the obj dir instead of separate deps folder.
2016-07-31 13:36:30 +03:00
Fred Sundvik abdf42573a Put the build output inside the root/.build directory 2016-07-31 13:25:49 +03:00
Fred Sundvik f11a0275a8 Enable vpath seraching for source files only 2016-07-31 13:24:25 +03:00
Fred Sundvik 79067662c8 Better "include guards" for the makefiles
Checking for ARCH is not good enough, since some subprojects define it.
Ergodox Ez for example. The leads to running the make from
keyboards/ergodox/ez failing. The keyboard makefile will not be included
in that case, and therefore not the CUSTOM_MATRIX either.

Furthermore the output files are read from many different .build
directories, so it doesn't fail deterministically. For example on the
Travis CI the compilation passes, since there's no outdated objects that
needs recompilation.
2016-07-31 13:22:18 +03:00
Jack Humbert b25dbc484d Merge pull request #594 from jeebak/jeebak
Jeebak's keymap for planck
2016-07-31 01:30:31 -04:00
Jack Humbert 7e000ff476 Merge pull request #590 from jeebak/in-like-flint
Add IN_LIKE_FLINT song
2016-07-31 01:30:09 -04:00
JeeBak Kim 230d313dbd Update readme.md 2016-07-30 17:30:10 -07:00
JeeBak Kim a2ed7ce795 Add additional shortcut keymaps to TOUCHCURSOR layer 2016-07-30 12:52:51 -07:00
JeeBak Kim db8ad8204e Add additional maps for [, and ], to LOWER 2016-07-30 12:52:51 -07:00
JeeBak Kim b54a58859f Make RAISE layer an all numbers/arithmatic layer 2016-07-30 12:52:51 -07:00
JeeBak Kim 216efe6c99 Move reset to a less accessible location 2016-07-30 12:52:51 -07:00
JeeBak Kim e0dd9d6af0 Add -, +, and . to RAISE 2016-07-30 12:52:51 -07:00
JeeBak Kim 6a2c681ae9 Change calls from persistant_default_layer_set() to default_layer_set() 2016-07-30 12:52:51 -07:00
JeeBak Kim eb9416a67d PrintScreen and RGUI replace BACKLIT and Ctrl. Move BACKLIT to LOWER/RAISE layers 2016-07-30 12:52:46 -07:00
Jonathan Arnett 1876e100be Updated readme with recent changes 2016-07-30 14:37:54 -04:00
Jack Humbert 17bd4ac062 Updated my keymap 2016-07-30 14:07:27 -04:00
JeeBak Kim 984fc2b630 Media keys for all the "regular" layers 2016-07-30 10:13:50 -07:00
JeeBak Kim 7209310d1b Add mouse layer, and remove default arrow keys (touchcursor only, now) 2016-07-30 10:13:50 -07:00
JeeBak Kim a6bae9fb07 Add numbers to _RAISE 2016-07-30 10:13:49 -07:00
JeeBak Kim 6baf77d8fb Move _RAISE symbols to _LOWER 2016-07-30 10:13:49 -07:00
JeeBak Kim ad7e4af45c Tap for Enter, hold for Shift 2016-07-30 10:13:49 -07:00
JeeBak Kim b5d77440b6 Add personalized TouchCursor layer 2016-07-30 10:13:49 -07:00
JeeBak Kim eb1a06d3ae Tap for Esc, hold for Control 2016-07-30 10:13:44 -07:00
Seth Chandler a6ec5fa74a rebase 2016-07-30 10:46:13 -04:00
Seth Chandler 694567f799 update makefile 2016-07-30 10:42:57 -04:00
Seth Chandler a01d703a58 initial commit of sethbc keymap 2016-07-30 10:42:57 -04:00
JeeBak Kim 7d0345ef25 Add IN_LIKE_FLINT song 2016-07-30 01:52:33 -07:00
JeeBak Kim f78a994355 Add "jeebak" keymap folder as a copy of the "default" folder 2016-07-30 00:16:04 -07:00
Jack Humbert 7775f3e4b3 Merge pull request #589 from algernon/h/ergodox_ez-vs-ergodox
Update some obsolete references
2016-07-30 02:53:29 -04:00
Gergely Nagy 8a9bf1f165 Update some obsolete references
Some links were still pointing to `/keyboards/ergodox_ez`, while the
directory is `/keyboards/erdogox` now.

Not all references have been updated, and some of the text here and
there may need updating to mention the ErgoDox Infinity too, but that's
out of the scope for this quick fix.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-30 08:37:30 +02:00
Stephen Christie 5f2d3f27de Moved CapsLk, ScrollLk, and NumLk to Adjust layer 2016-07-30 00:56:43 -04:00
Jack Humbert 0b7557b60f Merge pull request #587 from fredizzimo/documentation_quick_fix
Fix the quick aliases documentation section
2016-07-29 22:33:29 -04:00
Jack Humbert 063983639d Merge pull request #503 from fredizzimo/ergodox_subproject
Add both Ergodox EZ and Infinity Ergodox as sub-projects of Ergodox
2016-07-29 22:32:27 -04:00
Fred Sundvik 7d55951050 Fix the quick aliases documentation section
Also move all keyboard customization documentation under the
"Going Beyond the keycodes" heading.
2016-07-29 22:47:35 +03:00
Fred Sundvik 566c79554e Small fix for infinity include guard 2016-07-29 21:09:42 +03:00
Fred Sundvik 6e8a5aca9d Fix typo in the readme. 2016-07-29 21:09:41 +03:00
Fred Sundvik 401dd09077 A couple of more Ergodox readme fixes 2016-07-29 21:09:40 +03:00
Fred Sundvik c65da1f208 Unify the ErgoDox EZ and Infinity documentation 2016-07-29 21:09:39 +03:00
Fred Sundvik 44cefcb40a Refer to the right path in the readme 2016-07-29 21:09:38 +03:00
Fred Sundvik 349f189e83 Move Ergodox readme from ez subfolder to parent 2016-07-29 21:09:37 +03:00
Fred Sundvik ad416fb1a3 Include the main Makefile before including Ergodox infinity drivers 2016-07-29 21:09:37 +03:00
Fred Sundvik 592ef7c6f0 Move Infinity Ergodox drivers to subproject, and fix makefile 2016-07-29 21:09:36 +03:00
Fred Sundvik 37052a53f1 Remove the Infinity Ergodox default keymap 2016-07-29 21:09:35 +03:00
Fred Sundvik 650298cec3 Cleanup the townk_osx config.h and make files 2016-07-29 21:09:34 +03:00
Fred Sundvik fd7f20b029 Rename supercoder config_user to config.h
Also fixup the include path of parent config
2016-07-29 21:09:33 +03:00
Fred Sundvik 426e9ecc6f Fix config.h include guards 2016-07-29 21:09:32 +03:00
Fred Sundvik a6577b272e Define weak matrix user function for Infinity Ergodox
So that a few keyboards, which don't use them, links properly.
2016-07-29 21:09:31 +03:00
Fred Sundvik bf1c865c7a Speed up ChibiOS keymap compilation
By sharing the external library object files between the whole
keyboard, instead of re-compiling them for each keymap.
2016-07-29 21:09:30 +03:00
Fred Sundvik 1641743b9d Change _delay_ms to wait_ms in algernon keymap 2016-07-29 21:09:21 +03:00
Fred Sundvik e7670f6d19 Move some of the Ergodox config settings to shared 2016-07-29 20:48:22 +03:00
Fred Sundvik e0f28c2b10 Add empty led control functions to Infinity Ergodox
So that most keymaps compiles and links
2016-07-29 20:48:21 +03:00
Fred Sundvik e01b4c3fd9 Most ergodox keymaps compiles on Infinity
There are linker errors due to missing led funcitonality though
2016-07-29 20:48:20 +03:00
Fred Sundvik b0376687f4 All Ez keymaps compiles 2016-07-29 20:48:19 +03:00
Fred Sundvik 9af995c59b Initial structure for Ergodox as subprojects
Only the EZ default keymaps compiles at the moment though.
2016-07-29 20:48:04 +03:00
Erez Zukerman 30003d48f9 Merge pull request #584 from algernon/ergodox-ez/algernon
ergodox_ez: Upgrade my keymap to v1.4
2016-07-29 08:11:37 -04:00
Erez Zukerman 64e76f6ed3 Merge pull request #583 from coderkun/coderkun_neo2
Ergodox EZ: update keymap “coderkun_neo2”
2016-07-29 08:10:46 -04:00
Erez Zukerman 3c235b4bf9 Merge pull request #580 from MatsLanGoH/patch-1
Fixed a typo
2016-07-29 08:09:05 -04:00
Gergely Nagy f82437f08e ergodox_ez: Upgrade my keymap to v1.4
* When toggling the key logging on or off, the LEDs will do a little dance.
* The keylogger is now optional, but enabled by default. Use `KEYLOGGER_ENABLE=no` on the `make` command line to disable it.
* The `TAB`/`ARRW` key was turned into a tap-dance key, allowing one to toggle the **ARROW** layer on by double-tapping, and as such, avoid the need to hold the key.
* The `-`/`_` key was turned into a tap-dance key too.
* There is now a way to travel time with the keyboard, toggle the feature on by hitting `LEAD t`.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-29 12:24:33 +02:00
coderkun 3ace37271b disable sleep LED 2016-07-29 11:28:37 +02:00
coderkun 70755d6614 complete labels for modifiers in keymap schema 2016-07-29 11:07:50 +02:00
coderkun 08239aadea use Ergodox EZ’s third LED for “scroll lock” 2016-07-29 11:07:50 +02:00
coderkun 61fbb47eb6 fix grave (GRV) and acute (ACUT) accents 2016-07-29 11:06:18 +02:00
Stephen Christie c018743729 Connected all layers through Adjust layer 2016-07-29 00:08:48 -04:00
Matthias e8f7038959 Fixed a typo
Fixed a typo in line 738 'void martix_init' to 'void matrix_init'
2016-07-29 10:02:59 +09:00
Jack Humbert 7559edc6e6 Merge pull request #578 from 0xdec/master
0xdec Preonic keymap
2016-07-28 16:34:34 -04:00
Jack Humbert 9b5edbdce9 Merge pull request #577 from hot-leaf-juice/master
Pull request to include my keymap if you want it!
2016-07-28 16:34:16 -04:00
Jack Humbert 16f8426fe2 Merge pull request #573 from algernon/f/make-all-stop-on-error
tmk_core/rules.mk: Make PRINT_ERROR* stop on error
2016-07-28 16:32:37 -04:00
Jordi Orlando 3b39910cb9 Create 0xdec Preonic keymap
An ergonomically optimized Colemak keymap for the grid-layout Preonic
2016-07-28 14:36:20 -05:00
Stephen Christie 6567fa1ebe Fixed Function keys (Impossible layout) 2016-07-28 14:57:45 -04:00
Stephen Christie a4e5a4d566 Modified Qwerty, created Qwerty with numbers 2016-07-28 13:49:25 -04:00
Christopher Browne 2d59c97ec1 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-28 12:42:21 -04:00
Jack Humbert 80667e898a Merge pull request #572 from algernon/f/tap-dance-debug
tap-dance: Add some debugging support
2016-07-28 12:28:30 -04:00
Jack Humbert e5ac0e8369 Merge pull request #570 from sethbc/fix_bone2planck_build
Fix bone2planck build
2016-07-28 12:27:46 -04:00
Jack Humbert a6d279a343 Merge pull request #569 from sethbc/fix_stanleylai_warnings
kill warnings filling up travis buildlog
2016-07-28 12:27:11 -04:00
Jack Humbert 36df9fd3fd Merge pull request #568 from sethbc/fix-colemak-osx-pc-no
update NO_AMP to NO_AMPR
2016-07-28 12:26:43 -04:00
Jack Humbert f96a2a74ea Merge pull request #566 from SmackleFunky/master
Allow toggling out of plover layer
2016-07-28 12:26:11 -04:00
Jack Humbert 9171ce1d17 Merge pull request #559 from Talljoe/fix-compiler-warning
Fix compiler warning when PREVENT_STUCK_MODIFIERS is enabled.
2016-07-28 12:24:42 -04:00
Jack Humbert 8d98f37fbb Merge pull request #564 from mazinbokhari/master
Move to keyboards
2016-07-28 12:24:03 -04:00
Callum Oakley 1eeceee355 Added readme.md for custom layout. 2016-07-28 12:15:55 +01:00
Toni 684d869fab added homerow-ish brackets 2016-07-28 11:58:53 +02:00
Callum Oakley 9822b9f743 Added custom keymap.
Added custom keymap.
2016-07-27 21:18:19 +01:00
Toni 6ff8a81520 first try ar adding the parenthesis mess for german iso 2016-07-27 21:11:55 +02:00
Toni 9f21c0aa06 Merge remote-tracking branch 'origin/master' into iso_split_rshift
merge with master
2016-07-27 20:35:13 +02:00
Christopher Browne 911d0a040e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-27 12:57:54 -04:00
Gergely Nagy b21e8b97ac tap-dance: Add some debugging support
Signed-off-by: Gergely Nagy <[email protected]>
2016-07-27 14:49:19 +02:00
Gergely Nagy dd77054790 tmk_core/rules.mk: Make PRINT_ERROR* stop on error
Instead of `&& false`, explicitly `exit 1` to make the rules using these macros
fail. This fixes #571, and likely breaks Travis badly.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-27 08:53:05 +02:00
Seth Chandler 180a3da44d remove unnecessary includes 2016-07-27 02:32:15 -04:00
Seth Chandler 95ef3f864e fix numerous errors in bone2planck keymap 2016-07-27 02:30:17 -04:00
Seth Chandler 368d0bdf68 kill warnings filling up travis buildlog 2016-07-27 02:21:09 -04:00
Seth Chandler 13bb3a7379 update NO_AMP to NO_AMPR 2016-07-27 02:06:19 -04:00
SmackleFunky fdd07991de Allow toggling out of plover layer 2016-07-27 04:44:24 +00:00
Mazin Bokhari 3fd1c9d72b Move to keyboards 2016-07-26 22:43:04 -05:00
Stephen Christie 57952949fe General table cleanup. 2016-07-26 23:33:21 -04:00
Erez Zukerman 93f366fa7d Merge pull request #562 from michaelklos/doc
Added Tap Dance Example
2016-07-26 21:54:10 -04:00
Erez Zukerman 685c8ba64c Merge pull request #533 from mazinbokhari/master
Add my layout optimized for working in emacs, vim, command line, etc.
2016-07-26 21:52:39 -04:00
Michael Klos 7e69de061a Added Tap Dance Example
Added (simple) Tap Dance example implementation steps.
2016-07-26 18:41:35 -04:00
Stephen Christie ff8136b883 Modified Plover layer for Impossible's home position. 2016-07-26 17:39:21 -04:00
Stephen Christie 465cf08c63 Removed unused layers (keeping QWERTY for later/reference) 2016-07-26 17:37:56 -04:00
Stephen Christie fb2a7d787a Removed unused layers (left QWERTY for later use/reference) 2016-07-26 17:29:19 -04:00
Christopher Browne 2a349e96bb Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-26 16:35:44 -04:00
Jordi Orlando ea2d2f5d58 Simplify HSV->RGB calculation
De-dupe repeated code
2016-07-26 15:31:22 -05:00
Jack Humbert b66131eeb5 disable midi by default 2016-07-26 15:59:26 -04:00
Jordi Orlando 899c88cd8b Increament -> increment 2016-07-26 14:46:30 -05:00
Jordi Orlando 3a860c4bc2 Clean up rgblight.c
Fix formatting issues, clarify comments
2016-07-26 14:43:45 -05:00
Jason Janse van Rensburg a41a7a9100 include base config.h instead of copying it 2016-07-26 16:19:34 +02:00
Jason Janse van Rensburg 8244fa40cc added config.h, and missing Ins of filpped navigation layer 2016-07-26 14:58:17 +02:00
erlo muvman 26510e6de8 Delete default.png 2016-07-25 20:16:11 -05:00
erlo muvman 3779e1988e Delete default_highres.png 2016-07-25 20:16:07 -05:00
erlo muvman 97efac0f1c Update readme.md 2016-07-25 20:14:19 -05:00
erlo muvman 6e2d7ebd80 Update readme.md 2016-07-25 20:12:48 -05:00
erlo muvman 048e8b7849 Update readme.md 2016-07-25 20:06:58 -05:00
Jason Janse van Rensburg 27d27b179b Merged branch master into bone2planck 2016-07-25 22:55:28 +02:00
Jason Janse van Rensburg 3e462fac31 added missing F keys in flipped layer 2016-07-25 20:21:32 +02:00
Christopher Browne 17a7570e08 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-25 12:55:46 -04:00
Jack Humbert f9aadd17e8 Merge pull request #558 from lindhe/master
Fix misspelled command in Norwegian helper
2016-07-25 11:16:54 -04:00
Andreas Lindhé 283ebbe142 Change Nordic ampersand code to match the English
Changed from "NO_AMP" to "NO_AMPR" since the KC one is "KC_AMPR"
2016-07-25 12:50:56 +02:00
Toni 5e2e8c89e8 Merge remote-tracking branch 'origin/master' into iso_split_rshift
whatever
2016-07-25 12:49:38 +02:00
Andreas Lindhé b6fa762234 Fix misspelled command in Norwegian helper 2016-07-25 11:29:54 +02:00
Jack Humbert 8b94e26d7c Fixes midi functionality 2016-07-24 22:07:43 -04:00
Jack Humbert 4aa7d2e206 Merge pull request #554 from robertdale/music-recording-documentation
Added music recording/playing doc
2016-07-24 21:58:23 -04:00
Jack Humbert 24bd931962 Merge pull request #552 from robertdale/music-play-fix
Fixes issue #551 - ensure there's a recording to play before playing
2016-07-24 21:58:01 -04:00
Jack Humbert 41f15d8c34 Merge pull request #550 from Darthabel/fix_bepo
Fix some errors in bepo mapping
2016-07-24 21:57:38 -04:00
Jack Humbert 46f84157ce Merge pull request #549 from locksmithdon/patch-1
Added LEADER_EXTERNS() call to readme.
2016-07-24 21:57:15 -04:00
Jack Humbert 670327f1d0 Merge pull request #548 from CommandLineDesign/CMD-Preonic
CMD keymap for Preonic
2016-07-24 21:56:50 -04:00
Jack Humbert 384d9cd6bb Merge pull request #546 from sethbc/satan-cleanup
Satan cleanup
2016-07-24 21:56:23 -04:00
Erez Zukerman 4885225159 Merge pull request #534 from willwm/teckinesis
Teckinesis for ErgoDox EZ
2016-07-24 18:04:59 -07:00
Will Wolff-Myren f4cb84c940 Remove images, per @ezuk request. =) 2016-07-24 14:33:17 -07:00
Joe Wasson f9956c2aac Fix compiler warning when PREVENT_STUCK_MODIFIERS is enabled. 2016-07-24 12:56:28 -07:00
Erez Zukerman 1e944a4991 Merge pull request #542 from algernon/f/hold-the-dance
Tap-dance: support for holding keys
2016-07-24 11:36:05 -07:00
Erez Zukerman 36f2e22283 Merge pull request #535 from algernon/ergodox-ez/algernon
ergodox_ez: Update my keymap to v1.3
2016-07-24 11:34:33 -07:00
Robert Dale 812007a241 added music recording/playing doc 2016-07-24 10:23:33 -04:00
Robert Dale 3ea738e450 ensure there's a recording to play before playing; also enables the LGUI button to play a tone 2016-07-24 10:00:39 -04:00
Vivien Alger 7b4d30ee50 Fix some errors in bepo mapping 2016-07-24 10:57:49 +02:00
Don Smith a4034b75c0 Added LEADER_EXTERNS() call.
This seems to be needed in most cases.
2016-07-24 19:18:22 +12:00
Jonathan Lucas e6a41e43aa Updated Readme 2016-07-23 21:26:01 -07:00
commandlinedesign c826bcfc39 Did a derp and forgot to set Trans on Arrow layer 2016-07-23 21:08:00 -07:00
commandlinedesign 4480a74a4b Arrow key fn layer shouldnt overwrite Ctrl key. Better Print Screen position 2016-07-23 21:02:23 -07:00
Jason Janse van Rensburg 4e0bf283f6 added readme 2016-07-24 05:11:07 +02:00
commandlinedesign c1fb82623c Tested, resolved Mouse issue, resolved numpad issue 2016-07-23 20:02:45 -07:00
Jason Janse van Rensburg 1bfd57e234 moved insert 2016-07-24 05:02:06 +02:00
Jason Janse van Rensburg 58f092cf87 moved ctrl 2016-07-24 04:52:35 +02:00
commandlinedesign fbafb9449e Resolved errors 2016-07-23 19:32:02 -07:00
Jason Janse van Rensburg 34bce6f206 fixed stupid errors 2016-07-24 04:08:40 +02:00
Jason Janse van Rensburg 62d4ce73ec Merged branch master into bone2planck 2016-07-24 04:08:01 +02:00
Jonathan Lucas 9b3708f830 Init Readme
This needs a better description.
2016-07-23 18:52:52 -07:00
Jonathan Lucas 3c7075011b Create Makefile
This is untested, use caution.
2016-07-23 18:50:41 -07:00
Jonathan Lucas b5761df57b Create CMD-Preonic Keymap
This is very Alpha-Mode, and has not been tested or even Made yet.
2016-07-23 18:47:36 -07:00
Jonathan Lucas 4059a16118 Merge pull request #1 from jackhumbert/master
Update from parent
2016-07-23 18:44:01 -07:00
Seth Chandler 75f0922711 fix typo in readme and satan.h 2016-07-23 20:55:20 -04:00
Seth Chandler ef533be2d6 cleanup default layout 2016-07-23 20:52:27 -04:00
Seth Chandler 81fe3d962c update sethbc keymap 2016-07-23 20:37:41 -04:00
Stephen Christie 723857bf8a Table for Fn
layer.
2016-07-22 18:19:07 -04:00
Stephen Christie a39eaa7fb5 Switched to natural arrows, put ENTER on middle Fn, swapped Shift and CTRL. 2016-07-22 17:46:23 -04:00
Toni 5631f1436c converted funtions to QMK aliases 2016-07-22 11:17:57 +02:00
Gergely Nagy 13385f5691 readme.md: Update the tap dance docs
Signed-off-by: Gergely Nagy <[email protected]>
2016-07-22 09:10:17 +02:00
Gergely Nagy fca34e2ad6 readme.md: algernon is strictly lowercase
Signed-off-by: Gergely Nagy <[email protected]>
2016-07-22 09:10:17 +02:00
Gergely Nagy 44e16ffc80 tap-dance: Code cleanup
Removes a number of duplicated code, by passing actions around instead
of keycodes, so the various dance action functions do not have to look
up the action, but the caller does that for them.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-22 09:10:17 +02:00
Gergely Nagy ce8cc9219f tap-dance: Support user_data for the callbacks
Refactored the code a little, so all callbacks now receive a `user_data`
pointer, which can be anything. As an example, the key pairs from
`ACTION_TAP_DANCE_DOUBLE` now use this, and custom, built-in functions.

This makes it easier to extend the tap dance functionality, and also
simplifies the code a little.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-22 09:10:17 +02:00
Gergely Nagy 70e42489de tap-dance: Support for holding keys
With this change, tap dance will now store the pressed state of the
tap-dance key, and allow one to make an action sooner, while the key is
still held, and only unregister when the key is released.

The registration must happen in the `on_dance_finished` callback, while
unregistering goes to `on_reset`. The surrounding code makes sure not to
call either multiple times.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-22 09:10:17 +02:00
Toni 197244e47f more cosmetic changes (whitespace) 2016-07-22 08:14:08 +02:00
Toni c1f014b1dd purely cosmetic changes 2016-07-22 08:13:06 +02:00
Jack Humbert 8e1d96983a Merge pull request #543 from VoodaGod/bone2planck
updated bone2planck
2016-07-21 21:29:54 -04:00
Jack Humbert 66fed12c98 Merge pull request #541 from milestogo/master
initial kinisis advantage build
2016-07-21 21:05:06 -04:00
Jack Humbert 5249b4451c Merge pull request #540 from replicaJunction/feature-atreus-keymapFunction
Adjusted Atreus KEYMAP() function.
2016-07-21 21:04:45 -04:00
Jack Humbert fb0bba5981 Merge pull request #538 from robertdale/preonic-map-correction
Preonic: Corrected the ascii layout to match the coded layout
2016-07-21 21:03:56 -04:00
Jack Humbert d5d2eb8b5a Merge pull request #536 from pvinis/debug-doc
add some debugging doc, after i found out how to print debug messages
2016-07-21 21:02:37 -04:00
Jack Humbert 6f9f9baff4 Merge pull request #530 from sethbc/master
Misc. fixes from sethbc
2016-07-21 21:01:35 -04:00
Jack Humbert 26546f995f Merge pull request #529 from CommandLineDesign/CMD60-newKeymap
Added CMD60 keymap
2016-07-21 20:59:02 -04:00
Jack Humbert 2bed835a33 Merge pull request #525 from edasque/master
Added Docker as a simple way to build firmwares
2016-07-21 20:58:39 -04:00
Jack Humbert fc9f128648 Merge pull request #522 from exiva/extrakey-macfix
Fix OS X Recognizing keyboard as Mouse/Tablet
2016-07-21 20:57:54 -04:00
Jack Humbert fc4ab870f5 Merge pull request #521 from exiva/makefile-wait
Make DFU wait for bootloader
2016-07-21 20:57:32 -04:00
Jack Humbert 940358ed4f Merge pull request #518 from jakllsch/upstream
keymap_extras changes
2016-07-21 20:56:54 -04:00
Jack Humbert 62a6d3a6f5 Merge pull request #516 from pvinis/tap-dance-anyway
Tap dance anyway
2016-07-21 20:56:24 -04:00
Stephen Christie eeb100f87d First draft of the 'impossible' layout. 2016-07-21 18:19:08 -04:00
milestogo 24e4e6dd18 adding traveller keyboard 2016-07-20 21:12:00 -07:00
Jason Janse van Rensburg b0e9dbecee fixed include paths 2016-07-20 17:05:23 +02:00
Jason Janse van Rensburg 32f5b34ad2 reformat 2016-07-20 16:58:10 +02:00
Jason Janse van Rensburg 3d7244e604 updated bone2planck 2016-07-20 16:42:09 +02:00
milestogo 1984861338 initial kinisis advantage build 2016-07-19 22:35:38 -07:00
Joshua T 8ee9c486fd Adjusted Atreus KEYMAP() function.
This change adjusts the KEYMAP() function to provide a more visual representation of the key positions on the keyboard. Previously, keymaps have been defined directly using arrays for the Atreus keyboard. While this works, it doesn't utilize the helpful KEYMAP() function at all to allow the user to visually position the key codes for ease of editing. See the Ergodox-EZ KEYMAP() function and layouts for a great example of how this can work.

This change should not break any existing Atreus layouts. At the time of this commit, there are two existing layouts for the Atreus board, and neither use the KEYMAP() function.
2016-07-19 17:46:03 -05:00
Pavlos Vinieratos 4e6a8627d8 add a couple of comments 2016-07-19 18:18:57 +02:00
Pavlos Vinieratos d5daec2a58 on_each_tap_fn is called on tap down and tap up 2016-07-19 18:18:57 +02:00
Pavlos Vinieratos 2e815ad9a2 add link to hid_listen 2016-07-19 17:34:23 +02:00
Robert Dale 9c26498f49 added Midi On/Off; Enter is actually transparent 2016-07-19 08:43:41 -04:00
Robert Dale 47223ebee4 Corrected the ascii layout to match the coded layout 2016-07-19 08:00:03 -04:00
Toni 5cd6d607fc changed ctrl back to enter. "j" interfered with my vimming 2016-07-19 09:17:31 +02:00
Toni 1988c180e3 small cosmetic change 2016-07-19 09:16:55 +02:00
Pavlos Vinieratos 6eb21d2680 add some debugging doc, after i found out how to print debug messages 2016-07-19 00:07:50 +02:00
Pavlos Vinieratos d8a979b6d5 add a bit of documentation 2016-07-19 00:01:11 +02:00
Pavlos Vinieratos dda2fd6ff3 in the default case, it should be called if there is actually a tap
dance happening, and in the normal case, it should be called when the
tap down is happening.
2016-07-18 23:34:02 +02:00
Christopher Browne 82f768e6c0 Notes about changes 2016-07-18 16:07:00 -04:00
Toni 4b32a161d0 renamed keymap 2016-07-18 10:50:45 +02:00
Toni 36242d5ac5 reduced makefile size. not so much needed due to "inheritance" 2016-07-18 10:50:19 +02:00
Gergely Nagy 53eb36c085 ergodox_ez: Update my keymap to v1.3
This updates my ErgoDox EZ layout to v1.3, which has the following
noteworthy changes:

* Added support for logging keys, by pressing `LEAD d`. Also included is
  a tool to generate a **heatmap** out of the logs.
* The arrow and navigation keys were rearranged again, and now require
  an additional key being held to activate. See the **base layer** for
  an image that shows where arrows are.
* The **experimental** layer has been redone, and is now
  called **ADORE**, and as such, can be enabled by `LEAD a` now.
* Switching between Dvorak and ADORE is now persisted into EEPROM, and
  survives a reboot.

Signed-off-by: Gergely Nagy <[email protected]>
2016-07-18 08:57:30 +02:00
Will Wolff-Myren 3c4620bf81 Update readme.md
* Markdown cleanup
2016-07-17 15:08:04 -07:00
Will Wolff-Myren 8fb4074578 Update readme.md
* Updated layout images, json from Keyboard Layout Designer
* Added links to Keyboard Layout Designer templates.
* Added images of TECK, Kinesis layouts.
2016-07-17 15:04:50 -07:00
Will Wolff-Myren ea2b1670f6 Update description comment. 2016-07-17 14:56:37 -07:00
Will Wolff-Myren 5bf40bfb36 [MEDIA]: Remove Power, Sleep, Mail, MyComp
I kept hitting these on accident while attempting to move the cursor or
mouse. =P
2016-07-17 14:19:22 -07:00
Will Wolff-Myren ecc0fce210 [BASE]: Meh, Hyper now have symbols on both sides
Left: MEH_T(KC_BSLS),ALL_T(KC_SLSH)
Right: ALL_T(KC_LBRC),MEH_T(KC_RBRC)
2016-07-17 14:16:31 -07:00
Toni 11bf8355cf new modifier "J" is crtl 2016-07-17 23:13:49 +02:00
Will Wolff-Myren e9453b3fdc Update Base Layer comment to match new layout. 2016-07-17 14:08:22 -07:00
Will Wolff-Myren 11f8d167ec [BASE]: KC_MINS -> KC_GRV 2016-07-17 14:07:14 -07:00
Will Wolff-Myren e900c39669 RSpec: KC_EQL -> KC_MINS 2016-07-17 14:01:41 -07:00
Will Wolff-Myren 973ea2f917 LSpec: KC_GRV -> KC_EQL 2016-07-17 13:58:43 -07:00
Mazin Bokhari b9102b4bfa Update readme. My layout optimized for emacs & vim 2016-07-17 15:57:23 -05:00
Mazin Bokhari 964c064123 Update readme. My layout optimized for emacs & vim 2016-07-17 15:53:42 -05:00
Will Wolff-Myren abe8bfa3a6 Update .gitignore to include VSCode setting. 2016-07-17 13:50:36 -07:00
Mazin Bokhari 6cd2b48fed Merge branch 'master' of https://github.com/mazinbokhari/qmk_firmware 2016-07-17 15:35:05 -05:00
Mazin Bokhari 1336b0198c Add caps lock; sucks that there is no light for it... 2016-07-17 15:32:53 -05:00
Mazin Bokhari cb25f1ad93 Remove more keys 2016-07-17 14:56:32 -05:00
Mazin Bokhari cfa5a475d0 Move dot in symbol layer 2016-07-17 14:44:37 -05:00
Mazin Bokhari 7a5b7233f2 Move modifier kyes around 2016-07-17 14:43:21 -05:00
Mazin Bokhari 266eacc9ec Remove more unnecessary buttons 2016-07-17 14:29:37 -05:00
Mazin Bokhari 76b5dc84af Add page up/down and home/end to arrow 2016-07-17 14:11:08 -05:00
Mazin Bokhari f83591cff0 Change visual 2016-07-17 14:02:46 -05:00
Mazin Bokhari 742d6dbdc2 Reorganize media keys 2016-07-17 13:55:10 -05:00
Mazin Bokhari ec505d07d2 Remove unnecessary modifiers 2016-07-17 13:35:47 -05:00
Mazin Bokhari d7b1cee2df Edit visual keymap 2016-07-17 13:19:11 -05:00
Mazin Bokhari f76f5af853 Add arrow keys to layer 2016-07-17 13:14:04 -05:00
Mazin Bokhari 6dc5aba315 Minor changes 2016-07-17 13:09:54 -05:00
Mazin Bokhari 8c8f2f898b Add empty arrow layer, reorder some keys in media, map layer keys 2016-07-17 13:02:54 -05:00
Seth Chandler d40d18ab1a don't believe the hex files are posted to qmk.fm 2016-07-17 10:37:45 -04:00
Toni db7aa91e76 helper file for me to stay up-to-date with master 2016-07-17 15:10:14 +02:00
Toni de96513ff2 changes needed for a ISO satan PCB including a split right-shift key 2016-07-17 14:57:56 +02:00
Seth Chandler f6aeaac5b5 update more non-existent readmes for QMK.fm 2016-07-17 03:53:34 -04:00
Seth Chandler 0a2653bac8 update broken link 2016-07-17 03:38:53 -04:00
Seth Chandler 68b1affbbd update audio links 2016-07-17 03:32:02 -04:00
Seth Chandler 45414fed7b update tmk link 2016-07-17 03:28:48 -04:00
Seth Chandler a95ab37162 update link to Vagrant docfile 2016-07-17 03:24:36 -04:00
Seth Chandler 38508180c7 update readmes in certain directories to work with qmk.fm 2016-07-17 03:24:00 -04:00
Pavlos Vinieratos d3091faf36 change naming, and remove extraneous definition 2016-07-17 08:28:03 +02:00
Seth Chandler 6289332759 add custom makefile for sethbc keymap 2016-07-16 23:52:02 -04:00
Seth Chandler f954223749 update makefile to default to no virtual dip switches 2016-07-16 23:51:27 -04:00
Seth Chandler dddaebfa98 update readme images 2016-07-16 23:41:20 -04:00
Jonathan Lucas 2877b858d3 Fix erroneous character
Must have been keeb testing :)
2016-07-16 20:38:55 -07:00
Jonathan Lucas f13f48a35e Added CMD60 keymap 2016-07-16 20:24:14 -07:00
Pavlos Vinieratos f3b56701ed add an anyway and a reset callback
when using tap dance, we have the `regular` callback that is called on
the last tap. this commit adds an `anyway` callback that is called on
every tap, and a `reset` callback that is called on reset of the tap
dance taps.
2016-07-16 00:04:12 +02:00
Pavlos Vinieratos 1a7e954f9f in case its NULL 2016-07-16 00:04:12 +02:00
Erik Dasque aa2a79bbfa Further simplyfying the docker usage
We'll be able to change the image user name if we set up the initial repo to trigger Docker images rebuilds on hub.docker.com
2016-07-15 13:26:34 -04:00
Erik Dasque 0446263935 Adding Docker build system & documentation 2016-07-15 12:55:40 -04:00
Christopher Browne ba0d81f270 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-15 11:19:52 -04:00
Travis La Marr d48a4cf1eb Fix OS X Recognizing keyboard as Mouse/Tablet
Modified the LUFA USB HID Descriptor to change the logical/usage
minimums for System Control from 0x01 (Mouse) to 0x81 (System Power
Down), this fixes OS X recognizing the Planck as having a mouse and
tablet, even with mousekeys off.
2016-07-15 10:41:32 -04:00
Travis La Marr 0b8c448b30 Make DFU wait for bootloader
Added a loop for waiting for the keyboard to be put in bootloader mode,
rather than failing out. Makes building keymaps easier.
2016-07-15 10:28:23 -04:00
Jonathan A. Kollasch 4278d88615 keymap_dvorak.h: add missing shifted keys, fix whitespace 2016-07-14 11:32:43 -05:00
Jonathan A. Kollasch 25938a09a6 extra_keymaps: use RALT() instead of 0x1400 for AltGr 2016-07-14 11:13:35 -05:00
Jonathan A. Kollasch 010dd13084 keymap_extras: add newline at end of files 2016-07-14 11:10:05 -05:00
Jack Humbert 9ecf9073b9 Merge pull request #489 from Skrymir/master
New ergodox-ez layout
2016-07-14 10:59:23 -04:00
Jack Humbert 8bbbbcddf9 Merge pull request #515 from pvinis/reset-function
extract reset keyboard into a function
2016-07-14 10:53:51 -04:00
Will Wolff-Myren 76469ebbcf Replaced ordinary-media.{png|json} with new media layout 2016-07-14 01:22:15 -07:00
Will Wolff-Myren 1b776f0f33 Replaced ordinary-symbol.{png|json} with new base layout. 2016-07-14 01:03:45 -07:00
Will Wolff-Myren b587245430 Replaced ordinary-base.{png|json} with new base layout. 2016-07-14 00:39:01 -07:00
Will Wolff-Myren 825aead3bd Replaced readme.md with stub
(incl. reference to original layout)
2016-07-14 00:38:00 -07:00
Will Wolff-Myren 8f3cdea357 Created "teckinesis" keymap folder
(Based on "ordinary" keymap by Nicholas Keene)
2016-07-13 13:17:55 -07:00
Pavlos Vinieratos a28a6e5b79 extract reset keyboard into a function
that makes it easy to call reset_keyboard() from a function in a keymap
2016-07-13 16:38:02 +02:00
Joshua Colbeck 68ceffe53e Merge pull request #2 from jackhumbert/master
Pull from upstream
2016-07-12 23:14:30 -05:00
Christopher Browne f4fbfe6e54 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-12 11:57:15 -04:00
Christopher Browne 477ed703c8 I did not like Space Cadet paren; it jumps in in way too many extra cases 2016-07-12 11:57:05 -04:00
Jack Humbert a998a48673 Merge pull request #477 from Smilliam/master
Canceling Space Cadet state with opposite shift key
2016-07-11 09:14:43 -04:00
Jack Humbert 076de6fa75 Merge pull request #506 from stanleylai/master
Added my custom keymap for Satan
2016-07-11 09:14:11 -04:00
skullydazed d5102c7715 Merge pull request #507 from ruiqimao/master
fixed clueboard LED pin assignments and matrix documentation
2016-07-11 02:01:17 -07:00
Ruiqi Mao cb0e102adb fixed clueboard LED pin assignments and matrix documentation 2016-07-11 01:18:35 -07:00
Smilliam 5e58e2281a amended extraneous file edits 2016-07-10 19:10:00 -07:00
Smilliam b12fe6abb2 Made rollover behavior for space cadet optional 2016-07-10 19:04:01 -07:00
Stanley Lai 753cbee5c0 Added my custom keymap for Satan 2016-07-10 12:07:56 -07:00
Jack Humbert 4081fc4d8f Merge pull request #505 from fredizzimo/documentation_fix
Remove out of place documentation, caused by ChibiOS merge
2016-07-10 14:02:10 -04:00
Fred Sundvik c7728780de Remove out of place documentation, caused by ChibiOS merge 2016-07-10 20:00:04 +03:00
Jack Humbert b0300d8d8f Merge pull request #502 from robotmaxtron/master
Adding robotmaxtron's GH60 Keymap
2016-07-09 20:55:58 -04:00
Max Whittingham df958a2dbc Update keymap.c 2016-07-09 18:58:16 -05:00
Jack Humbert 9dc6dfbf96 Merge pull request #500 from TerryMathews/master
Establish Poker clone keymap for Satan
2016-07-09 19:19:05 -04:00
TerryMathews 4decdd2b18 Merge pull request #1 from jackhumbert/master
Catch up with jack's master
2016-07-09 16:46:00 -04:00
TerryMathews 979a0d25f0 Establish Poker clone keymap for Satan
Maps all of the side-print legends on the stock Poker II keycaps that
are feasible (doesn't support repeat rate toggling, Pmode recording).
2016-07-09 16:42:26 -04:00
Max Whittingham 1ab527a4db Cleaning up repo 2016-07-09 03:20:58 -05:00
Erez Zukerman c444f4f702 Documents tap dance 2016-07-08 21:40:57 -04:00
Jack Humbert 4139841e9d Merge pull request #498 from fredizzimo/fix_make_dependencies
Fix make dependencies
2016-07-08 16:44:18 -04:00
Fred Sundvik 6911ead027 Use order only prerequisites to avoid re-linking
The prerequisites at the start of the build process are order-only
so that the trget don't link again. Also added as a dependency to
the compilation to force the messages to be printed at the start
2016-07-08 23:19:48 +03:00
Fred Sundvik e8e300d5c4 Fix name of makefile dep files
The files can't start with a .dot, as the wildcard function wont
find them. So this is fixed by removing the BUILD_DIR from the
name.
2016-07-08 22:59:09 +03:00
Jack Humbert 8610481c37 Merge pull request #496 from fredizzimo/makefile_optimization
Makefile optimization
2016-07-08 12:01:32 -04:00
Fred Sundvik 1e3db59097 Fix the link target 2016-07-08 18:18:33 +03:00
Fred Sundvik ccebceeb6f Don't run git describe for ever file that is built 2016-07-08 17:44:41 +03:00
Fred Sundvik b86b0480d5 Speed up compilation by not using recusive make
The cleaning is done outside the targets, by checking the
requested target name.
2016-07-08 17:20:37 +03:00
Jack Humbert b6e47f7a5f Merge pull request #494 from robbiegill/master
Port support for hhkb-jp from tmk
2016-07-08 08:35:24 -04:00
Jack Humbert a9979c6f42 Merge pull request #493 from TerryMathews/master
Create keycodes for RGB control functions
2016-07-08 08:34:27 -04:00
TerryMathews 564c743aa0 Fix a function mismatch that was causing LEDs to not properly initialize
See #430. Name of function being called at init was updated to
led_init_ports(), but the call itself wasn't renamed.
2016-07-08 03:40:05 -04:00
TerryMathews f7a8682226 Move return out of event if block
According to Jack, this makes the return case not be processed. Doesn't
break anything in the firmware.
2016-07-08 03:32:28 -04:00
Robbie Gill 66ffb1cb3a port missing support for hhkb-jp from tmk 2016-07-07 21:03:20 -07:00
TerryMathews e2ec45a755 Fix cluepad and planck 2016-07-07 23:57:11 -04:00
TerryMathews ccfa7351ad Fix compile error on Clueboard 2016-07-07 23:50:04 -04:00
TerryMathews 50c686587e Create keycodes for RGB control functions
Moves RGB controls out of the macro function and assigns them their own
keycodes:
RGB_TOG (toggle on/off)
RGB_MOD (mode step)
RGB_HUI (increase hue)
RGB_HUD (decrease hue)
RGB_SAI (increase saturation)
RGB_SAD (decrease saturation)
RGB_VAI (increase brightness)
RGB_VAD (decrease brightness)
2016-07-07 23:34:33 -04:00
Jack Humbert e8719e10c4 Merge pull request #491 from fredizzimo/keycode_fixes
Some fixes for keycode processing
2016-07-07 13:57:39 -04:00
Fred Sundvik a2eae81927 Fix IS_CONSUMER macro 2016-07-07 20:04:27 +03:00
Fred Sundvik 0bfb608615 Remove unhandled KC_BTLD, RESET should be used instead 2016-07-07 19:56:55 +03:00
Fred Sundvik 9870082a06 Fix the range for consumer keys 2016-07-07 19:48:39 +03:00
Jack Humbert c1dfb636ef fixes quantum template (actually) 2016-07-07 12:22:10 -04:00
Jack Humbert 57e08eb8ba updates rgblight implementation, makes non-timer stuff compatible with audio 2016-07-07 11:33:34 -04:00
Christopher Browne 97dfbd1afc Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-07 11:13:22 -04:00
Jack Humbert ad43d450ca Merge pull request #490 from fredizzimo/integrate_visualizer
Integrate visualizer for ChibiOS and Infinity Ergodox
2016-07-07 09:59:33 -04:00
Jack Humbert 589df84d6c corrects quantum template 2016-07-07 09:58:44 -04:00
Fred Sundvik caedec92d2 Move the visualizer_user file to keymap folder
Also rename it to visualizer.c
2016-07-07 14:42:16 +03:00
Fred Sundvik aaac254ebc Delete lcd_backlight_hal.c
The functionality can now be found in the infinity_erogodox.c file
instead.
2016-07-07 14:29:53 +03:00
Fred Sundvik bcbd8f1c50 Add suspend support to the ChibiOS visualizer 2016-07-07 14:22:45 +03:00
Fred Sundvik dae7c9bfb3 Fix the SERIAL_LINK_ENABLE macro in Visualizer
Rename from USE_SERIAL_LINK -> SERIAL_LINK_ENABLE
2016-07-07 14:12:56 +03:00
Fred Sundvik 7229751ba9 Fix visualizer crash at startup
Visualizer and serial link initialized in the wrong order.
The LED_ENABLED define wasn't set properly
uGfx is always initialized
2016-07-07 14:01:20 +03:00
Fred Sundvik 07d0d5cbe4 Makefile fixes and update of Visualizer 2016-07-07 12:46:10 +03:00
Fred Sundvik 9772e697a0 Add Infinity Ergodox display drivers 2016-07-07 12:45:34 +03:00
Josh Colbeck ac978a50a2 Merge branch 'master' of https://github.com/Skrymir/qmk_firmware 2016-07-06 23:38:58 -05:00
Jack Humbert 21e443101f Merge pull request #484 from jackhumbert/lets-split-support
Add Let's Split support
2016-07-06 23:44:22 -04:00
Jack Humbert a4bf46f9b1 default keymap, reset sorted out for now, added serial to makefile 2016-07-06 22:48:19 -04:00
Joshua Colbeck e0e1c119f0 Merge pull request #1 from Skrymir/patch-1
add ergodox layout
2016-07-06 20:29:29 -05:00
Josh Colbeck 5ed673d82d Changed layer switching to momentary
corrected macro
2016-07-06 20:24:57 -05:00
Jack Humbert c88207884b Merge branch 'master' into lets-split-support 2016-07-06 18:05:50 -04:00
Fred Sundvik 70797bb8f2 Makefile changes and files to compile Visualizer 2016-07-07 00:20:20 +03:00
Fred Sundvik 10f3a1b621 Add ugfx submodule 2016-07-07 00:17:32 +03:00
Jack Humbert 5baaf871bb Merge pull request #488 from fredizzimo/add_visualizer
Add visualizer library
2016-07-06 15:02:51 -04:00
Fred Sundvik 6c29655790 Merge commit '73d890a2c9c34b905cd5e74e7146fdd4578dcb96' into add_visualizer 2016-07-06 20:30:58 +03:00
Fred Sundvik f727801bc6 Delete .gitmodules from visualizer 2016-07-06 20:17:16 +03:00
Fred Sundvik 9f33a5593c Add 'quantum/visualizer/' from commit 'bde869aa7ec8601459bc63b9636081d21108d1be'
git-subtree-dir: quantum/visualizer
git-subtree-mainline: 19f480992c
git-subtree-split: bde869aa7e
2016-07-06 20:15:45 +03:00
Jack Humbert 19f480992c Merge pull request #487 from fredizzimo/serial_link_ergodox
Integrate serial link support for ChibiOS and Infinity Ergodox
2016-07-06 09:48:58 -04:00
Fred Sundvik e5726b017a Add setting of the master side to the makefile 2016-07-06 16:06:53 +03:00
Fred Sundvik 4b45deb652 Enable serial_link support for ChibiOS 2016-07-06 16:06:53 +03:00
Fred Sundvik a7e3e4e652 Add serial_link compilation to Infinity Ergodox 2016-07-06 16:06:53 +03:00
Jack Humbert eb6e17be6f adds eep, removes usbconfig.h 2016-07-06 09:04:04 -04:00
Jack Humbert c6d671e54c Merge pull request #482 from fredizzimo/serial_link
Add serial link library
2016-07-06 08:56:57 -04:00
Fred Sundvik d5e7603d55 Remove extra serial_link subdirectory 2016-07-06 13:26:20 +03:00
Fred Sundvik c5bf090d16 Remove CGreen make files 2016-07-06 13:10:30 +03:00
Fred Sundvik 3ac52b2e76 Remove serial_link .gitignore and .gitmodules 2016-07-06 13:09:51 +03:00
Jack Humbert 3577e26fd9 fix/annotate wait_us lines 2016-07-06 00:24:31 -04:00
Jack Humbert cb410729e6 remove uno_slave for now, even though it's freakin cool 2016-07-05 23:56:42 -04:00
Jack Humbert dd2522ba8b add options to config.h 2016-07-05 23:52:18 -04:00
Jack Humbert 22ad6459b1 Merge branch 'master' into lets-split-support 2016-07-05 23:40:58 -04:00
Jack Humbert ce01f88c43 images, docks, clean-up [skip ci] 2016-07-05 23:40:54 -04:00
Jack Humbert d707738616 i2c working 2016-07-05 23:27:10 -04:00
Jack Humbert 96f44e1202 one half working 2016-07-05 18:36:02 -04:00
Fred Sundvik 639cdd363e Add 'quantum/serial_link/' from commit 'a20d513e3cdacbf6e0e70a80402497ad10166434'
git-subtree-dir: quantum/serial_link
git-subtree-mainline: 7d28d6a7bc
git-subtree-split: a20d513e3c
2016-07-05 23:27:47 +03:00
Jack Humbert 7d28d6a7bc Merge pull request #480 from fredizzimo/add_infinity_ergodox
Add infinity ergodox
2016-07-05 13:12:01 -04:00
Fred Sundvik f9a6e34c28 Add dfu-util command for programming
Also add .bin generation, which is needed for dfu-util.
2016-07-05 19:28:17 +03:00
Jack Humbert 421ff74e0c Merge pull request #471 from Chipairon/patch-1
Fix for '~' in spanish layout
2016-07-05 11:05:14 -04:00
Jack Humbert 99846b10e8 Merge pull request #478 from fredizzimo/chibios_subprojects
Suprojects for ChibiOS testing
2016-07-05 11:04:54 -04:00
Fred Sundvik b4cd0cfd15 Infinity Ergodox - Add matrix.c and led.c 2016-07-05 16:50:30 +03:00
Fred Sundvik 74847a84f8 First version of Infinity Ergodox
Mostly just adding the files from the fredizzimo repository. Still
needs some fixing until it works
2016-07-05 16:45:29 +03:00
Fred Sundvik cf6cd15920 Fix typo in teensy_lc_onkey.h 2016-07-05 15:54:59 +03:00
Fred Sundvik 6e4f2e18e6 Don't include common_config.h for ChibiOS test 2016-07-05 15:53:40 +03:00
Fred Sundvik 0a040a89e8 Move ChibiOS test board and ld
Move the ChibiOS test subproject board and ld files to the kebyoard
folder, so that the build system can find them
2016-07-05 15:34:35 +03:00
Fred Sundvik b11657d1c8 Suprojects for ChibiOS testing 2016-07-05 14:56:34 +03:00
Josh Colbeck 74d848c942 Merge remote-tracking branch 'jackhumbert/master' into patch-1 2016-07-04 22:44:26 -05:00
Smilliam 6b0c9cc905 fixed indentation. 2016-07-04 19:58:26 -07:00
Smilliam 1412076df6 Allow Space Cadet state to be canceled by alternate Shift key
Allows you to press RSHIFT to cancel the insertion of a "(" when holding down LSHIFT. Alternatively, allows you to press LSHIFT to cancel the insertion of a ")" when holding down RSHIFT. This change enables you to renege from outputting a character should you press a shift key erroneously.
2016-07-04 19:56:08 -07:00
Jack Humbert 94d3159d9d correct break/return order for planck and preonic defaults 2016-07-04 22:06:22 -04:00
Josh Colbeck a5fb2b58a5 Merge remote-tracking branch 'jackhumbert/master' into patch-1 2016-07-04 15:41:58 -05:00
Josh Colbeck 497b92c3bd Added macro and readme
macros to for often used eclipse shortcuts
2016-07-04 15:22:13 -05:00
Josh Colbeck 1650adf29a Added new keymap 2016-07-04 12:00:06 -05:00
Christopher Browne 2e1cfaf73f Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-07-04 12:32:08 -04:00
Jack Humbert 9e01b219f3 Fixes typos in keycode.txt 2016-07-04 12:19:01 -04:00
Jack Humbert 86a7b060ef Adds wait to i2c (debounce) 2016-07-04 12:13:41 -04:00
Jack Humbert eafaba6b53 Improves debounce 2016-07-04 12:01:10 -04:00
Pavlos Vinieratos df25033fc6 fix typos 2016-07-04 17:55:32 +02:00
Jack Humbert 8e88d55bfd reverts #343 for the most part (#474) 2016-07-04 11:45:58 -04:00
Josh Colbeck 62a92a71d0 Revert "Changed layout of left hand main layer"
This reverts commit 8149924399.
2016-07-03 21:50:04 -05:00
Olivier 4cfb262faa Spellchecking. 2016-07-04 01:10:40 +02:00
Joshua Colbeck 8149924399 Changed layout of left hand main layer 2016-07-03 12:24:44 -05:00
Olivier 703dc26853 Merge https://github.com/jackhumbert/qmk_firmware 2016-07-03 16:58:09 +02:00
Olivier 82edc37238 Move Escape and Insert keys, Escape is now easier to reach (useful for vi). Change the layer switching used to keep a bepo layout on US keyboards. 2016-07-03 16:44:57 +02:00
Olivier 6d195dc60c Add a Makefile for the keymap to disable command mode (to keep the keyboard from going into command mode when both Shift keys are hold at the same time) and to allow issuing a simple "make" in the keymap folder to compile it. 2016-07-03 16:27:08 +02:00
Olivier 9aceaaed4c Replace the "Ctrl+Alt+Fx" macro I was using to switch terminals without moving hands by a numeric layer switch key like on the left half, for consistency. 2016-07-03 15:51:55 +02:00
Olivier 17a3dbc159 Integrate mouse keys into function layer, delete mouse layer. 2016-07-03 14:38:03 +02:00
Jack Humbert 21ee3eb569 Merge pull request #472 from Wigguno/master 2016-07-02 22:19:33 -04:00
Richard f4febd2cf7 Fix other KC60 Keymap Makefiles so they compile properly 2016-07-03 13:49:10 +12:00
Richard 54209dc672 Add my keymap to KC60 2016-07-03 13:44:24 +12:00
Rubén Díaz-Jorge 132c047469 Fix for '~' in spanish layout 2016-07-02 10:26:04 +02:00
Seth Chandler 27354ae877 add HHKB support to satan (#470)
* add HHKB support

* fix indentation
2016-07-01 23:50:51 -04:00
fredizzimo 1b319151aa Add warning when submodules are not updated (#469)
* Add warning when submodules are not updated

* Sh compatible syntax for dirty submodule check
2016-07-01 21:57:59 -04:00
fredizzimo c30aba0bce Add ChibiOS packages to the avr_setup script (#468)
* Add ChibiOS packages to the avr_setup script

* Add git as a dependency

* Rename avr_setup.sh -> install_dependencies.sh

Also fix the Vagrant welcome message to reflect the new directory
structure.
2016-07-01 17:22:09 -04:00
fredizzimo 4d4f7684e6 Add ChibiOS support for QMK (#465)
* Modularity and gcc warnings fixes.

* Add ChibiOS support (USB stack + support files).

* Make usb_main more USB_DRIVER #define independent.

* Move chibios to tool.

* Implement jump-to-bootloader.

* Small updates.

* Fix bootloader-jump compiling.

* Move AVR specific sleep_led.c into avr.

* Add basic sleep_led for chibios.

* Update chibios README.

* NKRO fixes.

* Rename some Makefile defines.

* Move STM32 bootloader address config to separate .h file.

* Add ARM Teensies bootloader code.

* Fix chibios/usb_main GET_REPORT handing.

* Add missing #include to keymap.c.

* Make bootmagic.c code portable (_delay_ms -> wait_ms).

* Move declaration of keymap_config.

Should really not declare variables in .h files - since it's included
in different .c files, a proper linker then complains that the same
variable is declared more than once (once for each .c file that the
offending .h is included in).

* Add eeprom support for chibios/kinetis.

* Rename chibios example keyboard.

* Move chibios/cortex selection to local Makefiles.

* Chibios: use WFI in idle. WIP suspend stuff.

* ChibiOS/kinetis: sending remote wakeup.

* ChibiOS/STM32: send remote wakeup.

* Fix report size of boot protocol.

* Fix drop key stroke

Keyboard report should be checked if its transfer finishs successfully.
Otherwise key stroke can be missing when other key event occurs
before the last report transfer is done.

Boot protocol 10ms interval probably causes this problem in case
it receives key events in a row within the period. NKRO protocol
suffers less or nothing due to its interval 1ms.

* Chibios/usb_main: rename a variable for clarity.

* Add correct chibios/bootloader_jump for infinity KB.

* ChibiOS: make reset request more CMSISy.

* Chibios: Add breathing sleep LED on Kinetis MCUs.

* ChibiOS: Update infinity bootloader code to match updated ChibiOS.

* ChibiOS: prettify/document sleep_led code.

* Chibios: Remove the wait in the main loop.

* Add maple mini code.

* Do timeout when writing to CONSOLE EP queue.

Fixes TMK bug #266.

* Chibios: add 'core/protocol' to the makefiles' search path.

* Chibios: Update to new USB API.

* Chibios: add more guards for transmitting (fix a deadlock bug).

* Add update for chibios in README

* Chibios: Fix a HardFault bug (wait after start).

* Chibios: cleanup usb_main code.

* Chibios: Revert common.mk change (fix AVR linking problem).

* core: Fix chibios user compile options

Compile options can be defined in project Makefile such as UDEFS, UADEFS, UINCDIR, ULIBDIR and ULIBS.

* Sysv format for ChibiOS arm-none-eabi-size

Some new patches to ChibiOS puts heap as it's own section. So the
berkeley format is now useless, as the heap will be included in the
BSS report. The sysv format displays the bss size correctly.

* Fix hard-coded path of CHIBIOS

* Add support for new version of ChibiOS and Contrib

The Kinetis support has moved to a separate Contrib repository in
the newest version of Chibios. There has also been some structure
changes. So this adds support for those, while maintaining back-
wards compability.

* Update ChibiOS instructions

* Chibios: implement sleep LED for STM32.

* Chibios: Update the main chibios README.

* Chibios: fix STM32_BOOTLOADER_ADDRESS name.

* Chibios: make the default bootloader_jump redefinable (weak).

* Chibios: disable LTO (link-time optimisation).

With LTO enabled, sometimes things fail for mysterious reasons
(e.g. bootloader jump on WF with LEDs enabled), just because the
linker optimisation is too aggressive.

* Chibios: add default location for chibios-contrib.

* ChibiOS: update mk to match chibios/master.

* ChibiOS: update instructions.md.

* Add chibi_onekey example.

* Add comments to chibi_onekey Makefile.

* Rename some Makefile defines.

* Move STM32 bootloader address config to separate .h file.

* Rename chibios example keyboard.

* Move chibios/cortex selection to local Makefiles.

* Add Teensy LC onekey example.

* Chibios: use WFI in idle. WIP suspend stuff.

* Update chibi/teensy instructions.

* Update chibios/Teensy instructions.

* Add infinity_chibios

* Add keymap_hasu.c

* Infinity_chibios: select correct bootloader_jump.

* Infinity_chibios: improve comments.

* Add generic STM32F103C8T6 example.

* Add maple mini code.

* STM32F103x fixes.

* Add maple mini pinout pic.

* Chibios: updates for 3.0.4 git.

* Chibios: rename example stm32_onekey -> stm32_f072_onekey.

* Chibios: add makefiles for Teensy 3.x examples.

* Chibios: update Teensy 3.x instructions.

* Chibios: Tsy LC is cortex-m0plus.

* Chibios: add more guards for transmitting (fix a deadlock bug).

* Change README for chibios

* Chibios: update examples to current chibios git.

Match the changes in mainline chibios:
 - update chconf.h
 - update supplied ld scripts structure
 - update Teensy instructions (switch to official
    chibios and introduce contrib)

* Add ChibiOS and ChibiOS-Contrib submodules

Also fix the makefile path for them.

* Moves chibios keyboards to keyboards folder

* First version of ChibiOS compilation

Only the stm32_f072_onkey keyboard is ported at the moment. It
compiles, but still doesn't link.

* More chibios fixes

It now compiles without warnings and links

* Move the teensy_lc_onekey to the keyboards folder

* Clean up the make file rule structure

* Remove keymap_fn_to_action

* Update more ChibiOS keyboards to QMK

Most of them does not compile at the moment though.

* Use older version of Chibios libraries

The newest ones have problems with compilation

* Remove USB_UNCONFIGURED event

It isn't present in the older version of ChibiOS

* Fix the infinity_chibios compilation

* Fix potentially uninitialized variable

* Add missing include

* Fix the ChibiOS makefile

* Fix some Chibios keyboard compilation

* Revert the rules.mk file back to master version

* Combine the chibios and AVR makefiles

With just the required overrides in the respective platform
specific one.

* Slight makefile restrucuring

Platform specific compiler options

* Move avr specific targets out of the main rules

* Fix ChibiOS objcopy

The ChibiOS objcopy needs different parameters, so the parameters
are moved to the corresponding platform rule file

* Fix the objcopy for real this time

The comands were moved around, so chibios used avr and the ohter
way around.

Also change the objsize output format

* Fix the thumb flags

* Fix the infinity hasu keymap

* Per platform cpp flags

* Add gcc-arm-none-eabi package to travis

* Add arm-none-eabi-newlib to travis

* Fix the name of the libnewlib-arm-none-eabi lib

* Fix the ChibiOS paths

So that they are properly relative, and builds don't generate
extra folders

* Fix the board path of stm32_f103_onekey

* Only consider folders with Makefiles as subproject
2016-07-01 10:04:53 -04:00
Christopher Browne 44a5f7630f Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-30 12:38:48 -04:00
Jack Humbert a8b55f8c85 Test all subprojects with travis (#464)
* tests all subprojects

* too many paren
2016-06-30 09:51:45 -04:00
Robbie Gill bfd673fbae initial version of handwired/fivethirteen (#462) 2016-06-30 09:13:08 -04:00
TerryMathews fbf697b9ff Fix CAPS_LED logic in Satan (#461)
Needed to invert for proper operation. Previous code had LED on when off
and vice versa.
2016-06-29 22:33:09 -04:00
Jack Humbert 2d80eee6b8 test handwired boards 2016-06-29 21:21:02 -04:00
Jack Humbert ba6fb23f07 adds handwire and onekey example 2016-06-29 20:21:05 -04:00
Jack Humbert 7db2ec1509 updates planck experimental, width of color output 2016-06-29 18:47:53 -04:00
Jack Humbert 8125cdb88c gets rid of rand warning [skip ci] 2016-06-29 18:36:52 -04:00
Jack Humbert 60fd885a6e rand supports other chips 2016-06-29 18:35:29 -04:00
Jack Humbert 197f152dee adds random base64 character generator 2016-06-29 18:29:20 -04:00
Jack Humbert 65faab3b89 Moves features to their own files (process_*), adds tap dance feature (#460)
* non-working commit

* working

* subprojects implemented for planck

* pass a subproject variable through to c

* consolidates clueboard revisions

* thanks for letting me know about conflicts..

* turn off audio for yang's

* corrects starting paths for subprojects

* messing around with travis

* semicolon

* travis script

* travis script

* script for travis

* correct directory (probably), amend files to commit

* remove origin before adding

* git pull, correct syntax

* git checkout

* git pull origin branch

* where are we?

* where are we?

* merging

* force things to happen

* adds commit message, adds add

* rebase, no commit message

* rebase branch

* idk!

* try just pull

* fetch - merge

* specify repo branch

* checkout

* goddammit

* merge? idk

* pls

* after all

* don't split up keyboards

* syntax

* adds quick for all-keyboards

* trying out new script

* script update

* lowercase

* all keyboards

* stop replacing compiled.hex automatically

* adds if statement

* skip automated build branches

* forces push to automated build branch

* throw an add in there

* upstream?

* adds AUTOGEN

* ignore all .hex files again

* testing out new repo

* global ident

* generate script, keyboard_keymap.hex

* skip generation for now, print pandoc info, submodule update

* try trusty

* and sudo

* try generate

* updates subprojects to keyboards

* no idea

* updates to keyboards

* cleans up clueboard stuff

* setup to use local readme

* updates cluepad, planck experimental

* remove extra led.c [ci skip]

* audio and midi moved over to separate files

* chording, leader, unicode separated

* consolidate each [skip ci]

* correct include

* quantum: Add a tap dance feature (#451)

* quantum: Add a tap dance feature

With this feature one can specify keys that behave differently, based on
the amount of times they have been tapped, and when interrupted, they
get handled before the interrupter.

To make it clear how this is different from `ACTION_FUNCTION_TAP`, lets
explore a certain setup! We want one key to send `Space` on single tap,
but `Enter` on double-tap.

With `ACTION_FUNCTION_TAP`, it is quite a rain-dance to set this up, and
has the problem that when the sequence is interrupted, the interrupting
key will be send first. Thus, `SPC a` will result in `a SPC` being sent,
if they are typed within `TAPPING_TERM`. With the tap dance feature,
that'll come out as `SPC a`, correctly.

The implementation hooks into two parts of the system, to achieve this:
into `process_record_quantum()`, and the matrix scan. We need the latter
to be able to time out a tap sequence even when a key is not being
pressed, so `SPC` alone will time out and register after `TAPPING_TERM`
time.

But lets start with how to use it, first!

First, you will need `TAP_DANCE_ENABLE=yes` in your `Makefile`, because
the feature is disabled by default. This adds a little less than 1k to
the firmware size. Next, you will want to define some tap-dance keys,
which is easiest to do with the `TD()` macro, that - similar to `F()`,
takes a number, which will later be used as an index into the
`tap_dance_actions` array.

This array specifies what actions shall be taken when a tap-dance key is
in action. Currently, there are two possible options:

* `ACTION_TAP_DANCE_DOUBLE(kc1, kc2)`: Sends the `kc1` keycode when
  tapped once, `kc2` otherwise.
* `ACTION_TAP_DANCE_FN(fn)`: Calls the specified function - defined in
  the user keymap - with the current state of the tap-dance action.

The first option is enough for a lot of cases, that just want dual
roles. For example, `ACTION_TAP_DANCE(KC_SPC, KC_ENT)` will result in
`Space` being sent on single-tap, `Enter` otherwise.

And that's the bulk of it!

Do note, however, that this implementation does have some consequences:
keys do not register until either they reach the tapping ceiling, or
they time out. This means that if you hold the key, nothing happens, no
repeat, no nothing. It is possible to detect held state, and register an
action then too, but that's not implemented yet. Keys also unregister
immediately after being registered, so you can't even hold the second
tap. This is intentional, to be consistent.

And now, on to the explanation of how it works!

The main entry point is `process_tap_dance()`, called from
`process_record_quantum()`, which is run for every keypress, and our
handler gets to run early. This function checks whether the key pressed
is a tap-dance key. If it is not, and a tap-dance was in action, we
handle that first, and enqueue the newly pressed key. If it is a
tap-dance key, then we check if it is the same as the already active
one (if there's one active, that is). If it is not, we fire off the old
one first, then register the new one. If it was the same, we increment
the counter and the timer.

This means that you have `TAPPING_TERM` time to tap the key again, you
do not have to input all the taps within that timeframe. This allows for
longer tap counts, with minimal impact on responsiveness.

Our next stop is `matrix_scan_tap_dance()`. This handles the timeout of
tap-dance keys.

For the sake of flexibility, tap-dance actions can be either a pair of
keycodes, or a user function. The latter allows one to handle higher tap
counts, or do extra things, like blink the LEDs, fiddle with the
backlighting, and so on. This is accomplished by using an union, and
some clever macros.

In the end, lets see a full example!

```c
enum {
 CT_SE = 0,
 CT_CLN,
 CT_EGG
};

/* Have the above three on the keymap, TD(CT_SE), etc... */

void dance_cln (qk_tap_dance_state_t *state) {
  if (state->count == 1) {
    register_code (KC_RSFT);
    register_code (KC_SCLN);
    unregister_code (KC_SCLN);
    unregister_code (KC_RSFT);
  } else {
    register_code (KC_SCLN);
    unregister_code (KC_SCLN);
    reset_tap_dance (state);
  }
}

void dance_egg (qk_tap_dance_state_t *state) {
  if (state->count >= 100) {
    SEND_STRING ("Safety dance!");
    reset_tap_dance (state);
  }
}

const qk_tap_dance_action_t tap_dance_actions[] = {
  [CT_SE]  = ACTION_TAP_DANCE_DOUBLE (KC_SPC, KC_ENT)
 ,[CT_CLN] = ACTION_TAP_DANCE_FN (dance_cln)
 ,[CT_EGG] = ACTION_TAP_DANCE_FN (dance_egg)
};
```

This addresses #426.

Signed-off-by: Gergely Nagy <[email protected]>

* hhkb: Fix the build with the new tap-dance feature

Signed-off-by: Gergely Nagy <[email protected]>

* tap_dance: Move process_tap_dance further down

Process the tap dance stuff after midi and audio, because those don't
process keycodes, but row/col positions.

Signed-off-by: Gergely Nagy <[email protected]>

* tap_dance: Use conditionals instead of dummy functions

To be consistent with how the rest of the quantum features are
implemented, use ifdefs instead of dummy functions.

Signed-off-by: Gergely Nagy <[email protected]>

* Merge branch 'master' into quantum-keypress-process

# Conflicts:
#	Makefile
#	keyboards/planck/rev3/config.h
#	keyboards/planck/rev4/config.h

* update build script
2016-06-29 17:49:41 -04:00
Jack Humbert 215c2119af Implements subprojects and updates projects for this (#459)
* non-working commit

* working

* subprojects implemented for planck

* pass a subproject variable through to c

* consolidates clueboard revisions

* thanks for letting me know about conflicts..

* turn off audio for yang's

* corrects starting paths for subprojects

* messing around with travis

* semicolon

* travis script

* travis script

* script for travis

* correct directory (probably), amend files to commit

* remove origin before adding

* git pull, correct syntax

* git checkout

* git pull origin branch

* where are we?

* where are we?

* merging

* force things to happen

* adds commit message, adds add

* rebase, no commit message

* rebase branch

* idk!

* try just pull

* fetch - merge

* specify repo branch

* checkout

* goddammit

* merge? idk

* pls

* after all

* don't split up keyboards

* syntax

* adds quick for all-keyboards

* trying out new script

* script update

* lowercase

* all keyboards

* stop replacing compiled.hex automatically

* adds if statement

* skip automated build branches

* forces push to automated build branch

* throw an add in there

* upstream?

* adds AUTOGEN

* ignore all .hex files again

* testing out new repo

* global ident

* generate script, keyboard_keymap.hex

* skip generation for now, print pandoc info, submodule update

* try trusty

* and sudo

* try generate

* updates subprojects to keyboards

* no idea

* updates to keyboards

* cleans up clueboard stuff

* setup to use local readme

* updates cluepad, planck experimental

* remove extra led.c [ci skip]

* disable power up for now

* config files updates

* makefile updates

* .h file updates, config tuning

* disable audio for yang
2016-06-29 16:21:41 -04:00
Christopher Browne c9f509f016 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-28 14:46:50 -04:00
Jack Humbert 755b17f8fc Merge pull request #453 from NoahAndrews/update-docs 2016-06-27 14:32:55 -04:00
Noah Andrews b2d1ff7570 Update readme to direct people to using the MHV AVR Shell 2016-06-27 14:00:48 -04:00
Noah Andrews 1b04e9d01e Long overdue fixes and improvements to environment setup scripts (#448)
* Update setup script 1 for new folder structure

* Improve script 1 output

* Launch elevate if run without admin privileges

* Improve MinGW error message

* Improvements and fixes to second script

* Log elevate output in first script
2016-06-27 09:52:01 -04:00
Anand Babu (AB) Periasamy 57066b1246 zoom and undo keys for ab's planck keymap (#446) 2016-06-27 09:51:12 -04:00
Erez Zukerman e9f5c87207 Merge pull request #447 from abperiasamy/ergo-browser-zoom
zoom and undo keys for ab's beginners ergodox-ez keymap
2016-06-27 09:01:51 -04:00
Anand Babu (AB) Periasamy 7712d55215 zoom and undo keys 2016-06-26 20:24:43 -07:00
Jack Humbert e5d1e4b8ce Preonic keymap update 2016-06-26 16:16:21 -04:00
Jack Humbert 0058c33815 updates preonic default layout 2016-06-26 14:20:57 -04:00
Jack Humbert 00dcac7270 updates planck macros to keycodes, prototype fn_actions 2016-06-26 14:08:11 -04:00
Anand Babu (AB) Periasamy 0314620d26 Swap up and down on ab's layout to match default (#441) 2016-06-24 13:43:12 -04:00
Christopher Browne 4d79e22438 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-24 12:19:34 -04:00
Erez Zukerman 40bfc7231e Merge pull request #440 from abperiasamy/ergo-ab-swap-up-down
Swap up and down keys to match default layout
2016-06-24 08:57:06 -04:00
Erez Zukerman d2fc24d2a0 Merge pull request #438 from tkuichooseyou/master
Added tkuichooseyou keymap; for vim and macOS users
2016-06-24 08:56:01 -04:00
Anand Babu (AB) Periasamy 512a68c0ec Swap up and down to match default layout 2016-06-23 20:17:04 -07:00
Jack Humbert b68b722325 updates ez's matrix to spec 2016-06-23 23:14:21 -04:00
Jack Humbert 13bb6b4b7f Backlight abstraction and other changes (#439)
* redoes matrix pins, abstracts backlight code for B5,6,7

* slimming down keyboard stuff, backlight breathing implemented

* don't call backlight init when no pin

* cleans up user/kb/quantum calls, keyboard files

* fix pvc atomic

* replaces CHANNEL with correct var in breathing

* removes .hexs, updates readmes, updates template

* cleans-up clueboards, readmes to lowercase

* updates readme
2016-06-23 22:18:20 -04:00
Peter ba116ceb49 Add OS specific layers that can be switched with macros (#436) 2016-06-23 20:06:13 -04:00
Teddy Ku b9d29cc355 Added tkuichooseyou keymap; for vim and OSX users 2016-06-23 15:09:04 -04:00
Christopher Browne a4bdb0ac0e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-23 11:34:50 -04:00
Anand Babu (AB) Periasamy bab6a8fde5 AB's practical planck keymap (#435) 2016-06-22 23:36:30 -04:00
Jack & Erez 7e584439ee Updates overall readme 2016-06-22 23:24:47 -04:00
Jack & Erez 2443234555 Adds a Readme for the keyboards subdirectory 2016-06-22 23:17:15 -04:00
Mazin Bokhari aea8d43716 Update readme.md 2016-06-22 21:32:51 -05:00
Mazin Bokhari ce5e41d362 Update readme.md 2016-06-22 21:31:37 -05:00
Mazin Bokhari c72c9a7375 Update readme.md 2016-06-22 21:21:27 -05:00
Mazin Bokhari b43b8bdd17 Update readme.md 2016-06-22 21:20:19 -05:00
Mazin Bokhari 521a56f5eb Update readme.md 2016-06-22 21:05:59 -05:00
Mazin Bokhari 5988820c99 Update readme.md 2016-06-22 21:03:01 -05:00
Christopher Browne 0cd017d485 Use Space Cadet parens on LSFT 2016-06-22 16:51:25 -04:00
Christopher Browne 7eee1526bd Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-22 16:42:58 -04:00
Jack Humbert 935f0de55d well that didn't work 2016-06-22 14:33:59 -04:00
Jack Humbert 56bb5b51bc adds author block to readme 2016-06-22 14:30:47 -04:00
Christopher Browne b0caf32741 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-22 11:26:26 -04:00
Erez Zukerman 8c1bfdf0bd Merge pull request #433 from algernon/ergodox-ez/algernon
ergodox_ez: Update the algernon keymap to v1.2
2016-06-22 09:01:51 -04:00
Gergely Nagy 2278956412 ergodox_ez: Update the algernon keymap to v1.2
Noticeable changes since the last pull request:

* The forced NKRO mode can be easily toggled off at compile-time, to
  make the firmware compatible with certain operating systems.
* The `:;` key has changed behaviour: to access the `;` symbol, the key
  needs to be double-tapped, instead of shifted.
* The `=` and `\` keys were swapped, `=` moved to the home row, on both
  the **base** and the **experimental** layers.
* The arrow and navigation keys were redone, they are now more
  accessible, but the navigation keys require an extra tap to access.
* The **Emacs** layer is gone, replaced by a simplified
  **navigation and media** layer.
* `LEAD v` types the firmware version, and the keymap version.
* On the **experimental** layer, the `L` and `Q`, and the `K` and `G`
  keys were swapped.
* The **Steno** layer gained a few more `#` and `*` keys, to make it
  easier on my fingers.

Signed-off-by: Gergely Nagy <[email protected]>
2016-06-22 08:41:38 +02:00
Jack Humbert 98f0807359 increase leader seq size to 5 2016-06-21 22:55:54 -04:00
Jack Humbert 649b33d778 Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)
* fixes from tmk's repo

* rename keyboard to keyboards
2016-06-21 22:39:54 -04:00
Jack Humbert 464c8e274f adds backlight levels to the satan keyboard (#431)
* enable 4 levels

* remove breathing stuff

* update channels, comments, hex
2016-06-21 22:09:41 -04:00
Jack Humbert e329729d3a adds fuse settings for atmega32u4, fixes keymap_extras includes 2016-06-21 18:32:28 -04:00
Christopher Browne ee3c7892ad Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-21 17:54:12 -04:00
Jack Humbert 1a0bac8bcc Warning reductions (#430)
Warning reductions
2016-06-21 17:42:29 -04:00
dragon788 758a8c64e9 Change base box to avoid breakage in Arch box (#429)
I haven't had a chance to update the Arch base box in a while so using the Ubuntu one is far more likely to succeed for a new user (I did test that box recently as I traded my ErgoDox EZ to a friend and needed to reprogram it for him).
2016-06-21 15:29:54 -04:00
fredizzimo a69d002506 Fix the make all-keyboards command (#422)
Unfortunately the supported targets, like "quick", "all", "clean",
and so on has to be repeated two extra times, but this is the best
I can do with my makefile skills.
2016-06-21 13:31:26 -04:00
Christopher Browne 2d31481008 More notes 2016-06-21 12:55:24 -04:00
Jack Humbert 80c8705419 reduces rgblight warnings, integrates completely (#428) 2016-06-21 12:53:21 -04:00
Christopher Browne 28942b3ba7 Improve docs a bit 2016-06-21 12:45:38 -04:00
Christopher Browne f404124c26 Add filler to make layering clearer;
KC_TRNS gets used a lot; have the blank _______ mnemonic for it
2016-06-21 12:36:26 -04:00
Christopher Browne a6e109caa1 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-21 12:30:17 -04:00
Jack Humbert a8375fa15a updates all config.h and Makefiles to correct references, text 2016-06-21 10:21:43 -04:00
Stanley Lai c976c03547 Added stanleylai's personal keymap (#420)
* Added WS2812 support for KC60

* Reorganized WS2812 support into its own keymap

* Fixed relative link in README

* Moved WS2812 mention in README to the bottom

* Fixed titling in WS2812 README

* Reverted KC60 Makefile and default keymap back

* Moved RGB specific config.h to ws2812 keymap folder

* Added my personal keymap

* Updated compiled hex

* Reverted KC60 files to 3f6fac47 before pull request #419
2016-06-21 00:49:54 -04:00
Jack & Erez 650e77c657 Fresh hes for experimental layout 2016-06-20 22:37:31 -04:00
Jack & Erez 76076db725 [Jack & Erez] Fixes Space Cadet right shift 2016-06-20 22:36:36 -04:00
Erez Zukerman f77df7e356 Adapts experimental layout file format 2016-06-20 22:27:17 -04:00
Erez Zukerman eda5e84164 Adds compiled default firmware 2016-06-20 22:00:51 -04:00
Erez Zukerman b85d2f2988 [Jack & Erez] Adds dedicated Version key 2016-06-20 21:59:20 -04:00
Erez Zukerman 881eb8d5f3 [Jack & Erez] Tweaks makefile for sanity 2016-06-20 21:58:58 -04:00
Erez Zukerman 5961de0ce2 Removes .gitattributes 2016-06-20 21:47:04 -04:00
Erez Zukerman cebe08fcd3 [Erez & Jack] Updates build guide 2016-06-20 21:44:37 -04:00
Christopher Browne f6d1ce7863 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-20 12:20:52 -04:00
Jack Humbert 44e098ef2d endline normalisation, treat .hex as bin, updates kc60 hex files 2016-06-19 23:41:10 -04:00
Stanley Lai 3302258abd Added WS2812 support for KC60 (#419)
* Added WS2812 support for KC60

* Reorganized WS2812 support into its own keymap

* Fixed relative link in README

* Moved WS2812 mention in README to the bottom

* Fixed titling in WS2812 README

* Reverted KC60 Makefile and default keymap back

* Moved RGB specific config.h to ws2812 keymap folder
2016-06-19 23:29:42 -04:00
fredizzimo 3f6fac4721 Add quick version of the all-* makefile targets (#417) 2016-06-18 18:09:21 -04:00
Jack Humbert db32864ce7 Cleans up quantum/keymap situation, removes extra lufa folders (#416)
* sorts out keycodes

* move midi around

* remove mbed

* replaces keymap with qmk/keymap_common

* fixes keymap.h

* keymap, config, quantum rearrange

* removes unneeded lufa stuff
2016-06-18 14:30:24 -04:00
Jack Humbert 1923cffd41 allow overriding of TARGET 2016-06-17 22:50:41 -04:00
Jack Humbert 008c8d54a0 adds power_up to quantum's matrix file 2016-06-17 22:09:59 -04:00
Jack Humbert de326d078d prevents ergodox_ez from waking up machine (#375) 2016-06-17 22:06:58 -04:00
Jack Humbert b70248fa21 addresses #369 2016-06-17 21:42:59 -04:00
Jack Humbert c4ea06d255 fix for parent folders with spaces (#403) 2016-06-17 21:10:17 -04:00
Eric Tang e175b8d56f removes extra dfu erase (#415) 2016-06-17 20:25:58 -04:00
Christopher Browne 2cf26915e3 Sample of using build info to generate keystrokes (#412)
* More documentation

* Saving crontab for user  on host

* Restructuring in keeping with recent changes to conventions

* Simplify submitting my fave cbbrowne keystroke by using SEND_STRING()

* Local change, not apropos to have in this repo

* Simplify logic; no need to return so much

* Add in a version key

* Add docs

* Split build date into a separate DEFINE

* Ensure there is a value even if not working within a git repo

* Should not include the compiled code in the repo

* compiled.hex files should not be included in the repo; they represent generated compiled code

* Fix spelling in comment

* Remove more generated files

* Add rule to ignore contents of .build directories; their contents are generated

* Revert removals of compiled files
2016-06-16 17:16:51 -04:00
Christopher Browne f566125c6e Revert removals of compiled files 2016-06-16 16:51:19 -04:00
Christopher Browne b2cc1ff0de Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-16 16:43:27 -04:00
Jack Humbert 91b469d88f correctly test to see if awk exists 2016-06-16 15:48:54 -04:00
Jack Humbert 33e83aaaca make awk optional (uses cat) 2016-06-16 10:42:00 -04:00
Christopher Browne ce1742a31f Add rule to ignore contents of .build directories; their contents are generated 2016-06-15 18:42:30 -04:00
Christopher Browne e7b50feee4 Remove more generated files 2016-06-15 18:42:05 -04:00
Christopher Browne 39cde91475 Fix spelling in comment 2016-06-15 18:39:57 -04:00
Christopher Browne 10fe3f001b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-15 18:38:30 -04:00
Christopher Browne 6d485b0ecd compiled.hex files should not be included in the repo; they represent generated compiled code 2016-06-15 18:35:38 -04:00
Christopher Browne 6e0270b52f Should not include the compiled code in the repo 2016-06-15 18:34:47 -04:00
Christopher Browne 90d0576355 Ensure there is a value even if not working within a git repo 2016-06-15 18:29:27 -04:00
Jack Humbert 77d083ed98 updates experimental planck keymap, adds basic layout 2016-06-15 15:43:40 -04:00
Christopher Browne bb0e0c7eba Split build date into a separate DEFINE 2016-06-15 11:36:27 -04:00
Christopher Browne 4e1bc2d298 Add docs 2016-06-15 11:25:08 -04:00
Christopher Browne 211ebe8734 Add in a version key 2016-06-15 11:19:51 -04:00
Christopher Browne e32b0960af Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-15 11:13:29 -04:00
Gergely Nagy 1d1ced53c7 Update the ergodox-ez/algernon keymap (#409)
Compared to the previous version, the following noteworthy changes have
been made to the keymap:

* The keyboard starts in NKRO mode, bootmagic and other things are
  disabled.
* A STENO layer was added, to be used with Plover.
* An experimental layout was added, something halfway between Dvorak and
  Capewell-Dvorak. A work in progress.
* `LEAD y` types \o/.
* Some keys on the BASE layer have been moved around:
  - `?` moved to the left pinky, left of `Q`.
  - `=` shifted one row down, but `F11` stayed where it was.
  - `-` on the left half was replaced by `Tab`.
  - `Tab`'s original position is taken by a `Media Next`/`Media Prev`
     key.
  - `:` now inputs `;` when shifted.
* `ESC` cancels the **HUN** layer too, not just modifiers.

Signed-off-by: Gergely Nagy <[email protected]>
2016-06-14 11:28:54 -04:00
Gergely Nagy 4815b97add Makefile: Add QMK_VERSION & co to OPT_DEFS (#408)
This adds the keyboard and keymap built, along with the QMK firmware's
git hash (or a timestamp), to OPT_DEFS. That, in turn, allows keymaps to
make use of these information, and do whatever they want with it. For
example, one could print them on `LEADER v` like this:

```c
SEQ_ONE_KEY (KC_V) {
  SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
```

This addresses #366.

Signed-off-by: Gergely Nagy <[email protected]>
2016-06-14 11:26:42 -04:00
Samuel Goodwin fad5a57156 Add sgoodwin keymap for the KC60 (#410)
* Don't save the ctags file in the repo.

* Initial support for the KC60 board. Only 5x5 working so far.

* Rename because this isn't the same KC60 as others.

* Add in some generic layout.
Pins seem to be in the right order except the 6th column spews
gibberish.

* Don't need this for now.

* Move this to some other folder.

* Trying again to start over.

* Don't need to start over because I figured out why the 'broken' stuff wasn't working.

* Attempt to enable backlighting. It's on on pin B7 like other boards.

* Fix last port changes and fix LED control in keymap.

* Trying some other LED code.

* Bootloader needs to be bigger. Disabling backlight for now.

* Simplify LED code while I try to figure it out.

* Turn back on backlighting.

* Backlighting works now. Just need to get levels or breathing working.

* Trying to allow for turning off the LEDs before I get to brightness levels.

* The missing link: need to run the init_ports function for LEDs to work properly.

* Removing breathing stuff since it bricks the board.

* Clean up default layer.

* Cleanup keymap, KC60 doesn't support a 5th right bottom-row button.

* Add in the keymap I want for now.

* Back to escape by default.

* Move my personal keymap to the new place for keymaps.

* Add the version number for clarity.
2016-06-14 11:21:55 -04:00
TerryMathews 1c5a6733ff adds support for GH60 Satan keyboard (#407)
* adds support for GH60 Satan keyboard

ANSI 125 layout, capslock and backlight implemented, support for
WS2812LED strip included

* added Phantom and GH60 Satan to travis
2016-06-13 21:59:22 -04:00
Christopher Browne 498455403e Renaming planck/cbbrowne in keeping with recent naming conventions (#405)
* More documentation

* Saving crontab for user  on host

* Restructuring in keeping with recent changes to conventions

* Simplify submitting my fave cbbrowne keystroke by using SEND_STRING()

* Local change, not apropos to have in this repo

* Simplify logic; no need to return so much
2016-06-13 19:06:32 -04:00
Christopher Browne c5a034f984 Simplify logic; no need to return so much 2016-06-13 17:59:26 -04:00
Christopher Browne de2f95bc6f Local change, not apropos to have in this repo 2016-06-13 17:33:26 -04:00
Christopher Browne 2fe06e4ef5 Simplify submitting my fave cbbrowne keystroke by using SEND_STRING() 2016-06-13 17:22:45 -04:00
Christopher Browne 3fe26d47a6 Restructuring in keeping with recent changes to conventions 2016-06-13 16:27:33 -04:00
Christopher Browne dc9bf78f2b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-06-13 16:06:03 -04:00
TerryMathews 25d4772754 adds support for Phantom TKL keyboard (#399)
ANSI 125 layout, capslock and scrolllock implemented, support for
WS2812LED strip included.
2016-06-12 22:26:47 -04:00
Eric Tang 6955719075 Move LED strip initialization (#397) 2016-06-12 18:01:55 -04:00
Jack Humbert 92759be322 change to relative paths instead of absolute 2016-06-12 15:55:05 -04:00
Jack Humbert 42b40e6fde no more cc error on windows 2016-06-11 22:54:34 -04:00
IBNobody 1c2705eea5 fixed color detection routine in makefile 2016-06-11 17:24:28 -05:00
IBNobody 50621a2e6a Merge remote-tracking branch 'remotes/jackhumbert/master' 2016-06-11 13:28:27 -05:00
Jack Humbert d9e4dad0a8 Makefile redo & other features (#395)
* .build containment implemented

* no destructive variable setting - builds in either folder

* make from 3 places

* cleans before each build
* make from root with keyboard=keyboard, keymap=keymap
* make from keyboard/keyboard with keymap=keymap
* make from keymaps/keymap
* only implemented on planck

* adds color diag to avr-gcc

* makefiles for all plancks, clean-up

* quick build-all makefile for plancks

* reformatting of make output (colors)

* color toggle, tmk path corrections

* correct if statement for color

* move config.h to main makefile, updates preonic, atomic

* format update, all keyboards targets

* makefile optional for build all target, alps and arrow_pad updated

* alps updated

* make planck default, trying out travis recipe for all-keyboards

* all-keymaps target, different travis recipe

* updates alps64

* updates keyboards to new format

* updates clue* projects

* all projects updated, specialise EZ .hex, let .hex through

* updates travis

* automatically find root, keyboard, keymap

* silent echo, cleaned-up mass make output

* updates all keyboards' .hex files except EZ

* Rename Bantam44.c to bantam44.c

* Rename Bantam44.h to bantam44.h

* nananana

* adds six key keyboard

* does same to ez as rest

* updates send_string example

* brings ergodox_ez up to date

* updates template/new project script

* adds sixkeyboard

* adds readme for sixkeyboard

* adds sixkeyboard to travis

* filenames, gitignore mess

* define clock prescaler stuff manually

* make quick, size test example

* documentation and dfu-no-build
2016-06-11 13:31:31 -04:00
Erez Zukerman a5d638ad30 Merge pull request #364 from techtomas/techtomas
Rearranged the layer toggles and keys.
2016-06-07 21:18:32 -04:00
Thomas Anderson 623466e340 Updated readme to fix a typo and list out hotkey shortcuts 2016-06-07 13:38:37 -07:00
Aron Griffis fd454e5b74 Add support for vagrant-docker (#389)
* clean trailing ws in Vagrantfile and util/avr_setup.sh

* replace triple quotes with heredoc.

Ruby doesn't have triple quotes; that's a Python thing. This was just being
parsed as multiple strings concatenated.

* add docker support to Vagrantfile

* make wants to find dfu-programmer in vagrant guest
2016-06-07 12:41:55 -04:00
Masahiro Wakame 6b8b332f77 fix HID_RI_LOGICAL_MAXIMUM value (#388) 2016-06-07 11:30:15 -04:00
Erez Zukerman 2fda55ba54 Merge pull request #384 from gid0/master
Merge ErgoDox bepo layout changes.
2016-06-06 23:22:52 -04:00
Jack Humbert 2222621b55 Update HAND_WIRE.md 2016-06-06 21:54:21 -04:00
Eric Tang 219e4a3012 Fix hand wiring guide (#387)
* Fix broken link

* Fix incoherent sentence
2016-06-06 21:53:37 -04:00
Erez Zukerman 408c9e159b Adds Python script to util directory for easier discoverability 2016-06-06 21:47:57 -04:00
TuxForLife ea63714950 Tiny typo (#386) 2016-06-06 10:42:41 -04:00
Olivier cd906f24b1 Spellchecking. 2016-06-06 15:23:40 +02:00
Olivier a62a0480d0 Add some more function keys (vol up / down, mute, undo, cut, copy, paste). 2016-06-06 15:18:42 +02:00
Olivier edf4266839 Add basic README file. 2016-06-05 21:42:25 +02:00
Jack Humbert 3e3a07fc97 adds planck keymap readme 2016-06-05 11:21:37 -04:00
Jack Humbert bdf94c0621 updates the hand-wiring guide 2016-06-05 11:19:17 -04:00
Olivier 4d59d57e64 Move keys and especially TAB more like on a TypeMatrix 2020 keyboard. Add a left SHIFT key. 2016-06-04 20:14:34 +02:00
Jack Humbert 83c52c6009 corrects vagrant script path from @b46f343 2016-06-04 13:30:11 -04:00
Jack Humbert b46f343de7 updates vagrant script path 2016-06-04 13:24:25 -04:00
Jack Humbert 8ca1831daa makes vagrant usable again 2016-06-04 13:18:15 -04:00
Olivier e0762e0ad9 Merged the function and navigation layers. Give access to it with both thumbs. Now you can up / down / page up / page down with only one hand ! 2016-06-04 18:52:22 +02:00
Jack Humbert b36e532b5e cleans up folder structure
* consolidates docs
* deletes converter/
* updates .md references (most)
2016-06-04 00:10:47 -04:00
Noah Andrews 189a3b02fb Add missing elevate.exe file (#377)
* Stops explorer.exe from being started with admin privilieges

* added missing elevate.exe file
2016-06-03 22:42:51 -04:00
Eric Tang 794aed37a0 Improve string sending (#376) 2016-06-03 15:48:40 -04:00
Olivier a4796ba36a Update prebuilt firmware with code from latest pull. 2016-06-02 23:51:06 +02:00
Jack Humbert cc3972e7d6 adds travis badge 2016-06-02 14:23:01 -04:00
Daniel Svensson fd3afbd2f3 Add a Travis recipe. (#374) 2016-06-02 14:17:19 -04:00
Noah Andrews c7005cdfcf Stops explorer.exe from being started with admin privilieges (#373) 2016-06-02 13:00:44 -04:00
Jack Humbert 4635b44533 new line/tab in send_string 2016-06-01 23:00:55 -04:00
Jack Humbert 1c9f33c06a adds send_string functionality (string macros) 2016-06-01 22:50:01 -04:00
IBNobody f3086b57e6 Submitting ArrowPad, A QMK-based 21/24 key keypad (#372)
* Created arrow pad, a QMK based numpad designed for heavy text editing

* Enabled backlighting, numlock indicator, and forced nkro for arrowpad

* WIP Arrowpad 21

* WIP Arrowpad 21

* Combined Arrow Pad 21 and 24

* Combined Arrow Pad 21 and 24

* Removed 21 folder
2016-06-01 21:41:51 -04:00
Jack Humbert 84276ee561 removes stray paren 2016-06-01 16:57:12 -04:00
Erez Zukerman 0457ed4880 Merge pull request #297 from gid0/master
Add an ErgoDox bépo layout.
2016-06-01 08:21:04 -04:00
Fred Sundvik 73d890a2c9 Fix visualizer sleeping too long
The documentation for ugfx gEventWait wait is wrong and the
function takes the time in milliseconds, instead of system ticks.
This caused the the thread to sleep way too long. It also caused
somewhat random sleeping behaviour as the MS2ST function overflows
at around 43 seconds sleep.

The event source is also now initialized correctly, so that the
thread actually can be woken up by events.
2016-06-01 09:22:47 +03:00
Erez Zukerman 56939b1518 Merge pull request #367 from waveform80/fix-unselect-rows-prototype
Squash the prototype compiler warning
2016-05-31 23:42:54 -04:00
Erez Zukerman 0c4085dd53 Merge pull request #368 from waveform80/daves-layout-readme
Added a README and minor tweaks for "dave" KEYMAP
2016-05-31 23:42:11 -04:00
Erez Zukerman bae92b2a10 Merge pull request #356 from johgh/master
ergodox_ez: added dvorak_spanish layout
2016-05-31 23:18:16 -04:00
Nathan Sharfi 6428069eb7 zweihander-osx: Use power instead of eject
KC_EJCT isn't the OS X Eject key and won't restart your computer.
2016-05-31 16:45:22 -07:00
Nathan Sharfi 7b8857a368 zweihander-osx: use eject instead of power
https://support.apple.com/en-us/HT201236 says that ⌃⌘⏏ will quit all apps and then restart your Mac; ⌃⌘-power will shut things down in an…ungraceful fashion.

I reboot into Windows fairly frequently; I'd rather have the nice behavior at my fingertips, not the rude one.
2016-05-31 16:15:35 -07:00
Nathan Sharfi a226255c0b Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-05-31 15:22:45 -07:00
Hartmut Goebel cea4b9a4bb Update to Makefile an ergodox readme (#365)
* Autodetect teensy-loader-cli over teensy_loader_cli.

Some distributions (e.g. Arch Linux, Guix) install teensy_loader_cli
as teensy-loader-cli. Use this one if it is installed.

* Update ergodox_ez/readme.md

- Mention Linux distris providing teensy-loader-cli
- Mention `make teensy ...`
2016-05-31 10:03:04 -04:00
Dave Jones 5e926d7b07 Added a README and minor tweaks 2016-05-31 14:30:36 +01:00
Dave Jones 4ae86e6ff7 Squash the prototype compiler warning
unselect_rows declared with no parameter list; requires (void) to
prevent compiler warning
2016-05-31 14:18:40 +01:00
Thomas Anderson 0755322a90 Rearranged the layer toggles and keys.
Moved the layer toggles to be in more comfortable locations for my typing. Also expanded the use of the media layer (now called APP) and enhanced the text navigation on the control layer
2016-05-30 23:45:55 -07:00
Nathan Sharfi 222e8f031c Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-05-30 15:45:17 -07:00
Nathan Sharfi 13810e4822 zweihander: Add :, disable sleep LED waves 2016-05-30 15:44:59 -07:00
jorge b32731b698 Merge branch 'master' of https://github.com/johgh/qmk_firmware 2016-05-30 19:41:29 +02:00
jorge 314d21c746 ergodox_ez: added dvorak_spanish layout 2016-05-30 19:40:16 +02:00
Fred Sundvik 489288f674 Add a nicer sine based gradient for the LEDs 2016-05-29 21:59:27 +03:00
Erez Zukerman 8ee9be11de Merge pull request #353 from algernon/ergodox-ez/algernon
My layout for the ErgoDox EZ
2016-05-29 13:53:29 -04:00
Samuel Goodwin 478a18d237 Add support for the KC60 v2.0 2015-09-12 (#360)
* Don't save the ctags file in the repo.

* Initial support for the KC60 board. Only 5x5 working so far.

* Rename because this isn't the same KC60 as others.

* Add in some generic layout.
Pins seem to be in the right order except the 6th column spews
gibberish.

* Don't need this for now.

* Move this to some other folder.

* Trying again to start over.

* Don't need to start over because I figured out why the 'broken' stuff wasn't working.

* Attempt to enable backlighting. It's on on pin B7 like other boards.

* Fix last port changes and fix LED control in keymap.

* Trying some other LED code.

* Bootloader needs to be bigger. Disabling backlight for now.

* Simplify LED code while I try to figure it out.

* Turn back on backlighting.

* Backlighting works now. Just need to get levels or breathing working.

* Trying to allow for turning off the LEDs before I get to brightness levels.

* The missing link: need to run the init_ports function for LEDs to work properly.

* Removing breathing stuff since it bricks the board.

* Clean up default layer.

* Cleanup keymap, KC60 doesn't support a 5th right bottom-row button.
2016-05-29 13:18:01 -04:00
Fred Sundvik 0c3189055f Make LED visualization times configurable 2016-05-29 17:42:32 +03:00
Daniel Svensson b85dd60397 Fix build errors (#359)
* brings gh60 up-to-date (needs testing)

* brings hhkb up-to-date (needs testing)

* brings jd45 up-to-date (needs testing)
2016-05-29 10:39:27 -04:00
Erez Zukerman 536ad6813a Corrects a backtick 2016-05-28 20:51:25 -04:00
Erez Zukerman d7ed882d2a Corrects links 2016-05-28 20:50:24 -04:00
Erez Zukerman 8497a45134 Adds a roadmap to the intro section of the docs 2016-05-28 20:48:20 -04:00
Fred Sundvik 9c955145f5 Fix emulator #ifdef check 2016-05-29 02:08:46 +03:00
Jack Humbert a53bc24c4d makes .SILENT (less verbose) by default - override with VERBOSE=1
also took out some @echo newlines to make things a bit cleaner
2016-05-28 15:33:08 -04:00
Jack Humbert 17977a7e24 process_record implementation (non-breaking for process_action ATM) 2016-05-28 15:22:30 -04:00
Jack Humbert 38987d4c15 updates quantum template to prevent backlight conflicts 2016-05-28 12:05:17 -04:00
Jack Humbert de57799530 brings alps64 up-to-date (needs testing) 2016-05-28 11:56:06 -04:00
Fred Sundvik 4d7e4a4780 Don't include lcd_backlight_hal for emulator 2016-05-28 11:13:08 +03:00
jorge f20e17a19e ergodox_ez: added dvorak_spanish layout 2016-05-28 09:57:25 +02:00
Nathan Sharfi e7e83b1f18 zweihander-osx: Add =, :, juggle Home/End 2016-05-27 18:41:16 -07:00
Nathan Sharfi 861f0f78e1 zweihander-osx: Bump ALFRED_LEAD_TIME to 250ms 2016-05-26 15:08:01 -07:00
Jack Humbert 209ee3cd05 removes duplicate double quote and odd whitespace 2016-05-26 17:14:01 -04:00
Christopher Browne d649ab3433 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-26 15:17:00 -04:00
Gergely Nagy 9ff10ab1db ergodox_ez/algernon: Add a HEX file
Signed-off-by: Gergely Nagy <[email protected]>
2016-05-26 15:31:25 +02:00
Gergely Nagy c764480b95 ergodox_ez/algernon: New layout.
This is a squashed up version of the layout I have been working on for
the past month or so. Based on Dvorak, with a lot of unconventional
stuff thrown in for good measures.

Signed-off-by: Gergely Nagy <[email protected]>
2016-05-26 15:27:11 +02:00
Erez Zukerman 89f0472b9e Merge pull request #352 from algernon/ergodox-ez/supercoder
ergodox_ez: Add a SuperCoder keymap
2016-05-26 08:40:20 -04:00
Gergely Nagy 037b3f0ddf ergodox_ez: Add a SuperCoder keymap
Inspired by @faxm0dem, and the SuperCoder 2000 "keyboard".

Signed-off-by: Gergely Nagy <[email protected]>
2016-05-26 14:13:20 +02:00
Mazin Bokhari ac02b0f397 Fix formatting 2016-05-26 02:17:07 -05:00
Mazin Bokhari 733596d800 Fix formatting 2016-05-26 02:12:57 -05:00
Erez Zukerman 5501f231d4 Merge pull request #351 from adiabatic/master
Add KC_DQUO ("); update Zweihander
2016-05-25 21:41:18 -04:00
Nathan Sharfi 376403276b Add single and double quotes to numpad layer
…as well as recover from a bunch of Git user errors.
2016-05-25 18:13:00 -07:00
Nathan Sharfi 9d6debd9b2 Add double quote for everyone; update Zweihander 2016-05-25 17:25:04 -07:00
Mazin Bokhari 66f9cdd041 Change bottom keycluster keys to be alt temporarily until a more permanent solution is though up... although you just now lost your arrow keys, so idk what to do about that tomorrow lol 2016-05-25 01:43:06 -05:00
Mazin Bokhari 59dc19940a Add notes 2016-05-25 01:31:57 -05:00
Mazin Bokhari fbbd32376b Add gui macro to bksp and tab (second outter-most keys) on both thumb clusters 2016-05-25 01:25:09 -05:00
Mazin Bokhari 09e172f56a Tap then hold built-in functionality actually overrides the ctrl/alt/etc. macros 2016-05-25 01:21:29 -05:00
Mazin Bokhari 03aeb40516 Change mouse clicks to j and k 2016-05-25 01:19:30 -05:00
Mazin Bokhari fd44d1cb39 Update layout viz 2016-05-25 01:09:18 -05:00
Mazin Bokhari 5486b9e80e Add todo: windows and nix layers 2016-05-25 00:58:08 -05:00
Mazin Bokhari fbbfb3cbad Add todo: override holding macro functionlity 2016-05-25 00:51:16 -05:00
Mazin Bokhari 514a7038b1 Add ctrl macro to spc and ent on thumb cluster (outter-most keys_) 2016-05-25 00:46:43 -05:00
Mazin Bokhari 0b68db4e43 Change rr3c1 from quotes/gui to quotes/ctl 2016-05-25 00:42:58 -05:00
Mazin Bokhari 3b0fd160df Change r3c1 from backspace to esc/control 2016-05-25 00:38:25 -05:00
Mazin Bokhari f5e486b50d Change r2c1 from Del to Tab 2016-05-25 00:23:05 -05:00
Erez Zukerman d06e940a17 [Erez & Jack] Removes keyboards which are not active on qmk 2016-05-24 23:55:29 -04:00
Erez Zukerman 8bc69afc63 [Erez & Jack] Optimizes shift_interrupted array 2016-05-24 23:48:46 -04:00
Erez Zukerman 1237025963 [Erez & Jack] Packages Space Cadet shifts into keycodes 2016-05-24 23:43:58 -04:00
Erez Zukerman f4a426a0b1 [Erez & Jack] Documents new Leader key functionality 2016-05-24 22:37:38 -04:00
IBNobody 26277dbdf4 Merge remote-tracking branch 'remotes/jackhumbert/master' 2016-05-24 17:57:40 -05:00
IBNobody 76e36a787a Merge remote-tracking branch 'remotes/jackhumbert/master' 2016-05-24 17:55:46 -05:00
Christopher Browne 48871b9b6b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-24 12:34:08 -04:00
Jack Humbert 287eb7ad14 Converted audio play functions to *_user (#349)
* Updated personal layouts

* tweaked personal

* Nightly - Audio Cleanup

Refactored the LUTs. Abstracted some of the registers out of audio to
use more functional names. Split audio into audio and audio_pwm. WIP

* nightly - collapsed code

* Added check for note playing to LEDs

* Usability tweaks

* TWEAE

* nightly

added extra kcs to keymap common

* turned on Plank audio

* Added backlight breathing to atomic

* reverted accidental merge

* Added music and audio toggles to Quantum.c

* Redid the audio callbacks

* Adjusted default planck layout to use the user tone naming

* tabs to spaces

* Rewrote the ALL recipe to allow for faster parallel make

* tabs to spaces

* Renamed custom event functions to be 'startup_user' and 'shutdown_user'. Also moved the prototypes around.

* Tweaked pvc atomic layout to work with the pvc planck.

* updates midi scale calling
2016-05-24 11:56:53 -04:00
Eric Tang 1ae6011cef Clean up #343's code (#348) 2016-05-24 11:44:40 -04:00
Mazin Bokhari 8090fb82ff Initial commit of keymaps/maz with default config 2016-05-24 02:26:16 -05:00
Jack Humbert 897f5b2f9d updates midi in play_note to better octave 2016-05-23 23:44:36 -04:00
Eric Tang aaa758f1d3 Optimize matrix scanning (#343) 2016-05-23 23:42:21 -04:00
Peter d66aa0abf9 adds petereichinger's planck keymap (#340)
* Add custom keymap

* A little readme and remove old layout comments
2016-05-20 11:14:08 -04:00
Erez Zukerman ed349f0c3d Merge pull request #324 from Bubblepoint/master
Add adnw/k_o_y layout
2016-05-19 15:54:16 -04:00
purpleP 0275d444d7 fixed small bug with AUDIO_ENABLED (#339) 2016-05-19 08:36:28 -04:00
Jack Humbert b732b79b49 adapts unicode to quantum.c (#333)
* Unicode

to have unicode input you need to:

- set your OS input method to UNICODE if needed
- enable unicode in your makefile
- copy the action_function from
keyboard/planck/keymaps/unicode/unicode.c to your keymap.c
set the target OS method in your keymap.c: void matrix_init_user() {
set_unicode_mode(UC_OSX); } you can then switch when you want with:
set_unicode_mode(UC_OSX); set_unicode_mode(UC_LNX);
set_unicode_mode(UC_WIN);
put some unicode codes in your keymap like so: UC(0x0061)
I did change the bit mask in quantum/keymap_common.c and .h
I’m afraid we will need uint32 to get a total support for all unicode
tables or relocate the handler as @mbarkhau did.

* rearranges keycode values, hooks-up unicode

* removes extra lalt ref

* adds unicode shortcuts and example
2016-05-18 23:47:16 -04:00
Jack Humbert bf545061f2 outputs size when make dfuing 2016-05-18 23:16:33 -04:00
Jack Humbert 0428214b90 adds music and audio toggles (#337)
* Updated personal layouts

* tweaked personal

* Nightly - Audio Cleanup

Refactored the LUTs. Abstracted some of the registers out of audio to
use more functional names. Split audio into audio and audio_pwm. WIP

* nightly - collapsed code

* Added check for note playing to LEDs

* Usability tweaks

* TWEAE

* nightly

added extra kcs to keymap common

* turned on Plank audio

* Added backlight breathing to atomic

* reverted accidental merge

* Added music and audio toggles to Quantum.c

* Redid the audio callbacks

* music/audio_on_user
2016-05-18 23:14:00 -04:00
heartsekai 465aabe11d Added Swiss-German keymap. (#335) 2016-05-18 15:22:04 -04:00
Fred Sundvik 94519e387a Add callback function for emulator drawing 2016-05-18 09:03:42 +03:00
Fred Sundvik fa8feb21a4 Add custom led and lcd display support 2016-05-18 08:40:36 +03:00
Jack Humbert fe9b1482fd adds KC_NUBS, KC_NUHS and shifted versions to default keymaps 2016-05-17 22:17:23 -04:00
Fred Sundvik 07e412c538 Fix crash when event listener not created 2016-05-17 11:21:38 +03:00
Fred Sundvik 15300cb681 Build lcd_backlight_hal_emulator.c
When the emulator is set, instead of the lcd_backlight_hal.c file.
2016-05-17 09:51:27 +03:00
Fred Sundvik 4e89732617 Enable and fix compilation of more files 2016-05-17 09:45:05 +03:00
Fred Sundvik d79e94adb1 Use ugfx API instead of chibios 2016-05-17 09:35:02 +03:00
Jack Humbert 2425fd295a fixes default planck keymap 2016-05-16 23:08:16 -04:00
Fred Sundvik 15bdef3ee9 Makefile changes to support emulator build 2016-05-16 09:45:39 +03:00
Fred Sundvik a20d513e3c Add function to check if the keyboard is a master 2016-05-15 19:28:15 +03:00
Fred Sundvik 350bc0d22f Merge branch 'master' into led 2016-05-15 14:50:34 +03:00
Fred Sundvik bde869aa7e Merge branch 'chibios-contrib' 2016-05-15 14:08:01 +03:00
Fred Sundvik 81f89cc672 Update include dir for new serial_link include 2016-05-15 13:43:45 +03:00
Fred Sundvik 5651be7a2f Configurable visualizer thread priority 2016-05-15 13:43:45 +03:00
Fred Sundvik a0297a892e Rename system to serial_link
Also combined driver.h with serial_link.h
2016-05-15 13:38:59 +03:00
Fred Sundvik b4ab61171e Configurable serializer thread priority 2016-05-15 12:59:50 +03:00
Fred Sundvik a08bcea998 Don't accept remote objects with the wrong size
Fixes memory corruption when the crc happens to match, but the size
doesn't.
2016-05-15 11:58:20 +03:00
Fred Sundvik 3b422d2ac4 Add debug print for serial link errors
This is disabled by default
2016-05-15 11:36:39 +03:00
Jacob Bilger b79400e0e9 Folders for each keymap.c file (#332)
* Add folders to keymaps

* test

* test
2016-05-15 01:22:51 -04:00
Jack Humbert e2aa980ad5 cleans up default keymaps (olkb) 2016-05-15 01:07:48 -04:00
Jack Humbert fde477a927 updates midi functionality (#331)
* implements leader key for planck experimental

* allows override of leader timeout

* adds ability to use the leader key in seq

* fixes leader keycode

* adds chording prototype

* fixes keycode detection

* moves music mode to quantum.c

* disables chording by default

* adds music sequencer functionality

* implements audio/music functions in quantum.c

* splits up process_action to allow independent processing of actions

* moves midi stuff to quantum.c

* adds additional scales for midi
2016-05-15 00:51:06 -04:00
Jack Humbert bf5c2ccee5 splits process_action up to handle records separately (#329)
* implements leader key for planck experimental

* allows override of leader timeout

* adds ability to use the leader key in seq

* fixes leader keycode

* adds chording prototype

* fixes keycode detection

* moves music mode to quantum.c

* disables chording by default

* adds music sequencer functionality

* implements audio/music functions in quantum.c

* splits up process_action to allow independent processing of actions

* merging?
2016-05-15 00:47:25 -04:00
Jack Humbert 15719f3574 adds a sequencer to the music mode (#330)
* implements leader key for planck experimental

* allows override of leader timeout

* adds ability to use the leader key in seq

* fixes leader keycode

* adds chording prototype

* fixes keycode detection

* moves music mode to quantum.c

* disables chording by default

* adds music sequencer functionality

* implements audio/music functions in quantum.c

* Merge branch 'master' into process-record
2016-05-15 00:40:59 -04:00
Erez Zukerman 1a8c0dd22d Leader key implementation (#326)
* implements leader key for planck experimental

* allows override of leader timeout

* adds ability to use the leader key in seq

* fixes leader keycode

* adds chording prototype

* fixes keycode detection

* moves music mode to quantum.c

* disables chording by default

* updates process_action functions to return bool
2016-05-15 00:27:32 -04:00
Erez Zukerman 79d26f331a Adds explanatory note re history of TMK and QMK 2016-05-14 22:07:16 -04:00
Jacob Bilger c7d2c79d34 adds Bilger321's planck keymap 2016-05-14 21:11:33 -04:00
Tobias Matt 26e315a6bb readme added 2016-05-14 10:04:14 +02:00
Erez Zukerman 6e72586b6b Merge pull request #320 from Townk/townkmap
Townkmap
2016-05-13 21:54:23 -04:00
Erez Zukerman 9746cd5323 Merge pull request #317 from Twey/master
Updates to `keymaps/twey` to the media layer and for Plover 3.0
2016-05-13 21:51:03 -04:00
Erez Zukerman 7b2cdca744 Merge pull request #307 from sboesebeck/master
minor change to default layouts
2016-05-13 21:50:28 -04:00
Tobias Matt 65645fb8ca Merge remote-tracking branch 'upstream/master' 2016-05-13 10:08:29 +02:00
cwhits 69f05e1afd [planck] adds button for toggling output in plover app (#323)
* [planck] toggle plover output in app when toggling plover layer on keyboard

* [planck] moved plover toggle to separate key

* [planck] renamed toggle button
2016-05-12 15:08:53 -04:00
Ryan Ascheman d1c70328f8 update volume control to match arrow change 2016-05-12 10:32:26 -07:00
Thiago Alves f70dec3ee9 Remove unused variable on the keymap. 2016-05-11 14:01:15 -07:00
Stephan Bösebeck d09d2da1c2 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-11 22:05:19 +02:00
Thiago Alves c7d52fda9e Add an initial Readme to the keymap. 2016-05-11 13:04:53 -07:00
Fred Sundvik 25382cb6f2 Fix compute_gradient_color 2016-05-11 22:06:26 +03:00
Erez Zukerman 5845eb05b5 [Erez & Jack] Documents audio output 2016-05-10 20:48:14 -04:00
Thiago Alves 4a041f65e2 Tweak some key positions and changed macro location.
After using the layout a while I learn that the - and = positions should be
swapped since I keep typing = when I intend to type -.

I also, removed the only macro from the top left on the right hand to put the
power button there and since I never use the arrow keys on the separated groups
of keys, I added 4 macros there to get a feel for it.
2016-05-10 16:32:18 -07:00
Thiago Alves 75384689b2 Add custom config.h and revert the changes on the global one.
Some options I defined on the config.h file don't make much sense to other
keymaps so I revert the global config.h and add those options on the keymap
custom one.
2016-05-10 16:17:30 -07:00
James ‘Twey’ Kay a46a0ed4f3 keymaps/twey: fix documentation 2016-05-10 22:33:06 +01:00
James ‘Twey’ Kay 373e441d86 keymaps/twey: Plover 3.0 has a standard TOGGLE keybinding; use that instead 2016-05-10 22:30:17 +01:00
James ‘Twey’ Kay b5c5b71828 keymaps/twey: Add more history keys to media layer; stop using toggleable media layer 2016-05-10 22:23:36 +01:00
Peter e4e0b4e105 Update build guide with instructions to copy the whole keymap folder (#315) 2016-05-09 19:23:51 -04:00
Thiago Alves c2ffedd65c Update the .hex file on the keymap folder. 2016-05-09 15:27:57 -07:00
Thiago Alves 3e43298d79 Revert the Makefile to the original one.
Make sure I customize things as much as possible inside the keymap itself.
2016-05-09 15:27:57 -07:00
Thiago Alves 85f5eaec39 Change the access to the extra layer to be simetric.
Instead of having a key on the left side for one layer and a key on the right
side for the other layer, I put two dedicated layers on each side to get to the
proper layers.
2016-05-09 15:27:57 -07:00
Thiago Alves 6d343f3559 Add my personal keymap for OSX use.
This keymap was created to have a feel keys on a different place and to have as
fewer layers as possible.

Currently I have only 2 extra layers and only one of them is really required to
have all possible keys available.

Check out the README.md file for more information.
2016-05-09 15:27:57 -07:00
Jack Humbert 3f02637f4d Backlight Breathing for Planck and Atomic
* Updated personal layouts

* tweaked personal

* Nightly - Audio Cleanup

Refactored the LUTs. Abstracted some of the registers out of audio to
use more functional names. Split audio into audio and audio_pwm. WIP

* nightly - collapsed code

* Added check for note playing to LEDs

* Usability tweaks

* TWEAE

* nightly

added extra kcs to keymap common

* turned on Plank audio

* Added backlight breathing to atomic

* reverted accidental merge

* adds backlight pulse to planck
2016-05-09 13:17:15 -04:00
Jack Humbert 684793360c quantum accommodates more than 16 columns 2016-05-09 00:36:23 -04:00
Erez Zukerman 35a72ca5e1 Adds next tab/prev tab back to symb layer and updates legend 2016-05-08 13:55:30 -04:00
Erez Zukerman 2ac27dd574 A little more tweaking 2016-05-08 13:45:26 -04:00
Erez Zukerman 897396b58f Tweaks layers 1 & 2 in my experimental layout 2016-05-08 13:39:17 -04:00
Erez Zukerman 2ce9644caa Merge pull request #311 from adiabatic/ergodox-zweihander-osx
Add KC_LABK and KC_RABK (< and >)
2016-05-06 18:28:43 -04:00
Nathan Sharfi 05db327b70 Add KC_L[LR]ABK to top-level README 2016-05-06 06:22:26 -07:00
Erez Zukerman 7566ac4241 Merge pull request #310 from nrrkeene/master
Lock layers by pressing both shift keys
2016-05-06 09:13:30 -04:00
Nathan Sharfi c702a522b0 Rearrange code layer on Zweihander
Makes it more like the iOS keyboard (and therefore easier to remember). Also adds angle brackets for HTML and comparisons.
2016-05-06 05:47:55 -07:00
Nathan Sharfi 08f3142463 Add KC_LABK and KC_RABK (< and >) 2016-05-06 05:40:02 -07:00
Nathan Sharfi fc4f693cad zweihander: add ⌘X, ⌘C, ⌘V to media thumb keys 2016-05-06 05:19:17 -07:00
Nicholas Keene 481c74cc56 The Ordinary Layout is the layout you are looking for. Come and see. 2016-05-05 23:18:48 -05:00
Nicholas Keene 90a6534729 The Ordinary Layout is extraordinarily familiar and powerful 2016-05-05 23:10:51 -05:00
Erez Zukerman 78bd31f28e Uses @eltang's famous macro! Still not perfect though :( 2016-05-05 23:18:46 -04:00
Erez Zukerman bf6f3fe7f4 [Erez & Jack] Updates docs with one-shot information and config_user.h 2016-05-05 23:18:04 -04:00
Erez Zukerman 9bb368a5fb [Jack & Erez] Defines MOD_HYPR and MOD_MEH 2016-05-05 22:44:24 -04:00
Erez Zukerman cd30f971ae [Jack & Erez] Creates a makefile.mk and a config file for the experimental layout 2016-05-05 22:24:09 -04:00
Erez Zukerman 3a9d1c4279 [Jack & Erez] Enables config_user.h per keymap 2016-05-05 22:23:32 -04:00
Erez Zukerman 8ffc73fcbd [Jack & Erez] Adds an option for user-specific config.h files 2016-05-05 22:21:39 -04:00
Erez Zukerman f293bf2340 [Jack & Erez] Removes duplicate reference, sorts whitespace 2016-05-05 22:19:29 -04:00
Jack Humbert 41b3e399b1 adds keycode shortcuts for OSL and OSM 2016-05-05 21:50:51 -04:00
Thiago Alves 74e97eefd7 Adds oneshot layer and oneshot tap toggling (#308)
This commit is mostly a cherry-pick from `ahtn` at
https://github.com/tmk/tmk_keyboard/pull/255.

These are the changes:

* Adds ACTION_LAYER_ONESHOT
* Adds ONESHOT_TAP_TOGGLE
* Mentions sticky keys in the docs on oneshot.
2016-05-05 21:41:37 -04:00
Tom Duckering d4520cd3ac Referencing the hex file (#309)
Seems that this is a typo. When I used the hex file it worked so presuming that means it's right ;)
2016-05-05 18:27:28 -04:00
Jack Humbert 356dba7e61 updates atreus's column mapping 2016-05-05 12:05:09 -04:00
Stephan Bösebeck 2e02886a1e remove typo 2016-05-05 16:52:40 +02:00
Stephan Bösebeck a096d205aa making default osx more ELG conform 2016-05-05 16:48:51 +02:00
Stephan Bösebeck 7060e10669 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-05 16:28:47 +02:00
Nicholas Keene 5daf24b1a5 The Ordinary Layout is the most natural and powerful layout for the Ergodox EZ. Come check it out. 2016-05-04 22:17:47 -05:00
Erez Zukerman dbb1c2f281 Merge pull request #305 from nrrkeene/master
Custom handling for shift keys, improved media layer
2016-05-04 22:31:00 -04:00
Stephan Bösebeck 660511f050 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-04 08:03:25 +02:00
Erez Zukerman 31a697bc05 Merge pull request #304 from adiabatic/ergodox-zweihander-osx
zweihander: comment out action_get_macro()
2016-05-03 22:27:39 -04:00
Nathan Sharfi 6bafe44486 zweihander: comment out action_get_macro() 2016-05-03 19:19:47 -07:00
Nicholas Keene 4b74eca2a5 The Ordinary Layout is arranged as close as possible to a traditional keyboard, but with extra special features 2016-05-03 20:58:27 -05:00
Nicholas Keene 575ca2b96d The Ordinary Layout works the way you expect it to, with extra powerful features 2016-05-03 20:40:15 -05:00
IBNobody 83e1cc241e Clarified audio.c (#302)
* Updated personal layouts

* tweaked personal

* Nightly - Audio Cleanup

Refactored the LUTs. Abstracted some of the registers out of audio to
use more functional names. Split audio into audio and audio_pwm. WIP

* nightly - collapsed code

* Added check for note playing to LEDs
2016-05-03 13:56:40 -04:00
Stephan Bösebeck 507db3ab13 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-03 08:29:55 +02:00
IBNobody 35d7081899 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-05-02 23:15:56 -05:00
Nicholas Keene 8b0274f60a Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-02 21:35:58 -05:00
Erez Zukerman 2c070163ff Merge pull request #300 from Twey/tweymap-momentary
Swap steno/media layers to allow using media keys in the Plover layer…
2016-05-02 21:04:13 -04:00
James ‘Twey’ Kay 1173dbd02f Swap steno/media layers to allow using media keys in the Plover layer; display all active layers, not just the top; use only momentary modifiers 2016-05-02 19:22:32 +01:00
Stephan Bösebeck 61b2b58bee Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-05-02 14:38:54 +02:00
Erez Zukerman 1ce6da2605 Merge pull request #298 from adiabatic/ergodox-zweihander-osx
ergodox-zweihander-osx: initial commit
2016-05-02 08:30:34 -04:00
Erez Zukerman 98ed12843e Merge pull request #294 from sneako/master
Add my Ergodox EZ config
2016-05-02 08:24:26 -04:00
Erez Zukerman 84b736dc7f Merge pull request #258 from romanzolotarev/master
Add Roman's single layer layout based on Norman
2016-05-02 08:24:11 -04:00
Stephan Bösebeck 0e7a3a25bb new version of the experimental layout. changed media keys in MDIA layer 2016-05-02 13:46:00 +02:00
Nicholas Keene 1076c2b122 The Ordinary Layout is the layout you are looking for. Come and see v3.14. 2016-05-01 23:16:41 -05:00
Nathan Sharfi fe022a508f zweihander: move dim/brighten to 1/2, add ⌘Q 2016-05-01 15:12:38 -07:00
Nathan Sharfi 9b163d2feb zweihander: Add ⌘, ⌘⇧, ⌥⇥, ⌥⇧⇥ 2016-05-01 13:55:00 -07:00
Nathan Sharfi 8ec1d41a28 Ergodox EZ: add zweihander-osx.hex 2016-04-30 22:36:09 -07:00
Nathan Sharfi 262930c8d5 ergodox-zweihander: initial commit 2016-04-30 22:12:13 -07:00
Fred Sundvik f0c8e7c495 Fix a few led test animation issues 2016-04-30 22:45:41 +03:00
Erez Zukerman c3aa0a23ed Merge pull request #292 from abperiasamy/ergo-ab
Beginner's keymap for Ergodox-EZ
2016-04-30 14:56:58 -04:00
Anand Babu (AB) Periasamy ed0798de24 Beginner's keymap for Ergodox-EZ 2016-04-30 11:28:38 -07:00
Olivier dc7b606ff1 Update firmware with latest QMK code. 2016-04-30 16:06:23 +02:00
Olivier 09ea12f9ca Merge https://github.com/jackhumbert/qmk_firmware 2016-04-30 16:03:52 +02:00
Olivier 9d48ba9713 Add a macro for Ctrl+Alt+Fx. 2016-04-30 16:01:37 +02:00
Erez Zukerman e7d56215de Merge pull request #295 from techtomas/techtomas
Add my layout to the list
2016-04-30 07:42:20 -04:00
Jack Humbert 0656f2fa10 moves backlight functionality to keyboard files and updates template makefile
previously there were two backlight.c files (bad)
2016-04-29 22:19:40 -04:00
Jack Humbert 9ab7098c83 fixes plover start sound 2016-04-29 21:21:08 -04:00
Thomas Anderson fb57b2e55d Added readme 2016-04-29 17:25:14 -07:00
Thomas Anderson 711809fdac Finalized my personal layout 2016-04-29 14:42:31 -07:00
Erez Zukerman 9edcfcdf6f Adds brackets to inner vertical keys in experimental layout 2016-04-29 22:39:05 +03:00
Jack Humbert 66e0323881 removes extra voices, updates .hex files 2016-04-29 12:42:55 -04:00
Jack Humbert 2bbf3d5820 stops forcing debug_action 2016-04-28 23:23:33 -04:00
Jack Humbert 27d24faf39 adds condition to one last audio ref in planck default 2016-04-28 23:11:09 -04:00
skullY ca9b85f702 Bring the clueboard firmware size down 2016-04-28 20:07:07 -07:00
sneako b79124ac14 Adding .hex file 2016-04-28 22:20:25 -04:00
sneako 38858338f8 Add my Ergodox EZ config 2016-04-28 21:58:29 -04:00
Erez Zukerman 4f998657e9 Addresses #290 2016-04-29 04:47:06 +03:00
Tobias Matt 4122ad3f7b switch shift and enter thumb key 2016-04-28 15:09:34 +02:00
Tobias Matt a101d9ebcd update hex file 2016-04-28 15:02:40 +02:00
Tobias Matt d4710d8d7a shift to thumb key 2016-04-28 15:01:27 +02:00
skullY ce7dc30cc8 Updating my entry in the README 2016-04-27 10:12:51 -07:00
Christopher Browne c2a3df3123 Saving crontab for user on host 2016-04-27 12:52:47 -04:00
Christopher Browne f59c4b03fa Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-27 12:34:54 -04:00
IBNobody ce75a7675e Updated personal layouts (#291) 2016-04-27 00:25:16 -04:00
a0-c 8fda26db7d gh60 Rev C with LED controls (#289)
* gh60_rev_c

* gh60 Rev C

Support for WASD, Poker, Esc, FN LED clusters

* clean up spacing

* Update README.md

* Added image and pinout

* PCB image
2016-04-26 20:05:05 -04:00
Jack Humbert e024c11f7a actually resolves conflicts in rgblight.c 2016-04-26 13:50:04 -04:00
Jack Humbert c37d52d213 resolves conflicts in rgblight.c
# Conflicts:
#	quantum/rgblight.c
2016-04-26 13:48:36 -04:00
Jack Humbert 27e3294909 updates README, fixes typo in new_project.sh 2016-04-26 13:44:27 -04:00
Erez Zukerman 0edc7a9d87 Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-04-26 14:25:45 +03:00
Erez Zukerman ea091e7f1b Honing in on an interval that works for me 2016-04-26 14:25:35 +03:00
Roman Zolotarev bf925fb71c Add Roman's layout with QWERTY 2016-04-26 16:46:43 +08:00
Roman Zolotarev 28f0b64e31 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-26 16:23:10 +08:00
Tobias Matt d280a59c82 add hex file 2016-04-26 08:43:56 +02:00
Tobias Matt 0181663771 organize in subfolder 2016-04-26 08:41:17 +02:00
Jack Humbert bf56838fe9 adds freq LUT for future use 2016-04-26 01:17:00 -04:00
Jack Humbert 140b97a1cd adds delayed vibrato 2016-04-26 01:16:47 -04:00
Bubblepoint 57789c64bd basic layout 2016-04-26 05:39:33 +02:00
Erez Zukerman 6274a216f8 [Erez & Jack] Examples for advanced macro stuff 2016-04-26 05:25:31 +03:00
Ryan Ascheman 7929ee4879 update readme 2016-04-25 15:40:52 -07:00
Erez Zukerman aabcfd5b4e Merge pull request #282 from jasontwong/master
Add new keymap
2016-04-25 06:57:00 -04:00
Jack Humbert 28352f4619 adds revisions of .hex files for planck/preonic 2016-04-25 01:01:41 -04:00
Jack Humbert 0889cc0d9a removes old .hex files 2016-04-25 01:00:34 -04:00
Jack Humbert e7b6bb641c updates default voice, prunes voices 2016-04-25 00:59:47 -04:00
Jack Humbert 170d9b7d15 addresses memory limits concerns for atomic default makefile 2016-04-25 00:25:49 -04:00
Jack Humbert 9fb1e5441f updates preonic default keymap 2016-04-25 00:22:35 -04:00
Jack Humbert 130a485bf7 updates planck default keymap 2016-04-25 00:15:23 -04:00
Jason T. Wong 9f8f34119a Compiled Hex File
The keymap file to use without compilation.
2016-04-24 22:14:09 -04:00
IBNobody f32f80cf32 updating personal atomic keymap (#285) 2016-04-24 22:06:59 -04:00
Erez Zukerman 68532ced24 Merge pull request #280 from Twey/master
Add `quantum/keymap_extras/keymap_plover.h` and a keymap.
2016-04-24 20:33:38 -04:00
James ‘Twey’ Kay 5713083e91 Add Twey's keymap 2016-04-25 01:08:36 +01:00
Fred Sundvik 6313cfd559 Fix some makefile issues, and symbol issues 2016-04-24 17:44:11 +03:00
Fred Sundvik 74baa4895c Run mirrored keyframes for led tests as well 2016-04-24 16:40:41 +03:00
Fred Sundvik 15906b86ae LEDS are flushed automatically
After running the animation, instead of having to do it manually.
This avoids duplicate flushing, and better support for cross-fades.
2016-04-24 16:26:53 +03:00
Fred Sundvik 0530ebb77d Add led crossfading 2016-04-24 16:20:00 +03:00
Fred Sundvik 891edbd533 Add function for running the next keyframe 2016-04-24 16:19:31 +03:00
Fred Sundvik 444132edd0 Add last and first update of frame for anims 2016-04-24 15:45:52 +03:00
Fred Sundvik 0e0488623e Add left to right gradient keyframe for leds 2016-04-24 14:54:40 +03:00
Fred Sundvik a960a1b006 Add fade out for the led test 2016-04-24 14:10:01 +03:00
Fred Sundvik c95b17b536 Add simple led support
Also the first version of a led testing animation
2016-04-24 13:46:19 +03:00
Jason T. Wong 93da70a43a Update keymap image
Why:

* The transparency made it ugly.

This change addresses the need by:

* Make transparent parts white.
2016-04-23 23:36:41 -04:00
Jack Humbert def6853532 adds voice iteration to planck default 2016-04-23 23:30:09 -04:00
Jason T. Wong 762065578b Add new keymap
Why:

* I want a custom keymap that suits my needs.

This change addresses the need by:

* Cloned default keymap.
* Customized layout.
* Updated README.
* Add an image created from keyboard layout editor.
2016-04-23 23:21:13 -04:00
James ‘Twey’ Kay 7ccfaf750d Add a keymap_extras header for Plover 2016-04-23 18:49:10 +01:00
Eric Tang eb09c450de Fix typo (#276) 2016-04-22 16:44:50 -04:00
Jack Humbert a718c53fe7 adds more voice harmonics 2016-04-22 11:58:29 -04:00
Jack Humbert a8086126fe Merge remote-tracking branch 'origin/master'
# Conflicts:
#	quantum/audio/voices.c
2016-04-22 01:04:13 -04:00
Jack Humbert b1900c8dde adds fifth and fourth down voices 2016-04-22 01:02:50 -04:00
IBNobody 082a0f313d fixed compiler warnings (#273) 2016-04-22 01:01:38 -04:00
Jack Humbert 7b3f212500 adds more voices, fixes macro redefines 2016-04-21 23:10:49 -04:00
Jack Humbert fa40e91b56 Merge pull request #271 from eltang/qmk_firmware/eeprom_wear_fix
Update functions used to write to EEPROM
2016-04-21 23:10:00 -04:00
Eric Tang 620ac4b260 Update functions used to write to EEPROM 2016-04-21 20:07:03 -07:00
Jack Humbert 9828aba2a1 adds multiple voices and the ability to iterate/deiterate between them 2016-04-21 18:14:25 -04:00
Erez Zukerman a8fd65d86f Merge pull request #265 from sboesebeck/master
ErgodoxLayoutGenerator used
2016-04-21 08:10:39 +03:00
Jack Humbert e89b806b85 converts tabs to spaces 2016-04-21 00:40:00 -04:00
Jack Humbert 73228f5e5d restructures audio, begins voicing 2016-04-21 00:37:45 -04:00
Jack Humbert 2e60054951 fade envelope 2016-04-20 23:16:39 -04:00
Jack Humbert 2e303b40ae start of envelope function 2016-04-20 22:29:01 -04:00
Jack Humbert 7d1a683607 sounds for plover layout 2016-04-20 22:28:47 -04:00
Jack Humbert 157ddccc2c start-up sound working, removes tick with some devices 2016-04-20 20:11:05 -04:00
Jack Humbert 0fd093b400 there is no on 2016-04-20 18:41:10 -04:00
Jack Humbert b0635e58eb delay isn't the problem here 2016-04-20 18:39:36 -04:00
Jack Humbert b8c932f9aa makes the plover keymap correct 2016-04-20 18:39:17 -04:00
Stephan Bösebeck e065ff8cba changed the macro generation of the ELG to use UP, DOWN, TYPE instead of U,D,T - makes it work with custom keycodes 2016-04-20 22:34:02 +02:00
Stephan Bösebeck 17140ec082 added some words about the ELG in the readme 2016-04-20 11:16:29 +02:00
Stephan Bösebeck 13244a259c Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-20 11:15:59 +02:00
Jack Humbert f489ae1ac0 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-04-20 01:08:27 -04:00
Jack Humbert de4690593c fixed startup audio with a 500ms delay 2016-04-20 01:08:17 -04:00
Erez Zukerman a9ef1c0a03 Merge pull request #267 from nrrkeene/master
Improved modifier keys, code
2016-04-20 07:48:54 +03:00
Nicholas Keene 5319c2cd6e The Ordinary Layout is the layout you are looking for. Come and see. 2016-04-19 21:56:50 -05:00
Jack Humbert 462601f5e8 breaking changes - restructuring audio.c a little 2016-04-19 21:25:48 -04:00
Stephan Bösebeck f645f9946c re-created all layouts using ErgodoxLayoutGenerator 2016-04-19 23:27:10 +02:00
Ryan Ascheman c1f143124d initial changes, no doc changes 2016-04-19 14:21:23 -07:00
Stephan Bösebeck 6ff5e10592 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-19 23:07:11 +02:00
Jack Humbert a2ee277158 updated comments about plover 2016-04-19 17:03:43 -04:00
Jack Humbert 6ae34f20aa added plover to default layout 2016-04-19 17:01:04 -04:00
Jack Humbert fd49dfe5cb vibrato and polyphony paratmeters 2016-04-19 17:00:45 -04:00
Jack Humbert d3fc077fa3 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-04-19 12:58:16 -04:00
Jack Humbert a2f31c886f getting ready for getters and setters 2016-04-19 12:58:13 -04:00
Stephan Bösebeck 04f36b3681 new overview pic 2016-04-19 15:59:43 +02:00
Jack Humbert 4e0e2504ad Merge pull request #264 from ericlathrop/patch-1
Fix typo
2016-04-19 09:54:46 -04:00
Eric Lathrop 2b38d74795 Fix typo 2016-04-19 08:49:42 -04:00
Stephan Bösebeck a16a9b30b6 added new macro for toggling and holiding layer 2016-04-19 10:37:37 +02:00
Stephan Bösebeck 0fbc52809e new experimental layout 2016-04-19 07:50:29 +02:00
Jack Humbert 78b3a88154 merging in #262 2016-04-18 21:04:29 -04:00
Jack Humbert f2c1e9ddd4 Merge pull request #262 from IBNobody/master
Fixed keyboard snoring while asleep
2016-04-18 21:03:21 -04:00
Jack Humbert e49712b559 note sliding - on right now 2016-04-18 21:01:48 -04:00
IBNobody 499e3096e9 Merge pull request #2 from IBNobody/personal_atomic_planck
Fixed speaker being on during sleep.
2016-04-18 19:48:52 -05:00
IBNobody 4b3358acc2 Fixed speaker being on during sleep. 2016-04-18 18:58:37 -05:00
IBNobody cbcf0abe62 Merge remote-tracking branch 'refs/remotes/origin/personal_atomic_planck' 2016-04-18 15:47:10 -05:00
IBNobody 4f4b5b8c18 Added CM/DK 2016-04-18 01:58:25 -05:00
Stephan Bösebeck 42fad96be5 added smly layer again 2016-04-18 08:27:58 +02:00
Stephan Bösebeck 9cc39156f7 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-18 08:03:22 +02:00
IBNobody 82ec81660e Merge remote-tracking branch 'refs/remotes/jackhumbert/master' into personal_atomic_planck 2016-04-17 23:16:36 -05:00
IBNobody ef73ab6628 Notes Bugfix 2016-04-17 22:08:05 -05:00
Jack Humbert 89a78f4a11 audio fixes 2016-04-17 21:26:06 -04:00
Jack Humbert 5a15c113d7 Merge branch 'personal_atomic_planck' of github.com:IBNobody/qmk_firmware 2016-04-17 21:15:50 -04:00
IBNobody 5c98ad5960 Added extra songs, LED indicator notes 2016-04-17 20:14:37 -05:00
Jack Humbert d94960be5b Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-04-17 18:19:46 -04:00
Jack Humbert e0ab1dcf4c merging 2016-04-17 18:15:35 -04:00
Jack Humbert ce463ef424 audio fixes 2016-04-17 18:14:42 -04:00
Jack Humbert f1fdeddad3 Merge pull request #261 from a0-c/master
__attribute__ ((weak)) added to led_set
2016-04-17 17:47:26 -04:00
Stephan Bösebeck 6732d6cf1a new png 2016-04-17 23:04:43 +02:00
Stephan Bösebeck a9d8c61dbd new iteration, change of lower row 2016-04-17 23:02:29 +02:00
Stephan Bösebeck 6d40f7c506 added new experimental layout - works with ErgodoxLayoutGenerator 2016-04-17 22:19:47 +02:00
Stephan Bösebeck 7c3345f9b9 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-17 22:17:40 +02:00
IBNobody 23231fa577 Converted goodbye to notes, fixed eighth dotted note macro 2016-04-17 14:16:03 -05:00
Olivier edb2996299 Use aliases where available. No firmware change. 2016-04-17 20:22:07 +02:00
Olivier 920e0865b6 Commit firmware up-to-date with latest upstream qmk_firmware changes. 2016-04-17 20:00:09 +02:00
IBNobody 3103ea542f Merge remote-tracking branch 'remotes/jackhumbert/master' into personal_atomic_planck 2016-04-17 12:55:19 -05:00
IBNobody d5b72e7bde Fixed many compiler warnings related to print being disabled 2016-04-17 12:54:32 -05:00
Olivier b03a9f7252 Merge https://github.com/jackhumbert/qmk_firmware 2016-04-17 19:54:06 +02:00
a0-c 90289aa53f __attribute__ ((weak)) added to led_set
__attribute__ ((weak)) added to led_set
2016-04-17 06:51:39 -10:00
IBNobody c940e87235 fixed single note play copy/paste bug 2016-04-17 10:41:07 -05:00
Jack Humbert 319fbe344b Merge branch 'personal_atomic_planck' of github.com:IBNobody/qmk_firmware 2016-04-17 10:56:12 -04:00
Olivier 0715cf46ac Add underscore "_" character in the qwerty compatibility layer. 2016-04-17 12:15:23 +02:00
IBNobody 29e495be2a Added trimble and tempo adjustments! 2016-04-17 02:52:38 -05:00
IBNobody 943b5b7709 Adding folding to #if, etc 2016-04-17 00:24:58 -05:00
Jack Humbert a67d425f4d planck default layout updates 2016-04-17 01:00:39 -04:00
Jack Humbert e7b9959819 no need for length of play_notes array with macro 2016-04-16 23:15:40 -04:00
IBNobody 45f10b4c4b Fixed how note arrays are used. 2016-04-16 22:10:18 -05:00
Jack Humbert 720e67e558 Merge branch 'personal_atomic_planck' of github.com:IBNobody/qmk_firmware 2016-04-16 23:08:12 -04:00
Jack Humbert 8bbd064cf5 changes to play_notes, goodbye 2016-04-16 23:07:50 -04:00
IBNobody 12a9b2b9ae Merge remote-tracking branch 'remotes/jackhumbert/master' into personal_atomic_planck 2016-04-16 20:37:44 -05:00
IBNobody a87522033d Merging with QMK main to fix rest issues 2016-04-16 20:37:22 -05:00
Jack Humbert 41cc35425a rests between notes as an argument 2016-04-16 21:31:40 -04:00
Jack Humbert 8f4ce501eb Merge pull request #260 from IBNobody/personal_atomic_planck
Atomic TLC and musical note freqs for audio
2016-04-16 21:02:17 -04:00
IBNobody bc65f73c64 Merge remote-tracking branch 'remotes/jackhumbert/master' into personal_atomic_planck 2016-04-16 19:32:29 -05:00
IBNobody 4aea806aa8 Adding Musical Notes 2016-04-16 19:31:32 -05:00
IBNobody b5c22ab5b5 Merging with QMK main to fix audio issues 2016-04-16 19:27:21 -05:00
Jack Humbert c83aa16f1d fixes audio prescaler to emit correct freq 2016-04-16 20:26:02 -04:00
Jack Humbert b8d2e66638 readme clarity for rgbleds 2016-04-16 19:30:15 -04:00
Jack Humbert ab19ebd08a MAGIC functionality, AG swap in default layout 2016-04-16 18:51:58 -04:00
Olivier 5df222d3e0 Even more compatibility with QWERTY systems : added most useful characters needing AltGr on a bepo layout. This compatibility layer is still not perfect, but now usable to type with a bepo-like layout on a qwerty system. 2016-04-16 23:33:18 +02:00
Stephan Bösebeck 38a1d830fa Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-16 22:56:33 +02:00
Olivier 12f13eeef4 More compatibility with QWERTY systems. 2016-04-16 22:48:09 +02:00
Jack Humbert 5f648b6c40 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-04-16 15:47:20 -04:00
Jack Humbert 86169833c5 updates to preonic default, music mode integrated 2016-04-16 15:47:17 -04:00
Olivier 536e52a05a Simple layer to allow the keyboard to act like a bepo keyboard when plugged on a qwerty system. Doesn't work with modifiers for now. 2016-04-16 20:01:44 +02:00
Olivier 6b8fdb90bc Add mouse navigation keys on a new layer. 2016-04-16 19:23:39 +02:00
Olivier 0cd070d814 More concise, no functional change. 2016-04-16 18:56:31 +02:00
Olivier 6dc48384f3 Allow the "00" keypad key to act like a repeating 0 when held down. 2016-04-16 18:06:16 +02:00
Olivier d3bc854ddf Correct a bug with stuck modifier keys when they were used with other layers (like when selecting with shift and navigation keys) and released before the layout switch keys. 2016-04-16 15:13:02 +02:00
Olivier 5b74261aa9 Second try with a (maybe) more practical layout :
- layer modifiers in the thumb clusters, Alt-F1 - Alt-F4 should now be easier to type
- new Alt and Ctrl keys in the bottom row are more easily reachable with thumbs than the little thumb cluster keys, and feel more like traditional keyboards
- thumb backspace wasn't great due to lower precision and repeat rate than index fingers
2016-04-16 14:53:08 +02:00
Olivier 9a7fd7cb4d Merge branch 'master' of https://github.com/gid0/qmk_firmware 2016-04-16 14:01:00 +02:00
Olivier c2c939af4e Layout preview generated on keyboard-layout-editor.com. 2016-04-16 13:51:19 +02:00
Olivier 560873f13a Layout preview generated on keyboard-layout-editor.com. 2016-04-16 13:51:19 +02:00
Roman Zolotarev fa2eedb7bd Add Roman's single layer layout based on Norman 2016-04-16 16:57:58 +08:00
Jack Humbert 9eadeb574b Merge pull request #257 from VoodaGod/bone2planck
Bone2 Layout adptation for Planck
2016-04-16 01:24:03 -04:00
Jack Humbert 142ce47698 added keymap_extras to path 2016-04-16 01:23:08 -04:00
Jack Humbert d81ef5b7eb new defaults for planck and preonic 2016-04-16 01:19:37 -04:00
Jack Humbert 0b0ec82427 eeprom reset tool 2016-04-16 00:01:22 -04:00
Jack Humbert c294636c66 audio on by default 2016-04-15 23:46:35 -04:00
IBNobody 9d4bfc1bcf Corrected layer macros 2016-04-15 22:40:07 -05:00
Jack Humbert 0faa18eab9 audio enable stored in eeprom 2016-04-15 23:38:21 -04:00
Jason Janse van Rensburg 549b797ad1 My Attempt at adapting the Bone2 layout with Neo2 navigation cluster & number block to the Planck.
Very much a WIP, will most likely start tweaking further once my Planck kit has dropped
2016-04-16 01:36:18 +02:00
IBNobody 2aa51e4416 Tweaking PVC atomic layout 2016-04-15 16:32:44 -05:00
Jack Humbert 9111963663 Merge pull request #256 from jackhumbert/new_defaults
New default planck layout, audio fixes, makefile overwrites, tri-layer quantum-wide
2016-04-15 16:19:43 -04:00
IBNobody 8f85117aa9 Added Audio to my Atomic 2016-04-15 14:42:50 -05:00
IBNobody 39e520c010 Prepping for merge with new_defaults 2016-04-15 13:09:42 -05:00
Jack Humbert ee2ee7f4f0 audio note length fixes 2016-04-15 13:44:07 -04:00
Jack Humbert bb0836c620 the spacessss 2016-04-15 00:26:22 -04:00
Jack Humbert 43a4ffc259 bootmagic somehow not getting enabled, so adding eeconfig to backlight src include cond 2016-04-14 23:53:35 -04:00
Jack Humbert 2597fb7c50 might have broken something 2016-04-14 23:33:46 -04:00
IBNobody 66c1024bd3 fixed merging 2016-04-14 22:33:18 -05:00
IBNobody d4f90fe882 Merge remote-tracking branch 'remotes/jackhumbert/new_defaults' 2016-04-14 22:29:33 -05:00
IBNobody 3993afbb2e adding new per-keymap makefile 2016-04-14 22:27:28 -05:00
Nicholas Keene 63656ea34f The Ordinary Layout is the layout you are looking for. Come and see. 2016-04-14 22:00:15 -05:00
Jack Humbert 63462bf8c1 changing up the makefile a bit 2016-04-14 20:42:14 -04:00
Jack Humbert ddbe430778 new defaults 2016-04-14 19:13:24 -04:00
IBNobody f051496f13 Checkin 2016-04-14 18:01:29 -05:00
Stephan Bösebeck 990254edec Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-14 21:47:33 +02:00
IBNobody cf17687f29 Adding personal build file settings 2016-04-14 12:59:16 -05:00
IBNobody 3dd20f2b6c Rename pc.c to pvc_planck.c 2016-04-14 11:35:49 -05:00
IBNobody d5cc31d7d4 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' into pc_atomic_planck 2016-04-14 08:58:10 -05:00
IBNobody 3d601c1bce Rename pc.c to pvc_planck.c 2016-04-14 08:56:27 -05:00
IBNobody 19061f2ff1 Update and rename pc_atomic.c to pvc_atomic.c 2016-04-14 08:54:22 -05:00
IBNobody 4b4d3069b4 Update and rename pc_atomic.c to pvc_atomic.c
Also removed unused FNs
2016-04-14 08:50:01 -05:00
IBNobody 59e041672c Remapped magic bootloader key to B. 2016-04-14 08:20:55 -05:00
IBNobody 44e4320b2e Nightly 2016-04-14 06:34:56 -05:00
Jack Humbert bdb6dceaeb Merge pull request #254 from IBNobody/master
Atomic TLC / Compiler Warning Fixes
2016-04-13 23:31:35 -04:00
IBNobody 7ff57503c6 Merge pull request #1 from IBNobody/pc_planck
Corrected minor spacing issues
2016-04-13 22:08:00 -05:00
IBNobody 2900b48845 Added parenthesis to midi macro. 2016-04-13 22:04:44 -05:00
IBNobody 95a44cdf01 Disabled print. 2016-04-13 22:00:36 -05:00
IBNobody aa9eaa9773 Corrected spacing. 2016-04-13 21:56:27 -05:00
IBNobody 9ff9317720 Corrected spacing. 2016-04-13 21:55:04 -05:00
IBNobody 02893a9d5c Merge remote-tracking branch 'refs/remotes/origin/master' into pc_planck 2016-04-13 21:45:02 -05:00
IBNobody e0ddbba1ef Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-04-13 21:30:04 -05:00
IBNobody 1689f275ac Merge https://github.com/IBNobody/qmk_firmware into pc_planck 2016-04-13 21:22:36 -05:00
IBNobody c8c6409442 Merge remote-tracking branch 'refs/remotes/origin/pc_planck' 2016-04-13 21:07:08 -05:00
IBNobody 517c53efac Merge remote-tracking branch 'refs/remotes/origin/master' into pc_planck 2016-04-13 20:58:08 -05:00
IBNobody 3755ef5ddb Compiler Warnings / Atomic TLC
Corrected compiler warnings for a number of issues.  Gave Atomic some
TLC.
2016-04-13 20:57:51 -05:00
IBNobody 01f5b35396 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' into pc_planck 2016-04-13 19:14:23 -05:00
IBNobody 106e2414df Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-04-13 18:49:13 -05:00
IBNobody 390fd3107a local files
local files
2016-04-13 18:48:25 -05:00
IBNobody caf3e48de8 LOCAL COMMIT
LOCAL COMMIT
2016-04-13 17:40:16 -05:00
skullY 21d4cafb8c Fixup rgb underlight for clueboard1 2016-04-13 14:20:08 -07:00
Jack Humbert 200d5f5068 Merge pull request #252 from Vifon/modifier-release-fix
Optimize source_layers_cache for the cache memory
2016-04-13 16:38:14 -04:00
Wojciech Siewierski 02a3d77940 Optimize source_layers_cache for the cache memory
Swapping the array indices should increase the locality of the memory access.
2016-04-13 22:24:42 +02:00
IBNobody 3a601e76e4 Adding PC Atomic 2016-04-13 14:43:09 -05:00
Christopher Browne 6ec6b61353 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-13 12:02:51 -04:00
Stephan Bösebeck a71ab3ebb6 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-12 15:39:18 +02:00
IBNobody ff06eaf853 Added del 2016-04-12 08:17:02 -05:00
IBNobody 5ef6978cab Adding personal files 2016-04-12 06:55:26 -05:00
Erez Zukerman a0194d7e5f Merge pull request #249 from nrrkeene/master
Version 3, Ordinary Perfected
2016-04-12 09:04:29 +03:00
Erez Zukerman 98497e648d Merge pull request #248 from J3RN/master
Vim-style navigation for j3rn layout
2016-04-12 08:55:24 +03:00
Nicholas Keene 93de95d0cd The Ordinary Layout is the layout you are looking for. Come and see. 2016-04-11 23:34:41 -05:00
Nicholas Keene 96f75f39c8 The Ordinary Layout is the layout you are looking for. Come and see. 2016-04-11 23:28:16 -05:00
Nicholas Keene efffbe35c8 The Ordinary Layout is the layout you are looking for. Come and see. 2016-04-11 22:51:12 -05:00
IBNobody 6ef262951c Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-04-11 22:10:15 -05:00
Jonathan Arnett 7635958270 Merge pull request #1 from J3RN/vim-navigation
Added Vim-style navigation
2016-04-11 19:22:23 -04:00
Jonathan Arnett 9e2c767c45 Added README note about Vim-style navigation 2016-04-11 19:19:20 -04:00
Jonathan Arnett 4b03a0f3d5 Stylistic changes 2016-04-11 19:08:24 -04:00
Jonathan Arnett aaa7af752c Make a also toggle Media layer 2016-04-11 19:01:39 -04:00
zozo aeb027ed60 First version of a bepo (french layout based on Dvorak rules) keymap. 2016-04-11 23:27:27 +02:00
Olivier 8f76f1a848 First version of a bepo (french layout based on Dvorak rules) keymap. 2016-04-11 23:27:27 +02:00
Erez Zukerman 511c843829 Merge pull request #246 from romanzolotarev/master
Add a new layout with arrows in the home row
2016-04-11 23:02:08 +03:00
Erez Zukerman 58f2c6fcf2 Merge pull request #246 from romanzolotarev/master
Add a new layout with arrows in the home row
2016-04-11 23:02:08 +03:00
Stephan Bösebeck c2e1d69f27 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-11 21:54:55 +02:00
Jack Humbert d342989f25 Merge pull request #244 from nicosuave/add_nico_planck_keymap
Add nico keymap
2016-04-11 14:52:10 -04:00
Jack Humbert 472e920c03 Merge pull request #236 from tak3over/master
Minor Doc Changes.
2016-04-11 14:51:37 -04:00
Jack Humbert 27e15b5d9f Merge pull request #247 from NoahAndrews/fix-path-script
Fix important bugs in the path script for Windows
2016-04-11 14:50:01 -04:00
Jack Humbert 9837e69a8f Merge pull request #232 from IBNobody/master
Added Error Checking to 2nd Setup Script
2016-04-11 14:37:51 -04:00
NoahAndrews b437de8874 Added admin privilege check
Running this as a non-administrator appears to work at first, but the
changes wouldn't stick on my Win 8.1 system.  It's weird, but this
script needs to run as admin.
2016-04-11 14:30:15 -04:00
IBNobody e4d2b90bda Fixed CD 2016-04-11 13:20:22 -05:00
NoahAndrews 5b86028d14 Updated comment 2016-04-11 14:14:15 -04:00
NoahAndrews 1bc05ac85f Remove failing check
NEWPATH1 (C:\MinGW\msys\bin) won't actually be created until the second
script is run
2016-04-11 14:09:42 -04:00
Roman Zolotarev f26985ad16 Add HJKL layout 2016-04-11 21:45:10 +08:00
Roman Zolotarev d532b04dc1 Add HJKL layout 2016-04-11 21:45:10 +08:00
skullY 97f8f37876 Fixup RGBLIGHT support for clueboard2 2016-04-10 21:16:49 -07:00
Nico Ritschel 077aee09a4 Add my keymap 2016-04-09 11:34:01 -07:00
Fred Sundvik 61f7761c03 Update ugfx with ChibiOS 4 support.
Also change the URL to fredizzimo bitbucket
2016-04-09 19:49:52 +03:00
skullY dc451b505b Add a help message to new_project.sh 2016-04-07 15:09:53 -07:00
tak3over 9e153b1a5c another modification of layers, restored arrow keys and added cut/paste 2016-04-07 10:54:11 -05:00
Erez Zukerman 2557b91644 [Erez & Jack] Documents tri-layer and keymap-specific makefile options 2016-04-07 15:45:11 +03:00
Erez Zukerman 9cfc74c35b [Erez & Jack] Makes tri-layer available across Quantum 2016-04-07 15:21:06 +03:00
Stephan Bösebeck 0befb25739 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-06 22:52:49 +02:00
Erez Zukerman 153a6fb0d3 Merge pull request #182 from Vifon/modifier-release-fix
Fix the layer-dependent modifiers handling
2016-04-06 22:47:31 +03:00
Erez Zukerman 27ee47d0bd Merge pull request #239 from DidierLoiseau/issue-221
Fix issue #221: LGUI(KC_LSFT) does not work
2016-04-06 22:37:02 +03:00
Erez Zukerman d07a1257b3 Merge pull request #215 from nrrkeene/master
Added proper documentation
2016-04-06 22:35:17 +03:00
Erez Zukerman 04e4428e8c Merge pull request #238 from alexjj/master
Submitting my ergodox EZ layout
2016-04-06 22:34:46 +03:00
tak3over e89fd63426 switched raise and lower layers 2016-04-06 11:12:58 -05:00
skullY 0da53d3811 Fixup the cluepad code 2016-04-05 20:27:40 -07:00
skullY 34dd96187c Fix the clueboard2 led code 2016-04-05 20:27:24 -07:00
Didier Loiseau 8d6bbf2757 Fix issue #221: LGUI(KC_LSFT) does not work
- on mod keys, register LGUI, LSFT etc. as normal mods
   instead of weak mods:
  - they won't be cleared by layer switching
  - LSFT(KC_LGUI) will now have the same behavior as LGUI(KC_LSFT)
2016-04-06 01:07:36 +02:00
Didier Loiseau db35212422 Removed D(LSFT) is CSA macros
Were causing stuck LSFT weak mods.
2016-04-06 01:07:34 +02:00
Didier Loiseau 81a889c97d Add delay to CSA macros using dead keys
With the BÉPO over CSA on Windows, the dead keys stop working after a
while, like in
http://superuser.com/questions/776558/suddenly-dead-keys-dont-work

I suspect this is triggered by too fast typing from macros.
2016-04-06 01:05:53 +02:00
Didier Loiseau 08871e56f7 Fix issue #221: LGUI(KC_LSFT) does not work
on mod keys, register LGUI, LSFT etc. as normal mods
 instead of weak mods:
 - they won't be cleared when pressing another key (#188)
 - they won't be cleared by layer switching
 - LSFT(KC_LGUI) will now have the same behavior as LGUI(KC_LSFT)
2016-04-06 00:30:50 +02:00
Didier Loiseau 5bc69c5b0a Fixed compilation issues 2016-04-06 00:09:03 +02:00
tak3over 4eadc2a977 updated my keymap 2016-04-05 16:39:45 -05:00
tak3over 028dd16fe6 Modified keymap 2016-04-05 16:21:45 -05:00
Alex Johnstone 9bd1caed44 Updated hex 2016-04-05 15:51:13 +01:00
Alex Johnstone 50ac511b56 💷 typo 2016-04-05 07:49:35 -07:00
Alex Johnstone 3fd62428a6 💷 typo 2016-04-05 07:48:13 -07:00
Alex Johnstone 1facc53a26 Merge pull request #5 from jackhumbert/master
Sync with upstream
2016-04-05 07:44:37 -07:00
Jack Humbert 931b0a79fc updates to noise 2016-04-05 09:44:01 -04:00
Jack Humbert e1020672ac Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-04-05 09:21:49 -04:00
Jack Humbert 976d0a327b add silent notes 2016-04-05 09:21:44 -04:00
Wojciech Siewierski 567f256c5d Refactor the source layer cache encoding 2016-04-05 11:08:04 +02:00
tak3over 2a488d1597 Update tak3over.c 2016-04-04 16:51:30 -05:00
Stephan Bösebeck 75c24499f3 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-04 22:35:48 +02:00
tak3over 2ba0de8fcd Merge pull request #2 from jackhumbert/master
Update from source
2016-04-04 13:41:37 -05:00
tak3over ecc8e9230b Merge pull request #1 from tak3over/tak3over-patch-1
Minor documentation error.  Raise and Lower.
2016-04-04 13:23:53 -05:00
tak3over 9cd0c9d589 Minor documentation error. Raise and Lower.
The Raise and Lower keys were transposed in the comment key map for all layers. Assuming _RS and _LW should be mapped to Raise and Lower respectively.  Probably is the same in the other custom keymaps that copied from this default.
2016-04-04 13:19:19 -05:00
Erez Zukerman 0cdf5d292c Merge pull request #235 from mbarkhau/master
add indent to generated keymap
2016-04-04 08:04:31 +03:00
Stephan Bösebeck dee6a4338a minor updates - new PNG 2016-04-03 23:48:22 +02:00
Jack Humbert a90d68739a music mode file 2016-04-03 16:00:10 -04:00
Manuel Barkhau 22691de580 add indent to generated keymap 2016-04-03 21:46:32 +02:00
Erez Zukerman 13dcbfdab1 Links to build guide 2016-04-03 12:52:08 +03:00
Wojciech Siewierski 47dd29513e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware into modifier-release-fix 2016-04-03 11:23:00 +02:00
Erez Zukerman 8d39263d24 Merge pull request #213 from mbarkhau/master
Add manuneo layout
2016-04-03 08:56:08 +03:00
Erez Zukerman ddd122c0f0 Merge pull request #234 from sboesebeck/master
several iterations later
2016-04-03 08:46:14 +03:00
Manuel Barkhau 381a9fd553 use action function for unicode 2016-04-02 23:12:38 +02:00
Wojciech Siewierski 8ef14d09b8 Update PREVENT_STUCK_MODIFIERS documentation in README 2016-04-02 19:45:02 +02:00
Wojciech Siewierski 4dce7258d1 Cleanup after merge
- remove a superfluous parenthesis
- wrap lines longer than 80 characters
- add const specifiers where appropriate
- remove unnecessary casts
2016-04-02 19:29:01 +02:00
Wojciech Siewierski 97cc44e063 Merge branch 'modifier-release-fix' of https://github.com/eltang/qmk_firmware into modifier-release-fix 2016-04-02 19:25:10 +02:00
eltang 5a9091689c Update action.c 2016-04-02 10:00:31 -07:00
eltang 6c8e374d57 Update action.c 2016-04-02 09:59:53 -07:00
eltang f4f592910c Update action.c 2016-04-02 09:34:01 -07:00
eltang da101b8866 Update action.c 2016-04-02 09:29:32 -07:00
Didier Loiseau 4289ff7939 Removed remaining ALT_T and CTL_T keys
Having "true" modifiers is more reliable and practical.
- moved APP in place of HOME
- moved HOME in place of LSFT on left thumb
- moved END in place of RSFT on right thumb (Ctrl+End with single hand!)
- removed ALT_T from KC_ESC
2016-04-02 18:16:34 +02:00
Didier Loiseau 4e25342b41 Use TG() to switch to BÉPO over CSA, and use KC_TRNS in LR_CSA
Simplifies future changes to modifier and special keys
+ removed M_TGCSA macro
2016-04-02 18:16:34 +02:00
Didier Loiseau 89b647fe2b Replace Play by temporary num layer with left Alt
- move play on fn+left thumb
- move prev/next besides play
2016-04-02 18:16:33 +02:00
Didier Loiseau 6c672dfdc6 BÉPO over CSA: Altgr-shifted layer
- all characters available directly in CSA
- more explicit names for macros that switch accross CSA layers
- use macros to implement the shifts next to the spaces
2016-04-02 18:16:33 +02:00
Didier Loiseau aa5eb49edd BÉPO over CSA: GR2A-shifted characters in AltGr layer
- define aliases for all GR2A-shifted characters
- use the available characters in BÉPO over CSA AltGr layer
2016-04-02 18:16:33 +02:00
Didier Loiseau b2a4434abb BÉPO over CSA: Fixed key repeat for M_NBSP 2016-04-02 18:16:32 +02:00
Didier Loiseau 3a91ddb074 Use CSA_ as prefix for Canadian Multilingual key aliases
CM is already used for Colemak.
2016-04-02 18:16:32 +02:00
Didier Loiseau 911222892e BÉPO over CSA: GR2A characters in AltGr layer
- define aliases for all GR2A characters (unshifted)
- use the available characters in the BÉPO over CSA AltGr layer
2016-04-02 18:16:31 +02:00
Didier Loiseau fbf1333d87 BÉPO over CSA: unicode support
- implement easy way to define and send unicode characters on Windows
- define 3 characters not available in CSA:
  - en dash: –
  - em dash: —
  - ellipsis: …
2016-04-02 18:16:31 +02:00
Didier Loiseau 7840e69bfa BÉPO over CSA: AltGr layer
- implemented the most useful characters:
  - all French characters + €
  - common programmer characters
- other keys implemented as KC_NO to avoid mistyping a character
  from a lower layer
- AltGr+Shift not supported (yet)
2016-04-02 18:16:30 +02:00
Didier Loiseau a7cef2ca0a Initial BÉPO over CSA with Shift layer
Initial implementation of the BÉPO layout
for use with the Canadian Multilingual Standard layout
(a.k.a. CSA / ACNOR layout) on the OS-side.
- support all bépo characters from the default and shifted layers
2016-04-02 18:16:30 +02:00
Didier Loiseau b8ddbd2181 Added RESET key on fn-= 2016-04-02 18:16:29 +02:00
Didier Loiseau bf78ca1ef2 Use enums to define layers and macros 2016-04-02 18:16:29 +02:00
Didier Loiseau 9e1ee021d7 Swapped w and = to keep the w on the right hand (better for English) 2016-04-02 18:16:28 +02:00
Didier Loiseau 7bb135a1d0 Use BÉPO spécific key aliases with BP_ prefix
keymap_bepo.h: define BP_* keycodes for all possible characters
bepo/keymap.c: use those keycodes in the bépo keymap
2016-04-02 18:16:28 +02:00
Didier Loiseau f044edbed9 Initial bepo layout based on tm2030
No more SFT_T:
- moved ] (bépo W) below Tab
- moved - (bépo =) in place of ] (top right)
- removed SFT_T from ' (bépo M)
- moved \ (bépo Ç) in place of = (bépo %)
- moved = (bépo %) in place of - (bépo =)
2016-04-02 18:13:50 +02:00
eltang fddccc95fe Update action.c 2016-04-02 09:13:13 -07:00
eltang 680301e3e3 Update action.c 2016-04-02 06:48:44 -07:00
Stephan Bösebeck f0424a0c0f Merge branch 'master' of https://github.com/sboesebeck/qmk_firmware 2016-04-02 15:15:21 +02:00
Stephan Bösebeck 71cdfe1168 new keymap 2016-04-02 15:14:14 +02:00
Eric-L-T f5365d1c1c Update action.c 2016-04-01 20:04:13 -07:00
Eric-L-T 307f1dee21 Update action.c 2016-04-01 19:54:02 -07:00
Eric-L-T 420fc8620b Update action.c 2016-04-01 18:26:43 -07:00
Stephan Bösebeck aee8715815 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-04-01 23:54:16 +02:00
Stephan Bösebeck c274699085 minor tweaks at the keymap, new png for documentation 2016-04-01 23:53:09 +02:00
Eric-L-T 9a35f01c55 Update action.c 2016-04-01 13:49:03 -07:00
Eric-L-T cd8dd1b6d6 Update action.h 2016-04-01 13:45:01 -07:00
Eric-L-T 317455178d Update action.c 2016-04-01 13:43:49 -07:00
Jack Humbert de904af360 Merge pull request #233 from tak3over/patch-1
Create tak3over.c
2016-04-01 16:31:18 -04:00
tak3over ad3ec12fb6 Create tak3over.c
Custom keymap with an additional function layer for numpad, pgup, pgdn, del, ins, home, end, and additional arrow keys.
2016-04-01 15:26:09 -05:00
Jack Humbert 54b0a2bf76 adding files is always smart 2016-04-01 14:44:08 -04:00
Erez Zukerman 8e72455608 Merge pull request #226 from squisher/dvorak_intl_squisher
Squisher's international dvorak variant for ergodox ez
2016-04-01 12:11:17 +03:00
IBNobody 12cb69cdb2 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-04-01 00:10:47 -05:00
IBNobody c12be71d11 Added Error Checking to Setup.bat #2
Added check for the MinGW directory. Fixed a bug with script exiting out
of a CMD window. Fixed a bug with script dropping user into MinGW
directory. Fixed a bug with RD not deleting temp. Fixed a bug with
PNPUtil.exe not being present in the path.
2016-04-01 00:10:21 -05:00
Stephan Bösebeck dbd4ab3457 fixed de_osx prefix in keymap include to avoid conflicts 2016-03-31 23:15:59 +02:00
Jack Humbert 5a290a42b0 Merge pull request #230 from IBNobody/master
Fixed Setup Script
2016-03-31 12:09:05 -04:00
IBNobody a3ed432273 Drastically rewrote the path script to handle Explorer's stubborn grasp of EnvVars. Tested on Win7. 2016-03-30 16:31:46 -05:00
Christopher Browne 5bbcc484a8 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-30 13:14:01 -04:00
David Mohr 5fae86849a Also add compiled hex file 2016-03-30 09:47:34 -06:00
David Mohr fe6c3e4f0f Squisher's international dvorak variant for ergodox ez
See README.md
2016-03-30 09:47:34 -06:00
Jack Humbert ae47275bf3 Merge pull request #229 from NoahAndrews/patch-5
The readme was also wrong about the conflict between audio and RGB
2016-03-30 11:40:22 -04:00
Noah Andrews ac3f3a85d5 Update README.md 2016-03-30 11:36:35 -04:00
Jack Humbert 6186de5828 Merge pull request #227 from NoahAndrews/patch-4
Fixed minor issues with Preonic readme
2016-03-30 11:07:00 -04:00
Jack Humbert c3c4012417 Merge pull request #228 from mrfoto/fix-planck-diagram
Tiny fix of Planck diagrams
2016-03-30 11:06:07 -04:00
Miha Rekar 3b703eff33 Tiny fix of Planck diagrams 2016-03-30 17:03:03 +02:00
Noah Andrews 09d567045c Fixed minor issues with Preonic readme 2016-03-30 09:17:06 -04:00
Jack Humbert 47b537c87f preonic readme 2016-03-30 00:46:45 -04:00
Jack Humbert e7377dc24b Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-03-30 00:45:48 -04:00
Jack Humbert b8ac509570 .hex files 2016-03-30 00:45:37 -04:00
Jack Humbert ac0729787f preonic update 2016-03-30 00:43:07 -04:00
Jack Humbert 4a676746a6 Merge pull request #224 from NoahAndrews/make-keymap-names-consistent
Make keymap names more consistent
2016-03-29 22:37:20 -04:00
Noah Andrews 95fba250ef Updated several keyboard folders to use new keymap naming scheme 2016-03-29 21:53:36 -04:00
Noah Andrews e28334017c Merge remote-tracking branch 'jackhumbert/master' into make-keymap-names-consistent 2016-03-29 20:03:22 -04:00
Jack Humbert 26513b497b Merge pull request #223 from NoahAndrews/patch-3
Fix #198
2016-03-29 16:38:31 -04:00
Noah Andrews 8f1ea16ad5 Fix #198 2016-03-29 16:35:06 -04:00
mbarkhau 77fa2b0056 Update compile_keymap.py 2016-03-29 18:35:47 +02:00
Jack Humbert 49bde5b5c1 Merge pull request #222 from NoahAndrews/patch-2
Fix error in Planck makefile comment
2016-03-29 12:30:00 -04:00
Noah Andrews 2ae44470e0 Fix error in Planck makefile comment
[This comment](https://www.reddit.com/r/olkb/comments/428umx/rgb_underglow/czaivbc) states that because both audio output and RGB support require the user of timer 3, they can't be enabled at the same time. That makes sense, I can see where audio.c uses timer 3. But this comment in the code states that the incompatibility is with MIDI support, which doesn't make sense based on what I see in the code. Please enlighten me if I'm mistaken.
2016-03-29 12:06:32 -04:00
Stephan Bösebeck ac22d1c185 added CTL_Shift / Hash macro 2016-03-29 13:02:14 +02:00
Stephan Bösebeck f7f4f1725e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-29 07:49:54 +02:00
skullY 5e822417d7 Fixup clueboard support and add rgb to clueboard1 2016-03-28 22:49:24 -07:00
Jack Humbert 8bbc1dcf4f Merge pull request #219 from IBNobody/master
Master
2016-03-28 23:17:16 -04:00
Jack Humbert 1f86e8da09 Merge pull request #220 from NoahAndrews/improve-buildguide
Added clarifying steps to Windows section of build guide
2016-03-28 23:16:36 -04:00
Noah Andrews 60570f3e37 Added clarifying steps to Windows section of build guide 2016-03-28 22:02:52 -04:00
IBNobody 1d13aa933b Minor Tweaks and Documentation
Fixed compiler warning by including bootloader.h in keymap_common.c.

Changed FORCE_NKRO to only be applied if NKRO_ENABLE is defined.

Added extra documentation to the template config.h
2016-03-28 19:45:20 -05:00
Noah Andrews 535daad3cd Merge remote-tracking branch 'jackhumbert/master' into improve-buildguide 2016-03-28 18:37:39 -04:00
Manuel Barkhau a2d3c0bd93 add hex file 2016-03-28 23:42:55 +02:00
Manuel Barkhau 295036d4e3 Merge remote-tracking branch 'origin/master' 2016-03-28 21:36:02 +00:00
Manuel Barkhau 32c7832609 Refactor compiler code 2016-03-28 23:35:12 +02:00
IBNobody a70f439672 Added command to turn LED indicators off while sleeping 2016-03-28 16:21:09 -05:00
Stephan Bösebeck 37e68596dd Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-28 22:29:18 +02:00
Erez Zukerman 4a43c56844 Merge pull request #216 from msc654/master
Added msc keymap for ergodox_ez
2016-03-28 22:40:58 +03:00
Jack Humbert fd9e5d1510 Merge pull request #214 from cdlm/action-hook
Add per-event user hook function
2016-03-28 11:55:19 -04:00
Jack Humbert 5e2c497d9a Merge pull request #217 from IBNobody/master
Master
2016-03-28 11:51:38 -04:00
Jack Humbert 6a824df99c Merge pull request #218 from awpr/patch-1
Add avr-libc to the Debian build dependencies.
2016-03-28 11:49:03 -04:00
Andrew Pritchard 1fd9dbdbe9 Add avr-libc to the Debian build dependencies.
Without avr-libc the build fails trying to #include_next a header from the standard library, which of course doesn't exist.
2016-03-28 08:39:39 -07:00
Christopher Browne 95a88c09e1 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-28 11:29:54 -04:00
Alex Johnstone 48899673af Updated hex 2016-03-28 16:14:25 +01:00
Alex Johnstone 474eaead3c ££££ 2016-03-28 08:09:27 -07:00
Alex Johnstone ad2d3144ed Forgot to change ent/spc 2016-03-28 15:50:09 +01:00
Damien Pollet bcebb3447c Add action-preprocessing kb/user hooks in planck 2016-03-28 16:49:47 +02:00
Damien Pollet 2181be029e Add action-preprocessing hook to keyboard template 2016-03-28 16:49:46 +02:00
Damien Pollet acd64aa841 Rename function to be keyboard-specific 2016-03-28 16:30:00 +02:00
Damien Pollet ef21a855e6 Add per-event user hook function to QMK 2016-03-28 16:30:00 +02:00
Alex Johnstone 482dbe4c45 Didn't 2016-03-28 07:24:51 -07:00
Matthew Carroll a1ce133203 Corrected duplicate image issue 2016-03-28 06:00:05 -04:00
Wojciech Siewierski 1a09e96b95 Update the memory consumption total value in README 2016-03-28 10:05:42 +02:00
IBNobody 577971ab07 Magic Key Overrides / Keyboard Lock / Forced NKRO
Added Magic Key Overrides / Magic Key Cleanup / Added Keyboard Lock
option to template / Added forced NKRO option to template (disabled by
default)
2016-03-28 00:03:21 -05:00
Matthew Carroll beda4e6fd3 Added msc keymap for ergodox_ez 2016-03-27 23:51:11 -04:00
Alex Johnstone 1415e3108f Fixed issues, added unicode layer ⌬ ¯\_⩾ツ⩽_/¯ 2016-03-27 20:50:49 -07:00
Alex Johnstone 97b431162c Merge pull request #4 from jackhumbert/master
upstream
2016-03-27 20:15:02 -07:00
Alex Johnstone d3e89b8cbd Fixed issues, added unicode layer ⌬ ¯\_⩾ツ⩽_/¯ 2016-03-27 20:14:03 -07:00
Nicholas Keene 2a9eb3d3a3 The Ordinary Layout is unremarkably mundane and remarkably useful 2016-03-27 21:45:31 -05:00
skullY 073b44924c Adding clueboard/cluepad support to qmk 2016-03-27 16:17:40 -07:00
Wojciech Siewierski 36103edb7d Update the memory consumption of PREVENT_STUCK_MODIFIERS in README 2016-03-28 00:25:43 +02:00
Wojciech Siewierski b4f442dfea Cut the memory consumption of PREVENT_STUCK_MODIFIERS in half 2016-03-27 23:51:46 +02:00
IBNobody b7f0110d71 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-03-27 16:17:26 -05:00
Erez Zukerman 80eefb09ac Merge pull request #188 from DidierLoiseau/issue-156
Fix #156: clear weak mods on every key press
2016-03-27 21:09:15 +03:00
Erez Zukerman 16da54cfa0 Merge pull request #211 from nrrkeene/master
The Ordinary Layout is unremarkably mundane and remarkably useful
2016-03-27 09:10:05 +03:00
Erez Zukerman 6a31d92276 Merge pull request #196 from naps62/naps62
Adds naps62's Ergodox EZ layout
2016-03-27 09:08:23 +03:00
Manuel Barkhau 20a3229faf Add manuneo layout 2016-03-27 02:24:35 +00:00
Nicholas Keene e43c0c649d Merge https://github.com/jackhumbert/qmk_firmware 2016-03-26 00:44:20 -05:00
Nicholas Keene 97c4c790cc The Ordinary Layout is unremarkably mundane and remarkably useful 2016-03-26 00:40:54 -05:00
Alex Johnstone 2d90374912 Merge pull request #3 from jackhumbert/master
Pull upstream
2016-03-25 11:16:33 -07:00
Erez Zukerman c9aec8bc24 Merge pull request #207 from romanzolotarev/master
Add important note about brightness on OS X
2016-03-25 19:37:42 +03:00
IBNobody 987ee1115e Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-03-25 09:51:16 -05:00
Nicholas Keene d7a1fc81a0 The Ordinary Layout is familiar to users of common keyboards 2016-03-24 23:10:21 -05:00
Jonathan Arnett 6f53e17bf5 Building a row of level switch buttons 2016-03-24 18:30:32 -04:00
Jonathan Arnett f4ba9662f4 A to toggle L2, hjkl to move mouse 2016-03-24 18:30:32 -04:00
Stephan Bösebeck 94e96456b8 minor changes 2016-03-24 10:30:27 +01:00
Stephan Bösebeck 8b883c797f Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-24 08:22:21 +01:00
Alex Johnstone fb6dc7499f New 💷 method 2016-03-23 21:13:05 -07:00
Alex Johnstone 02e259dc82 New 💷 method 2016-03-23 21:12:23 -07:00
Alex Johnstone 98593e8c0d New 💷 method 2016-03-23 21:11:05 -07:00
Alex Johnstone 2530f45e2b New 💷 method 2016-03-23 21:06:20 -07:00
Alex Johnstone add089ab1a New 💷 method 2016-03-23 21:04:45 -07:00
Alex Johnstone da63179962 Wrong date 2016-03-23 14:10:55 -07:00
Jack Humbert ba058f8b81 Merge pull request #210 from n0bs/master
Edited Bantam44 to work with jackhumbert/qmk_firmware pull #190
2016-03-23 13:46:02 -04:00
Norberto Monarrez a5a40a0703 Edited to work with jackhumbert/qmk_firmware pull #190
Basically changes "* matrix_scan_user(void)" to "matrix_scan_user(void)"
2016-03-23 13:42:34 -04:00
Jack Humbert 95b0032142 Merge pull request #209 from n0bs/master
Added project folder for Bantam-44
2016-03-23 10:45:16 -04:00
Jack Humbert 02096f78e5 Merge pull request #200 from alexives/add_diagram_to_planck_layout
Added layout diagrams to the default planck keymap
2016-03-23 10:44:31 -04:00
Norberto Monarrez d0c894cfae Added files for Bantam-44 2016-03-23 10:22:43 -04:00
Alex Johnstone 15106471b1 Removed whitespace 2016-03-22 21:52:40 -07:00
Alex Johnstone c7a9a1ebd0 Revised to version 0.1.0 2016-03-22 21:50:53 -07:00
Jack Humbert e8951d6e41 Merge pull request #199 from IBNobody/master
Added LED Indicator Support to QMK Template
2016-03-22 22:15:18 -04:00
IBNobody 3d56ec052e Fixed extra semicolons.
Fixed extra semicolons.
2016-03-22 21:06:22 -05:00
IBNobody 10491ba21f Fixed LED Function Calls
Fixed LED indicator function calls to match how the matrix init function
calls are formatted.
2016-03-22 20:58:44 -05:00
IBNobody ec62d9e85c Merge remote-tracking branch 'refs/remotes/jackhumbert/master'
# Conflicts:
#	quantum/template/template.c
#	quantum/template/template.h
2016-03-22 20:39:05 -05:00
Christopher Browne a4ff9f2567 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-22 17:29:31 -04:00
Erez Zukerman 403d756ad5 Merge pull request #190 from yoyoerx/function_pointers
Addressing void* return warning & coding style
2016-03-22 21:30:25 +02:00
Alex Johnstone 5872f80c96 Merge pull request #2 from jackhumbert/master
Update my repo to upstream
2016-03-22 10:38:03 -07:00
Alex Johnstone 4a7e131604 Meh -> Hyper 2016-03-22 07:43:28 -07:00
Alex Johnstone 84647efebb Update readme.md 2016-03-22 07:42:47 -07:00
Alex Johnstone c1a520fb81 Added photo 2016-03-22 07:36:40 -07:00
Alex Johnstone d1f446962a Added real life layout 2016-03-22 07:34:07 -07:00
Roman Zolotarev 3087808790 Add important note about brightness on OS X 2016-03-22 22:33:23 +08:00
Stephan Bösebeck 55fa66428c Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-22 15:00:20 +01:00
Alex Johnstone 4687162470 Added Readme 2016-03-21 21:43:59 -07:00
Alex Johnstone f6e5e2bd45 added .hex 2016-03-21 20:59:06 -07:00
Alex Johnstone cffd91edbd typos 2016-03-21 20:58:29 -07:00
Alex Johnstone f744e860ff Update keymap.c 2016-03-21 20:51:05 -07:00
Alex Johnstone 65fde3cc12 More updates 2016-03-21 16:03:25 -07:00
yoyoerx baeffd99da Pull request 190 resolution with 'qmk/master' for merge 2016-03-21 17:18:53 -04:00
Erez Zukerman 7f0d77e08c Merge pull request #205 from romanzolotarev/master
Add Roman's Layout
2016-03-21 21:03:25 +02:00
Alex Johnstone af9e9810a0 work in progress 2016-03-20 22:05:08 -07:00
Stephan Bösebeck 1313e0c828 fix number pad, add , 2016-03-20 23:07:38 +01:00
Stephan Bösebeck 7ebc813e82 changing cursor keys, back to "default" cursor key layout, adding ISO-cursor keys to Symb layer. Changed numbers back to symmetric layout again, keeping F-keys in symb though 2016-03-20 23:00:20 +01:00
Stephan Bösebeck d0c62feb7e tweaking it a bit further, fixing things 2016-03-20 22:53:43 +01:00
Stephan Bösebeck 64495d11ba Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-20 22:07:53 +01:00
Erez Zukerman e86f09d262 Merge pull request #203 from XenoBits/master
Improved c# dev layout, only 2 layers now
2016-03-20 22:50:56 +02:00
Erez Zukerman ed830f2a13 Merge pull request #201 from uzytkownik/master
Further improvements to mpiechotka keyboard
2016-03-20 22:28:21 +02:00
Maxime Millet cc0c157287 Fixed png image 2016-03-20 12:54:02 +01:00
Maxime Millet 895bc327c3 CSharp dev layout V2 2016-03-20 12:50:04 +01:00
Roman Zolotarev a429374b78 Update readme 2016-03-19 17:53:58 +08:00
Roman Zolotarev 7138b1e6fc Update layout 2016-03-19 17:43:02 +08:00
Roman Zolotarev f1c265aace Swap volup and voldown 2016-03-18 17:55:21 +08:00
Roman Zolotarev bbe553dba3 Add Roman's Layout
Four layers BASE (Norman), SYMB, PLVR (optimized for Plover), ARRW.
2016-03-18 12:14:03 +08:00
Maciej Piechotka cf986ba504 Add waits to prevent KVM from hanging 2016-03-17 08:18:03 -07:00
Maciej Piechotka fb3b7f32c0 Put frequently used keys in shell (-=) under thumb 2016-03-17 08:18:03 -07:00
Maciej Piechotka 5d8f4ff957 Add missing breaks in mpiechotka ergodox_ez keyboard 2016-03-17 08:18:03 -07:00
Alex Ives 05b0931cfc Added layout diagrams to the default planck keymap
Signed-off-by: Alex Ives <[email protected]>
2016-03-16 22:58:17 -05:00
IBNobody 8a2457d753 Adding Retro_Refit Keyboard
Retro_Refit is an example of using a Teensy to replace a keyboard
controller on an older keyboard. The original 6x15 keyboard had a
non-standard 11x8 matrix.
2016-03-16 10:27:04 -05:00
IBNobody 17628e9922 Removing Teensy SDK Folder
Fixing Github GUI error "fatal: no submodule mapping found in
.gitmodules for path 'teensy-sdk'"
2016-03-16 09:53:56 -05:00
IBNobody eba9a7d74d Adding LED function pointers 2016-03-15 23:52:51 -05:00
Wojciech Siewierski a5cdc3aab1 Expose the pressed_actions_cache global variable 2016-03-15 16:51:50 +01:00
Wojciech Siewierski 73cb87740b Always provide an implementation of process_action_nocache 2016-03-15 16:03:30 +01:00
Miguel Palhas 8aa559b825 Adds naps62's layout 2016-03-15 11:40:15 +00:00
Jack Humbert 35393fa9dc Merge pull request #194 from DidierLoiseau/bépo-keymap-header
Keymap header for the BÉPO layout
2016-03-14 13:42:47 -04:00
Jack Humbert 914f1d6f98 Merge pull request #195 from krid78/master
fixes an obvious typo to have DE_LCBR produce {
2016-03-14 13:42:23 -04:00
Jack Humbert f2cf3f3028 Merge pull request #197 from yoyoerx/windocs
Cygwin Based Users Guide v0.6 -fixes to dfu-programmer build
2016-03-14 13:37:10 -04:00
yoyoerx b8d4af8d4a Cygwin Based Users Guide v0.6 -fixes to dfu-programmer build 2016-03-14 13:19:29 -04:00
Daniel Kriesten bfc6eca44a fixes an obvious typo to have DE_LCBR produce { 2016-03-14 13:35:34 +01:00
Didier Loiseau 7c33f8493f Keymap header for the BÉPO layout 2016-03-13 23:22:21 +01:00
Fred Sundvik 59657355d2 Master mode remains active
It remains active even if the USB link is suspended or otherwise
temporarilly goes down.
2016-03-13 21:38:51 +02:00
Fred Sundvik f4c11740f7 Suspend power off, fix backlight animation
The backlight color animation was using the wrong frame number, so
it didn't work properly.
2016-03-13 21:35:42 +02:00
Fred Sundvik b93d07198a Suspend support for the visualizer 2016-03-13 20:13:02 +02:00
Wojciech Siewierski 20dd9c0326 process_action may be called either with key cache or without it
If one wants to temporarily disable the key cache (for example because
it interferes with a macro), `disable_action_cache` must be set to
`true`. `process_action_nocache` is a simple wrapper doing just that for
a single call.
2016-03-13 00:18:20 +01:00
Fred Sundvik f7275f0ede Configurable baud setting 2016-03-12 22:37:04 +02:00
Fred Sundvik d835ad91a3 Resend the keyboard state every ms
In case there's some errors on the link, and the packet gets lost
2016-03-12 20:08:08 +02:00
Fred Sundvik 315edb4826 Add serial link support for visualizer 2016-03-12 19:42:57 +02:00
Fred Sundvik 32f0171d39 Fix crash when receiving unregistered remotes 2016-03-12 19:41:34 +02:00
Fred Sundvik 11bd4ba0dd Remote object callable from many places
Change init_transport to add_remote_objects, so that it can be
called many times from different places.
2016-03-12 19:35:09 +02:00
Alex Johnstone e4b7ce41e3 Started my keymap 2016-03-11 22:27:03 -08:00
yoyoerx 58bbfc5fa6 PR190hotfix.sh, fresh hexes, makeallhex.sh script 2016-03-11 11:16:19 -05:00
Jack Humbert 45de75f179 Merge pull request #192 from mitchlloyd/mitch-layout
First keyboard layout
2016-03-10 20:43:04 -05:00
Mitch Lloyd 67624d0b61 First keyboard layout 2016-03-10 17:20:08 -08:00
yoyoerx 1d4b408fbc Merge branch 'function_pointers' of github.com:yoyoerx/qmk_keyboard into function_pointers 2016-03-10 11:29:00 -05:00
yoyoerx 641859df84 Addressed void* return warning in all keymaps 2016-03-10 11:28:34 -05:00
Jack Humbert cadd9015dd Merge pull request #191 from yoyoerx/windocs
Cygwin Based Users Guide v0.5 -further corrections
2016-03-10 11:03:27 -05:00
yoyoerx 191488b96f Merge remote-tracking branch 'qmk/master' into windocs 2016-03-10 10:50:17 -05:00
yoyoerx 79e0d7cbc3 Cygwin Based Users Guide v0.5 -further corrections 2016-03-09 15:53:37 -05:00
Jack Humbert 2a9d8b3f30 Merge pull request #187 from yoyoerx/windocs
Cygwin Based Users Guide v0.4 -corrections/dfu build
2016-03-09 15:47:25 -05:00
yoyoerx d58b14e880 Addressed void* return warning & coding style 2016-03-09 14:04:14 -05:00
yoyoerx 6bfb9d17cf Cygwin Based Users Guide v0.4 -corrections/dfu build 2016-03-09 12:16:03 -05:00
Stephan Bösebeck 3119778e0c Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-08 23:56:50 +01:00
Didier Loiseau b7a81f0419 Fix #156: clear weak mods on every key press
- new macro_mods bit field for mods applied by macros
- weak_mods now only used for ACT_{L,R}MODS (i.e. LSFT, RSFT, LCTL etc.)
- clear the _weak_ mods on every key *pressed* such that LSFT etc.
  can no more interfere with the next key
2016-03-08 23:14:15 +01:00
Wojciech Siewierski 8d55a12a95 Document the issue of stuck modifiers 2016-03-08 08:48:43 +01:00
Erez Zukerman 7d3ebd7b40 Adds a readme with a link to the blog post 2016-03-08 03:50:57 +02:00
Erez Zukerman de8f99bf6e Merge pull request #185 from nrrkeene/master
The Ordinary Layout is familiar to users of common keyboards
2016-03-07 20:46:33 -05:00
Jack Humbert 10f45a63b6 Merge pull request #177 from yoyoerx/windocs
Documentation for Cygwin in Windows
2016-03-07 10:16:35 -05:00
Nicholas Keene 9d06063a23 The Ordinary Layout, designed to be similar to traditional keyboards, by Nicholas Keene, released to the public domain, no rights reserved 2016-03-06 23:12:29 -06:00
Wojciech Siewierski c2480884aa Fix the layer-dependent modifiers handling
Closes #181.
2016-03-05 14:42:17 +01:00
Jack Humbert 4e4250063e Merge pull request #180 from NoahAndrews/add-build-instructions
Added build instructions to BUILD_GUIDE.md
2016-03-04 23:34:45 -05:00
Noah Andrews 553668550b Added build instructions to BUILD_GUIDE.md 2016-03-04 23:21:29 -05:00
Jack Humbert 4a5a2640b9 Merge pull request #179 from NoahAndrews/add-win-linux-instructions
Added Windows and Linux instructions to BUILD_GUIDE.md
2016-03-04 21:57:39 -05:00
Noah Andrews fe7738f2df Added Windows and Linux instructions to BUILD_GUIDE.md 2016-03-04 21:51:09 -05:00
yoyoerx 2f6f45aa3e Cygwin Based Users Guidev0.2 -formatting revisions 2016-03-04 15:04:42 -05:00
yoyoerx c9c763e000 Cygwin Based Users Guide v0.1 2016-03-04 14:38:38 -05:00
Jack Humbert 825626b1f4 Merge pull request #176 from NoahAndrews/fix-new-projects
Fix building new projects
2016-03-04 10:58:36 -05:00
Noah Andrews ee1b94045e Remove extraneous comma 2016-03-04 10:53:58 -05:00
Jack Humbert 5f3e99f67b Merge pull request #171 from NoahAndrews/restructure-documentation
Restructure documentation
2016-03-04 10:19:28 -05:00
Jack Humbert 3f7180a73e Merge pull request #170 from NoahAndrews/improve-windows-docs
Add scripts for easy Windows environment setup
2016-03-04 10:19:00 -05:00
Jack Humbert cc46f69843 Merge pull request #165 from deepshitgoeshere/deepshitgoeshere-master
added planck keymap and troubleshooting part in the PCB guide
2016-03-04 10:17:14 -05:00
Jack Humbert 984c82a0f8 Merge pull request #175 from NoahAndrews/fix-#174
Fix #174
2016-03-04 10:16:07 -05:00
Noah Andrews de1e200021 Fix #174 2016-03-04 10:15:21 -05:00
Jack Humbert ccf848917b Merge pull request #172 from plgruener/pr1
add missing keys to keymap_neo2.h
2016-03-03 23:35:12 -05:00
Stephan Bösebeck 98fe40caa7 Merge branch 'master' of https://github.com/sboesebeck/qmk_firmware 2016-03-03 23:23:56 +01:00
Stephan Bösebeck 2ae8a87af4 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-03 23:23:47 +01:00
plgruener 4ca4322501 update neo keymap 2016-03-03 10:25:23 +01:00
Noah Andrews b9c22ff8fc Clarified recommended Mac setup method 2016-03-02 22:38:22 -05:00
Noah Andrews 492e88b24b Updated README to point to new build guide 2016-03-02 22:33:38 -05:00
Noah Andrews 0eb252eb61 Added Mac section (copy/pasted from PCB_GUIDE.md) 2016-03-02 22:16:43 -05:00
Noah Andrews 04b47cb2eb Renamed handwriting guide to fit repository convention 2016-03-02 22:10:10 -05:00
Noah Andrews 92c3397ffc Added placeholder for windows section of build guide 2016-03-02 22:07:26 -05:00
Noah Andrews 3871ced15c Added Vagrant explanation 2016-03-02 22:03:25 -05:00
Noah Andrews a399823b93 Added stub BUILD_GUIDE.md 2016-03-02 21:53:55 -05:00
Noah Andrews d47cac9bb3 Renamed QUICK_START.md to VAGRANT_GUIDE.md 2016-03-02 21:27:45 -05:00
Noah Andrews 140a311e65 Fix link to MHV AVR Tools 2016-03-02 13:06:33 -05:00
Noah Andrews 45933e84f1 Added documentation for new Windows scripts 2016-03-02 13:02:13 -05:00
Noah Andrews 240f8d9fe0 Renamed scripts to show order 2016-03-02 12:54:53 -05:00
Noah Andrews c03d10d676 Added logging to setup script 2016-03-02 12:48:10 -05:00
Noah Andrews 06de9628be Removed unneeded lines from setup script 2016-03-02 12:25:21 -05:00
Christopher Browne e36a441274 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-02 11:49:00 -05:00
Stephan Bösebeck 46ddbd1fe2 forgot F6 2016-03-02 08:43:21 +01:00
Stephan Bösebeck fbfb034337 updated version, changed F-Key-Layout, minor change in code layer 2016-03-02 08:40:38 +01:00
Stephan Bösebeck 861429aa44 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-03-02 08:32:13 +01:00
Fred Sundvik 168c5b679f Call remote matrix update, when the matrix changes 2016-02-28 23:58:47 +02:00
Fred Sundvik 6fe6d111bf Send the keyboard matrix over the serial link 2016-02-28 22:52:30 +02:00
Fred Sundvik d8d4622802 Improve serial link initialization, and add driver 2016-02-28 21:46:29 +02:00
Fred Sundvik 46482460fa Some small fixes for the serial update loop 2016-02-28 15:52:03 +02:00
Fred Sundvik 9cb139adc4 Add simple loop for updating the serial link 2016-02-27 22:28:35 +02:00
Jack Humbert 93c9d2bc9f Merge pull request #166 from kletord/fix_french_keymap
Fix FR_RCBR declaration in keymap_french.h
2016-02-27 09:31:34 -05:00
Kévin Letord 4a19cc054d Fix FR_RCBR declaration in keymap_french.h 2016-02-27 15:22:54 +01:00
Lucas Hecht 52b3ddb521 Update PCB_GUIDE.md 2016-02-27 02:56:05 +01:00
Lucas Hecht bcf847e58a added "Troubleshooting" section to PCB guide 2016-02-27 01:26:54 +01:00
Lucas Hecht 74761626f5 ignore dfu-programme.exe in commits 2016-02-26 20:03:19 +01:00
Noah Andrews b7a94a1f00 Added Windows environment setup script 2016-02-26 01:53:18 -05:00
Noah Andrews 37c8a23276 Include MSYS directory in Windows path 2016-02-26 00:29:55 -05:00
Noah Andrews 4ad96c60ab Add script to setup the PATH variable on Windows 2016-02-25 23:53:44 -05:00
deepshitgoeshere 92adbe416c Delete keymap_eigen.c 2016-02-25 22:27:59 +01:00
deepshitgoeshere 8def502eee Delete dfu-programmer.exe 2016-02-25 22:27:17 +01:00
deepshitgoeshere e8f17e5136 Delete dfu-programmer.exe 2016-02-25 22:26:44 +01:00
Lucas Hecht cae9993a25 Merge branch 'jackhumbert-master' 2016-02-25 21:45:28 +01:00
Lucas Hecht 34a7012a33 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware into jackhumbert-master 2016-02-25 21:40:16 +01:00
Lucas Hecht bbfdfdcc5f delete old keymap (keymap_eigen.c) 2016-02-25 21:39:32 +01:00
Christopher Browne d3d1f15597 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-02-25 13:03:44 -05:00
Lucas Hecht 6280adbb6e Added keymap "lucas.c" 2016-02-24 22:54:39 +01:00
Fred Sundvik 17a1102a2a Fix include dir to use uincir instead of just inc 2016-02-24 22:31:01 +02:00
Stephan Bösebeck 3c2f935d87 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-02-24 17:06:32 +01:00
Jack Humbert 11c591c30d Merge pull request #158 from DidierLoiseau/eclipse-config
Add Eclipse settings files to .gitignore
2016-02-23 11:44:14 -05:00
Fred Sundvik 725929ec8b Fix include paths for new tmk_core update 2016-02-23 09:37:24 +02:00
Christopher Browne eb99e515b3 More documentation 2016-02-22 15:31:13 -05:00
Jack Humbert af6163f934 Merge pull request #159 from Keller-Laminar/patch-1
Include Dvorak underscore and plus keys.
2016-02-22 13:12:19 -05:00
Keller-Laminar 233af3a41c Include Dvorak underscore and plus keys.
There were previously no Dvorak specific underscore and plus key codes. For a keyboard like the Planck which has layers directly to shifted versions of special character keys you were unable to produce those characters using the Lower layer.
2016-02-22 13:06:26 -05:00
Fred Sundvik 36e4869531 Create a thread for the serial link 2016-02-21 23:52:00 +02:00
Fred Sundvik 6873b17117 Support for Chibios compilation
Remove some warnings, change the include paths.
2016-02-21 23:17:59 +02:00
Fred Sundvik 8cbfe79dd9 Add master to single slave transport 2016-02-21 21:47:40 +02:00
Fred Sundvik 7b88b8b7e1 Add slave to master transport 2016-02-21 21:32:01 +02:00
Fred Sundvik 64b7efeb72 Add proper initialization of transport buffers 2016-02-21 21:15:42 +02:00
Fred Sundvik 415ab91c9d Add master to slave transport 2016-02-21 21:04:42 +02:00
Jack Humbert d33681aa22 Merge pull request #157 from DidierLoiseau/typematrix
Small fixes and improvements to tm2030 layout
2016-02-21 13:35:08 -05:00
Didier Loiseau e63126ace2 Added eclipse settings files to .gitignore 2016-02-21 19:23:28 +01:00
Didier Loiseau a40273c7d7 Updated tm2030 keymap.hex 2016-02-21 19:10:03 +01:00
Didier Loiseau e336af79eb Fixed compilation warnings due to missing return statements 2016-02-21 18:56:21 +01:00
Jack Humbert b694fb3417 Merge pull request #153 from spydon/xmonad_keymap
Keymap optimized for xmonad
2016-02-21 12:35:46 -05:00
Jack Humbert 49cb207def Merge pull request #155 from vincent-pochet/fr_ch_extra_keymap
Add extra keymap for swiss french keyboard
2016-02-21 12:35:10 -05:00
Fred Sundvik fe1db50fc3 Writing signals events 2016-02-21 18:51:10 +02:00
Fred Sundvik 2710361cd8 Change the triple buffer object interface 2016-02-21 18:30:04 +02:00
Fred Sundvik 679bfe7c54 More transport WIP 2016-02-21 17:33:31 +02:00
Fred Sundvik 4ee6eadf9e Local and remote objects WIP 2016-02-21 12:53:51 +02:00
Fred Sundvik b7059d35f9 Working triple buffering 2016-02-21 01:07:44 +02:00
Fred Sundvik 8e2d70d11f Simplify the triple buffer implementation 2016-02-21 00:44:25 +02:00
Fred Sundvik 4bb5733cdc Updates to triple buffer 2016-02-20 23:40:52 +02:00
Fred Sundvik 50edb3d90c Add first version of triple buffered object 2016-02-20 22:22:42 +02:00
Fred Sundvik c78eefba49 Add first transport tests 2016-02-20 15:49:31 +02:00
Fred Sundvik ea346125e8 Add some validation for invalid router destinations 2016-02-20 15:28:42 +02:00
Fred Sundvik 532f98eef6 Support for other links sending to master 2016-02-20 15:14:40 +02:00
Fred Sundvik c28e19c546 First link sending to master 2016-02-20 15:02:53 +02:00
Vincent Pochet 1934e8a270 Add extra keymap for swiss french keyboard 2016-02-20 14:01:28 +01:00
Fred Sundvik 82b5037b9d Add master send to specific destinations 2016-02-20 14:52:17 +02:00
Fred Sundvik cee5406ed7 Add complete master broadcast test 2016-02-20 14:32:26 +02:00
Fred Sundvik 4b9fccc756 Start implement router 2016-02-20 13:59:48 +02:00
Fred Sundvik 5a1600e24f Add link parameter 2016-02-20 12:06:23 +02:00
Lukas Klingsbo 39ed50f605 Added a keymap optimized for xmonad
The M(1) function changes layer temporarily (so that numbers can be used)
and holds LGUI which makes it possible to easily change virtual screens
and swap windows inbetween them.
2016-02-18 21:27:02 +01:00
Jack Humbert a6414eb257 Merge pull request #145 from gerbercj/feature/atreus_astar
Add support for Atreus running on A-Star
2016-02-17 21:18:13 -05:00
Chris Gerber 1db3558a92 Change default controller for Atreus from Teensy2 to A-Star 2016-02-17 19:14:25 -05:00
Fred Sundvik 419908e5ef Hide the byte stuffer state inside it 2016-02-17 09:07:38 +02:00
Chris Gerber 47dcec2945 Add support for Atreus running on A-Star 2016-02-15 20:53:56 -05:00
Stephan Bösebeck f0dfe8ab97 testing moving the 6 to the left, having one key more on the right used for hash now
feels a bit more natural to me. Need to investigate further.
2016-02-15 14:13:29 +01:00
Fred Sundvik 8d50880686 Use memcpy instead of cast to avoid alignment issues 2016-02-14 21:49:31 +02:00
Fred Sundvik f22d2543b1 Rename route_frame to route_incoming_frame 2016-02-14 21:34:40 +02:00
Fred Sundvik 0eb62c4ce6 Rename recv_frame to validator_recv_frame 2016-02-14 21:33:14 +02:00
Fred Sundvik 2a6696bd3d Add validator send frame 2016-02-14 21:31:01 +02:00
Fred Sundvik 62058329ff Add crc32 validation of received frames 2016-02-14 21:13:16 +02:00
Fred Sundvik a3ec3bbef8 Start implement frame validator 2016-02-14 20:45:59 +02:00
Fred Sundvik 713465fb41 Add some full round trip tests
Mostly to ensure that the receive and send framing works the same
way. Especially for the special case with 254 non-zeros.
2016-02-14 20:07:51 +02:00
Fred Sundvik 6956c177da Add byte stuffing send support for large frames 2016-02-14 19:56:22 +02:00
Fred Sundvik 2f3ea76428 Fix name of some unit tests 2016-02-14 19:03:34 +02:00
Fred Sundvik f3beeb0270 Hanlde sending of zero bytes for small packets 2016-02-14 18:59:01 +02:00
Fred Sundvik a089eaa868 Add sending of small frames with no zeroes 2016-02-14 17:45:25 +02:00
Fred Sundvik 26537474ae Add byte stuffer recv handling of too long frames 2016-02-14 15:57:44 +02:00
Fred Sundvik e8cb6d8023 Bytestuffer recv handling of long frames 2016-02-14 15:28:57 +02:00
Fred Sundvik eefb5b5634 Mutiple frame handling for byte stuffer
Also handles unexpected data.
2016-02-14 14:25:54 +02:00
Fred Sundvik ce3a21cbea Implement receive of valid small byte stuffed frames 2016-02-14 14:04:51 +02:00
Fred Sundvik 8a991a266e Rename files to match what they actually do
Also add validator before routing.
2016-02-14 13:05:50 +02:00
Fred Sundvik 1f1bc183dd Start implementing data_link 2016-02-14 12:45:12 +02:00
Fred Sundvik 3eaddd6514 Use cgreen test runner instead of executables 2016-02-14 01:58:26 +02:00
Fred Sundvik 3c6b93a491 Add separate makefile for tests 2016-02-14 01:31:01 +02:00
Fred Sundvik e9a1474bb6 Add makefile for compiling and running unit tests 2016-02-14 00:20:14 +02:00
Fred Sundvik e70cefc12f Add cgreen unit test library and makefile 2016-02-14 00:05:58 +02:00
fredizzimo ffc425603d Initial commit 2016-02-13 23:26:39 +02:00
Fred Sundvik c5db02925c Clean up wrong license information 2016-02-13 22:20:47 +02:00
Fred Sundvik 8479e6aa39 Update readme and license
Also add integration examples
2016-02-13 22:08:49 +02:00
Fred Sundvik 8ce60649c8 Initialize backlight and LCD during visualizer_init 2016-02-13 20:29:49 +02:00
Fred Sundvik 209167d4d6 Compile the user visualizer 2016-02-13 19:53:22 +02:00
Fred Sundvik 9e58d022ba Add visualizer
A generic visualizer that supports animations. There's a few
predefined keyframe types included, and more can be added by the
user.
2016-02-13 19:38:23 +02:00
Fred Sundvik 01b955aa64 Add LCD backlight support
Also possibility to disable the LCD support
2016-02-13 19:21:16 +02:00
Fred Sundvik fb681b5a60 Add makefile that includes ugfx 2016-02-13 17:47:39 +02:00
Fred Sundvik bb75446b0b Add uGFX submodule v 2.4 2016-02-13 16:44:14 +02:00
fredizzimo 4452f4965d Add MIT license 2016-02-13 14:18:48 +02:00
Erez Zukerman 2c29ce3cfe Merge pull request #141 from XenoBits/master
Ergodox EZ new keymap for C# developers
2016-02-12 08:50:01 -05:00
Maxime Millet 9eea6850f9 Another readme.md improvement 2016-02-12 12:01:36 +01:00
Maxime Millet 8f1bafece5 Improved readme 2016-02-12 12:00:13 +01:00
Maxime Millet 8c051f2d05 Added C# developer keymap 2016-02-12 11:54:27 +01:00
Fred Sundvik 3568065141 Add readme 2016-02-12 09:33:38 +02:00
Jack Humbert 043ac26c24 Merge pull request #140 from lasko/master
A slightly different default layout
2016-02-11 23:58:08 -05:00
Lasko Height d290e09d7b Added pageup, pagedown, home, and end keys 2016-02-11 20:52:59 -08:00
Lasko Height 006d277ec1 Added a Tenkey layer and moved the del key 2016-02-11 20:46:12 -08:00
Lasko Height d3488f131c Adding my initial layout 2016-02-11 20:20:09 -08:00
Lasko Height 073a6c206e Adding my initial layout 2016-02-11 20:19:07 -08:00
Erez Zukerman f4fc7fd4d5 Merge pull request #139 from joarau/norwegian-colemak-ergodox-with-norwegian-definitions
Norwegian Colemak Ergodox and Norwegian key definitions
2016-02-11 20:40:47 -05:00
joar 2f7cda63d0 Norwegian Colemak Ergodox and Norwegian key definitions 2016-02-11 16:28:28 +01:00
Erez Zukerman 9f6966f765 More tweaks to experimental layout 2016-02-11 16:55:10 +02:00
Erez Zukerman 9e075e28be Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-02-11 16:39:40 +02:00
Erez Zukerman ec4428b1c6 Merge pull request #138 from Willyfrog/master
ergodox_ez for emacs + mac + altgr users
2016-02-10 15:40:25 -05:00
Guillermo Vayá f96186ed9c add image 2016-02-10 19:04:26 +01:00
Erez Zukerman 8aeaa6df81 Merge pull request #137 from uzytkownik/master
Add mpiechotka ergodox ez keymap
2016-02-10 08:24:06 -05:00
Guillermo Vayá 3c805548d9 added .hex file 2016-02-10 09:47:11 +01:00
Maciej Piechotka 03f61dcdb4 Add mpiechotka ergodox ez keymap 2016-02-09 23:37:02 -08:00
Jack Humbert 0206976267 Merge pull request #136 from cbbrowne/master
Random improvements
2016-02-08 14:25:22 -05:00
Christopher Browne 8079dc0682 Eliminate switch statement by using contiguous character ranges 2016-02-08 11:25:55 -05:00
Christopher Browne bbcc1046a6 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-02-08 10:53:50 -05:00
Erez Zukerman cd90dd9f6d Corrects typo 2016-02-08 15:22:56 +02:00
Erez Zukerman 67f14d938b Merge pull request #130 from jacobono/jacobono
Jacobono
2016-02-08 08:01:54 -05:00
Erez Zukerman ac84fa47fc Updates documentation, adds Cmd/Win dual-function key 2016-02-08 14:56:19 +02:00
Jack Humbert f575079357 Merge pull request #134 from dragon788/patch-2
Added note about using avr_setup.sh
2016-02-07 22:00:45 -05:00
dragon788 34a8ad506c Added note about using avr_setup.sh
On most Linux distributions the avr_setup.sh script can be sourced ```. avr_setup.sh``` or under Bash ```source avr_setup.sh```. This will try and detect the appropriate package manager and install the required packages.
2016-02-07 17:16:28 -06:00
Didier Loiseau a2f6ab16c0 FN macro: use layer_invert() instead of modifying layer_state directly
- fixes stuck keys from the temporary layers
  (see also jackhumbert/qmk_firmware#78)
- removed the workaround for jackhumbert/qmk_firmware#81
  (using layer_invert() fixes the problem)
2016-02-07 23:33:37 +01:00
Didier Loiseau 7ba42b994b Fixed inconsistency between comment and actual numeric layer
- KC_INS should only be present on Fn layer
2016-02-07 23:33:37 +01:00
DidierLoiseau 47fc8b8dbd Fixed link to Magic doc in Dvorak section 2016-02-07 23:31:27 +01:00
Jack Humbert bc4f20853d advanced macro stuff for README 2016-02-07 16:28:48 -05:00
Jack Humbert 8967c0705b advanced macro stuff for README 2016-02-07 11:15:03 -05:00
Jack Humbert cf2c641557 advanced macro stuff for README 2016-02-07 11:14:47 -05:00
Jack Humbert 3a6e88d6f8 advanced macro stuff for README 2016-02-07 11:13:22 -05:00
Jack Humbert e6a2c77fde README changes 2016-02-07 10:41:00 -05:00
Jack Humbert 623666888f Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2016-02-07 10:39:01 -05:00
Jack Humbert 5dc0d1dc20 README changes 2016-02-07 10:38:57 -05:00
Jack Humbert 8d785de796 Merge pull request #131 from Vifon/patch-1
Use boolean AND instead of bitwise (possible typo)
2016-02-07 09:30:39 -05:00
Wojciech Siewierski 65b41e2e59 Use boolean AND instead of bitwise (possible typo)
Fortunately seems harmless.
2016-02-07 11:48:28 +01:00
Christopher Browne 04759d63ef Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-02-06 19:49:52 -05:00
Christopher Browne fe1519de07 Add in XOR of lowest 8 bits of system timer to encourage more randomness of the digits/letters chosen 2016-02-06 19:42:08 -05:00
Daniel Mijares b5b9885df7 add hex file 2016-02-06 13:59:30 -05:00
Daniel Mijares f5c1d6d1db my personal ergodox keymap layout
with pngs of layout and readme
2016-02-06 11:38:20 -05:00
Jack Humbert 240e8c6340 Merge pull request #129 from cbbrowne/master
Example of some "Random Keys"
2016-02-05 19:12:05 -05:00
Jack Humbert 832575f2e7 Update PCB_GUIDE.md 2016-02-05 19:06:25 -05:00
Erez Zukerman 3c683aa9f2 Fixes CM_SCLN and updates docs for Colemak 2016-02-05 16:28:24 +02:00
Erez Zukerman 1b0d0c6848 Tweaks symbol layer (see changleog) 2016-02-05 16:22:21 +02:00
Jack Humbert 51964eda0c Merge pull request #126 from fernandodeperto/keymap_nordic
Fix 2 macros in the Nordic keymap
2016-02-04 20:01:57 -05:00
Fernando Mendonca c29ad125a7 Fix 2 macros in the Nordic keymap
By testing I found out that, at least on Linux using the Swedish layout,
two macros present on this file were wrong, for the backslash and pipe
keys. Jack helped me find the correct combination for the backslash and
that led me to the right one for pipe.
2016-02-05 01:50:54 +01:00
Erez Zukerman 8698edbb28 Merge pull request #124 from zorab47/disable-console-by-default
Disable Ergodox EZ debug console for improved performance
2016-02-04 15:13:44 -05:00
Erez Zukerman 434bcccae0 Merge pull request #125 from gkubed/patch-1
Update QUICK_START.md
2016-02-04 15:06:49 -05:00
Guyon Cumby 2ae39aaa86 Update QUICK_START.md
Fix ErgoDox EZ readme.md link
2016-02-04 12:09:25 -05:00
Charles Maresh a9ad5c55c8 Disable console for improved performance
Commenting out the line is the only way to disable the console, as the
value of CONSOLE_ENABLE isn't checked. There are only checks for its
existence; setting it to `yes` or `no` doesn't change the compilation.
2016-02-03 17:05:49 -06:00
Christopher Browne 73f14db8ad Remove obsolete comments 2016-02-03 16:54:38 -05:00
Christopher Browne 0d44544491 Comment things more 2016-02-03 16:47:54 -05:00
Christopher Browne 7919839b1a Random characters now working AOK 2016-02-03 16:46:24 -05:00
Christopher Browne 259e5e28e6 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-02-03 13:42:42 -05:00
Christopher Browne 674c62734d More experiments with mapping, notably adding in the random bits 2016-02-03 13:40:45 -05:00
Christopher Browne c39b53bb9a Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-02-03 12:49:55 -05:00
Christopher Browne a51009f300 Merge branch 'master' of github.com:cbbrowne/qmk_firmware 2016-02-01 20:53:58 -05:00
Christopher Browne 1466f5a36e Set up a macro that writes cbbrowne. So that is a nice example of how it works.
Probably ought to write up some docs on this to improve it.
2016-02-01 19:13:23 -05:00
Christopher Browne 91c4681656 More samples, some not entirely working yet.
I am trying to mess around with MACRO(), but it is not there quite yet...
2016-02-01 18:50:19 -05:00
Jack Humbert 2ce9c19478 Merge pull request #123 from cbbrowne/master
README notes and cbbrowne layout
2016-02-01 11:42:45 -05:00
Christopher Browne 41c17baccf Add notes on what sorts of actions are risky 2016-02-01 11:37:17 -05:00
Christopher Browne 5273c73bef Many of the changes I wanted 2016-02-01 11:11:21 -05:00
Erez Zukerman f24c69d177 Refreshes default keymap for single tap L1 switch 2016-02-01 15:37:27 +02:00
Jack Humbert 1ee080701b Merge pull request #116 from tachk/readmeFix
Fix for broken link in readme.
2016-01-31 20:40:34 -05:00
Jack Humbert dc06288cb7 Merge pull request #119 from seancaffery/teensynote
Clarify Atreus support
2016-01-31 20:40:19 -05:00
Christopher Browne db2d97d8dc Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-31 13:08:47 -05:00
Erez Zukerman 1dbd6c2ba1 Merge pull request #118 from sboesebeck/master
created new layer for egosooters like counterstrike
2016-01-31 10:54:59 -05:00
Guillermo Vayá 34eb5dfb97 new emacs + osx + deadkeys layout 2016-01-31 11:44:41 +01:00
Sean Caffery ad6bc8794e Clarify Atreus support 2016-01-31 15:54:11 +11:00
Stephan Bösebeck 602090a430 some fixes in readme 2016-01-31 00:21:34 +01:00
Stephan Bösebeck 1531350125 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-31 00:17:25 +01:00
Christopher Browne 59998daa59 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-30 15:43:34 -05:00
Erez Zukerman 3008c6c6f7 Merge pull request #117 from coderkun/master
Merge changes for coderkun’s Neo2 layout
2016-01-30 15:27:06 -05:00
coderkun a75cc8463f add build instructions to readme 2016-01-30 12:37:09 +01:00
coderkun 38f8ed9a0c correct link and some minor details in readme file 2016-01-30 12:29:30 +01:00
coderkun d959f23e5e add readme file for coderkun’s Neo2 layout 2016-01-30 12:26:32 +01:00
coderkun 57bd21d8a6 Merge remote-tracking branch 'upstream/master' 2016-01-30 12:08:27 +01:00
coderkun 7f4eb72b9d add layers for poor man’s QWERTZ and poor man’s Neo including Neo’s layer 4 2016-01-30 12:06:31 +01:00
Kacey A d97c77447f Fix for broken link in readme. 2016-01-30 02:56:37 -08:00
Jack Humbert 3985f97d87 Merge pull request #115 from seancaffery/sean/atreus
Add Teensy2 Atreus support
2016-01-29 23:47:27 -05:00
Sean Caffery c363d6b061 Add Teensy2 Atreus support 2016-01-30 15:30:33 +11:00
Jack Humbert 7d6716bede audio on reset 2016-01-29 23:27:36 -05:00
Jack Humbert 0a71166a2d missing file 2016-01-29 23:11:25 -05:00
Stephan Bösebeck bf64046a04 fixed some copy paste errors 2016-01-29 23:43:56 +01:00
Stephan Bösebeck 7b989a962e added a egoshooter layer 2016-01-29 23:31:58 +01:00
Christopher Browne 55ccf839c1 More notes 2016-01-29 15:49:48 -05:00
Christopher Browne af795d6298 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-29 15:39:57 -05:00
Christopher Browne 580c3e1d55 On Linux, run dfu-programmer as root 2016-01-29 15:35:51 -05:00
Christopher Browne 05d43b0687 Notes on what's done, and plans to change my key mapping 2016-01-29 13:01:28 -05:00
Christopher Browne 9aca1c70b7 Notes on what's done, and plans to change my key mapping 2016-01-29 12:57:52 -05:00
Christopher Browne 5e64f710dc Bunch of reformatting, improvements to comments 2016-01-29 12:49:43 -05:00
Christopher Browne 753ffa4eed Latest version of cbbrowne key maps 2016-01-29 12:21:10 -05:00
Stephan Bösebeck 791e3d73b3 Merge branch 'master' of https://github.com/sboesebeck/qmk_firmware 2016-01-29 07:49:05 +01:00
Stephan Bösebeck 93a74d9cb1 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-29 07:46:48 +01:00
Christopher Browne 71bd4818cb Added in a keypad layer that replaces Dvorak 2016-01-28 18:01:40 -05:00
Stephan Bösebeck 6ac29c4ac8 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-28 22:10:25 +01:00
Erez Zukerman 2006084656 Merge pull request #113 from chschmitz/master
New German layout for ErgoDox, similar to Kinesis Ergo Elan and regular German keyboards
2016-01-28 15:19:20 -05:00
Christoph Schmitz 21c4dfe983 Added .hex file. 2016-01-28 20:22:48 +01:00
Christoph Schmitz 9bb20de578 Fixed graphics. 2016-01-28 20:20:19 +01:00
Christoph Schmitz a38fa4b727 Added media layer. 2016-01-28 20:17:45 +01:00
Christoph Schmitz 9abd1eea79 Added links. 2016-01-28 20:05:58 +01:00
Christoph Schmitz 28d2b93b0a Added documentation. 2016-01-28 19:55:14 +01:00
Christoph Schmitz c8e7f9bbfc Made all layer change keys momentary. Removed Hyper and Meh in favor of layer 1 and 2 on both halves. 2016-01-28 19:53:58 +01:00
Stephan Bösebeck f153374517 added new macros 2016-01-28 15:58:19 +01:00
Stephan Bösebeck 2776251ffc playing more with cursor keys 2016-01-28 15:37:52 +01:00
Stephan Bösebeck 4beb0115ff playing a bit with cursor keys 2016-01-28 14:56:55 +01:00
Stephan Bösebeck 240db0c7d8 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-28 09:40:50 +01:00
Christoph Schmitz fdad7ecff9 Switched up and down keys to be closer to the vi etc. world. 2016-01-27 22:05:11 +01:00
Christoph Schmitz 0c66ca026e Fixed circonflex key. 2016-01-27 20:24:14 +01:00
Christoph Schmitz bf257e3b37 Fixed regarding Ctrl and Alt keys. 2016-01-27 20:14:11 +01:00
Christoph Schmitz 1308135655 Added a German layout inspired by the Kinesis Ergo Elan and based on the "german" keymap. 2016-01-27 19:47:42 +01:00
Jack Humbert 30db300d94 Merge pull request #110 from mollat/master
add mollat keymap
2016-01-26 13:01:35 -05:00
AM 1946c7ce9a add mollat keymap 2016-01-26 18:46:06 +01:00
Stephan Bösebeck f6dab10288 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-25 21:47:57 +01:00
Jack Humbert 3ea6927b70 Merge pull request #109 from petereichinger/master
Fix flickering when sleeping
2016-01-25 11:56:00 -05:00
Peter Eichinger 78192791bc Merge branch 'master' into flicker-fix 2016-01-25 17:46:50 +01:00
Erez Zukerman e9356dcad5 Merge pull request #107 from tonyabra/config/tonyabra-osx
Simplified osx layout for ergodox ez
2016-01-25 07:04:44 -05:00
Stephan Bösebeck da7f259a1f Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-25 10:52:29 +01:00
tonyabra baddbc6b23 Simplified osx layout for ergodox ez 2016-01-24 23:33:26 -06:00
Jack Humbert 99c72d0d9b Merge pull request #106 from yangliu/planck-rgb
RGB Underglow with WS2812 LEDs
2016-01-24 21:31:08 -05:00
Yang Liu f277079dfa no message 2016-01-24 18:16:40 -08:00
Yang Liu 6bc5e0cc31 Update README 2016-01-24 18:12:19 -08:00
Yang Liu 2d29795de8 add one more photo 2016-01-24 17:56:43 -08:00
Yang Liu 84657a9e4b Add a photo for the demonstration of RGB underflow 2016-01-24 17:54:35 -08:00
Yang Liu 2647c7cd84 fix bugs in animation effects 2016-01-24 17:19:33 -08:00
Yang Liu ba9ac457b2 Integrate WS2812 code into quantum core 2016-01-24 17:05:47 -08:00
Yang Liu 0a40654b82 Add support for WS2812 LEDs 2016-01-24 13:14:50 -08:00
Stephan Bösebeck f958b2e832 typo fix 2016-01-24 21:54:31 +01:00
Peter Eichinger c5f90eb99b Remove led_off() it is not used 2016-01-24 11:13:11 +01:00
Jack Humbert fd72a46c13 Makefile back to defaults 2016-01-23 20:52:01 -05:00
Jack Humbert 24f2698fba changes to the template 2016-01-23 20:45:52 -05:00
Jack Humbert 6a55a5fe48 not sure how this got here.. 2016-01-23 20:40:40 -05:00
Jack Humbert 9a1ae948c9 Merge pull request #104 from jackhumbert/smarkefile
Rework Planck file structure
2016-01-23 20:37:00 -05:00
Jack Humbert ae620fe856 rename file 2016-01-23 20:35:13 -05:00
Jack Humbert 5143c59bdf Merge branch 'audio' of https://github.com/jackhumbert/tmk_keyboard into smarkefile 2016-01-23 20:34:05 -05:00
Jack Humbert 544a49329c Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard into smarkefile 2016-01-23 20:33:35 -05:00
Jack Humbert c753bfcc14 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard into audio 2016-01-23 20:32:51 -05:00
Jack Humbert e5aee62e54 starting the hand-wiring guide 2016-01-23 20:29:54 -05:00
Erez Zukerman a50f4d6229 Merge pull request #102 from sboesebeck/master
osx_de/keymap.c file is missing...
2016-01-23 17:02:31 -05:00
Stephan Bösebeck 42a22af446 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-23 22:41:05 +01:00
Erez Zukerman 85f72d3225 Merge pull request #97 from DidierLoiseau/typematrix
TypeMatrix 2030 Layout for ErgoDox EZ
2016-01-23 14:17:44 -05:00
DidierLoiseau 3e31fa4c50 Fixed rendering of the Layer Switching section 2016-01-23 19:29:14 +01:00
DidierLoiseau 606d63e602 Fixed small issues in README.md
- fixed rendering of the basic layer on GitHub
- fixed missing Calculator, Mail & Browser Home keys in Fn Layer
2016-01-23 19:18:37 +01:00
Didier Loiseau b0d7d9d922 Added keymap.hex 2016-01-23 18:59:06 +01:00
Didier Loiseau 294bd25615 Moved layout description to README.md and added more details 2016-01-23 18:56:32 +01:00
Didier Loiseau 96b9089d9f Added Calculator, Mail and Browser Home application keys. 2016-01-23 18:16:19 +01:00
Didier Loiseau 67583b2f4a Renamed "Numbers Layer" to "Numeric Layer" 2016-01-23 18:04:45 +01:00
Didier Loiseau e5f84058bb Implemented new folders structure.
moved keymap_typematrix.c to tm2030/keymap.c
2016-01-23 16:59:33 +01:00
Didier Loiseau ad2a4c3203 Merge remote-tracking branch 'jackhumbert/master' into typematrix 2016-01-23 16:44:59 +01:00
Erez Zukerman 306f183b1c Merge pull request #100 from RageZBla/colemak
Add colemak keymap to Ergodox EZ.
2016-01-23 08:39:29 -05:00
Olivier Lechevalier 51fec6647a Add colemak keymap to Ergodox EZ. 2016-01-23 14:09:42 +09:00
Peter Eichinger b2badef7d0 Backlight fix from reddit
https://www.reddit.com/r/olkb/comments/41ur41/crazy_flashing_when_my_computer_sleeps/
2016-01-22 17:37:22 +01:00
Jack Humbert a18dcc0fb1 Merge pull request #98 from xaocon/fix_tap
Single tap enable ACTION_LAYER_TAP_TOGGLE layer
2016-01-22 11:35:04 -05:00
Evan Pitstick caf82bcace Single tap enable ACTION_LAYER_TAP_TOGGLE layer 2016-01-22 07:33:56 -05:00
Stephan Bösebeck f95e3e701c new hex file 2016-01-22 08:22:59 +01:00
Stephan Bösebeck 9d03f48643 reinstalled lost file, updated with some tweaks 2016-01-22 08:22:23 +01:00
Stephan Bösebeck 610b77f1f7 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-22 08:19:39 +01:00
Stephan Bösebeck f0a873aca1 changed some places, disabled layer3, in file it's ADNW now 2016-01-22 08:18:13 +01:00
Erez Zukerman e44920fd81 Merge pull request #95 from jackhumbert/keymap_folders
New per-folder format for ErgoDox EZ keymaps
2016-01-21 20:55:06 -05:00
Erez Zukerman 776017aa26 Adds the hex files too 2016-01-22 03:53:53 +02:00
Erez Zukerman 1598a8c46a Introduces new subdirectory structure 2016-01-22 03:51:59 +02:00
Stephan Bösebeck a07a8079da added koy layer to default, but disabled it 2016-01-21 09:50:06 +01:00
Stephan Bösebeck ce9086c507 replaced qwertz with adnw-koy as default 2016-01-21 09:37:58 +01:00
Stephan Bösebeck fa53ad5136 swapping modeswitch and Acut-Chars on thumb block 2016-01-21 09:13:44 +01:00
Jack Humbert a820533ab7 keymap.c changes, disable grep stuff 2016-01-20 00:15:29 -05:00
Jack Humbert eb61700912 better integrations 2016-01-20 00:06:52 -05:00
Erez Zukerman 7f84ab6ad9 Adds a bunch of compiled files 2016-01-20 05:49:38 +02:00
Erez Zukerman 922545240b renames readme 2016-01-20 05:34:00 +02:00
Erez Zukerman 6b0ca4aee4 Renames hex 2016-01-20 05:31:56 +02:00
Erez Zukerman d97daecbf7 Updates Markdown image link 2016-01-20 05:30:35 +02:00
Erez Zukerman f25bb0ef52 Adds a readme and hex for my experimental layout 2016-01-20 05:26:10 +02:00
Erez Zukerman 5adc810e8c New per-folder format for ErgoDox EZ keymaps 2016-01-20 05:19:50 +02:00
Jack Humbert 8b7e86b2c3 Merge pull request #94 from plgruener/german_aliases
complete keymap_german.h (all alphanumerics)
2016-01-19 14:09:55 -05:00
plgruener da09312dd5 complete keymap_german.h (all alphanumerics)
add 'DE_'-prefixed aliases for all alphanumerics, so it becomes
immediatly obvious which layout we are assuming.
2016-01-19 20:04:08 +01:00
Erez Zukerman 1454e4664d Makes ' into a dual-action key for LGui 2016-01-19 17:55:47 +02:00
Erez Zukerman 9afa3772de Adds an experimental keymap for my own use 2016-01-19 17:37:36 +02:00
Erez Zukerman 393f26f250 Merge pull request #73 from dragon788/dragon_mod
Requesting some comments and review on my changes
2016-01-18 19:38:32 -05:00
Jack Humbert 0c3aed93db Merge pull request #93 from petereichinger/master
LCAG modifier combo and AutoHotkey international characters
2016-01-18 16:38:15 -05:00
Peter Eichinger d466216088 Fix code formatting in international characters readme entry 2016-01-18 22:33:26 +01:00
Peter Eichinger 783eafac6e Readme for LCAG modifier combo and international characters with AutoHotkey 2016-01-18 22:31:36 +01:00
Peter Eichinger 48eb980c2a Add defines for CtrlAltGui modifiers 2016-01-18 21:56:00 +01:00
dragon788 6774167900 Command line programming not default, enable by reading quickstart and comments in Vagrantfile 2016-01-17 17:13:08 -06:00
dragon788 ceb7257a9d Allow passthru of Teensy to Virtualbox for programming 2016-01-17 16:08:47 -06:00
dragon788 67f7507d7c Fixing Debian/Ubuntu updates to be completely non-interactive 2016-01-17 13:20:28 -06:00
dragon788 b305e622b5 Note about Virtualbox incompatibilities 2016-01-17 12:39:28 -06:00
Didier Loiseau fb18130408 Implemented Dvorak layer 2016-01-17 15:02:33 +01:00
dragon788 ebd209d285 Update README.md 2016-01-16 20:46:15 -06:00
dragon788 6c22bd6665 Create QUICK_START.md describing Vagrantfile usage
Provides links to software required to use the Vagrantfile.
2016-01-16 20:43:43 -06:00
Erez Zukerman 9d387f05e0 Merge pull request #88 from J3RN/j3rn-keymap
Add J3RN's Mac-centric Ergodox EZ keymap
2016-01-16 20:39:23 -05:00
dragon788 e04464c7ab Having media layer defined causes toggles to 'stick' rather than be momentary in my experience 2016-01-16 12:31:13 -06:00
dragon788 6940a961fd Resetting keymap_default.c to origin/master not just my fork's master 2016-01-16 12:21:49 -06:00
dragon788 a19f149eb2 Moving my layout to its own file, made plover layout file, restoring default keymap to its default status 2016-01-16 12:15:06 -06:00
dragon788 987ac16afd Updated avr script and added notes to Vagrantfile 2016-01-16 11:44:27 -06:00
Jonathan Arnett 10ab4eff06 Merge branch 'master' into j3rn-keymap 2016-01-16 09:54:46 -05:00
Jonathan Arnett 2de371564d Added keymap_j3rn_README.md 2016-01-16 09:49:21 -05:00
Jack Humbert 2dcdbb8f67 Merge branch 'smarkefile' of https://github.com/jackhumbert/tmk_keyboard into smarkefile 2016-01-16 01:09:21 -05:00
Jack Humbert f66a251e5d I guess I can reference #90 in the commit message 2016-01-16 01:08:50 -05:00
Jack Humbert 547fa6e461 I guess I can reference #90 in the commit message 2016-01-16 01:01:32 -05:00
Jack Humbert c9a096dc99 added error for keymap file not existing 2016-01-16 00:57:35 -05:00
Jack Humbert dfe7004bc5 new keymap folder structure and makefile magic 2016-01-16 00:52:31 -05:00
Jack Humbert 4faddd3449 working 2016-01-16 00:06:51 -05:00
Jack Humbert 6e3c36360e sounds 2016-01-15 23:10:30 -05:00
Didier Loiseau 93e350caa1 Added shifts on the thumbs 2016-01-16 00:38:13 +01:00
Erez Zukerman 9487e92a6e Merge pull request #89 from coderkun/master
add coderkun’s ErgodoxEZ keymap (Neo2)
2016-01-15 15:28:10 -05:00
Erez Zukerman a579ffff6b Merge pull request #87 from sboesebeck/master
added some macros, create full de_osx include file
2016-01-15 15:23:33 -05:00
coderkun 47fce7e0a9 merge upstream 2016-01-15 20:21:23 +01:00
coderkun bd9aebc84a merge upstream 2016-01-15 20:19:45 +01:00
coderkun 57bf227f6d add basic layer 2 2016-01-15 19:09:13 +01:00
Jonathan Arnett 79940c5825 Change lower-left control to momentary L1
There's so many control keys in this keymap, one needed to go. So, I changed
the lower-left control key to be a momentary L1, just like the same key on the
right side.
2016-01-15 11:36:27 -05:00
Jonathan Arnett 8585269a07 Version 1.0.0 2016-01-15 11:36:21 -05:00
Stephan Bösebeck 7783b47b8b updated cheat sheet, hex file 2016-01-15 16:04:55 +01:00
Stephan Bösebeck e44c30f203 using keymap_german_osx.h more, adding macros for CTRL/CMD-V combination 2016-01-15 15:55:00 +01:00
Stephan Bösebeck 28964bb04b Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-13 22:55:48 +01:00
Stephan Bösebeck 5b14d9d84b Merge branch 'master' of https://github.com/sboesebeck/qmk_firmware 2016-01-13 22:55:37 +01:00
Erez Zukerman 46f4494e55 Merge pull request #84 from sboesebeck/master
new alternative layout ADNW_Koy
2016-01-13 15:39:17 -05:00
Jack Humbert 8b76d1ba4c Merge pull request #83 from lxol/feature/hhkb-qmk
migrate hhkb to QMK firmware
2016-01-13 09:55:58 -05:00
Stephan Bösebeck 831a21899f updating layout png 2016-01-13 14:04:46 +01:00
Stephan Bösebeck 6215ce2a89 adding fixed hex file 2016-01-13 13:37:29 +01:00
Stephan Bösebeck 2bde3f550f typo fix 2016-01-13 13:30:01 +01:00
Stephan Bösebeck eea41339b9 added adnw layout 2016-01-13 13:17:28 +01:00
Stephan Bösebeck 7ef03c59db typo and copy past fix 2016-01-13 13:16:05 +01:00
Stephan Bösebeck 06bdd4869f minor fix 2016-01-13 11:53:09 +01:00
Stephan Bösebeck c9a76723ac bugfix 2016-01-13 11:45:35 +01:00
Stephan Bösebeck ddab0dc32c updated ANDW layout 2016-01-13 11:38:24 +01:00
Stephan Bösebeck 8e17ca0339 Merge branch 'master' of https://github.com/sboesebeck/qmk_firmware 2016-01-13 11:24:54 +01:00
Stephan Bösebeck 684c6849f9 andw layout added 2016-01-13 11:21:55 +01:00
Alex Olkhovskiy 0c9227f691 migrate hhkb to QMK firmware 2016-01-13 09:46:55 +00:00
Jack Humbert 4c100dbbef note seq, start-up beeps, function beeps 2016-01-13 00:25:31 -05:00
dragon788 71ee3eb2e7 All dfu dependencies in place, multi-line syntax to make it easy to add/read 2016-01-12 21:41:43 -06:00
Stephan Bösebeck 6e837f6fef Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-12 22:52:32 +01:00
Erez Zukerman a085265aaa Disables debug console by default for improved performance 2016-01-12 22:32:29 +02:00
coderkun e4d087c7c0 add basic layer 1 2016-01-12 07:01:02 +01:00
coderkun 6050971d01 add neo2 keymap for ergodoxEZ 2016-01-12 06:28:24 +01:00
Jack Humbert 263344d42f beeps on lock keymap 2016-01-11 18:00:07 -05:00
Jack Humbert 0f867796de timer 3 2016-01-11 17:52:35 -05:00
Jack Humbert 29de37d5c0 pwm audio 2016-01-11 16:53:33 -05:00
Didier Loiseau d3e4cc9af6 Implement cut/copy/paste as macros
Workaround for jackhumbert/qmk_firmware#81
+ added macro names
+ removed unused macro 0
2016-01-10 19:49:08 +01:00
Didier Loiseau d9b1c8d360 Added fn-eject, fn-power .. fn-pause keys
Eject does not work though, see jackhumbert/qmk_firmware#82
and tmk/tmk_keyboard#250
2016-01-10 19:15:33 +01:00
Erez Zukerman 5e376cb595 Merge pull request #80 from agriffis/kinesis-clone
Add ergodox_ez keymap to match Kinesis Contoured.
2016-01-10 10:57:13 -05:00
Aron Griffis 386ca6531b Rename to keymap_kines-ish.c and add README 2016-01-10 10:25:16 -05:00
Erez Zukerman de01abdf8c Merge pull request #79 from agriffis/cleanup-default
Minor cleanup to refer to SYMB and MDIA in default ergodox_ez keymap rather than hard-coding numbers.
2016-01-10 10:14:56 -05:00
Stephan Bösebeck 2311754a89 added mouse wheel support, CMD-V/CMD-C instead of CTRL 2016-01-10 00:02:05 +01:00
Stephan Bösebeck 6ccf3d2da1 removed left space key in favor of a backspace 2016-01-09 23:47:26 +01:00
Stephan Bösebeck 6f9cd2d489 Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-09 23:37:34 +01:00
Aron Griffis 8607859c77 Add ergodox_ez keymap to match Kinesis Contoured.
This keymap attempts to match the Kinesis Contoured (aka Advantage) default
layout as closely as possible. See
http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf

Apart from the obvious mappings, this keymap also:

* removes the dual-purpose momentary layer/normal keys: Z, /, and Grv;
  because the author--coming from a Kinesis keyboard--finds the delays and
  accidental modifiers to be more disconcerting than helpful.

* puts Esc in the bottom left since there's no place for it in the top
  left to match the Kinesis.

* changes the bottom-right key into an L2 toggle since there's otherwise no
  way to get to L2.

* adds PrScr, ScrLk and Pause to the L1 keymap, down the left side, since
  they're present on the Kinesis but not available in the default
  ergodox_ez keymap.
2016-01-09 13:17:25 -05:00
Aron Griffis 25b4a98a75 Refer to SYMB and MDIA in default ergodox_ez keymap. 2016-01-09 12:35:42 -05:00
Didier Loiseau bfda6ee417 Split fn layer from numbers layer to better match the TM behaviour
- removed access to layer 2 from ";" key
- "fn" key toggles both layers 1 & 2
- replaced media and mouse layer by fn layer
- renamed symbol layer to numbers layer
- moved all F-keys together on left hand
2016-01-09 18:21:21 +01:00
Didier Loiseau 38a0e62a10 Layer 1: restore backspace, ralt and ctl on right hand
- home replaced by KC_TRNS to make backspace available
- prev/next moved left to space to restore ralt
- arrows moved down to have reversed T-shape
- added ctl on bottom right KpEnter, to match layer 0
- removed alt from mute, as it was already no more in layer 0
2016-01-09 18:15:49 +01:00
Didier Loiseau 56070d424b Added description of the layout and main differences with real TM 2016-01-09 18:15:48 +01:00
Didier Loiseau 2818acefe6 Make bottom row more similar to the TM
- keep home/end at the same location
- RAlt as first key on the bottom right row
- left/right arrows moved on the thumb, near the other arrows
- added Alt on App
- added Alt on Mute in Layer 1
- removed ALT from left spaces to avoid issues when pressing too slowly
2016-01-09 18:15:48 +01:00
Didier Loiseau 8677ec0c9f Use 3rd led as caps-lock indicator 2016-01-09 18:10:24 +01:00
Didier Loiseau ac94577cbe TypeMatrix keymap: Layer 1 (Fn Layer) 2016-01-09 18:10:24 +01:00
Didier Loiseau 900c1f991d Initial TypeMatrix keymap: Layer 0 2016-01-09 18:10:10 +01:00
Didier Loiseau 00c3ecc238 Initial TypeMatrix keymap: Layer 0 2016-01-08 23:57:37 +01:00
Jack Humbert 11ce694557 Merge pull request #77 from chwilk/master
Keymap to approximate Kinesis Advantage line of keyboards
2016-01-08 11:54:40 -05:00
chwilk 92dcabe099 Moving around modifiers to match KA better 2016-01-08 10:47:14 -06:00
Jack Humbert 1633c5d493 Merge pull request #74 from sethherr/patch-3
Fix homebrew references
2016-01-06 12:22:48 -05:00
Seth Herr 1d463d961f Fix homebrew references
Replaces #64
2016-01-06 09:41:42 -06:00
Stephan Bösebeck d74332c11d Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-06 14:28:13 +01:00
Jack Humbert 9f4716a4b1 Merge pull request #60 from rothgar/dvorak
added dvorak keymap and layout picture
2016-01-06 00:04:59 -05:00
Jack Humbert ff8f171cc1 Merge pull request #70 from sperochon/ergodox_ez_fr
Ergodox_ez french OS X
2016-01-06 00:02:27 -05:00
Jack Humbert 670256c943 Merge pull request #71 from andruby/andrew_osx
Andrew's OSX ergodox ez keymap
2016-01-06 00:01:56 -05:00
dragon788 ee424f8608 Adding update of vagrant VM every time it is booted 2016-01-05 22:39:49 -06:00
Andrew Fecheyr a4a4952f4b Andrew's OSX ergodox ez keymap 2016-01-05 11:44:08 +01:00
Sébastien Pérochon bee19e5261 ergodox_ez: Add keymap_osx_fr hex file 2016-01-05 10:56:10 +01:00
Sébastien Pérochon 14b4a01e7e ergodox_ez: Add French keymap for OSX (keymap_osx_fr) based on keymap_default_osx 2016-01-05 10:49:49 +01:00
Sébastien Pérochon 48eff6dd89 quantum: Add French keymap for OSX (keymap_french_osx) 2016-01-05 10:49:36 +01:00
Justin Garrison 6da712ce5e added jgarr keymap for custom dvorak layout :yay: 2016-01-04 09:18:06 -08:00
dragon788 ab7d6dca41 Adding Vagrantfile for easier compile environment setup 2016-01-03 22:21:30 -06:00
Stephan Bösebeck 3bb3e7a72c Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware 2016-01-04 00:02:08 +01:00
dragon788 a07d2df99c Added calculator shortcut button to numpad/symbol layer 2016-01-02 21:16:45 -06:00
dragon788 ae842a5a0f Fixed Plover layer label and updated keymap 2016-01-02 18:46:31 -06:00
dragon788 45fec698d8 Added proper link back to Plover layout source 2016-01-02 15:12:00 -06:00
dragon788 4c3ecbc0b7 Added plover layer 2016-01-02 15:05:33 -06:00
Jack Humbert 0f2c7730d4 Merge pull request #68 from waveform80/daves-comments
Added comments to LED stuff and included .hex file
2016-01-02 14:22:43 -05:00
Dave Jones dcc9948fae Added comments to LED stuff and included .hex file 2016-01-02 18:23:49 +00:00
Jack Humbert 5259f36d03 Merge pull request #66 from gdiegel/master
Fix for faulty fn layer
2016-01-02 11:58:40 -05:00
Jack Humbert 41d4cf05ef Merge pull request #67 from waveform80/daves-keymap
Dave's custom keymap
2016-01-02 11:58:27 -05:00
Dave Jones 7ba06c9e0d Dave's custom keymap
This moves the keys closer to a traditional layout with some redundancy
around the middle to compensate for fast non-traditional typists like
myself who tend to wander from the home row a fair bit. Navigation keys
are provided in layer 2 (accessed by left thumb button), programming
symbols and classic numeric keypad in layer 1 (accessed by right thumb
button). Permanent layer switching is provided with a smaller thumb
button. Ctrl provided in place of caps lock (because no-one needs
caps/num lock), space, backspace, enter, shift all in traditional
positions with layer 1 providing things like equals, tilde and
apostrophe (an attempt to re-use existing muscle memory).

LEDs are pimped to the point of being silly (fading in/out on layer
switch, rolling on reboot ... because I can). Power and reset keys
provided on left thumb pad in layer 2.

No meh or hyper as I haven't found a burning need for them yet.
2016-01-02 11:19:52 +00:00
Gabriel Diegel 1cdcbc9865 Fix incorrect number of rows on fn layer. Add additional navigation keys
to fn layer
2016-01-02 10:31:47 +01:00
Erez Zukerman 9c5f30ed83 Merge pull request #63 from MattLeBeauViewpoint/master
Small change to filename spelling in README
2015-12-31 20:07:37 -05:00
MattLeBeauViewpoint f1dea975d2 Small change to filename spelling in README
Edited filename to remove plural case in example so that prefix is
correctly parsed in step 6.
2015-12-31 10:16:51 -08:00
dragon788 d901511f76 Fixed button conflicts on mouse/media layer 2015-12-30 23:53:38 -06:00
dragon788 c760a273fb Added note about avr-libc also being required at least for arch 2015-12-30 23:22:29 -06:00
dragon788 24e30249a4 Moving everything around, tap delays driving me nuts 2015-12-30 23:03:33 -06:00
Justin Garrison 14a5b4b5c8 added dvorak keymap and layout picture 2015-12-30 00:19:55 -08:00
dragon788 f68f1c7432 Merge branch 'master' of github.com:dragon788/qmk_firmware_ez 2015-12-28 14:45:13 -06:00
dragon788 d1f8d0104b Merge branch 'master' of github.com:jackhumbert/qmk_firmware
Conflicts:
	keyboard/ergodox_ez/keymaps/keymap_default.c
2015-12-28 14:44:49 -06:00
dragon788 01dc8b3244 Merge branch 'master' of github.com:dragon788/qmk_firmware_ez
Conflicts:
	keyboard/ergodox_ez/keymaps/keymap_default.c
2015-12-27 13:15:03 -06:00
Stephan Bösebeck 381ca294fe minor fixes, added backtick to left thumbblock 2015-12-25 00:00:30 +01:00
dragon788 b61ea5dfaf Updated keymap ascii art and made thumb cluster more standard ErgoDox/Kinesis-like 2015-12-23 22:05:59 -06:00
Jack Humbert 9814343336 Merge pull request #56 from sboesebeck/master
fix number pad for german keys
2015-12-23 12:01:27 -05:00
Erez Zukerman 58e237d2dc Updates readme 2015-12-23 15:28:13 +02:00
Stephan Bösebeck 7115196ddf fix number pad for german keys 2015-12-23 13:32:15 +01:00
Jack Humbert 694fe4e1e2 Merge pull request #55 from sboesebeck/master
fixed some typos, learned, DE_-keycodes are for Win, not OSX
2015-12-22 17:51:32 -05:00
Stephan Bösebeck d3e54552fb fixed some typos, learned, DE_-keycodes are for Win, not OSX 2015-12-22 23:49:27 +01:00
Jack Humbert b1fbd4c9ca Merge pull request #53 from sboesebeck/master
minor updates
2015-12-21 19:31:31 -05:00
Stephan Bösebeck 370e9028ac new firmware file containing current changes 2015-12-22 01:25:57 +01:00
Stephan Bösebeck 5f0965ce39 added png file for layout documentation 2015-12-22 01:23:53 +01:00
Stephan Bösebeck d35b563816 minor changes, fixes 2015-12-22 01:18:03 +01:00
Jack Humbert 40119017f2 Merge pull request #52 from technovangelist/master
first attempt at a working workman layout for the ergodoxez
2015-12-21 11:52:11 -05:00
Technovangelist 42ca2e6684 swapped the space and enter to get the space under where the thumb is. 2015-12-21 10:20:02 -05:00
Technovangelist a67ef035b8 first attempt at a working workman layout for the ergodoxez 2015-12-21 09:52:10 -05:00
chwilk 2b1a256825 Added keymap variant to approximate Kin Adv 2015-12-20 22:09:26 -06:00
Gabriel Diegel d7d092de5f Use planck-style arrow keys 2015-12-20 23:05:15 +01:00
Jack Humbert e70cdb0693 Merge pull request #47 from pnutster/master
OSX Kinesis-like Mapping
2015-12-19 23:50:05 -05:00
Jack Humbert 765c1b9f4d Merge pull request #46 from sboesebeck/master
German layout for osx
2015-12-19 23:49:26 -05:00
Piet Nutbey cc79f17424 Fixed keymap "graphic" 2015-12-19 23:24:59 -05:00
Piet Nutbey ac3513b79f corrected folder 2015-12-19 22:50:48 -05:00
Piet Nutbey 190562288c OSX Kinesis-like Mapping
OS X Kinesis Like key mapping. Only the default layer was changed into
a more Kinesis-like mapping. Hopefully useful as a starting point.
2015-12-19 21:38:56 -05:00
Stephan Bösebeck 737afc9dc7 added hex file 2015-12-20 01:00:23 +01:00
Stephan Bösebeck 203528869d typo fix 2015-12-20 00:59:13 +01:00
Stephan Bösebeck f35609bd89 minor change 2015-12-20 00:57:35 +01:00
Stephan Bösebeck 1b579212d4 added hex file and readme 2015-12-20 00:54:43 +01:00
Stephan Bösebeck 56104858fc first version for german osx layout 2015-12-20 00:49:19 +01:00
Jack Humbert e0acb8a0ee Merge pull request #45 from matzebond/master
German keymap + ErgoDox keymaps
2015-12-19 14:26:14 -05:00
Erez Zukerman 11f0724951 Further clarifies README 2015-12-19 19:00:59 +02:00
Matthias Schmitt 7b7870bae1 Add neo2 keymap and neo2 ergodox layout 2015-12-19 01:41:23 +01:00
Matthias Schmitt 6c15dac7db Add Ctrl-Shift tap modifier 2015-12-19 01:39:44 +01:00
Matthias Schmitt 3dbcad51d1 Add german keymap and german ergodox layout 2015-12-19 01:22:12 +01:00
Erez Zukerman 7f22b67f8a Updates readme 2015-12-18 16:03:47 +02:00
Jack Humbert 0a58ce3881 jack's ergodox layout 2015-12-17 22:44:09 -05:00
Erez Zukerman f4efa110f8 Fixes media keys on OSX layout 2015-12-18 04:08:27 +02:00
Erez Zukerman c7c414b2fb Adds a new default keymap for OSX with working prev/next keys 2015-12-18 03:48:41 +02:00
Erez Zukerman 7923f212e1 Moves compiled default keymap + legends to keymaps directory 2015-12-18 03:42:47 +02:00
Erez Zukerman 4f4553cb90 A compiled version which sends left click in mouse mode 2015-12-16 19:03:30 +02:00
Erez Zukerman 85b7c339dd Merge pull request #41 from joshmccall221/right_click_fix
Left click was mapped to scroll wheel. This fixes that. :)
2015-12-16 12:01:45 -05:00
Josh McCall 4e290a7d59 Left click was mapped to scroll wheel. This fixes that. :) 2015-12-16 10:21:42 -06:00
Josh McCall c63c615ff8 add left click and vim keys 2015-12-16 04:12:57 -06:00
Gabriel Diegel daa8a008db Fix typos and add comments, swap plus with equals, swap pipe with
backslash, move slash, change cursor keys to make the classic shape
2015-12-15 21:36:01 +01:00
Jack Humbert 23846997f6 Merge pull request #39 from gdiegel/master
New keymap
2015-12-14 23:30:59 -05:00
Jack Humbert 2e79054ab8 Merge pull request #40 from alexeyzab/keymap-alexey
Atreus-like keymap
2015-12-14 23:30:42 -05:00
Alexey Zabelin 0c89fea71f Add new keymap
The goal of this keymap is to simulate the Atreus layout. Since I've
been using it for quite a while I figured this might help me transition
to Planck.
2015-12-14 21:22:50 -05:00
Gabriel Diegel 3018fa4dc6 Remove redundant definitions 2015-12-13 16:02:01 +01:00
Gabriel Diegel 5d9ff9b61a Rename keymap 2015-12-13 15:40:44 +01:00
Gabriel Diegel 2deadfc7ff Fix keymaps, add documentation 2015-12-13 15:39:27 +01:00
Gabriel Diegel d00b4238e3 Add gdl keymap 2015-12-13 15:32:44 +01:00
Jack Humbert 43afb2ebef Merge pull request #38 from alcesleo/patch-2
Make links work in TMK_README
2015-11-27 00:31:15 -05:00
Jimmy Börjesson 4cf8920c39 Make links work in TMK_README 2015-11-26 19:56:37 +01:00
Jack Humbert 11d6e66979 atomic hex 2015-11-21 15:01:33 -05:00
Erez Zukerman 1edb050d20 Adds Hyper on the left side 2015-11-10 04:43:20 +02:00
Erez Zukerman ea44ac4a62 Merge branch 'master' of github.com:jackhumbert/qmk_firmware
Conflicts:
	keyboard/ergodox_ez/keymaps/keymap_default.c
2015-11-10 04:40:52 +02:00
Erez Zukerman 926ce2262f Uses App key as Alt when held 2015-11-10 04:39:53 +02:00
Erez Zukerman 24cb218de0 Uses App key as Alt when held 2015-11-10 04:33:55 +02:00
Erez Zukerman 407f41cd9a [Jack & Erez] Adds standalone versions of Hyper and Meh 2015-11-10 04:18:44 +02:00
Erez Zukerman f5ec585ed8 [Erez & Jack] Adds Meh key (Hyper without Win/Cmd) 2015-11-10 04:14:59 +02:00
Erez Zukerman 80397187cd Enabled NKRO by default, drops irrelevant makefile options 2015-11-10 03:56:52 +02:00
Jack Humbert 3d1117db50 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-11-09 14:24:56 -05:00
Jack Humbert 8e9153ce12 Michelle's layout 2015-11-09 14:24:49 -05:00
Jack Humbert d2d75b9759 Merge pull request #36 from justinyhuang/master
added support for JD45
2015-11-07 09:52:59 -05:00
HuangYang 6ec6279d82 minor change for the keyboard info 2015-11-06 22:29:50 -07:00
HuangYang 765f8a2aef added support for jd45 2015-11-06 22:26:12 -07:00
Jack Humbert 6485c7d7da nkro info 2015-11-05 12:07:03 -05:00
Jack Humbert 3511a830ac readme 2015-10-30 00:49:47 -04:00
Jack Humbert 5901f5911b atomic files 2015-10-30 00:49:11 -04:00
Jack Humbert eb2795b4d6 atomic up-to-date 2015-10-30 00:48:17 -04:00
Erez Zukerman 3ac4f1519f Fixes link 2015-10-30 05:43:01 +02:00
Erez Zukerman 04a36ecbf4 [Erez & Jack] Updates documentation 2015-10-30 05:42:19 +02:00
Jack Humbert 93812e52b5 readmes\! 2015-10-29 18:37:29 -04:00
Jack Humbert 39915b1748 homebrew instructions 2015-10-29 15:12:51 -04:00
Erez Zukerman 4b0c54324a Adds Hyper key, tweaks ErgoDox EZ default keymap 2015-10-29 00:16:53 +02:00
Jack Humbert ea0e1169e6 README 2015-10-28 13:58:21 -04:00
Jack Humbert e3050bba67 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-10-28 13:54:43 -04:00
Jack Humbert 8643e01286 merging 2015-10-28 13:54:41 -04:00
Jack Humbert 1fb8b4ce3a changes 2015-10-28 00:56:15 -04:00
Jack Humbert b8ebba012b Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-10-27 23:49:55 -04:00
Jack Humbert dee171b425 ht to mt 2015-10-27 23:44:10 -04:00
Jack Humbert 18da1e6801 layer tap, mod tap 2015-10-27 23:06:18 -04:00
Erez Zukerman f024a462cd Fixes rolling combos for mod-tap keys 2015-10-28 04:19:13 +02:00
Erez Zukerman d3db8d62f6 More work on ErgoDox EZ default keymap 2015-10-28 04:07:15 +02:00
Jack Humbert d9f08e6177 toggle and hold-tap action shortcuts 2015-10-27 22:00:52 -04:00
Jack Humbert 909d30553f updated EZ makefile with tmk_core changes 2015-10-27 21:13:10 -04:00
Erez Zukerman 2739aa8d78 Initial working version of ErgoDox EZ layout using new syntax 2015-10-28 02:55:28 +02:00
Jack Humbert d311fd8d1a Merge pull request #34 from jackhumbert/tmk-master
merging from tmk, new_project script and template
2015-10-27 14:52:18 -04:00
Jack Humbert 6f3141965e new project script 2015-10-27 14:33:18 -04:00
Jack Humbert d35402938f reverting gh60 2015-10-27 12:49:07 -04:00
Jack Humbert 0e93ee235f reverting gh60 2015-10-27 12:47:12 -04:00
Jack Humbert 547da78335 merging tmk 2015-10-27 12:42:30 -04:00
Jack Humbert a766918d5c README changes 2015-10-27 11:54:46 -04:00
Jack Humbert 53f7c6535d Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-10-27 00:48:30 -04:00
Jack Humbert 5a268d97ec READMEs 2015-10-27 00:48:22 -04:00
Jack Humbert 018e7a2e37 Merge pull request #28 from abienz/master
Added volume down to function layer
2015-10-26 23:17:37 -04:00
Jack Humbert a6913550c8 fixed MOs 2015-10-26 23:17:19 -04:00
Jack Humbert 7f8643a6a6 Merge pull request #32 from jackhumbert/hf/comments
[Jack & Erez] Comments + tiny updates and cleanup
2015-10-26 23:15:06 -04:00
Jack Humbert cc1c32671e fixed makefile, added MO DF shortcuts 2015-10-26 20:02:25 -04:00
Erez Zukerman 0c47e8b008 [Jack & Erez] Comments + tiny updates and cleanup 2015-10-27 00:54:46 +02:00
Jack Humbert 402122744c ez with leds 2015-10-26 16:57:45 -04:00
Jack Humbert 35a81f5b8b added ergodox 2015-10-26 16:32:37 -04:00
Jack Humbert 46e7fb2d3c quantum separated 2015-10-26 14:49:46 -04:00
Jack Humbert ff8d8a50df fixes for bluetooth without usb 2015-10-25 21:40:56 -04:00
Jack Humbert 61fea81a24 spanish layout 2015-10-25 14:02:26 -04:00
Jack Humbert 31dd8ea34a french keycodes 2015-10-25 12:50:46 -04:00
Jack Humbert 484a9d12f0 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-10-25 12:11:13 -04:00
Jack Humbert e61a5ed806 nordic shortcuts 2015-10-25 12:11:04 -04:00
Jack Humbert abc1c0e31e Update README.md 2015-10-24 21:18:56 -04:00
Jack Humbert 71a8fd8b12 bluetooth working with usb 2015-10-23 20:12:04 -04:00
Jack Humbert bbb21f60e9 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-10-22 13:37:56 -04:00
Jack Humbert c966e7982c bluetooth 2015-10-22 13:37:45 -04:00
tmk fa33719ada Add doc of HHKB original keycodes 2015-10-21 06:59:26 +09:00
tmk 6fe4af82fa Fix port setting of alps64/matrix.c 2015-10-15 11:48:14 +09:00
Jack Humbert d664234bab Merge pull request #31 from cr3473/master
Modified numpad/tenkey layout
2015-10-11 23:35:59 -04:00
cr3473 1b8ef914ff Modified numpad/tenkey layout
improved ease of use
2015-10-11 20:31:49 -07:00
Jack Humbert 40148c430e BL 2015-09-26 00:58:17 -04:00
Jack Humbert a230aba402 pcb hex 2015-09-26 00:39:48 -04:00
Jack Humbert 266ff2344e backlight 2015-09-25 23:50:17 -04:00
Jun Wako 5ce9bf8353 Merge commit 'fdc38ef3f92af7adeeb4de49550d8838c8a39b5c' 2015-09-24 12:29:11 +09:00
Jun Wako fdc38ef3f9 Squashed 'tmk_core/' changes from dc0e46e..57d27a8
57d27a8 Merge branch 'core_update_150924' into core
024abe3 core: Fix NKRO ifdef
7aa2d30 core: Fix for disabling NKRO in Boot protocol
95651fd core: Fix message print of debug command
c20cd29 lufa: Fix endpoint bank mode for ATMega32u2
82ac21f next_usb: Fix next_kbd_set_leds()
537d9c7 Change to KC_BOOTLOADER(KC_BTLD)
f2b3772 Add an assignable RESET key
fc99257 Fix parenthesis
e852582 Fix weak modifier clear in action macro
c2a6c5c core: Fix lufa suspend callback(#234)
fa548c5 usb_usb: Ignore error usage(0x01-03) report
513d95c usb_usb: Support locking key indicator LED
cd78802 core: Add keymap section ldscript for ATMega32U2
70c9abd Add description for non-US keys on keycode.h
538c192 lufa: Fix console flush #223
87628c9 Revert "Make action_for_key a weak symbol"
3c0a1ba Make action_for_key a weak symbol
6bb0d7d ibm4704_usb: Fix protocol handling
b6ef5cf Add keyboard_setup() and matrix_setup()
f4bb8b2 ibm4704_usb: Fix interrupt of clock(rising edge)
0c1fcc1 usb_usb: Change debug LED pin config
595710d Reduce code size of magic commands
6bed174 Add description of AVR bootloader and boot section
54c6a01 Merge commit 'f6d56675f9f981c5464f0ca7a1fbb0162154e8c5'
d18d42e Merge branch 'core-update2' into core
febec88 Add compile options '-fdata-sections'

git-subtree-dir: tmk_core
git-subtree-split: 57d27a8e39173a589b4abae74851f95c39940174
2015-09-24 12:29:11 +09:00
Jun Wako 77afc5a76f core: Fix NKRO ifdef 2015-09-24 01:35:10 +09:00
Jun Wako 79fd952da4 ibm4704: Add keymap for Alps 102-key 2015-09-24 01:33:50 +09:00
Jack Humbert 1da07810c7 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-09-21 02:13:25 -04:00
Jack Humbert f512923456 new default layout 2015-09-21 02:13:15 -04:00
Jack Humbert 72267bb212 Merge pull request #30 from cr3473/master
rearranged dedicated cursor keys
2015-09-20 11:30:27 -04:00
cr3473 7ed793b292 rearranged dedicated cursor keys
now in standart TLK style cluster
VIM style still available in upper layer
2015-09-19 23:52:42 -07:00
tmk ed9766a7d4 core: Fix for disabling NKRO in Boot protocol 2015-09-20 14:34:13 +09:00
tmk e8a4a63ec4 core: Fix message print of debug command 2015-09-20 10:51:30 +09:00
tmk bf3d4b3c06 lufa: Fix endpoint bank mode for ATMega32u2 2015-09-20 10:48:47 +09:00
tmk 0b14b56006 next_usb: Fix for mssing key event 2015-09-20 10:44:09 +09:00
tmk c1f36042b4 next_usb: Change LEDs usage for CapsLock status 2015-09-20 10:43:12 +09:00
tmk 4fd703e995 next_usb: Change for TMK converter configuration 2015-09-20 10:41:54 +09:00
tmk 276fc93016 next_usb: Fix keymap 2015-09-20 10:36:24 +09:00
tmk 9b99f8f864 next_usb: Fix next_kbd_set_leds() 2015-09-20 10:33:25 +09:00
tmk 6147f5705a Merge branch 'skullydazed-assignable_RESET' 2015-09-16 13:07:35 +09:00
tmk 498654fc4c Change to KC_BOOTLOADER(KC_BTLD) 2015-09-16 13:01:06 +09:00
skullY bb8c1d29fa Add an assignable RESET key 2015-09-16 12:35:21 +09:00
tmk dc04983fd7 Merge branch 'ibm4704_alps102' 2015-09-16 11:26:07 +09:00
Jack Humbert c8d58a9f19 unicode working, i think 2015-09-15 00:33:57 -04:00
Jack Humbert febd7886a1 unicode working, i think 2015-09-15 00:31:41 -04:00
Jack Humbert f610c65f10 unicode working, i think 2015-09-14 23:55:26 -04:00
Jack Humbert 6ec03b2218 unicode working, i think 2015-09-14 23:54:49 -04:00
Jack Humbert b9e42a8753 Merge pull request #29 from kaymmm/nobacklight
use preprocessor conditional on backlight initialization
2015-09-14 15:21:01 -04:00
Keith Miyake 6a4ee574bc use preprocessor conditional on backlight initialization 2015-09-14 15:10:12 -04:00
Jack Humbert 5bb7ef0012 rows to col option, maybe 2015-09-13 22:10:01 -04:00
tmk a8d4daa761 Fix parenthesis 2015-09-12 11:26:37 +09:00
tmk 0c21b263f9 Fix weak modifier clear in action macro 2015-09-12 11:25:41 +09:00
tmk 9f1d23bfe1 Add Ateml toolchain and remove specific chip name 2015-09-12 05:27:37 +09:00
tmk a63a9c7845 ibm4704: Add keymap for Alps models
https://geekhack.org/index.php?topic=54706.msg1858175#msg1858175
2015-09-07 08:58:18 +09:00
Jack Humbert b89a9cdc91 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-09-06 18:58:00 -04:00
Jack Humbert 44625de59a beeps in an if 2015-09-06 18:57:23 -04:00
tmk 455fd51a87 Fix 'enable break' commands for Alps models
https://geekhack.org/index.php?topic=54706.msg1856618#msg1856618
2015-09-05 09:00:33 +09:00
abienz 3510b38ced Added volume down to function layer 2015-09-01 16:38:22 +01:00
Jack Humbert 3072349a6d Merge pull request #27 from abienz/master
Added extended keymap for colemak Atomic
2015-09-01 11:27:31 -04:00
abienz ab9b40512d Added extended keymap for colemak Atomic 2015-09-01 15:58:15 +01:00
Jack Humbert ed384bd437 beeps update 2015-08-31 12:39:53 -04:00
Jack Humbert 91176d854b speaker working, midi out 2015-08-29 11:54:38 -04:00
Jack Humbert d63c2e3995 fixed lufa git stuff 2015-08-26 17:27:52 -04:00
Jack Humbert 9b46f4021e midi on planck 2015-08-25 17:06:38 -04:00
Jack Humbert e6dd47db45 good enough for a preview 2015-08-25 12:30:32 -04:00
Jack Humbert cda23c754e midi working 2015-08-24 19:31:12 -04:00
Jack Humbert b8425e8b58 makefile stuff 2015-08-23 15:31:51 -04:00
Jack Humbert fd7a465d0d adding default hex 2015-08-22 11:11:48 -04:00
Jack Humbert 5d2baede8a making the extended keymap the default - no more 'common' 2015-08-22 11:10:57 -04:00
Jack Humbert 476e29d119 Merge pull request #26 from jackhumbert/midi
Midi
2015-08-21 23:14:48 -04:00
Jack Humbert b191f8c60f midi 2015-08-21 23:13:33 -04:00
Jack Humbert 04885a3b44 preonic 2015-08-21 10:46:53 -04:00
Jack Humbert fb4fe52c0a midi 2015-08-20 00:42:28 -04:00
Jack Humbert e528087ee5 midi 2015-08-20 00:42:08 -04:00
Jack Humbert 2d76b5c3d4 lock 2015-08-18 15:03:13 -04:00
Jack Humbert 1e598743b0 matrix 2015-08-16 22:29:53 -04:00
Jack Humbert b2d4969f8f atomic 2015-08-16 17:56:56 -04:00
Jack Humbert c9cbff446f merging 2015-08-16 17:56:15 -04:00
Jack Humbert c5a8287dea ok 2015-08-16 17:52:49 -04:00
Jack Humbert 88704200a5 ok 2015-08-16 17:52:21 -04:00
Jack Humbert f7bca5c41a ok 2015-08-16 17:52:03 -04:00
Jack Humbert b3f638f491 ok 2015-08-16 17:51:53 -04:00
tmk 79cf2d59ae Fix #239 unresponsive keys of HHKB JP during power saving 2015-08-08 16:01:26 +09:00
Jack Humbert e12c0de608 Update PCB_GUIDE.md 2015-08-03 14:19:24 -04:00
Jack Humbert 0aa0f75432 Merge pull request #25 from orcinus/master
Fixed brightness control; Reduced number of brightness levels to 4.
2015-07-25 14:55:02 -04:00
Ante Vukorepa 1f52d60ef1 Fixed brightness control; Reduced number of brightness levels to 4. 2015-07-25 17:11:31 +02:00
tmk 35203cad6a core: Fix lufa suspend callback(#234)
With matrix_power_down() in suspend event HHKB JP doesn't start up for some reason.
It is unneeded in actual and removed.
2015-07-23 12:05:51 +09:00
tmk d4220ac9f3 hhkb: Add power saving code of matrix scan for JP 2015-07-23 11:57:15 +09:00
Jack Humbert b8c8ecbcd6 Merge pull request #24 from cr3473/master
added 1337 layer :)
2015-07-20 16:57:35 -04:00
cr3473 16af7f259b added 1337 layer :) 2015-07-20 13:53:02 -07:00
tmk 1efdd867c8 usb_usb: Ignore error usage(0x01-03) report 2015-07-15 16:02:20 +09:00
tmk 6f5e8ce17e usb_usb: Support locking key indicator LED 2015-07-15 15:13:15 +09:00
tmk e1e0e5b4fb onekey: Add V-USB build 2015-07-12 06:59:58 +09:00
tmk 5f06f26e03 ps2_usb: Fix for V-USB build 2015-07-12 06:32:53 +09:00
tmk 448aa73c39 ps2_usb: Fix for mbed build 2015-07-12 06:24:39 +09:00
tmk 8746ad98cc core: Add keymap section ldscript for ATMega32U2 2015-07-12 05:44:10 +09:00
tmk ce8b1e5f13 m0110_usb: Change keymap and Makefile 2015-07-11 17:10:42 +09:00
Wilba6582 138156d4a0 Update for Atomic PCB Rev 0 2015-06-30 17:35:18 +10:00
tmk 507ebb34f5 alps64: Change keymaps and USB descriptors. 2015-06-26 08:49:03 +09:00
tmk 070a6be638 Add description for non-US keys on keycode.h 2015-06-26 08:34:10 +09:00
Jack Humbert efe8304e79 Merge pull request #23 from huntse/for_upstream
Current smh keymap
2015-06-09 11:11:31 -04:00
Sean Hunter 77a7b180df Current smh keymap 2015-06-09 10:12:57 +01:00
Jack Humbert ae2e7fdf26 Update PCB_GUIDE.md 2015-06-07 13:40:11 -04:00
Jack Humbert 96c2a6b56e Merge pull request #22 from cr3473/master
added mouse scroll keymapping
2015-06-04 18:08:21 -04:00
cr3473 3bc50429a7 added mouse scroll keymapping
rearranged mouse button layout
2015-06-04 15:04:12 -07:00
Jack Humbert 9e8c88dcbd Merge pull request #21 from cr3473/master
Layout changes
2015-06-03 16:55:26 -04:00
cr3473 bec97387a1 added screenlock mapping 2015-06-03 13:33:36 -07:00
cr3473 1a64149375 revert to DEL only on upper layer :) 2015-06-03 13:20:14 -07:00
Jack Humbert 085efb4ff5 Merge pull request #20 from cr3473/master
PCB doc edits and keymap update
2015-06-02 17:10:06 -04:00
cr3473 f33d45f200 Merge branch 'master' of github.com:jackhumbert/tmk_keyboard
Conflicts:
	keyboard/planck/PCB_GUIDE.md
2015-06-02 14:04:05 -07:00
cr3473 bcb04570ea PCB Guide edits and update to joe's keymap 2015-06-02 13:58:45 -07:00
Jack Humbert 6001a9347b Merge pull request #19 from cr3473/master
Makefile - MATRIX selection
2015-06-02 15:42:58 -04:00
angerthosenear cea51941a4 Create extended_keymap_angerthosenear.c
Adding my keymap to the available keymaps list.
2015-06-02 12:23:34 -07:00
John Lindquist af4f016b4f Update PCB_GUIDE.md 2015-06-02 12:23:34 -07:00
Jack Humbert 68f48fcc58 guide 2015-06-02 12:23:34 -07:00
Jack Humbert a53efa4561 Create PCB_GUIDE.md 2015-06-02 12:23:34 -07:00
Jack Humbert dd3598dce6 daniel 2015-06-02 12:23:34 -07:00
Jack Humbert caa7727e96 daniel 2015-06-02 12:23:34 -07:00
Jack Humbert 5ca7538578 catching up 2015-06-02 12:23:34 -07:00
cr3473 bb9e23c319 Merge branch 'master' of github.com:jackhumbert/tmk_keyboard 2015-06-02 12:16:50 -07:00
cr3473 59f2001b31 Added ability to set the MATRIX in build/make 2015-06-02 12:12:44 -07:00
tmk a551608873 sun_usb: LED update for hotplug keyboard into converter 2015-06-03 00:49:55 +09:00
tmk 49b0c7e5ef sun_usb: Fix LED status update at startup 2015-06-03 00:29:36 +09:00
tmk 37af88217d sun_usb: Fix serial recv intrrupt trriger edge #228 2015-06-02 23:59:16 +09:00
Jack Humbert 81c672391a Merge pull request #18 from angerthosenear/master
Create extended_keymap_angerthosenear.c
2015-06-01 18:50:17 -04:00
angerthosenear 44bc2eefa3 Create extended_keymap_angerthosenear.c
Adding my keymap to the available keymaps list.
2015-06-01 17:46:08 -05:00
Jack Humbert 3d303eb6c7 Merge pull request #17 from johnlindquist/patch-1
Update PCB_GUIDE.md
2015-06-01 18:01:34 -04:00
John Lindquist 78e567896b Update PCB_GUIDE.md 2015-06-01 15:55:34 -06:00
Jack Humbert 07d090db8b guide 2015-05-30 15:47:21 -04:00
Jack Humbert 7e67c3ceda Create PCB_GUIDE.md 2015-05-30 13:31:52 -04:00
Jack Humbert 85cc5d890e daniel 2015-05-27 23:15:08 -04:00
Jack Humbert f2ec0f3a2c Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-05-27 22:43:37 -04:00
Jack Humbert e7435a4022 daniel 2015-05-27 22:43:34 -04:00
Jack Humbert ed7607645a Merge pull request #16 from cr3473/master
fixed the macros for hard colemak
2015-05-27 17:09:28 -04:00
cr3473 8c788f70f6 fixed the macros for hard colemak 2015-05-27 14:03:45 -07:00
Jack Humbert 1add9b72e7 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-05-27 12:26:02 -04:00
Jack Humbert 49ba5817c4 catching up 2015-05-27 12:25:38 -04:00
Jack Humbert c59255879d Merge pull request #15 from cr3473/master
Keymap updates
2015-05-27 12:25:03 -04:00
cr3473 a286c38797 New, improved, extended layout 2015-05-27 08:35:55 -07:00
cr3473 b36d1a87da Merge remote-tracking branch 'upstream/master' 2015-05-27 08:29:48 -07:00
tmk fdce0c9cc0 lufa: Fix console flush #223
Old console sent unneeded empty data every one milli sencond.
After this fix console flushes endpoint data bank every 50ms only when needed.
2015-05-22 18:11:42 +09:00
Jack Humbert d61d1f5ca3 layouts, default 2015-05-21 19:59:39 -04:00
tmk 5b46031658 Revert "Make action_for_key a weak symbol"
This reverts commit c17b8a599e.

The commit made compile error and its intention is unclear.
2015-05-21 20:30:10 +09:00
tmk 32abfacbc7 Merge pull request #216 from DigitalBrains1/modelm101
Add 101-key Model M terminal keyboard
2015-05-21 10:41:36 +09:00
tmk 63c07c9a0f Merge pull request #217 from SaskatoonTechworks/tmk_core_action
Make action_for_key a weak symbol
2015-05-21 10:35:56 +09:00
Dan McGregor c17b8a599e Make action_for_key a weak symbol 2015-05-19 11:29:28 -07:00
Jack Humbert cdccebafe1 default w/qwerty 2015-05-19 01:03:54 -04:00
Jack Humbert b90ee43f57 files 2015-05-18 21:14:21 -04:00
tmk 81137b7a61 Merge branch 'ibm4704_fix_protocol' 2015-05-19 00:40:49 +09:00
tmk 80fd3b0b24 ibm4704_usb: Fix protocol handling 2015-05-19 00:39:44 +09:00
tmk 6b588eb7f7 Add keyboard_setup() and matrix_setup() 2015-05-19 00:39:43 +09:00
tmk 9a2282157f ibm4704_usb: Fix interrupt of clock(rising edge) 2015-05-19 00:39:43 +09:00
Jun Wako 6014d1014e ps2_usb: Fix pin configuration 2015-05-18 14:01:53 +09:00
Peter Lebbing 965110a041 Add 101-key Model M terminal keyboard 2015-05-17 17:18:40 +02:00
Jack Humbert 0e189b6bdd quark 2015-05-15 21:57:29 -04:00
tmk 2d9e0d5cab ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
tmk c01ecce137 Revert "hhkb: Fix bug of matrix initialization for JP"
This reverts commit adfd5b92eb.
2015-05-13 17:31:26 +09:00
tmk 8e7153d190 hhkb: Change document 2015-05-13 17:26:24 +09:00
tmk 1ed54a5dc9 adb_usb: Change README 2015-05-13 17:19:25 +09:00
tmk a8822a16b4 hhkb: Fix scan rate for HHKB JP #203 2015-05-13 16:53:32 +09:00
tmk b085d762d5 hhkb: Add build options 2015-05-13 16:40:08 +09:00
tmk 81fe1fda61 hhkb: Change keymap 2015-05-13 16:30:14 +09:00
tmk 177400b7e0 alps64: Change keymap 2015-05-13 16:25:41 +09:00
tmk e86166c904 adb_usb: Change keymap 2015-05-13 16:23:53 +09:00
tmk 9a7eeb4918 usb_usb: Fix keymap 2015-05-13 16:08:37 +09:00
tmk b8fba54a20 usb_usb: Change debug LED pin config 2015-05-13 15:59:49 +09:00
tmk 67137a908a Reduce code size of magic commands 2015-05-13 15:29:30 +09:00
tmk 192024124b Add description of AVR bootloader and boot section 2015-05-13 15:01:49 +09:00
tmk 6057e915b5 usb_usb: Fix initialize procedure 2015-05-13 13:58:10 +09:00
tmk f6d56675f9 Squashed 'tmk_core/' changes from caca2c0..dc0e46e
dc0e46e Rename LUFA to LUFA-git
3bfa7fa Remove LUFA-120730
215b764 Merge commit 'afa0f22a9299686fd88f58ce09c5b521ac917e8f' as 'protocol/lufa/LUFA'
afa0f22 Squashed 'protocol/lufa/LUFA/' content from commit def7fca
c0c42fa Remove submodule of LUFA
30f897d Merge commit '87ced33feb74e79c3281dda36eb6d6d153399b41' as 'protocol/usb_hid/USB_Host_Shield_2.0'
87ced33 Squashed 'protocol/usb_hid/USB_Host_Shield_2.0/' content from commit aab4a69
14f6d49 Remove submodule of USB_Host_Shield_2.0

git-subtree-dir: tmk_core
git-subtree-split: dc0e46eaa4367d4e218f8816e3c117895820f07c
2015-05-13 11:13:10 +09:00
tmk f1f2066657 Merge commit 'f6d56675f9f981c5464f0ca7a1fbb0162154e8c5' 2015-05-13 11:13:10 +09:00
Jun Wako 1c73e574f1 Add compile options '-fdata-sections' 2015-05-10 10:01:16 +09:00
Jack Humbert cb3e499cc7 backlight stuff 2015-05-07 15:34:46 -04:00
Jack Humbert 1e0ae2936b quark 2015-05-02 23:00:47 -04:00
Jack Humbert 03963bad85 Merge pull request #14 from rswiernik/master
Fixed quite a few things
2015-04-29 11:02:34 -04:00
Reed Swiernik 15110bf7a0 Corrected makefile common var 2015-04-29 02:55:16 -04:00
Reed Swiernik 85f8506caa Moved keymap file location and fixed bugs in keymap_reed.c 2015-04-29 02:55:00 -04:00
tmk 663909772e Merge branch 'mek-apelsin-lola' 2015-04-28 11:45:25 +09:00
tmk 4d116a04e9 Squashed 'tmk_core/' changes from b9e0ea0..caca2c0
caca2c0 Add mouse support to ADB
5b0835a Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
f2f7556 Remove unneeded tap delays #201
8124195 Fix URL of HID Usage Tables pdf
0bb4679 Fix typo of doc/keycode.txt
b24fa1a Fix handling of consumer usage #199
6ae1a3d Improve anti-ghosting behavior for fast typing
a4c9763 Fix dfu-programmer parameters
b62b3f2 Move ring_buffer.h file
6ec424f Fix debug print
502fb0c Fix ibm4704 protocol with using interrupt

git-subtree-dir: tmk_core
git-subtree-split: caca2c01553394d959550034c817520d575c7fa0
2015-04-28 11:27:10 +09:00
tmk d9fee5571d Merge commit '4d116a04e94cf0d19317d5b44e4fa9f34a3e5594' 2015-04-28 11:27:10 +09:00
Mekaniserad Apelsin 7780fd1c01 Add mouse support to ADB
Adding the makefile options ADB_MOUSE_ENABLE and ADB_MOUSE_ACCMAX.
Might have gone overboard with comments, and tried but failed at not
adding more than necessary outside the converter/adb_usb/ folder.
2015-04-26 08:57:00 +02:00
Jack Humbert 61b4d273da Merge pull request #13 from rswiernik/master
Updated Readme and Build info
2015-04-25 12:50:56 -04:00
Reed Swiernik eadb08b113 Update README.md 2015-04-25 12:18:45 -04:00
Reed Swiernik 79f70b20d9 Update README.md
Switched around more readme stuff
2015-04-25 12:18:34 -04:00
Reed Swiernik d0391d9ed7 Update README.md
This stupid readme...
2015-04-25 12:18:21 -04:00
Reed Swiernik 835207193a Update README.md
Updated formatting again...
2015-04-25 12:18:11 -04:00
Reed Swiernik c85f68d9cd Update README.md
Changed formatting mistake
2015-04-25 12:17:54 -04:00
Reed Swiernik e3ebae521e Updated readme with new build info 2015-04-25 12:17:42 -04:00
Reed Swiernik b060714efd Changed del key and added docs 2015-04-25 12:17:28 -04:00
Reed Swiernik 0541af4ff9 Updated makefile to properly handle non extended keymaps 2015-04-25 12:17:18 -04:00
Reed Swiernik 480b313b1e Added keymap w/ game mode 2015-04-25 12:17:07 -04:00
Reed Swiernik bf1987e233 updated makefile 2015-04-25 12:16:51 -04:00
Jun Wako 55fc97f957 Change mbed sdk path 2015-04-24 16:27:40 +09:00
Jun Wako 1fe4406f37 Squashed 'tmk_core/' changes from 7967731..b9e0ea0
b9e0ea0 Merge commit '7fa9d8bdea3773d1195b04d98fcf27cf48ddd81d' as 'tool/mbed/mbed-sdk'
7fa9d8b Squashed 'tool/mbed/mbed-sdk/' content from commit 7c21ce5

git-subtree-dir: tmk_core
git-subtree-split: b9e0ea08cb940de20b3610ecdda18e9d8cd7c552
2015-04-24 16:26:14 +09:00
Jun Wako a3d96d3aa9 Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8' 2015-04-24 16:26:14 +09:00
Jun Wako 1d5bac21dc Fix README 2015-04-24 16:24:39 +09:00
tmk 22dd5dae98 Update for the latest mbed sdk 2015-04-24 15:03:59 +09:00
Jun Wako 1f4a22ee81 Remove unneeded tap delays #201 2015-04-23 20:18:01 +09:00
Jun Wako 3f32b22478 Fix URL of HID Usage Tables pdf 2015-04-23 17:30:45 +09:00
Jun Wako f9045bea6e Fix typo of doc/keycode.txt 2015-04-23 17:20:59 +09:00
Jun Wako 7c3f14b7bb Fix handling of consumer usage #199 2015-04-23 17:02:28 +09:00
Jun Wako 4e50df476d Merge branch 'mtharp-anti-ghost' 2015-04-23 16:33:35 +09:00
Michael Tharp b52e29582a Improve anti-ghosting behavior for fast typing
Keypresses would be forgotten if they began while ghosting, even if they
were still pressed after ghosting ended.
2015-04-23 16:32:38 +09:00
Jun Wako bd24de44b7 Fix dfu-programmer parameters 2015-04-23 16:07:24 +09:00
Jun Wako c412300536 sun_usb: import dastels's keymap of Type 3
https://github.com/dastels/tmk_keyboard/tree/master/converter/sun3_usb
2015-04-23 15:24:28 +09:00
Jun Wako c2485ebac5 Merge branch 'ibm4704_ext' 2015-04-22 14:37:13 +09:00
Jun Wako e98b800723 Move ring_buffer.h file 2015-04-22 14:35:20 +09:00
tmk d5482f29f4 Fix debug print 2015-04-22 14:18:13 +09:00
tmk d42aa47809 Fix ibm4704 protocol with using interrupt 2015-04-22 14:18:13 +09:00
tmk 5ea50bfb30 Add keymap codelet for 77-key and 107-key 2015-04-22 14:18:13 +09:00
Jun Wako 799993c414 Update README 2015-04-22 13:52:28 +09:00
Jun Wako a20ef7052c Squashed 'tmk_core/' changes from 05caacc..7967731
7967731 Update README

git-subtree-dir: tmk_core
git-subtree-split: 7967731b8bcb1f0c26f7f1f909273e6ad7ae8f36
2015-04-22 13:29:13 +09:00
Jun Wako 79cfa894af Merge commit 'a20ef7052c6e937d2f7672dd59456e55a5c08296' into master_ng 2015-04-22 13:29:13 +09:00
tmk 7860d09914 Change TMK_DIR setting 2015-04-10 01:53:24 +09:00
tmk a074364c37 Squashed 'tmk_core/' content from commit 05caacc
git-subtree-dir: tmk_core
git-subtree-split: 05caaccec92694bb24c8c3c3a9940b96efd4605c
2015-04-10 01:32:04 +09:00
tmk 1a02ebcc61 Merge commit 'a074364c3731d66b56d988c8a6c960a83ea0e0a1' as 'tmk_core' 2015-04-10 01:32:04 +09:00
tmk 6746e37088 Remove core library and build files 2015-04-10 01:25:48 +09:00
tmk b4e2d325f3 Change TOP_DIR to TMK_DIR in makefiles 2015-04-09 16:20:42 +09:00
Jun Wako 08ec8bbe5d usb_hid: Update USB_Host_Shield_2.0 2015-04-07 10:24:52 +09:00
Jun Wako 63f462a460 hhkb: Chane keymap for hasu 2015-04-07 09:29:06 +09:00
Jun Wako adfd5b92eb hhkb: Fix bug of matrix initialization for JP 2015-04-07 09:27:28 +09:00
tmk d5ac54449a Add alps64 2015-04-05 14:41:14 +09:00
Jack Humbert 71f7713739 Merge pull request #10 from huntse/pull_req
Latest custom map with lower + raise
2015-04-02 11:23:21 -04:00
Sean Hunter 4209486b13 Latest custom map with lower + raise 2015-04-02 15:05:35 +01:00
Jun Wako 2b7d217ebb Fix for dfu-programmer 0.7 #182 2015-03-26 15:09:28 +09:00
Jack Humbert f1daa266ad macros 2015-03-23 00:35:05 -04:00
Jack Humbert 4454ded0af macros 2015-03-23 00:33:54 -04:00
Jun Wako 0d222db31f infinity: Fix disabling watchdog
- watchdog is timed out before disabling it by mbed startup
- old booloader disable watchdog while new(2015/01) doesn't
2015-03-22 10:51:30 +09:00
Jack Humbert 9514ee8df7 Update README.md 2015-03-21 01:24:01 -04:00
Jack Humbert 2e0fd30185 Merge pull request #9 from tmk/master
updating
2015-03-21 01:20:24 -04:00
Jack Humbert a33ec2f504 updated readme 2015-03-21 01:17:22 -04:00
Jack Humbert 3d286a813e colemak shortcuts 2015-03-21 01:01:09 -04:00
Jack Humbert 5c45ba947c function stuff too 2015-03-20 22:49:32 -04:00
Jack Humbert a94beded1a Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-03-20 13:46:40 -04:00
Jack Humbert 708f95a472 working extended keymap 2015-03-20 13:36:13 -04:00
Jack Humbert b688e68539 Create keymap_tim.c 2015-03-19 14:18:41 -04:00
Jack Humbert afa0f9d0aa Merge pull request #8 from nathanrosspowell/master
Housekeeping on `keymap_nathan.c`, updated documentation
2015-03-19 00:12:01 -04:00
Nathan Ross Powell e9df959c13 Update keymap_nathan.c
Remove macro for KEYMAP_GRID that is in keymap_common.h.
Add comments with ASCII art for the two layouts in keymap_common.h.
2015-03-18 23:58:21 -04:00
Nathan Ross Powell e958baca81 Delete .keymap_nathan.c.swp 2015-03-18 23:39:01 -04:00
Nathan Ross Powell 80c4cdb245 Merge remote-tracking branch 'upstream/master' 2015-03-18 23:33:42 -04:00
Jun Wako d23d95381a m0110: Fix Makefile 2015-03-19 06:56:56 +09:00
Jun Wako 9b4914b005 m0110: Fix README.md and keymap_intl.c 2015-03-19 06:39:13 +09:00
Jun Wako e3169ccc45 m0110: Add support for international keyboard 2015-03-19 06:25:48 +09:00
Jack Humbert 9c3a956634 Update README.md 2015-03-18 10:19:40 -04:00
Jack Humbert 9307a0a3e4 Merge pull request #6 from tmk/master
pulling from tmk
2015-03-16 12:01:35 -04:00
Jack Humbert be86aefdbd Rename handwire-matrix.c to matrix-handwire.c 2015-03-16 11:59:49 -04:00
Jack Humbert a296c83805 Create handwire-matrix.c 2015-03-16 11:59:21 -04:00
Jack Humbert 0fc820c090 Merge pull request #5 from Wilba6582/master
Pulling in PCB changes
2015-03-16 11:58:05 -04:00
Wilba6582 65680819df Replaced tabs with spaces to match TMK convention. 2015-03-17 00:56:41 +11:00
Wilba6582 b80b6b369c Added backlight.h, backlight.c 2015-03-17 00:51:36 +11:00
Wilba6582 15b9bce6ba Initial commit for Planck PCB Rev 1.
- Backlight on PB7 controlled by Timer1 Fast PWM (no interrupts).
- Backlight commands connected temporarily to top left keys.
- Backlight init called from matrix.c, since there's no generic keyboard_init() override function.
2015-03-17 00:43:37 +11:00
Jack Humbert 0fcb3b65f8 brett 2015-03-05 14:29:33 -05:00
Jun Wako c35c4283b9 infinity: For production model and add SpaceFn 2015-03-05 10:38:18 +09:00
Jack Humbert ceff93844b simon 2015-03-02 20:37:17 -05:00
cr3473 a4cf9ae660 layout changes to fix some nav issues
also to simplify and make way for a few ideas
2015-03-01 17:06:39 -05:00
Jack Humbert ea6de22aee brett 2015-02-26 16:35:54 -05:00
Jack Humbert a538f71e41 led oops 2015-02-23 23:44:11 -05:00
Jack Humbert 64dc4784e4 vlad 2015-02-21 15:35:09 -05:00
Jack Humbert 7884125b79 joe 2015-02-19 20:10:24 -05:00
Jack Humbert 88cc5ce883 joe 2015-02-19 19:41:45 -05:00
Jack Humbert cf4363c910 joe 2015-02-19 19:39:35 -05:00
Jack Humbert a4d091eb52 joe 2015-02-19 19:35:57 -05:00
Jack Humbert 4a3c0839f9 sean 2015-02-15 16:29:35 -05:00
Jack Humbert 24218b58b4 Merge branch 'master' of https://github.com/jackhumbert/tmk_keyboard 2015-02-05 12:58:18 -05:00
Jack Humbert 46b38fa64a Merge pull request #4 from pepers/master
defined semi-standard and short space layouts
2015-01-27 12:45:11 -05:00
pepers b8c91951e1 defined semi-standard and short space layouts 2015-01-27 12:32:23 -05:00
Jun Wako abf482de8e Fix call parameter of suspend_power_down() 2015-01-26 11:25:22 +09:00
tmk e872dd2149 Merge pull request #176 from xauser/forhasu
NerD bugfix
2015-01-25 22:02:34 +09:00
Jack Humbert 1d3f3cde78 Merge pull request #3 from pepers/master
defined KEYMAP_GRID for grid layouts
2015-01-23 14:26:27 -05:00
pepers 438ff3465e defined KEYMAP_GRID for grid layouts 2015-01-23 14:17:32 -05:00
Jack Humbert 6cae90793f Create keymap_matthew.c 2015-01-23 12:15:44 -05:00
Jack Humbert 09655cc5d5 Create keymap_nathan.c 2015-01-23 12:14:55 -05:00
Jack Humbert adf7b56e6f subproject commit? 2015-01-23 12:13:06 -05:00
Jack Humbert 6f735ca130 Update README.md 2015-01-23 12:11:28 -05:00
Ralf Schmitt e0f32742e9 Kitten Paw, fix main README link to project. 2015-01-21 21:16:49 +01:00
Ralf Schmitt 012ec9e379 NerD, turn BRK into PAUS to get bootloader jump back. 2015-01-21 21:16:09 +01:00
tmk 771347c4a6 Add external projects using tmk_keyboard 2015-01-19 12:43:30 +09:00
tmk c1ac7f159f Merge pull request #148 from cub-uanic/patch-1
Fix keycode.txt
2015-01-19 12:13:21 +09:00
tmk aa95d6ff62 Merge pull request #151 from bswinnerton/typo-fix
Fixing typo in console mode
2015-01-19 11:58:04 +09:00
tmk 2e75b138c1 Merge branch 'vovcacik-ghost_squid' 2015-01-19 11:18:43 +09:00
tmk a5122d5aba Merge branch 'ghost_squid' of https://github.com/vovcacik/tmk_keyboard into vovcacik-ghost_squid
Conflicts:
	README.md
2015-01-19 11:17:05 +09:00
tmk 703ca9de21 Merge pull request #164 from cub-uanic/patch-2
Update other_projects.md - added TMK/Ergodox
2015-01-19 11:08:05 +09:00
tmk 1cda7b79fb Fix typo 'keyobard' #166 2015-01-19 10:35:06 +09:00
tmk 8279226123 Merge branch 'xauser-forhasu' 2015-01-19 10:21:01 +09:00
tmk 507e0636f0 Revert "Changed hotkey for bootloader jump"
This reverts commit f31cbc7219.
2015-01-19 10:20:20 +09:00
tmk d32b955af6 Merge branch 'forhasu' of https://github.com/xauser/tmk_keyboard into xauser-forhasu 2015-01-19 10:19:47 +09:00
tmk 40fd75e5ed hhkb: Update RN-42 docs 2015-01-19 10:13:42 +09:00
Ralf Schmitt 07b54cb513 Added missing keyboards to main README 2015-01-18 11:47:40 +01:00
Ralf Schmitt 2d74020331 Added NerD 80% (TKL) support 2015-01-18 11:45:24 +01:00
Ralf Schmitt d9b5f5110e Added NerD 60% support 2015-01-18 11:43:37 +01:00
Ralf Schmitt f31cbc7219 Changed hotkey for bootloader jump 2015-01-18 11:42:43 +01:00
Nathan Ross Powell e7289bb029 KC_INSERT should be KC_INS
The short name was incorrectly set as `KC_INT` when we want `KC_INS`.
2015-01-16 00:07:22 -05:00
tmk c610bae631 Merge branch 'rn42_integrate' 2015-01-16 11:51:34 +09:00
tmk 099701dd31 hhkb: Integrate RN-42 support, remove hhkb_rn42 2015-01-16 10:21:18 +09:00
Jack Humbert 83a3d7a3da Update README.md 2015-01-15 19:58:38 -05:00
tmk ce66988650 hhkb_rn42: Move doc 2015-01-16 08:26:59 +09:00
tmk 3e88e8b761 hhkb: Fix layer stuck of keymap_hasu
- In mouse key layer with holding semicolon, press Fn0, release
  semicolon and release Fn0 now layer 1 is stuck.
2015-01-16 05:22:29 +09:00
Jack Humbert a7a808795e Update README.md 2015-01-15 13:06:43 -05:00
tmk 65a2ce94a3 Merge branch 'rn42' 2015-01-15 17:12:26 +09:00
tmk 517817b9c7 rn42: Update doc 2015-01-15 17:08:49 +09:00
tmk 2626a32260 Use pgmspace for RN-42 commands 2015-01-15 17:08:49 +09:00
tmk 3b3af3bae0 Increase buffer of rn42_gets() and change rn42_linked() 2015-01-15 17:08:49 +09:00
tmk 1b95b3c51a rn42: Add commands for RN-42 2015-01-15 17:08:49 +09:00
tmk 4f121de7ad rn42: Add rn42_getc and rn42_gets 2015-01-15 17:08:49 +09:00
tmk a679928620 Fxi layer stuck of keymap_hasu
- In mouse key layer with holding semicolon, press Fn0, release
  semicolon and release Fn0 now layer 1 is stuck.
2015-01-15 17:08:49 +09:00
tmk 884c2ab0f2 Update doc 2015-01-15 17:08:49 +09:00
tmk 160e02d06a Change RN42 state display 2015-01-15 17:08:49 +09:00
tmk ebe4373258 Fix power saving while USB suspended
- doesn't pwoer save while Bluetooth turns on
2015-01-15 17:08:49 +09:00
tmk 86f82dd02d Add wait for charging capacitance of ADC S/H 2015-01-15 17:08:48 +09:00
tmk 2d7973fc3f Fix: enable digital input for PF5 2015-01-15 17:08:48 +09:00
tmk 25aee431bd Clean ADC code of battery_voltage() 2015-01-15 17:08:48 +09:00
tmk 825be9d121 Disable input buffer for ADC 2015-01-15 17:08:48 +09:00
tmk de29f986a7 Update MEMO 2015-01-15 17:08:48 +09:00
tmk 570bcb2ed1 Add LUFA device state to command info 2015-01-15 17:08:48 +09:00
tmk 20caf673d8 Fix lufa sendchar() infinite wait loop
- FrameNumber is not updated when adapter powered
- can be blocked in sendchar() when pluged into AC adapter
2015-01-15 17:08:48 +09:00
tmk 9179246a1d Fix USB plug-in while BT mode falls to be enumerated 2015-01-15 17:08:48 +09:00
tmk 05795cb003 Compensate timer during prower down 2015-01-15 17:08:48 +09:00
Jack Humbert a54da1b926 Merge remote-tracking branch 'upstream/master' 2015-01-14 22:48:54 -05:00
Jack Humbert 4225f0353c Merge branch 'planck-jack' 2015-01-14 22:43:01 -05:00
Jack Humbert 173dbe3b28 Create keymap_shane.c 2015-01-14 21:36:25 -05:00
Jack Humbert 2e0d872ab7 sean 2015-01-13 18:05:37 -05:00
Jack Humbert 98f486a633 atomic 2015-01-12 12:39:24 -05:00
Jack Humbert 42fe42274f names 2015-01-12 12:37:16 -05:00
Jun Wako 10a6b2c7d8 hhkb: Add Makefile.jp for HHKB JP 2015-01-11 01:54:17 +09:00
Jack Humbert d6f2f878f9 dotcom 2015-01-05 16:32:15 -05:00
Jack Humbert 33e2a6285f dotcom 2015-01-05 16:27:03 -05:00
Jack Humbert 2de53795d6 Update keymap_jack.c 2015-01-05 13:11:34 -05:00
Jun Wako 3dbb762dcc Merge branch 'mbed_infinity' 2015-01-04 17:22:06 +09:00
Jun Wako d0fefb76f8 infinity: Add initial files for keyboard support 2015-01-04 17:21:43 +09:00
Jun Wako c6e533ce83 infinity: Move project specific files to local 2015-01-04 17:21:43 +09:00
Jun Wako 4acde45102 Fix linker script for NVIC vector on RAM 2015-01-04 17:21:43 +09:00
Jun Wako d5e5dbd0aa Add openocd config files for K20 2015-01-04 17:21:43 +09:00
Jun Wako e259a722e7 Add keyboard/infinity 2015-01-04 17:21:43 +09:00
Jun Wako 5419130291 Fix ps2 protocol build using ps2_io.h 2015-01-04 17:21:43 +09:00
Jun Wako 75a59e4d12 Update makefiles to mbed-sdk 14666bb 2015-01-04 17:21:42 +09:00
Jun Wako 8f1e311cd7 Ad hoc fix of print and debug for mbed 2015-01-04 17:21:42 +09:00
Oleg Kostyuk 02a9f8a906 Update other_projects.md - added TMK/Ergodox 2015-01-03 15:10:45 +02:00
tmk 06527bde4f bluefruit, pjrc: Update protocols for new API 2015-01-03 12:09:41 +09:00
tmk 22d99f26af Fix modifier stuck of Lock command(#127) 2015-01-01 12:17:11 +09:00
Jun Wako 2e17aa2d60 usb_usb: update README 2014-12-30 13:52:53 +09:00
Vlastimil Ovčáčík a6d33e2c98 Added support for The Ghost Squid controller used for CM XT keyboard.
- initial commit
- created as clone of the kitten_paw subproject with pins adjusted for CM
  XT
2014-12-28 09:49:57 +01:00
Jun Wako 6a97efcea9 Merge branch 'mumchristmas-Apple_media_key_fix' #160 2014-12-26 13:30:18 +09:00
Jun Wako af556d39d2 Remove unwanted white space 2014-12-26 13:27:06 +09:00
Colt Ma 5a8dbc63ea Add keycode for Fast Forward & Rewind
KC_MEDIA_FAST_FORWARD
KC_MEDIA_REWIND
2014-12-26 11:02:25 +08:00
tmk bb25960424 [ps2,terminal_usb] Quick fix for build problem 2014-12-24 11:11:07 +09:00
Jack Humbert ed8d9a099d added planck folder 2014-12-14 10:30:27 -05:00
Jack Humbert 79849ee534 Update keymap_common.h 2014-12-12 12:12:36 -05:00
Jack Humbert 4e3397ca8a Update matrix.c 2014-12-12 12:12:06 -05:00
Jack Humbert 4a8b9b8a2e Update keymap_planck.c 2014-12-12 12:11:46 -05:00
Jack Humbert e4c4d6ad0a Merge pull request #1 from charlesmartin/patch-2
Update keymap_planck.c
2014-12-11 17:42:46 -05:00
charlesmartin 5cc0d353a5 Update keymap_planck.c 2014-12-11 17:41:00 -05:00
Jack Humbert d9a1b9086f led 2014-12-11 17:36:42 -05:00
Jun Wako a0d6bb1818 usb_usb: Add SpaceFn and hasu keymap 2014-12-11 03:52:05 +09:00
Jun Wako b47450da9f Merge branch 'usb_usb_hub' 2014-12-11 01:00:32 +09:00
Jun Wako 30864ea5e4 Update README 2014-12-11 00:59:08 +09:00
Jun Wako 27795b6b19 Change debug print config 2014-12-11 00:27:37 +09:00
Jun Wako c9674d388d Add USB Hub support 2014-12-10 23:52:38 +09:00
Jun Wako 0a181c7eb5 Add submodule legitimate USB_Host_Shield_2.0 2014-12-10 15:54:24 +09:00
Jun Wako 4b69ed2280 Remove submodule USB_Host_Shield_2.0 2014-12-10 15:20:32 +09:00
Jun Wako 0a9d9b8f9c Fix print init; print_set_sendchar in main 2014-12-10 15:10:25 +09:00
Jun Wako 9de992ba0b Change USB PID 2014-12-10 14:52:39 +09:00
Jack Humbert 1c6770f18c init 2014-12-08 17:05:41 -05:00
Jack Humbert 6c27cba5df init 2014-12-08 17:05:02 -05:00
Jun Wako f6f698dda0 usb_usb: Update for new core layout 2014-12-05 09:59:08 +09:00
Brooks Swinnerton 60acd8996d Fixing typo in console mode 2014-11-30 13:27:59 -05:00
tmk 4192bce16b hhkb: Change keymap and bootmagic salt key 2014-11-25 11:44:57 +09:00
tmk cc5693e0f1 Merge branch 'u2_fix' 2014-11-24 16:19:00 +09:00
tmk b92ea1f985 Fix endpoint buffer setting for AT90USB82/162. 2014-11-24 16:04:03 +09:00
tmk ed52ebb987 Merge branch 'merge_rn42' 2014-11-24 15:36:53 +09:00
tmk e2077cad45 Change key_t to keypos_t 2014-11-24 15:14:52 +09:00
tmk a996396045 Fix debug.h 2014-11-24 14:33:50 +09:00
tmk 363950982a Merge branch 'rn42' into merge_rn42
Conflicts:
	.gitignore
	common.mk
	common/debug_config.h
	common/print.h
2014-11-24 13:50:33 +09:00
tmk 60096e11c7 Update doc 2014-11-23 13:44:11 +09:00
tmk 1f96edaed6 Remove MCU dependent code from common/keyboard.c 2014-11-23 13:38:10 +09:00
tmk 608ebe2686 Matrix power saving 2014-11-23 13:08:05 +09:00
Oleg Kostyuk 1a9cec9a03 Documentation: small mistake
Originally reported as https://github.com/cub-uanic/tmk_keyboard/issues/10, all credits to @olivierpons
2014-11-20 23:55:47 +02:00
tmk c2d830c07c USB initialize when plug-in during battery powered 2014-11-20 17:24:56 +09:00
Jun Wako eb90ed6238 ps2_usb: Fix README 2014-11-20 16:47:40 +09:00
tmk 09e6f71bff adb_usb: Remove old comment of Makefile 2014-11-20 01:32:20 +09:00
tmk 1961641463 Merge branch 'action_fix' 2014-11-18 04:10:48 +09:00
tmk a58b9ddbd5 Add initializer of debug_config for GCC < 4.6.0(#144) 2014-11-14 22:53:25 +09:00
tmk 8180709132 Fix for 'unnamed field in initializer' GCC bug(Fix #143) 2014-11-14 17:49:48 +09:00
Simon Stapleton 7b0b8ee017 ignore files with trailing ~ 2014-11-14 17:25:49 +09:00
tmk c49cb01002 Merge pull request #142 from 0mark/master
fixed vusb variant of converter ps2usb
2014-11-14 04:56:00 +09:00
Stefan Mark 93915040e7 fixed vusb variant of converter ps2usb 2014-11-13 12:07:56 +01:00
tmk 6c06b9031f Add power control of key switch board 2014-10-02 09:58:47 +09:00
tmk 821c719e98 Add action 'Momentary switching with Modifiers' 2014-09-29 10:29:33 +09:00
tmk 8cec0bc9d6 Fix typo of variable name 2014-09-24 15:52:31 +09:00
tmk 27967f2008 Add TMK converter support to Next converter
- change protocol stack to LUFA
2014-09-24 15:50:29 +09:00
tmk bfd2d969b4 Add keyboard LED control via Bluetooth 2014-09-22 14:20:49 +09:00
tmk dd3ab65ec3 Merge branch 'usb_usb_fix' 2014-09-22 10:53:35 +09:00
tmk e3f4f7d8c4 Merge branch 'scottjad-master' into usb_usb_fix 2014-09-22 10:52:27 +09:00
tmk ea524d7bef Adhoc fix compile error of usb_usb 2014-09-22 10:42:20 +09:00
tmk 2015027da3 Add FET swtich for battery ADC 2014-09-20 06:12:49 +09:00
Scott Jaderholm a59dea558e usb_usb: Remove mention of downloading LUFA 2014-09-14 21:38:10 -07:00
Scott Jaderholm c35e3e8596 usb_usb: Remove mention of merged usb_hid branch 2014-09-14 21:37:20 -07:00
tmk d8dd18b421 Improve rn42_task time resolution 2014-09-05 11:37:05 +09:00
tmk 38714e8c85 Update MEMO and remove a build option to save flash 2014-09-04 17:39:29 +09:00
tmk 3b81ffc16c Monitor battery and alert low voltage 2014-09-04 17:08:23 +09:00
tmk 02939ab1d8 Add battery management 2014-09-04 05:30:00 +09:00
tmk 807ed33a9a Fix rn42_linked() to use pullup 2014-08-30 15:59:41 +09:00
tmk b9e265368f Merge branch 'rhaberkorn-serial-mouse' 2014-08-26 17:48:34 +09:00
tmk 4799c99b4d Add serialmouser_usb project 2014-08-26 17:46:41 +09:00
tmk c672cbc31c Add option 7bit data to serial_soft.c 2014-08-26 17:39:04 +09:00
tmk c4530ab0a8 Add serial_mouse_task in keyboard.c 2014-08-26 17:36:44 +09:00
tmk 8f5f25fcd5 Revert lufa/lufa.c 2014-08-26 17:35:16 +09:00
tmk 8b9c61ade5 Revert ps2_usb/Makefile and config.h 2014-08-26 17:34:10 +09:00
tmk b316f19871 Merge branch 'serial-mouse' of git://github.com/rhaberkorn/tmk_keyboard into rhaberkorn-serial-mouse 2014-08-26 05:02:37 +09:00
tmk 10eb70acb4 Merge pull request #134 from xauser/master
Support for Lightpad keypad
2014-08-26 04:59:43 +09:00
Ralf Schmitt af19f56ec9 Support for Lightpad keypad 2014-08-24 16:31:12 +02:00
tmk 28c1bf294c Add files missing for JP support. 2014-08-24 09:51:21 +09:00
tmk 4f22a45b99 Add support for HHKB JP 2014-08-20 13:36:15 +09:00
tmk 523cc6aa2e Add build option and Sun specific commands 2014-08-01 13:26:42 +09:00
tmk 17f22da3cf Update MEMO.txt 2014-07-30 14:38:27 +09:00
tmk e4b9541041 Add connection indicator 2014-07-30 14:38:27 +09:00
tmk f441ad07cc Add initial setting of Linked pin 2014-07-30 14:38:27 +09:00
tmk ae28b16fc6 Add battery monitor and LED control 2014-07-30 14:38:27 +09:00
tmk 21e68fbea4 Add help message 2014-07-30 14:38:27 +09:00
tmk 4b2b32a14b Add rn42_lined(): connection status(GPIO2) 2014-07-30 14:38:26 +09:00
tmk 3e7875455e Add flow control by firmware to serial_uart 2014-07-30 14:38:26 +09:00
tmk 50bcaa66c4 Clean up mbed_onekey 2014-07-30 14:38:26 +09:00
tmk 59ea5e02f7 Mkdir rn42 2014-07-30 14:38:26 +09:00
tmk b4e4f599df Add rn42_task 2014-07-30 14:38:26 +09:00
tmk fa545c87f7 Fix rn42.h API 2014-07-30 14:38:26 +09:00
tmk 862f519e24 Add software UART and battery monitor 2014-07-30 14:38:26 +09:00
tmk 01fa462e2c Fix configure mode of RN-42 2014-07-30 14:38:26 +09:00
tmk 1619d68cb2 Update MEMO.txt 2014-07-30 14:38:26 +09:00
tmk 6cec158d1a Update TODO 2014-07-30 14:38:26 +09:00
tmk faf9adb315 Change keymap for rn42
- rn42 doesn't support mouse button 4 and 5
- rn42 deosn't support browser back and forward
2014-07-30 14:38:26 +09:00
tmk cd86104377 Fix consumer key bug 2014-07-30 14:38:26 +09:00
tmk 31a298f9d9 Add RN-42 Bluetooth module support 2014-07-30 14:38:26 +09:00
tmk be19b2bf32 Change buffer size: 256 bytes 2014-07-30 14:38:26 +09:00
tmk 47bc3016d3 Ad hoc fix of command API 2014-07-30 14:38:25 +09:00
tmk 4069776c02 Add initial files for RN-42 2014-07-30 14:38:25 +09:00
tmk ea60dae6e6 Fix for new API(key_t to keypos_t) 2014-07-30 14:38:25 +09:00
tmk 54aee16a84 Fix timer.h to include AVR specific header 2014-07-30 14:38:25 +09:00
tmk 2e0e21d444 Port action_* to mbed 2014-07-30 14:38:25 +09:00
tmk adbb86b1ec Merge branch 'mbed' into dev 2014-07-30 14:37:05 +09:00
tmk a9f5f201ad Add checksum tool for NXP LPC 2014-07-30 14:07:43 +09:00
tmk b4a91ecf4e Add LED indicator support in mbed 2014-07-30 14:07:43 +09:00
tmk 4c8e0fd0bd Port ps2_usb to mbed 2014-07-30 14:07:43 +09:00
tmk 80c3ff5fa0 Fix build files for mbed 2014-07-30 14:07:43 +09:00
tmk e81c70149e Fix common files for mbed 2014-07-30 14:07:43 +09:00
tmk ee70fe59ee Fix debug.h and remove debug_config.h 2014-07-30 14:07:43 +09:00
tmk c67ae2a6b5 Port action_* to mbed 2014-07-30 14:07:43 +09:00
tmk 04fe78ee0a Fix print and timer 2014-07-30 14:07:43 +09:00
tmk 867f115bee Port timer to mbed 2014-07-30 14:07:43 +09:00
tmk f15b2691c9 Add keyboard/mbed_onekey 2014-07-30 14:07:43 +09:00
Robin Haberkorn 03fd4a6ff0 updated copyrights: serial_mouse.h, serial_mouse_microsoft.c and serial_mouse_mousesystems.c are new 2014-07-27 17:58:41 +02:00
Robin Haberkorn eb90284494 serial_mouse: simplified clipping of X/Y/V/H changes below -127 using a MAX macro 2014-07-27 17:38:32 +02:00
Robin Haberkorn 0bfba7acc4 factored out serial_mouse_init() into serial_mouse.h 2014-07-27 17:38:31 +02:00
Robin Haberkorn 7dde35d4f7 integrated serial mouse drivers as a feature into the firmware architecture
* can be enabled by defining Makefile macro SERIAL_MOUSE_MICROSOFT_ENABLE or
   SERIAL_MOUSE_MOUSESYSTEMS_ENABLE.
 * Serial implementation can be chosen via SERIAL_MOUSE_USE_SOFT and
   SERIAL_MOUSE_USE_UART macros
 * UART configuration still has to be done in config.h: I added working clauses
   for both mouse protocols to ps2_usb's config.h
2014-07-27 17:38:31 +02:00
Robin Haberkorn 388fe60c67 fixed PS/2 keyboard converter config
When using the PS/2 interrupt implementation, the DATA pin should be
PD0 as the documentation (README.md) states.
2014-07-27 16:26:38 +02:00
Robin Haberkorn 6bf8000e63 added serial mouse driver for Microsoft and Mousesystems mice
* Both drivers use the interface defined in serial_mouse.h
 * They should work with any UART implementation (hardware/software UART)
 * The Microsoft driver is currently untested.
   The Mousesystems driver is confirmed to work.
2014-07-27 16:23:23 +02:00
tmk 79840c678e Just ignore ADB Service Request
- to support Adjustable keyboard(composite device?)
2014-07-21 18:17:52 +09:00
tmk 31b3e4bc38 Fix 'debug-off' target of hhkb to remove 'print' 2014-07-20 00:37:49 +09:00
tmk 32997200f7 Fix NKRO code when NKRO is disable 2014-07-20 00:31:40 +09:00
tmk 452866319b Fix READEM of hhkb and doc/build.md 2014-07-10 15:28:36 +09:00
tmk 92004d6786 Fix document on HHKB internal 2014-07-09 16:33:40 +09:00
tmk 6013483050 Add HHKB JP support
- scan matrix about twice faster
2014-07-09 15:31:52 +09:00
tmk 34373185b7 Merge pull request #124 from kairyu/6kro
USB 6KRO with pseudo- or half- NKRO feature
2014-07-07 12:46:12 +09:00
tmk 3eeb0a9623 Merge pull request #112 from shayneholmes/ee_nkro_use_reserved_bit
Adding NKRO virtual dip-switch, using existing bit in keymap byte.
2014-07-07 12:01:01 +09:00
tmk 326e559719 Merge pull request #125 from tibounise/patch-1
Fixing typo
2014-07-07 11:14:44 +09:00
tmk 7079ba5d51 Merge pull request #126 from xauser/master
Added support for bpiphany's Kitten Paw controller
2014-07-07 11:13:31 +09:00
Ralf Schmitt a70acecb1c Added support for bpiphany's Kitten Paw controller (Costar Majestouch) 2014-06-27 13:04:23 +02:00
tmk 9c8d0f6c0d Change keymaps of M0110 2014-06-22 14:15:38 +09:00
TiBounise 91b65c0a54 Fixing typo 2014-06-20 18:43:57 +02:00
tmk 382eaebd3d Fix debug print of ps2_mouse 2014-06-15 14:04:16 +09:00
tmk aad92d81cb Fix keymap of ps2_usb 2014-06-12 17:33:02 +09:00
tmk 9fdb02017b Add Ctrl + Up(SpaceFN) -> PgUp 2014-06-12 17:23:02 +09:00
tmk caf7b4e68a Make keymap_hhkb as default and change keymap_hasu 2014-06-12 17:19:58 +09:00
tmk ed8cf12d25 Add ISO keymap(issue #35) and use new keymap API 2014-05-21 02:43:19 +09:00
Kai Ryu ac570686b6 New branch for 6KRO feature 2014-05-13 14:57:13 +09:00
tmk abe5edcaa7 Fix set LED for NKRO keyboard interface 2014-04-29 19:46:37 +09:00
tmk b03717a10c Unused endpoint of console OUT is commentout'd 2014-04-29 19:45:01 +09:00
tmk 7209c1d387 Add Makefiles for TMK converters. 2014-04-29 19:43:25 +09:00
tmk 110eea578b Fix remotewakeup of PJRC stack(Fix #121)
- without this fix wakeup often fails
- keyboard can wakeup once or twice but fails after that
2014-04-28 16:41:35 +09:00
tmk 37cf260764 Check if LUFA-git really exists(Fix #118) 2014-04-28 08:55:07 +09:00
tmk 22854eb71b NKRO is disable when SET_PROTOCOL(boot)
- Command can force to enable NKRO even when boot mode
- After boot keyboard may be in boot mode due to BIOS' request
2014-04-27 05:36:41 +09:00
tmk 5e3f2d2b2e Make NKRO deafult when it is available
- NKRO is used only when keyboard_protocol = 1(report)
2014-04-27 04:16:49 +09:00
tmk 62117e7ea7 Change MCU setting to ATmega32U2 2014-04-25 15:26:11 +09:00
tmk 2db27ecedd Fix description of pin usage 2014-04-25 15:16:12 +09:00
tmk fc3a20c534 Add LUFA git repository(release 140302) 2014-04-25 13:39:35 +09:00
tmk ad4cba172b Move macro definitions from lufa.c to lufa.h 2014-04-25 12:19:14 +09:00
tmk 00e9a342df Fix 'Shift Parentheses' example 2014-04-25 11:47:02 +09:00
tmk 3c5add5f80 Change LUFA build options 2014-04-24 11:26:06 +09:00
tmk a5d4a1f3e1 Return when ready check loop is timeouted(Fix #115) 2014-04-22 01:37:32 +09:00
tmk c6902681e7 Change PollingIntervalMS to 10ms(Fix #114) 2014-04-21 12:18:12 +09:00
Shayne Holmes e5bafff725 Adding NKRO virtual dip-switch, using existing bit in keymap byte.
This takes the last, reserved bit there, but doesn't necessitate
a revision to the magic number because it doesn't alter byte order.
Add reference to NKRO virtual dip-switch to documentation.
2014-04-09 15:54:16 -07:00
tmk 894a387d1f Merge pull request #110 from xauser/master
Enhanced Backlight Support
2014-04-09 10:02:53 +09:00
Ralf Schmitt 589d99b448 New macro: ACTION_BACKLIGHT_LEVEL(level)
To have full control of the backlight level.
2014-04-08 21:02:46 +02:00
tmk 5c63751790 Merge pull request #106 from CJNE/patch-1
Show correct function name for default layer set
2014-03-28 09:22:42 +09:00
Johan Isacsson 13fbab9d8b Show correct function name for default layer set 2014-03-27 23:59:25 +01:00
tmk 1722e04e73 Merge pull request #102 from xauser/master
Support for Lightsaber keyboard
2014-03-24 10:45:46 +09:00
Ralf Schmitt 1482fe92a0 Added Lightsaber FN-layer 2014-03-22 13:13:37 +01:00
Ralf Schmitt 498ea75d1b Lightsaber clean ups 2014-03-22 12:41:45 +01:00
Ralf Schmitt 526d988a0c Added basic led+backlight support 2014-03-19 23:58:08 +01:00
Ralf Schmitt 160678a7b8 Updated Lightsaber read me 2014-03-19 00:21:45 +01:00
Ralf Schmitt 5ca3bde10a Support for Lightsaber keyboard 2014-03-19 00:15:56 +01:00
tmk 7474e14d06 Fix markdown syntax 2014-02-17 16:57:02 +09:00
tmk a03a197fe2 Merge branch 'ibm4704' 2014-02-17 16:43:19 +09:00
tmk 48d27378f4 Fix README.md and ibm4704.txt 2014-02-17 16:42:43 +09:00
tmk 01f02e8457 Change IS_COMMAND macro 2014-02-17 16:41:40 +09:00
tmk 188ab49dd3 Merge branch 'ibm4704' 2014-02-13 09:45:54 +09:00
tmk 428b236461 Add converter/ibm4704_usb 2014-02-13 09:45:02 +09:00
tmk 294aa396da Rename a file 2014-02-13 09:33:34 +09:00
tmk 776ccd3e67 Change keymap_plain.c 2014-02-11 01:55:49 +09:00
tmk 4ab0ebb199 Change pin configuration 2014-02-11 00:37:19 +09:00
tmk 47d812bfd6 Add connector pinouts 2014-02-10 23:49:57 +09:00
tmk 902afcc509 Add doc 4704.txt and protocol comment 2014-02-10 11:05:18 +09:00
tmk 0f827cf94c Add keymap_hasu.c 2014-02-10 10:01:42 +09:00
tmk 89c7b9b097 Add README.md 2014-02-10 07:02:48 +09:00
tmk 54a06c2520 Change error no and clean debug code 2014-02-10 06:46:43 +09:00
tmk c4efadf68a Tweak keyboard initialize 2014-02-09 08:25:23 +09:00
tmk ebe951a445 Add Initial files of 4704_usb 2014-02-09 02:42:17 +09:00
tmk cb3a547ebf Make modifiers 'weak' in macro 2014-01-28 10:55:51 +09:00
Thomas Russell Murphy a86c1e2b71 Spellchecking keyboard README files. 2014-01-07 11:03:18 +09:00
Thomas Russell Murphy 3ee5f565ae Spellchecking converter README files. 2014-01-07 11:03:18 +09:00
tmk 6e9260cc17 Merge pull request #92 from bgould/upstream
Added NeXT keyboard converter
2014-01-06 17:57:30 -08:00
Benjamin Gould f7bb7c4fa9 Added NeXT keyboard converter 2014-01-06 17:07:10 -05:00
tmk a35cf0e458 Merge pull request #90 from thomasrussellmurphy/master
Spellcheck of README.md and Documentation
2014-01-02 21:10:16 -08:00
Thomas Russell Murphy e0a95d4075 Spellchecked documentation. 2014-01-02 19:05:52 -05:00
Thomas Russell Murphy 22bd315b64 Spellcheck of README.md 2014-01-02 18:37:20 -05:00
tmk 73ab537bfc Add TRS-80 model 100 instruction 2014-01-03 08:05:19 +09:00
tmk cb33e78126 Merge branch 'master' of github.com:tmk/tmk_keyboard 2014-01-03 07:10:53 +09:00
tmk 92cda14f7a Add ascii_usb ASCII Serial Console terminal converter 2014-01-03 07:07:42 +09:00
tmk dcfae0beb5 Merge pull request #88 from sigma/sun_usb_fixes
Sun usb fixes
2013-12-28 03:08:11 -08:00
Yann Hodique 8e9498f066 fix hard-coded keys
values provided to macro were not used for the "K61,K49,K33, K30" block
2013-12-26 21:52:58 -08:00
Yann Hodique 8fc26a1360 fix compilation 2013-12-26 21:16:27 -08:00
tmk 37bf34d5b1 Merge pull request #86 from tibounise/master
Fixing a typo
2013-12-16 16:02:08 -08:00
TiBounise 696a7fbc6f Fixing a typo 2013-12-16 19:53:02 +01:00
tmk ac1acca8d7 Add description of keyboard report in report.h 2013-12-16 21:56:44 +09:00
tmk c9dee36e42 Make ps2_usart default and fix SpaceFN 2013-12-02 12:04:50 +09:00
tmk 0b917d4f10 Fix README.md of hhkb 2013-11-30 12:33:32 +09:00
tmk 6d76e60095 Merge branch 'hhkb_spaceFN' 2013-11-30 12:04:39 +09:00
tmk 119c34e094 Add SpaceFN layout for HHKB 2013-11-30 12:03:19 +09:00
tmk e3bcdd8211 Add SpaceFN keymap and JIS keymap 2013-11-29 23:52:29 +09:00
tmk fd7833388c Add new keymap framework 2013-11-29 09:12:28 +09:00
tmk d2a83dae8f Merge pull request #80 from gblargg/master
Fixed handling of ADB event with key down and key up for same key all in...
2013-11-27 23:35:38 -08:00
tmk fd9ee507a5 Merge branch 'modstaptoggle' of git://github.com/simonmelhart/tmk_keyboard into simonmelhart-modstaptoggle
Conflicts:
	common/action_code.h
2013-11-28 16:31:06 +09:00
tmk f3132adb33 Merge pull request #81 from bgould/master
Add support for Adafruit's Bluefruit
2013-11-27 23:23:08 -08:00
tmk bc5b64d832 Merge branch 'ps2_keyboard_fix' 2013-11-28 16:02:29 +09:00
tmk 0b9c0f6012 Add new keymap file 2013-11-28 16:00:16 +09:00
tmk 10b2b1ae43 Fix key stack and PS/2 Overrun 2013-11-28 15:50:55 +09:00
tmk 8b4fa599cf Add included header file and fix debug print 2013-11-28 14:44:59 +09:00
tmk 05be3d85d1 Fix pin configuration of onekey for PS/2 mouse 2013-11-28 14:43:47 +09:00
tmk 4eb27ee890 Add ps2_interrupt.c 2013-11-28 14:20:00 +09:00
tmk 532e100450 Add ps2_usart.c and fix set_led at USB wake 2013-11-28 11:31:48 +09:00
Benjamin Gould f7db144959 changed tabs to spaces in bluefruit.c 2013-11-27 00:32:20 -05:00
Benjamin Gould 05792e2b83 Added bluefruit protocol and converter for 70% M 2013-11-27 00:24:57 -05:00
Shay Green 263c462656 Fixed handling of ADB event with key down and key up for same key all in one 2013-11-26 15:21:43 -06:00
tmk 9d26053f1c Fix ps2_host_recv_response 2013-11-26 14:31:57 +09:00
tmk 9ae9742ac5 Add ps2_busywait.c and recfactor PS/2 protocol 2013-11-25 17:43:26 +09:00
tmk d5ecbb83da Add printf macro as alias of xprintf 2013-11-25 17:39:45 +09:00
tmk 04c9501574 Fix Makfile and config.h for LUFA in ps2_usb 2013-11-25 11:25:44 +09:00
tmk 4e36159be2 Add HHKB keymap file on gh60 2013-11-25 09:27:25 +09:00
tmk beacd5872c Support GH60 Rev.B PCB as well as Rev.A(issue #64)
- Port of col8 is PB0 in Rev.A while PB7 in Rev.B
2013-11-21 23:31:20 +09:00
tmk 4e5bce22de Add parenthses ito macro arguments 2013-11-21 23:23:57 +09:00
tmk 4e7ec43c3f Add SpaceFN layout to gh60 2013-11-21 19:32:17 +09:00
tmk 22e293696d Add new keymap management on gh60 2013-11-21 16:34:34 +09:00
tmk 772ab7025d Merge branch 'ps2_mouse_fix' 2013-11-21 13:01:47 +09:00
tmk a9c3f4750b Configure PS/2 mouse build options to onekey 2013-11-21 13:00:08 +09:00
tmk ccbc1dd8e7 Fix PS/2 USART version 2013-11-21 12:23:29 +09:00
tmk 416a5b849e Fix interrupt version of ps2.c 2013-11-21 10:29:29 +09:00
Simon Melhart a6afa845b9 Add tap toggle modifiers
Including documentation.
2013-11-20 09:21:33 -08:00
tmk c6abcb6d89 Add build options of ps2_mouse 2013-11-20 15:28:58 +09:00
tmk d7f663a1ea Fix to build ps2_mouse with both LUFA and PJRC
- change API of ps2_mouse; ps2_mouse_task()
- remove mouse_report from host.c
2013-11-20 11:32:09 +09:00
tmk 755e4d8b00 Add PS/2 mouse configure to onekey 2013-11-19 03:39:15 +09:00
tmk 44d2d5f5fd Fix delay of PS/2 mouse init 2013-11-19 03:25:31 +09:00
tmk 9d40be1990 Wait for USB starting up to make debug print available 2013-11-19 03:20:25 +09:00
tmk 821578293c Remove tentative files from blargg 2013-11-08 05:19:37 +09:00
tmk c531a185a4 Disable BOOTMAGIC and fix debug prints of adb_usb 2013-11-08 04:37:09 +09:00
tmk 84b9ce7125 Fix ADB led_set(); remove delay
- the 100ms delay causes keystroke drop; this is observable with
  pressing Numlock key on AEK repeatedly
- without the delay LED sync problem doesn't occur now
2013-11-08 04:27:25 +09:00
tmk 94823030f0 Add cli() to protoect ADB critical timing part 2013-11-08 04:25:22 +09:00
tmk 676d94d137 Fix PS/2 mouse support 2013-11-02 04:30:08 +09:00
tmk 1591764cfb Tweak time values of busywait PS/2 2013-11-02 03:07:59 +09:00
tmk eea3b699a6 Merge branch 'onekey' 2013-10-31 12:30:42 +09:00
tmk b9fe36f237 Add USE_LEGACY_KEYMAP in config.h of ps2_usb and IIgs 2013-10-28 11:43:45 +09:00
tmk ee109d68d6 Delete MOUSEKEY_DELAY_TIME in config.h 2013-10-28 11:32:19 +09:00
tmk c18c52f551 Merge blargg's fix into adb.c
- <http://geekhack.org/index.php?topic=14290.msg1075201#msg1075201>
2013-10-14 23:37:05 +09:00
tmk 59ecced486 Add ADB protocol files from blargg's work
- <http://geekhack.org/index.php?topic=14290.msg1070604#msg1070604>
2013-10-11 10:12:22 +09:00
tmk 86082f90fa Change ADB scan delay 12ms 2013-10-09 12:20:03 +09:00
tmk e8e8f93bcf Fix ADB missing keystrokes problem Thanks, blargg! #14
- Add delay between scans to prevent overlaod of ADB keyboard controllers
- <http://geekhack.org/index.php?topic=14290.msg1068919#msg1068919>
2013-10-08 12:23:25 +09:00
tmk 63b3e2cbfb Make LUFA stack as default for ADB converter 2013-10-08 10:55:40 +09:00
tmk 48662ace8b Fix build error and debug print PJRC stack #69 #68 2013-10-08 10:49:13 +09:00
tmk 35f9f30074 Add timeout option to MODS_ONESHOT #66 2013-10-07 23:28:17 +09:00
tmk d52d554360 Fix mod stuck of MODS_KEY when leaving layer #62
- Add action_util.c and remove action_oneshot.c
- Add oneshot_mods for MODS_ONESHOT
- Add weak_mods for MODS_KEY and MACRO
- weak_mods is cleared when layer switching
2013-10-04 16:04:31 +09:00
tmk cb434cfebc Remove clear matrix on ADB recv error 2013-10-04 15:03:42 +09:00
tmk 7e8a85caad Fix VERSION: add opton --always to git describe 2013-10-03 13:27:04 +09:00
tmk 8819cf6bb1 Fix Tapping: release key immediately but modifier #65
- See https://github.com/tmk/tmk_keyboard/issues/60
- **Except for modifiers** a key pressed before the tapping starts should be released immediately
- 'Mod-Tap key'(like shift-;) didn't work from this fix: 4d0b3aa Fix Tapping: release of a key pressed before tap
This key sequence should register ':', not ';'. With the fix Shift is
released before settlement of tapping, this registers ';'.
    Shift   ~~___~~~~~~~
    ;(Tap)  ~~~____~~~~
2013-10-03 12:40:33 +09:00
tmk a0f9c1fb4f Merge branch 'm0110_keymap_section' 2013-09-25 21:08:41 +09:00
tmk ea5938da1a Change for default keymap of keymap editor 2013-09-25 20:41:40 +09:00
tmk 09e80fecc6 Add build option KEYMAP_SECTION_ENABLE to m0110 2013-09-25 15:21:00 +09:00
tmk b9d59f33f2 Add M0120 scan code diagram 2013-09-25 15:20:21 +09:00
tmk d267ee2ada Fix LUFA blocking during startup
- Blocking occurs if built without option INTERRUPT_CONTROL_ENDPOINT
2013-09-25 12:23:14 +09:00
tmk 7d692c492c Fix USB initilaize on LUFA
- Add print messages of USB intialize procesure.
- call out sei() in earlier stage. LUFA API doc of USB_Init() says:
interrupts must be enabled within 500ms ... to ensure that the host does
not time out whilst enumerating the device
- remove matrix_init() from suspend_wakeup_init(). It is not needed in
  fact and if matrix_init() takes long time to initialize it prevents
host emnumerating the device.
2013-09-21 22:47:03 +09:00
tmk 6ccea742de Merge branch 'm0110_next' 2013-09-21 21:35:13 +09:00
tmk b2c7529ec9 Fix to bootmagic key configurable 2013-09-21 21:21:34 +09:00
tmk 6cf6ddceb1 Fix README of M0110 2013-09-21 21:20:05 +09:00
tmk 7e122279c5 Change keymap and enable bootmagic of M0110 2013-09-21 21:07:55 +09:00
tmk febdf10602 Remove procedures not neeed from init of M0110 2013-09-21 15:45:42 +09:00
tmk 22315fcdf9 Change m0110 pin configuration: swap D0 and D1 2013-09-20 00:58:30 +09:00
tmk 58ca7b904b Merge branch 'tapping_fix60' 2013-09-19 22:16:55 +09:00
tmk 9f29fa6bf3 Fix version info command 2013-09-19 00:51:44 +09:00
tmk 0ca415004a Fix bootloader jump use word address
- Call of function pointer is compiled into 'icall' instruction.
It should use word address but it has used byte address :( It seems
jump has worked luckily by chance until now. why it worked?
2013-09-18 16:10:53 +09:00
tmk 4d0b3aace0 Fix Tapping: release of a key pressed before tap
- immediately process release event of a key pressed before tapping
2013-09-18 15:02:44 +09:00
tmk c7faa51ee8 Fix action macros 2013-09-11 14:05:05 +09:00
tmk da24259632 Merge branch 'keymap_section' 2013-09-11 14:04:33 +09:00
tmk 259c4a040a Add build option KEYMAP_SECTION for keymap editor 2013-09-11 14:01:47 +09:00
tmk 8bc96ac571 Add version string 2013-09-11 13:44:54 +09:00
tmk f7395268c0 Add ld script for keymap section 2013-09-11 13:20:58 +09:00
tmk b6677f10e3 Add files for onekey(issue #56)
- https://github.com/tmk/tmk_keyboard/issues/56
2013-08-05 16:23:17 +09:00
tmk 60103a12b2 Change Makefile and port setting
- Makefile use LUFA now
- Change MCU ports PF{0,1} to PD{0,1}
- Add build option for keymap to Makefile: make keymap=hasu
2013-08-04 16:17:53 +09:00
tmk c274cc8cdc Fix tapping count over flow(issue #52) 2013-07-29 22:18:42 +09:00
tmk 893ff0a799 Merge branch 'lufa_nkro' 2013-07-29 00:55:49 +09:00
tmk e7c2af78b7 Change README Makefile and config.h in hhkb 2013-07-29 00:53:18 +09:00
tmk daa4a4235f Add NKRO support for LUFA 2013-07-28 17:34:41 +09:00
tmk c7d309e34b Merge branch 'bootmagic_salt'(Fix issue #41) 2013-07-24 00:43:55 +09:00
tmk 05225dd9d8 Add bootmagic salt key to avoid accidental configuration 2013-07-24 00:41:28 +09:00
tmk 7e5081b5a8 Merge branch 'lockkey_fix'(Fix issue #46) 2013-07-23 10:57:37 +09:00
tmk 2721022078 Add mechanical locking switch support for NumLock and ScrollLock 2013-07-23 10:56:03 +09:00
tmk 5b425731c5 Merge branch 'macro_mediakey'(Fix issue #42) 2013-07-23 07:56:28 +09:00
tmk 6aaa6e0ef9 Add support for macro media/system keys 2013-07-23 07:53:18 +09:00
tmk 25aec56c08 Merge branch 'bob_fix' 2013-07-21 10:44:21 +09:00
tmk 3e023e5b0c Cancel tapping when interrupted by other key 2013-07-21 03:21:57 +09:00
tmk f8fbecff4d Change name ACT_LAYER_TAP1 to ACT_LAYER_TAP_EXT 2013-07-20 03:27:36 +09:00
tmk 86623f5724 Add compile conditional for assembler(xprintf) 2013-07-15 23:32:14 +09:00
tmk f4c69652c1 Merge branch 'hhkb_tmk' 2013-07-11 16:26:00 +09:00
tmk d2ea9e80a0 Fix README and doc 2013-07-11 16:23:53 +09:00
tmk 9d7278682e Add Caps Lock LED on PD6 2013-07-11 09:07:02 +09:00
tmk 0e37dd2ec5 Add power control of keyswitch board and tweak scan wait 2013-07-08 14:38:03 +09:00
tmk 292dbd51cc Merge pull request #44 from Wraul/phantom_fix
Correcting Phantom mistakes
2013-07-07 22:24:20 -07:00
Wraul eef6aa58b7 Correction to Phantom readme markdown. 2013-07-07 18:48:25 +02:00
Wraul a21359a098 Fix Phantom scroll lock LED. 2013-07-07 18:48:25 +02:00
tmk 8848d0188f Merge pull request #40 from yeeeargh/hid_liber-standard-layouts
Added standard layouts for ANSI and ISO to hid_liber
2013-07-03 18:18:05 -07:00
yeeeargh e0cb9cf30b Added standard layouts for ANSI and ISO. Moved the initial layout from alaricljs to a seperate layout file. If no layout gets defined ANSI is used as a default.
Added a README.md with links to the deskthority wikipages for this project and some build instructions.
2013-07-03 13:04:33 +02:00
tmk d965822857 Tweak tap timing for slow tap on space bar 2013-07-03 11:03:59 +09:00
tmk e9796ff462 Add Makefile for tmk board and tweak scan wait 2013-07-03 11:02:33 +09:00
tmk 681e019450 Fix debouncing bug in hid_liber(Issue #26) 2013-06-25 09:33:24 +09:00
tmk 5a0415749d Merge branch 'Wraul-kmac' 2013-06-23 09:19:04 +09:00
tmk 25ad212c4a Add BACKLIGHT_ENABLE conditional 2013-06-23 09:14:58 +09:00
tmk 82aec46722 Fix typo 2013-06-22 17:32:53 +09:00
Wraul 43e5ca60af Initial implementation for the KMAC 2013-06-22 17:23:37 +09:00
Wraul 1eb8523e95 Add support for backlight 2013-06-22 17:23:36 +09:00
tmk 9de9d71952 Add default layer config to bootmagic 2013-06-22 16:24:56 +09:00
tmk 2593ae1328 Merge branch 'x68k_led' 2013-06-22 02:52:14 +09:00
tmk ff47a56138 Add JIS layout to x68k 2013-06-22 02:33:26 +09:00
tmk f45f4193f2 Use serial_uart.c instead of x68k.c now 2013-06-22 02:33:08 +09:00
tmk 42c962412b Add LED support to x68k 2013-06-22 02:32:45 +09:00
tmk 1f7461578d Add description of 'LED special function of X68000' 2013-06-22 02:32:01 +09:00
tmk bebbe15562 Add power consumptions to doc 2013-06-19 22:07:16 +09:00
tmk c254a0d038 Change tapping parameter for hhkb/iwrap 2013-06-19 22:04:18 +09:00
tmk c0b7928e88 Add legacy keymap support for x68k 2013-06-19 21:43:55 +09:00
tmk ce950736a2 Merge pull request #37 from Wraul/update_phantom
Polishing the Phantom project
2013-05-27 15:57:30 -07:00
tmk bf3a23b306 Merge pull request #36 from Wraul/fix_sleep_led
Fixes to sleep LED
2013-05-27 15:30:36 -07:00
Mathias Andersson 43b4e2d3b1 Add Phantom README. 2013-05-27 20:53:11 +02:00
Mathias Andersson 6e548590c4 Move Phantom keymaps to separate header files. 2013-05-27 20:53:11 +02:00
Mathias Andersson 28aeef231b Fix Phantom sleep LED. 2013-05-27 20:53:11 +02:00
Mathias Andersson 9e84c89535 Correct order of rows for Phantom 2013-05-27 20:53:11 +02:00
Mathias Andersson 5c5312c508 Update Phantom debug print
This updates the Phantom project to use the new debug print functions.
2013-05-27 20:52:28 +02:00
Mathias Andersson ddf1759dbe Fixes to sleep LED.
Add help text.
Add missing SLEEP_LED_ENABLE checks.
2013-05-27 18:36:00 +02:00
tmk 862a006190 Fix keymap of hid_liber from yeeeargh 2013-05-21 10:35:17 +09:00
tmk 796defa86c Fix deprecated 'prog_*' typedef - Issue #34
- Remove prog_char from xpritnf
- Remove prog_macro_t from acton_macro

avr-libc-1.8 removed 'prog_*' typedef because the usage of
the __progmem__ attribute on a type is not supported in GCC.
http://www.nongnu.org/avr-libc/changes-1.8.html
2013-05-21 10:16:55 +09:00
tmk adbd15d5bd Fix command.c and README 2013-05-15 00:23:36 +09:00
tmk 92b0674a7f Fix makefile, debug print and keymap of HHKB 2013-05-15 00:22:27 +09:00
tmk cbb9c408e4 Merge branch 'fix_print' 2013-05-14 23:03:23 +09:00
tmk ff2d276b19 Use dprint and dprintf for debug 2013-05-14 16:19:40 +09:00
tmk d9c06db600 Add xprintf(xitoa) from elm-chan.org 2013-05-14 16:16:57 +09:00
tmk b9f558b3d8 Merge pull request #31 from Wraul/update_phantom
More updates to Phantom
2013-05-04 03:31:26 -07:00
tmk 3750b16d2f Fix README of terminal converter 2013-05-04 15:25:47 +09:00
tmk 29c6f8d953 Merge branch 'master' of github.com:tmk/tmk_keyboard 2013-05-04 14:52:32 +09:00
tmk 7343366d3d Increase buffer size of PS2 protocol 2013-05-04 14:51:46 +09:00
tmk 95001dd6e4 Add support of Model F 122 terminal keyboard
- change initialize of keyboard in matrix_scan()
- keymap for 122 keys
- Mafilefie and config.h for LUFA and PS/2 USART
2013-05-04 14:46:42 +09:00
Mathias Andersson 3f48b13f81 Code style fixes for Phantom matrix. 2013-05-02 20:37:41 +02:00
Mathias Andersson 1e07b60d3a Add full 7bit support to Phantom keymap. 2013-05-02 20:37:31 +02:00
Mathias Andersson 2d31fcf187 Change Phantom matrix scan to be similar to GH60. 2013-05-01 15:33:48 +02:00
Mathias Andersson 71fabf72e0 Improve matrix print for Phantom. 2013-05-01 13:21:08 +02:00
tmk a505dafe59 Merge pull request #30 from Wraul/phantom_debounce_fix
Fix debouncing on Phantom.
2013-04-30 15:29:35 -07:00
Mathias Andersson 3d503c8932 Fix debouncing on Phantom. 2013-04-28 18:54:38 +02:00
tmk dad9dab995 Fix doc of Boot Magic and add another project info 2013-04-22 13:08:46 +09:00
tmk f4760c822a Fix doc and descriptor of iwrap 2013-04-22 13:04:00 +09:00
tmk c7b180e3d7 Add vusb support to iwrap 2013-04-22 13:03:24 +09:00
tmk c852b04128 Merge pull request #29 from Wraul/update_phantom
Update Phantom for new keymap framework
2013-04-21 15:13:20 -07:00
Mathias Andersson 8633cb170f Adjust Phantom layouts formating.
Make the layout formating better match that of GH60.
2013-04-21 22:13:14 +02:00
Mathias Andersson c4b012cdb5 Updated Phantom for new keymap framework. 2013-04-21 22:06:14 +02:00
tmk 2fc681b4f7 Merge branch 'iwrap5' 2013-04-20 00:46:48 +09:00
tmk 6630277518 Add support of mouse horizontal wheel to iWRAP 2013-04-20 00:45:56 +09:00
tmk 90da1c59bd Rescue script from iWRAP MUX mode stuck 2013-04-19 08:38:05 +09:00
tmk 246031b647 Fix build options for NEWS converter 2013-04-18 15:54:59 +09:00
tmk a77ae5f843 Add support of iWRAP5
- mouse virtical wheel
- consumer page
2013-04-18 15:52:23 +09:00
tmk 1eb67303ee Fix LUFA host driver for unconfigured state 2013-04-13 11:55:57 +09:00
tmk 1348663a4f Fix USB Descriptors 2013-04-13 11:55:08 +09:00
tmk 540d0700dc Remove common/controller_teensy.h 2013-04-13 11:30:08 +09:00
tmk 2b33ecad57 Add new build options on m0110_usb 2013-04-12 22:49:16 +09:00
tmk 2372029de5 Remove MATRIX_HAS_LOCKING_CAPS option 2013-04-12 12:27:31 +09:00
tmk d2e358712a Add m0116 keymap from tufty 2013-04-12 12:22:30 +09:00
tmk 09e1eded8b Add media eject key support from tufty 2013-04-12 11:25:59 +09:00
tmk be8ea3c094 Remove debug line from adb.c 2013-04-09 14:34:52 +09:00
tmk 3fa50565af Merge branch 'adb_fix' 2013-04-09 14:31:27 +09:00
tmk 9e39b222d0 Add new build options to adb_usb 2013-04-09 14:27:29 +09:00
tmk 46d412d262 Fix ADB protocol issue #14 2013-04-09 14:27:29 +09:00
tmk 9bdd89980f Fix comment of ADB signaling. 2013-04-09 14:27:29 +09:00
tmk de7b46cd7d Add coding style and config.h options 2013-04-07 16:47:01 +09:00
tmk e59fb6f908 Merge branch 'virtual_dipsw' 2013-04-07 15:39:52 +09:00
tmk 4e93b3fa67 Fix bootmagic and eeconfig for virtual DIP SW 2013-04-07 15:36:50 +09:00
tmk 78fd5a7154 Add doc/build.md and doc/other_projects.md 2013-04-06 00:01:04 +09:00
tmk c26a5eb2ac Fix keymap for new actions 2013-04-05 03:44:42 +09:00
tmk a8c465215f Merge branch 'action_refine' 2013-04-05 03:28:10 +09:00
tmk fbea2a3aae Fix keymap of hhkb for new actions 2013-04-05 03:27:10 +09:00
tmk 25d8de6e7b Fix doc/keymap.md for new actions 2013-04-05 03:26:36 +09:00
tmk 489fd75fdf Fix keymap of gh60 2013-04-05 01:39:17 +09:00
tmk f9a7e224a4 Fix ACT_MODS action and switch_default_layer command 2013-04-04 16:29:44 +09:00
tmk ebe798f081 Add file action_code.h 2013-04-04 15:16:03 +09:00
tmk 6b155432dd Fix doc/keymap.md 2013-04-03 01:33:33 +09:00
tmk d612242692 Fix ACTION_LAYER macros 2013-04-03 01:33:04 +09:00
tmk c6d88d2795 Rename file layer_switch to action_layer 2013-04-02 17:44:24 +09:00
tmk cc8e66754b Refine ACT_LAYER and ACT_LAYER_TAP
- Remove ACT_LAYER_BITOP
2013-04-02 16:09:43 +09:00
tmk 10f33a3e48 Remove ACT_KEYMAP and ACT_OVERLAY
- Remove ACT_OVERLAY
- Rename ACT_KEYMAP to ACT_LAYER
- Add ACT_LAYER_BITOP
2013-03-31 22:47:19 +09:00
tmk 353a9b56e6 Fix BOOTLOADER_SIZE setting 2013-03-29 11:31:21 +09:00
tmk 41bf920412 Refine README.md 2013-03-29 11:18:58 +09:00
tmk 0644d87263 Merge branch 'action_tapping' 2013-03-29 02:48:34 +09:00
tmk c69f7e1069 Add action_tapping.[ch] for refactoring 2013-03-29 02:46:05 +09:00
tmk 366c759795 Merge branch 'matrix_scan_fix' 2013-03-27 17:16:27 +09:00
tmk 2795b7a0a3 Fix debouncing on gh60, hbkb, macway 2013-03-27 17:15:06 +09:00
tmk 969cc4f812 Merge branch 'suspend_fix' 2013-03-27 15:23:57 +09:00
tmk ac509aa079 Add sleep LED test command 2013-03-27 15:21:50 +09:00
tmk f57a44261e Fix Makefile of gh60 2013-03-27 15:21:16 +09:00
tmk afc3148e23 Add supsend and wakeup to pjrc stack 2013-03-27 15:18:08 +09:00
tmk 2c0bb5e7e6 Add common/suspend.c 2013-03-25 01:46:32 +09:00
tmk 1f19176867 Merge branch 'yeeeargh-patch' 2013-03-25 00:04:54 +09:00
tmk b862b4f030 Fix hid_liber for new keymap framework by yeeeargh 2013-03-25 00:01:30 +09:00
tmk 2b08a150a4 Merge branch 'add_build_options' 2013-03-21 15:44:33 +09:00
tmk b2a19328ad Changed Makefile and config.h for new options 2013-03-21 15:34:36 +09:00
tmk 74aea627e7 Clean action.c 2013-03-21 15:24:48 +09:00
tmk d44290b91b Add NO_ACTION_ONESHOT config option 2013-03-21 14:42:40 +09:00
tmk 9a3edb897a Fix Makefile and config.h of gh60 for new options 2013-03-21 01:36:59 +09:00
tmk dbcac865b9 Add NO_ACTION_KEYMAP config option 2013-03-20 01:45:04 +09:00
tmk ecb7550a91 Add NO_ACTION_FUNCTION config option 2013-03-20 00:37:32 +09:00
tmk 9757f960f9 Add NO_ACTION_TAPPING and NO_ACTION_MACRO config options 2013-03-20 00:28:13 +09:00
tmk b057511f45 Add NO_ACTION_OVERLAY config option 2013-03-20 00:26:01 +09:00
tmk 1687041267 Add COMMAND_ENABLE build option 2013-03-19 16:05:53 +09:00
tmk 9a106537f6 Add NO_PRINT and NO_DEBUG config options.
- NO_PRINT: disable print.h API(also disable debug.h)
- NO_DEBUG: disable debug.h API
2013-03-19 14:08:40 +09:00
tmk 8580c8d291 Enable Boot magick on hhkb 2013-03-18 01:02:18 +09:00
tmk db79c1160b Change sleep led step table to get smooth 2013-03-16 23:45:11 +09:00
tmk 0142e20bf0 Add desription about breathing sleep LED 2013-03-16 17:45:42 +09:00
tmk e4589f808e Merge branch 'remote_wakeup' 2013-03-16 17:30:18 +09:00
tmk f0c5f1b910 Add breathing sleep LED during USB suspend 2013-03-16 17:24:05 +09:00
tmk 42f6ff0886 Add power down mode sleep and watchdog interrupt 2013-03-14 22:45:02 +09:00
tmk c8cfde0138 Add intial code of RemoteWakeUp 2013-03-13 16:02:17 +09:00
tmk b78c654693 Merge branch 'debouncing_fix' 2013-03-12 16:12:44 +09:00
tmk 30f9baf898 Fix debouncing and add legacy keymap support 2013-03-12 16:05:50 +09:00
tmk c4ab832be0 Fix Locking CapsLock support in ADB converter 2013-03-12 12:10:12 +09:00
tmk c0137b4b32 Add description of Locking CapsLock in README 2013-03-12 11:36:53 +09:00
tmk 738baccb8f Merge branch 'locking_caps' 2013-03-12 10:49:59 +09:00
tmk 92b92dd78f Add mechanical locking switch support for CapsLock 2013-03-12 10:43:02 +09:00
tmk 8b9bd51d3a Add description of Boot Magic in README 2013-03-11 16:01:35 +09:00
tmk 48433a5e99 Merge branch 'eeprom_config' 2013-03-11 15:35:55 +09:00
tmk ef8439bddb Add build option BOOTMAGIC_ENABLE 2013-03-11 15:28:46 +09:00
tmk d055e0633e Fix debug parameter setting in eeconfig 2013-03-11 15:10:56 +09:00
tmk 1d5bbb55f2 Fix legacy keymap support
- need to define USE_LEGACY_KEYMAP to use legacy keymap
2013-03-11 14:39:06 +09:00
tmk fe2230cf60 Add default value to BOOTLOADER_SIZE 2013-03-11 13:32:46 +09:00
tmk e4fbaf30be Add keyconf in eeconfig.c 2013-03-11 01:55:41 +09:00
tmk 09bd1aef12 Rename HOST_* to PROTOCOL_* in protocol/*.mk 2013-03-11 00:14:58 +09:00
tmk db024b6b18 Add --relax for size optimization to gh60 2013-03-11 00:05:35 +09:00
tmk de8ef18a53 Add KEYCONF to eeconfig.c 2013-03-10 19:22:54 +09:00
tmk 51050875b7 Add BOOTLOADER_SIZE and remove BOOT_SIZE
- define BOOTLOADER_SIZE in config.h instead of Makefile
2013-03-10 17:53:29 +09:00
tmk f55c677ba4 Fix watchdog in bootloader jump
- disable watchdog after watchdog reset
- clear WDRF after watchdog reset
2013-03-10 15:06:33 +09:00
tmk 1385058fc2 Fix gh60/matrix.c and Makefile 2013-03-09 22:23:32 +09:00
tmk 4d64fd8faa Add bootmagic.c and fix bootloader_jump 2013-03-09 11:22:27 +09:00
tmk 359b68d35f Add eeconfig.c - eeprom stored paramerters 2013-03-07 03:30:08 +09:00
tmk 5d6b848a15 Merge branch 'ghost_fix' 2013-03-05 21:46:35 +09:00
tmk 81d2753ab0 Remove matrix_key_count() from matrix.h 2013-03-05 21:20:39 +09:00
tmk 9e9a85c142 Fix ghost block and remove matrix_has_ghost() 2013-03-05 21:08:16 +09:00
tmk 38bbe976e0 Merge branch 'overlays' 2013-03-05 15:45:15 +09:00
tmk 5808317b69 Fix keymap for new framework 2013-03-05 15:41:21 +09:00
tmk 633d9aa53e Fix README.md and doc/keymap.md 2013-03-05 14:57:50 +09:00
tmk 1aa067e541 Clean action.h and add keymap doc 2013-03-05 02:42:28 +09:00
tmk 083c75816f Create keymap.md 2013-03-04 16:40:19 +09:00
tmk 40f1a4930a Fix SET_DEFAULT_LAYER action and keymap of gh60 2013-02-27 10:32:46 +09:00
tmk a207e848b3 Add tap flags on record_t 2013-02-26 16:27:09 +09:00
tmk 1720cf34ca Fix bit shift which is beyond int size(16bit) 2013-02-25 17:00:35 +09:00
tmk 6778324de2 Fix keymap MACRO of pc98 adn hhkb 2013-02-25 16:14:44 +09:00
tmk 23c32d304b Add MACRO action 2013-02-25 15:30:37 +09:00
tmk 000f3c4c54 Merge branch 'pc98_fix' into overlays 2013-02-25 15:29:47 +09:00
tmk 308abf598d Fix software serial configure 2013-02-25 14:14:46 +09:00
tmk ea1ede83c3 Add serial_uart.c and use it for PC98 2013-02-25 03:09:10 +09:00
tmk 90e6ff92f4 Add parity option in serial_soft.c 2013-02-25 01:02:14 +09:00
tmk 504a9f42ff Inhibit repeating key of PC98 2013-02-24 20:38:43 +09:00
tmk fea6792f16 New keymap of PC98 2013-02-24 18:10:50 +09:00
tmk 79b1f12908 Merge branch 'pc98' of github.com:tmk/tmk_keyboard into overlays 2013-02-23 14:35:45 +09:00
tmk 6215727b0b Fix debug code of serial_soft.c 2013-02-23 14:32:34 +09:00
tmk 0368936060 Fix README and comments in action.h 2013-02-23 13:42:59 +09:00
tmk 84a3d4d2a1 Edit README of PC98 2013-02-23 01:15:03 +09:00
tmk 4ec8fd2823 Fix softwere serial 2013-02-22 19:38:06 +09:00
tmk 4a91d18277 Add keymap for PC98 2013-02-22 19:37:27 +09:00
tmk eb776c1b79 Quick Fix: read scan code from PC98 2013-02-22 15:48:35 +09:00
tmk f68c5bf0d3 Add initial files for PC98 2013-02-22 09:53:46 +09:00
tmk 75a92ff653 Fix keymap of gh60 and hhkb 2013-02-21 13:14:54 +09:00
tmk 59e073e82b Fix tap key bug: layer stuck
- Can't use Invert action for tap key, use On/Off insted.
2013-02-20 16:53:55 +09:00
tmk c3d57b69e0 Add keymap clear/reset action 2013-02-20 15:52:32 +09:00
tmk e0f960a576 Add overlay framework 2013-02-20 11:48:15 +09:00
tmk abf0b04d14 Apply new keymap for gh60 2013-02-20 10:40:07 +09:00
tmk 998dc6c17e Merge branch 'layer_switch' 2013-02-16 04:20:01 +09:00
tmk 06e4fc66ed Add keymap file of gh60 2013-02-16 04:16:03 +09:00
tmk e324fa2918 Rewrite layer action with layer_switch 2013-02-16 04:08:31 +09:00
tmk 0142b571c4 Add keymaps of gh60
- keymap_poker.h            poker emulation
- keymap_poker_set.h        poker emulation with Esc fix and cursor fix
- keymap_poker_bit.h        poker emulation with Esc fix and cursor fix
2013-02-16 03:02:05 +09:00
tmk d9f2875866 Replace layer_stack with layer_switch 2013-02-15 18:48:36 +09:00
tmk f8d289e669 Merge branch 'layer_stack' 2013-02-15 15:34:46 +09:00
tmk 2b811352a1 Fix switch_default_layer command 2013-02-15 15:27:19 +09:00
tmk 0c1d98bd3c Add poker keymap with layer stacking 2013-02-15 15:24:50 +09:00
tmk 768ea72f10 Add layer_stack files taking apart from action.c 2013-02-15 13:47:41 +09:00
tmk c74ad260fb Fix Make dependency file names 2013-02-15 13:45:59 +09:00
tmk a4aae1c505 Change: 0 means default_layer in current_layer now
- current_layer indicates active layer at the time
- default_layer indicates base layer
- default_layer is used when current_layer is 0
- with this LAYER_BIT action works as overlay even if
  default_layer varies other than layer 0.
2013-02-15 12:31:46 +09:00
tmk a43ab35b7b Add poker keymap with layer stacking. 2013-02-14 15:34:33 +09:00
tmk 0018e19f07 Add layer stack 2013-02-14 15:22:59 +09:00
tmk 7a31451a07 Merge branch 'actionfix' 2013-02-13 13:31:01 +09:00
tmk c4421f585b Change struct key_t 2013-02-13 12:16:24 +09:00
tmk 9bc82bf61c Change action API 2013-02-13 11:47:19 +09:00
tmk 7054203e16 Merge branch 'transparent' 2013-02-13 11:22:33 +09:00
tmk 2fe406de3a Add 'poker' target to Makefile.pjrc of gh60 2013-02-13 11:21:33 +09:00
tmk 63c03dc137 Change keymap API 2013-02-13 11:20:47 +09:00
tmk 48e6d0848c Make Transparent feature available to new keymaps. 2013-02-13 09:26:22 +09:00
tmk f02431e9da Fix 'chage default layer' command. 2013-02-12 17:15:24 +09:00
tmk 77af88042a Change ACTION_LAYER_SET_LAYER behaviour 2013-02-12 17:12:04 +09:00
tmk 0c52ee59f0 Add transparent layer feature in gh60 2013-02-12 17:08:51 +09:00
tmk 8215634175 Now includes LUFA-120730 in repository 2013-02-11 22:57:40 +09:00
tmk e9e4c0edc5 Add support for LUFA-120730 2013-02-11 22:56:30 +09:00
tmk b60f9c6ac6 Boot Magic key for gh60 2013-02-11 14:14:44 +09:00
tmk 8c80deb775 Merge branch 'keymap2'
Conflicts:
	common/keyboard.c
2013-02-11 12:48:49 +09:00
tmk 39d0933393 Fix and add some in README 2013-02-11 12:28:23 +09:00
tmk eea85c7e24 Fix is_tap_key() 2013-02-11 00:02:11 +09:00
tmk 0be309ccc6 Add doc/keycode.txt 2013-02-10 23:59:01 +09:00
tmk 4701b08b71 Merge branch 'gh60' 2013-02-10 23:01:20 +09:00
tmk 74ecdd15a7 Add description of keymap and layer in README.md 2013-02-10 18:39:09 +09:00
tmk b2aa142ee0 Clean layer actions. 2013-02-10 16:11:07 +09:00
tmk aad91a30a3 Add macro feature. 2013-02-04 22:53:45 +09:00
tmk 9a72c7b8a2 Support for ISO/JIS keys on ADB(Issue#22)
- ISO/JIS specific keys support.(Not tested :)
- Learned how to convert ADB into HID code from:
  http://www.opensource.apple.com/source/IOHIDFamily/IOHIDFamily-421.18.3/IOHIDFamily/Cosmo_USB2ADB.c
- Left of 1 key generates 0x0A(ADB scan code) on German layout AEKII.
2013-02-03 22:06:52 +09:00
tmk 1d7962ba8a Add user defined function to action. 2013-02-01 14:48:11 +09:00
tmk d95463f2e0 Add legacy keymap support. 2013-01-31 17:50:53 +09:00
tmk e760953910 Fix tapping. tap key just after tap timeout. 2013-01-31 15:07:01 +09:00
tmk 7e1093b70f Fix: action LAYER_BIT uses xor now instead of and/or. 2013-01-30 22:47:16 +09:00
tmk 10b9237fa6 Fix process_tapping(). 2013-01-30 21:18:03 +09:00
tmk ddb560052a Clean debug print in action.c. 2013-01-29 10:40:43 +09:00
tmk 1e3e41a2c9 Clean code. 2013-01-28 14:06:42 +09:00
tmk 854c803fdd Add tap toggle feature to action. 2013-01-28 11:30:23 +09:00
tmk bfd7fe5862 Add oneshot modifier action. 2013-01-27 16:38:19 +09:00
tmk 66d5dd2842 Fix keycodes. It has 32 Fn keys now. 2013-01-27 15:57:07 +09:00
tmk 585e00eebe Remove test_func. 2013-01-27 10:37:58 +09:00
tmk ef873791bd New tapping logic. 2013-01-27 02:42:48 +09:00
tmk d8dddf9f25 Minor fixes in keyboard.c. 2013-01-24 01:02:11 +09:00
tmk 28b5f69ce5 Add prototype of Action Function. 2013-01-23 23:53:51 +09:00
tmk 1fe820a865 Add bootmagic keys.(hhkb)
- kick bootloader
- enable debug print
2013-01-23 23:51:15 +09:00
tmk f71a5217b7 Fix mods with tapping. 2013-01-21 15:44:49 +09:00
tmk ee7ce43335 Refactor struct keyevent_t. 2013-01-17 15:02:34 +09:00
tmk 567b2ae525 Fix mods with tap key but some problems still exists.
- stuck tap key after tapping. seq[mods(d), key(d), mods(u), key(u)]
- tap key doesn't work when fast type. [key(d), mods(d), key(u),
  mods(u)]
2013-01-17 12:06:28 +09:00
tmk 9f95e9cc27 Add support partly for modifier with tap key. 2013-01-16 13:21:35 +09:00
tmk f609712da3 Fix waiting_keys and periodical update for delaying layer. 2013-01-15 00:55:16 +09:00
tmk 32633a42c7 Fix tap key using delaying_layer and waiting_key. 2013-01-13 10:24:20 +09:00
tmk e6836c3f6d Fix PWM control of LED in phantom. 2013-01-12 10:16:18 +09:00
tmk 411de9cc22 Add new layer actions. 2013-01-09 22:33:33 +09:00
tmk 02b6b70e76 Add ISO support to keymap.(hid_liber) 2013-01-07 14:01:20 +09:00
tmk 9dfc611ae1 Fix debouncing code.(gh60) 2013-01-01 03:20:53 +09:00
tmk 093108825b Change keymap.(gh60) 2013-01-01 03:19:34 +09:00
tmk 67c64db1cc Add README and keymap layers.(GH60) 2012-12-27 16:06:13 +09:00
tmk c009f4643c Added Initial files for gh60. 2012-12-27 02:41:32 +09:00
tmk 6ebe99f37c Remove DEBUG_LED from pjrc stack. 2012-12-27 02:33:40 +09:00
tmk 5af988ac37 Fix bug of FAILSAFE key clear.
http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478.html#p90022
2012-12-26 23:14:07 +09:00
tmk 4324e16336 Fix action of system and consumer usage. 2012-12-17 03:06:21 +09:00
tmk 8a709c2750 Add initial fix for new keymap. 2012-12-16 02:32:07 +09:00
tmk cf1eb8fbc6 Add ADB extended keyboard support by blargg@GH.
This offers distinction between left/right modifiers.
2012-12-12 09:49:59 +09:00
tmk 72dc413a19 Merge branch 'm0110' 2012-12-05 19:45:48 +09:00
tmk 545f66f649 Fix keymaps in README.(M0110) 2012-12-05 19:45:00 +09:00
tmk 6dba103644 Fix keymap and build option.(M0110) 2012-12-05 17:53:42 +09:00
tmk 8c29188d3c Add keymap file for Hasu. 2012-12-05 17:53:42 +09:00
tmk 0ddb2147b9 Change keymap.(M0110) 2012-12-05 17:53:41 +09:00
tmk 7aca01ab80 Change IS_COMMAND.(M0110) 2012-12-05 17:53:41 +09:00
tmk 07b6c1a58c Fix debug pirnt and magic key.(M0110) 2012-12-05 17:53:41 +09:00
tmk 07dff3425a Merge branch 'hid_liber' 2012-12-05 14:40:45 +09:00
tmk e70e4a3a67 Fix debouncing and ISO layout from 4LI4Z and alaricljs.(hid_liber) 2012-12-05 14:35:46 +09:00
tmk b6e07aa85d Fix pin configuration error(macway). issue #17 2012-11-25 20:41:23 +09:00
tmk 94b4fba6e6 Add bitpop16() in util.c. 2012-11-24 16:34:59 +09:00
tmk 83f0e800e5 Merge branch 'phantom' 2012-11-23 13:22:53 +09:00
tmk 3f47bcbcae Fix target name and product id of pahntom. 2012-11-23 12:48:15 +09:00
tmk 6caefe9649 Fixes from Tranquilite@GH.
- Fix keyboard_task() when matrix column size > 16
- Add clear_keyboard() in NKRO command to avoid stucking keys.
- Fix function name in print.c.
2012-11-23 12:33:42 +09:00
tmk 613fdb24fc Add initial files for Phantom from Tranquilite@GH. 2012-11-23 12:29:55 +09:00
tmk 38effe4ae4 Fix Sony NEWS pinouts in comment 2012-11-15 08:41:24 +09:00
tmk 6f253b924e Fix Sony NEWS connector pinout and keymap. 2012-11-14 15:01:31 +09:00
tmk 2ea4ee0ce6 Merge branch 'hid_liber' 2012-11-13 10:09:41 +09:00
tmk ce4857e021 Fix and keymap of hid_liber from alaricljs at geekhack.org. 2012-11-13 10:07:59 +09:00
tmk 98052b8afd Disable JTAG function for hid_liber to use PORTF. 2012-11-11 11:47:09 +09:00
tmk 1a4ae0fc36 Fix copyright and license notices. 2012-11-10 20:57:06 +09:00
tmk 878daae9c3 Rename to hid_liber. 2012-11-10 14:46:57 +09:00
tmk 8c31cb4873 Add comments on keymap.c. 2012-11-10 14:44:29 +09:00
tmk c5057c28b1 Add initial files for hid_libre. 2012-11-10 13:46:22 +09:00
tmk 77f157943f Fix image link 3 :( 2012-11-01 14:40:24 +09:00
tmk bd30424c2b Fix image link 2 2012-11-01 14:35:21 +09:00
tmk 4b7b761cf5 Fix image link in README.md 2012-11-01 14:27:41 +09:00
tmk 208f6d7f91 Improve documentation 2012-11-01 14:24:21 +09:00
tmk 16a583d7fd Fix usage of debug flag 2012-10-27 03:07:37 +09:00
tmk 9389585d3d Merge branch 'print' 2012-10-27 02:28:03 +09:00
tmk 220de27bed Add print_dec() and debug_dec(). 2012-10-27 02:27:09 +09:00
tmk ad24858e4f Add print utility 2012-10-23 02:14:36 +09:00
tmk 0ffd4ae3a9 Merge branch 'sun' 2012-10-21 22:37:50 +09:00
tmk f291c2279e Add extra commands Bell/Click to Sun converter 2012-10-21 22:36:44 +09:00
tmk edce1d19a6 Add LED feature to Sun converter 2012-10-21 22:12:36 +09:00
tmk 454f7bc716 Fix mousekey parameter bug 2012-10-21 20:12:11 +09:00
tmk 8a81986191 Fix keymap to adjust new keyboard.c. 2012-10-19 15:33:02 +09:00
tmk 81141ad0eb Merge branch 'sun' 2012-10-19 15:08:26 +09:00
tmk b56717b843 Use software serial for Sun. 2012-10-19 15:07:23 +09:00
tmk 97ee1be59d Add Sun converter initial files. 2012-10-18 10:41:37 +09:00
tmk 3c822b511e Merge branch 'layerfix' 2012-10-18 01:11:06 +09:00
tmk fffc375b45 Add child proof keyboard locking feature!
Fix: add wait for Power down command
Add ifdef of MOUSEKEY_ENABLE
2012-10-18 00:59:59 +09:00
tmk ce2e06c394 Fix projects for new keycodes 2012-10-17 21:43:44 +09:00
tmk 8570c25379 Fix HHKB iWRAP build 2012-10-17 15:55:38 +09:00
tmk bbff8ae1c1 Fix HHKB keymap 2012-10-17 15:55:37 +09:00
tmk bc5ee91d14 HHKB scan matrix: fix wait time on power on 2012-10-17 15:55:37 +09:00
tmk 30eb3e3520 Add command console and mouseky parameters tweak. 2012-10-17 15:55:37 +09:00
tmk 8f7ed2bc19 Add Mousekey parameters and accel keys. 2012-10-17 15:55:37 +09:00
tmk e451c05929 Fix commands 2012-10-17 15:55:37 +09:00
tmk f7a445e537 Fix use of default_layer 2012-10-17 15:55:37 +09:00
tmk 1677b021d7 Fix layer switching and host API. 2012-10-17 15:55:37 +09:00
tmk 0a70be9a97 Add subset of Xorg MouseKey acceleration parameters. 2012-10-17 15:55:37 +09:00
tmk 5b00cf3f02 Fix build option MOUSEKEY_ENABLE. 2012-10-17 15:55:37 +09:00
tmk 71ac82337f Clean host.h interface. 2012-10-17 15:55:37 +09:00
tmk 373ab0e719 Add keycode.h and remove usb_keycodes.h. 2012-10-17 15:55:37 +09:00
tmk 16ba9bda56 Add consumer/system usage support. 2012-10-17 15:55:37 +09:00
tmk e9af482690 Add repeating of Fn key with alt keycode. 2012-10-17 15:55:37 +09:00
tmk c845fd078c changes function name keyboard_proc to keyboard_task 2012-10-17 15:55:37 +09:00
tmk 4ae979f6ef Initial version of new code for layer switch is added. 2012-10-17 15:55:37 +09:00
tmk 93e33fb8f6 Fix: Makefile 2012-10-17 15:53:20 +09:00
tmk 4e91374125 Fix MCU name macro in bootloader.c. 2012-10-15 18:14:59 +09:00
tmk 33d58c2b56 ADB conveter uses plain vanila keymap now. 2012-10-15 17:56:07 +09:00
tmk fce750a176 Merge pull request #8 from JeffreySung/master
Apple IIgs(A9M0330)/Standard(M0116) keyboard
2012-10-14 04:22:28 -07:00
tmk 1ac674db66 Fix PS/2 protocol build options 2012-10-14 20:06:50 +09:00
Jeffrey Sung caed32df80 Debounce bug fixed 2012-10-09 00:28:33 +09:00
Jeffrey Sung d1117dca32 Power key support
debounce issue exists
2012-10-08 22:44:12 +09:00
tmk 9f05dc6f44 Change keymap of ADB converter. 2012-09-21 10:51:44 +09:00
tmk d8ce19abd0 To prevent key stuck clear matrix array when ADB error occurs. 2012-09-20 12:52:45 +09:00
tmk dd0017558e ad hoc fix for wrong bit read problem of adb.c. 2012-09-19 12:05:47 +09:00
Jeffrey Sung 3830de7839 CapsLock Support
Don't define DEBOUNCE.
2012-09-17 18:51:42 +09:00
Jeffrey Sung 78bfaed0f5 Apple IIgs/Standard Keyboard 2012-09-17 06:18:24 +09:00
tmk f1a64fc959 converter/usb_usb: Change keymap. 2012-09-06 13:05:28 +09:00
tmk 45ea1874d6 Fix timeout logic of LUFA sendchar(), sned_*(). 2012-09-06 13:02:54 +09:00
tmk 2a5ce5ef70 Add converter/usb_usb/README 2012-09-05 02:46:34 +09:00
tmk dc79a85219 Merge branch 'usb_hid' 2012-09-04 14:24:52 +09:00
tmk 232ab308e3 usb_hid: workaround for compile on Windows. 2012-09-04 13:29:21 +09:00
tmk c77c5043a1 usb_hid: Fix timer size uint16_t to uint32_t; 2012-09-02 23:47:18 +09:00
tmk b17f52ebe1 Add submodule USB_Host_Shield_2.0 from my repositry. 2012-09-02 23:06:02 +09:00
tmk 75c124cce1 Remove submodule USB_Host_Shield_2.0(original). 2012-09-01 13:51:34 +09:00
tmk e7c030375a Add USB to USB converter. unmature. 2012-08-28 21:56:15 +09:00
tmk c5060ea819 test build of 'Host shield' in minimal env. 2012-08-28 21:56:15 +09:00
tmk 9382bf2f76 Add USB_Host_Shield_2.0 and arduino-1.0.1 in usb_hid. 2012-08-28 21:56:15 +09:00
tmk 895cd4dfa2 Add USB HID(host) protocol.(not finished) 2012-08-28 21:56:15 +09:00
tmk 7350b7c6aa Fix the way of sending out IN packet.
This fixes problem that it losts keycode when send keycodes in row in layer.c.
Undef CONSOLE_ENABLE build option makes this problem clear.
2012-08-28 21:12:45 +09:00
tmk e075361b6f Add CONSOLE_ENABLE build option to LUFA. 2012-07-20 13:08:18 +09:00
tmk fb8394da83 Change keymap of hhkb/macway. 2012-07-09 00:11:26 +09:00
tmk 8947029950 Interrupt driven Control ep and Console task 2012-07-08 23:57:25 +09:00
tmk ab89bfce03 Fix LUFA descriptor of Extra for Windows
- worked on Linux but not on Windows
  (logica/usage MINIMUM must start at 0x001)
2012-07-02 11:56:33 +09:00
tmk fca518f90d Merge branch 'lufa' 2012-06-30 14:56:24 +09:00
tmk 2769f09d11 Fix Makefiles. 2012-06-30 14:44:59 +09:00
tmk 6d79e6579f Add support of USBasp bootloader. 2012-06-30 14:44:14 +09:00
tmk 2c5d3ac76f Add Makefile.lufa to keyboard/hhkb and hbkb. 2012-06-30 13:26:09 +09:00
tmk f427529a30 Fix bootloader.c 2012-06-30 11:19:07 +09:00
tmk a112f3614e confirm SetReport LED. 2012-06-29 16:48:36 +09:00
tmk f2ebac101d Add conditional compile for MOUSE_ENABLE and EXTRAKEY_ENABLE. 2012-06-29 03:33:59 +09:00
tmk 52011f08c9 Make console compatible with PJRC hid_listen. 2012-06-28 23:54:54 +09:00
tmk cc68adeb57 Add protocol/lufa. LUFA supported now. 2012-06-28 23:05:21 +09:00
tmk 3d81d5221e Add consumer/system control feature to LUFA. 2012-06-28 20:15:56 +09:00
tmk a9a3610dd4 Add LUFA mouse feature and fix mouse report.
- add LUFA boot mouse feature
- remove report_id from mouse report
- fix LUFA descriptor
2012-06-28 16:51:56 +09:00
tmk effa5914bf clean descriptor setting. Remove keyboard OUT Endpoint.
- to make descriptor get VID/PID/Version from config.h.
- remove keyboard out endpoint. Instead host can use control request.
2012-06-28 12:59:17 +09:00
tmk 3969ec09b4 Add sendchar with Generic HID to support debug print. 2012-06-27 18:31:33 +09:00
tmk dd93d2915f initial attempt for LUFA.
Add keyboard/lufa macway keyobard with LUFA.
Add new program target to rule.mk; flip, dfu and teensy
2012-06-26 15:55:45 +09:00
tmk 76033dcd89 Add a keymap layer into ADB converter. 2012-06-18 12:23:17 +09:00
tmk dd10d11a44 Change pin configurationa and keymap. 2012-06-15 16:14:56 +09:00
tmk 784c6e3979 Fix README.md: remove bad links 2012-06-11 15:20:40 +09:00
tmk 62d1ebb91c Merge branch 'newdir' 2012-06-11 10:53:02 +09:00
tmk 81706d1130 Moved protocol files; news and x68k.
Renamed sony_usb to news_usb
Renamed hbk to hbkb
2012-06-11 10:51:46 +09:00
tmk afb0846208 Made directories for keyboard and converter projects. 2012-06-08 13:32:38 +09:00
tmk 63d82fcaeb Fixed Makefile to adjust new directories. 2012-06-07 12:35:24 +09:00
tmk f412570739 Moved files to common, protocol and doc directory 2012-06-07 02:47:33 +09:00
tmk 225de7a847 Merge branch 'fix_layer_delay' 2012-05-27 14:19:16 +09:00
tmk 7be605cce7 Add keyboard report debug print on V-USB. 2012-05-27 14:17:48 +09:00
tmk fe71523443 Change MCU to atmega328p in hhkb/Makeilfe.vusb. 2012-05-27 14:15:39 +09:00
tmk 7597582a85 Update M0110 keymap and add a Make target 'hasu'.
- change keymap for M0110
- add a Make target 'hasu' to build with hasu keymap.
2012-05-27 14:13:02 +09:00
tmk 11f0870020 FIX: layer switching bug when Fn has no keycode.
- Fn without keycode doesn't need LAYER_SWITCH_DELAY.
2012-05-27 14:04:28 +09:00
tmk 660ea5a2cd Merge branch 'm0110a' 2012-05-24 14:21:52 +09:00
tmk 805ce3c130 Fix key stuck bug of M0110A support.
- rewrite special key handling in m0110.c
- add mouse keys to keymap
2012-05-22 00:14:02 +09:00
tmk 901503a1c7 Fix M0110A keymap. 2012-05-17 11:27:25 +09:00
tmk f5f48c2a24 Fix bug on RAW2SCAN. Add work around for M0110A.
- Bug fix: Macro RAW2SCAN doesn't work and converted into static inline function.
- Add Exceptional handling for M0110A arrow keys and calc keys.
- Fix keymap.
2012-05-16 02:01:45 +09:00
tmk f4bff66e91 Added Happy Buckling Keyboard. 2012-05-11 14:01:04 +09:00
tmk d553289e7e Ignore release flag when comparing key event. 2012-04-29 03:09:40 +09:00
tmk e6f79b1e5a Workaround for Mac HID SET_IDLE behaviour. 2012-04-29 00:29:52 +09:00
tmk 9dec116bc0 Workaround for Mac HID SET_IDLE behaviour. 2012-04-28 02:24:11 +09:00
tmk 12f6e9ffa7 Added M0110A support contributed by skagon@github.
- README is written with markdown notation.
- m0110.c can handles Arrow keys and Calc keys of M0110A.
- EXTRAFLAGS and EXTRALDFLAGS are added in rules.mk to give flags on make command line.
2012-04-28 01:57:36 +09:00
tmk 0a4fa89548 M0110: Fixed timing of signal handling. 2012-04-21 11:07:51 +09:00
tmk 38d61ee1b1 Added SHARP X68000 keyboard support. 2012-03-24 02:22:09 +09:00
tmk 446f87f9e8 Fiexed AT90USB162 compatibility.(different number of endpoint) 2012-03-04 01:23:44 +09:00
tmk e157aa7f91 Fixed keymap macro of macway. 2012-03-04 01:23:14 +09:00
tmk 0a04817304 Fixed keymap of IBM Terminal keyboard converter. 2012-02-14 12:00:29 +09:00
tmk 9e0c6247c9 Added terminal_usb adapter for IBM Terminal keyboard. 2012-02-14 01:38:56 +09:00
tmk 6e095ca9e0 Fixed wrong pin configuration for ps2_usb USART. 2012-02-14 01:37:59 +09:00
tmk e2d7ca5652 Fixed wrong description about pins. 2012-01-16 04:40:14 +09:00
tmk 9addeae872 Added USART implementation for PS/2 signal handling. 2012-01-16 00:41:06 +09:00
tmk 579991b927 added SONY NEWS keyboard NWP-5461 support. 2012-01-06 01:37:33 +09:00
tmk 7386c76191 fixed a bug on host_system_send(). 2011-12-22 01:05:28 +09:00
tmk baf885dc31 M0110: added keymaps, mousekeys 2011-12-19 14:06:53 +09:00
tmk 3f0289e666 Added protocol support for Macintosh keyboard M0110. 2011-12-14 13:33:05 +09:00
tmk e2afc305ed PS/2 to USB: fix comments. 2011-12-09 14:51:30 +09:00
tmk 3f9de37310 Added ISO/JIS keyboard support. 2011-12-05 16:14:45 +09:00
tmk 6284b147c2 add debouncing into macway/matrix.c. 2011-09-29 17:08:57 +09:00
tmk e65575d4a5 Refactored bootloader jumping. Added USBaspLoader support. 2011-09-22 16:56:36 +09:00
tmk e67c988824 Added Bulegiga iWRAP support into HHKB.(Bluetooth) 2011-09-17 23:53:18 +09:00
tmk b703de7b29 Added locking capslock key support and default now. 2011-09-01 11:21:35 +09:00
tmk 0dde25e81c added copyright and license notice. 2011-07-21 00:32:52 +09:00
tmk f382fc93d5 Change layer pram and keymap of HHKB. Fix vusb/host.c. 2011-07-02 14:27:14 +09:00
tmk 1bda8a8c69 Add special keycodes for media control. Fix power down command. 2011-07-01 01:10:55 +09:00
tmk 6d45e05ede Added PS/2 multimeda key support.
HID Consumer page and System control are also supported now.
merged mediakey branch: d53a356cd2011b461843a5c7c1527a61692893c1
2011-05-31 21:25:16 +09:00
tmk af85b6bba6 added HHKB/README and clean some codes. 2011-05-25 11:30:14 +09:00
tmk 74f7e19863 added USB_EXTRA feature to HHKB/V-USB 2011-05-21 10:28:57 +09:00
tmk 068c31a7ba added initial V-USB support for HHKB 2011-05-16 00:14:06 +09:00
tmk 61e12a3157 move files: main_vusb.c ps2_usart.c sendchar_usart.c from ps2_usb to common dir 2011-05-07 00:48:18 +09:00
tmk a6b31e950f fix bug: send Fn key even after the layer is used. 2011-05-04 21:19:34 +09:00
tmk b0b6c33332 ad hoc fix for IDLE bug which affects on Mac only. 2011-05-04 13:42:34 +09:00
tmk 5de62e26a0 fix for ps2_usb Makefile and circuit 2011-05-04 08:16:26 +09:00
tmk 13e4662bae minor fix for HHKB Makefile and doc 2011-05-04 08:12:27 +09:00
tmk cec2549505 FIX: send last report when idle timeouts. (pjrc) 2011-03-10 11:17:54 +09:00
tmk 1a7c3585ed ADD: V-USB Circuit in README 2011-02-25 22:46:13 +09:00
tmk 258fd3c368 FIX: host_get_first_key in vusb/host.c 2011-02-25 21:58:00 +09:00
tmk 00350c180d v3.0 cleanse files 2011-02-22 03:49:02 +09:00
tmk d2b9489a5e fixed hhkb to comply new API. 2011-02-22 03:09:23 +09:00
tmk 60052acc0f fixed macway to comply new API. 2011-02-22 03:09:21 +09:00
tmk c958b2d19b fixed adb_usb to comply new API. 2011-02-22 03:09:18 +09:00
tmk fb8d23c60c integrate V-USB support into ps2_usb 2011-02-22 03:09:14 +09:00
tmk 47f5d8b545 Synchronous USART support for PS/2 on V-USB stack 2011-02-22 03:09:12 +09:00
tmk 239bdbf419 PS/2: request to resend when error is occured. 2011-02-22 03:09:09 +09:00
tmk 3015f191a5 fixed: not to send key if fn_keycode is modifier 2011-02-22 03:09:07 +09:00
tmk 9a938eecbd host interface for pjrc 2011-02-22 03:09:05 +09:00
tmk 2b8cd88ab1 refactor keyboard.h, host.h 2011-02-22 03:09:02 +09:00
tmk acc974c64b added protocol stack: pjrc, vusb 2011-02-22 03:08:59 +09:00
tmk 5552b5afea define sendcha() in usb_debug.c 2011-02-22 03:08:56 +09:00
tmk 04f351b802 PS/2 library receives data partially by interrupt 2011-02-22 03:08:54 +09:00
tmk 0632618d29 added initial support of mousekeys to ps2_vusb 2011-02-22 03:08:52 +09:00
tmk 4f5f1a53d4 added PS/2 to USB converter use V-USB as protocol stack 2011-02-22 03:08:49 +09:00
tmk c07408a447 Merge branch 'master' of github.com:tmk/tmk_keyboard 2011-02-22 03:06:00 +09:00
tmk cf95d8308f added some short keycode names for ISO and JIS keyboard. 2011-02-17 13:29:50 +09:00
tmk a96085faf6 added note about external pull resistor on DATA line. 2011-02-13 23:02:08 +09:00
tmk 5bc29b50ef fixed mousekey delay to do double/triple click easily. 2011-01-25 01:01:13 +09:00
tmk 23c686ad46 Exceptional handling for PS/2 scan code set 2
changed names which does not comply to C spec.(underscore prefix names)
2011-01-25 00:53:49 +09:00
tmk a28a2a6a5e rewrite code of layer switching 2011-01-23 04:19:17 +09:00
tmk bf1a37ba71 PS/2 to USB keyboard converter 2011-01-23 04:10:35 +09:00
tmk 7ad93f7850 added description of ADB socket pintouts. 2011-01-17 00:38:16 +09:00
tmk 849b10e921 changed wait time for volume control. 2011-01-17 00:37:36 +09:00
tmk 16be834617 changed special mode key for macway: Left Shift + Right Shift 2011-01-17 00:35:24 +09:00
tmk 06db39583f ADB keyboard LEDs support 2011-01-13 22:46:57 +09:00
tmk 40c24dc89a added 'Keymap' section to adb/README. 2011-01-13 17:56:13 +09:00
tmk c5b9f2b02b change keycodes and define keymap macro for AEK.
ADD: keymap macro for Apple Extended Keyboard in adb/keymap.c
FIX: keycodes for Keypad, Fn and Mousekey.
2011-01-13 16:39:49 +09:00
tmk 56e098d76e ADB to USB keyboard converter 2011-01-13 01:51:59 +09:00
tmk 1f5cd6d7dc FIX: error handling in ps2.c 2011-01-11 21:30:35 +09:00
tmk 035b286b24 added a file TODO. 2011-01-06 19:07:35 +09:00
tmk 3e56e80c7d changed signature of keymap_fn_layer() in keymap_skel.h.
FIX: name of mousekey macros usb_keycodes.h.
2011-01-06 15:37:14 +09:00
tmk fd49c69d1a added config option: MATRIX_HAS_GHOST and fixed some on matrix.c
ADD: Build option: MATRIX_HAS_GHOST to enable ghost blocking logic.
FIX: choose matrix buffer type(uint8_t/uint16_t) automatically
     depending on column size in matrix.c.
FIX: use uint8_t insted of int in matrix.c.
2011-01-06 15:33:08 +09:00
tmk 590235d4bc add "Build your own firmware" and "Features" section to README. 2011-01-06 15:11:37 +09:00
tmk 6b0c939d72 add a build option: USB_EXTRA_ENABLE 2011-01-05 00:19:43 +09:00
tmk 7272c65d3d add error handling to ps2_mouse 2011-01-04 20:30:23 +09:00
tmk 2a562a4191 Add PS/2 mouse support to connect TrackPoint Unit.
Change build options:  Makefile and config.h. See README.
2011-01-02 23:52:13 +09:00
tmk 1ed336a064 change keyboard report descriptor for NKRO.
It uses 1byte for modifiers and 15bytes(120bits) for keys now.
2010-12-11 23:20:49 +09:00
tmk 51f17f0231 add build option: NKRO_ENABLE(remove: USB_12KRO) 2010-12-08 01:57:55 +09:00
tmk 66ece29b0e tuning layer switch timing. 2010-11-26 15:29:02 +09:00
tmk 37ced39ae2 add build option USB_12KRO. 2010-11-26 01:56:21 +09:00
tmk d6da554687 support 12KRO 2010-11-24 22:17:35 +09:00
tmk 9019c901dd add system controls(power down/wake up) from generic desktop page(HID) 2010-11-18 22:35:49 +09:00
tmk 02d955e9fe add audio controls from consumer page(HID) 2010-11-17 16:06:20 +09:00
tmk 8240e606d4 change hhkb/keymap 2010-11-16 14:56:06 +09:00
tmk 8fc6c265d1 Merge branch 'led' 2010-11-07 20:47:24 +09:00
tmk 2ca3ab18a2 output previous key state on TP1684 when scaning matrix. 2010-11-07 20:45:04 +09:00
tmk 74b3e591fc FIX: LED debug 2010-11-06 02:03:52 +09:00
tmk 89feab2301 repeating Fn key: press twice quickly to repeat. 2010-11-04 01:08:24 +09:00
tmk a31b31e717 revise Fn key processing. 2010-11-03 17:33:20 +09:00
tmk 45d4a7a898 improve layer switching 2010-10-30 01:16:47 +09:00
tmk 6c3b9a2ded ADD: macway/doc
FIX: keymap
2010-10-28 15:43:51 +09:00
tmk 46545c0380 v2.0: HHKB/Macway support merged 2010-10-27 23:01:37 +09:00
tmk 2f80e790c6 new build method for macway 2010-10-27 22:56:01 +09:00
tmk 461e0d3d8c ADD: keymap macro for human to read easier
ADD: controller.h for controller board definition(teensy)
ADD: debug toggle
2010-10-26 21:32:45 +09:00
tmk 7a336b05ec FIX: include files 2010-10-25 16:56:24 +09:00
tmk c166fb744f FIX: doc and keymap. 2010-10-25 15:17:40 +09:00
tmk 4acc38751e switch debug on/off by pressing 4 keys on booting time 2010-10-24 03:33:08 +09:00
tmk bf92bdd7fa add keymap layer: Matias half keyboard style(SPACE) [NOT USED] 2010-10-24 02:01:40 +09:00
tmk 06eb50be07 hhkb: refactored 2010-10-24 01:17:26 +09:00
tmk 9d7979931e FIX: clear keyboard_keys.
NOT change layer when one more Fn keys pressed/other than Fn key pressed
2010-10-19 01:03:27 +09:00
tmk 54b5bafaac add directories for each keyboard: hhkb, macway 2010-10-15 11:09:57 +09:00
tmk 82637ded27 add horizontal mouse wheel 2010-10-13 22:45:22 +09:00
tmk 34a90769c9 ';' for Fn key: send ';' when key realease without using the layer 2010-10-13 22:13:41 +09:00
tmk ba2f31e2cd change keymap. 2010-10-12 09:28:38 +09:00
tmk c8e1ad8c91 make input ports(PE6,7) *with pullup*. 2010-10-11 23:28:03 +09:00
tmk 99bba8d949 add HHKB docs and pics. 2010-10-10 22:12:54 +09:00
tmk c696c95c60 change keymap for mouse keys. 2010-10-10 22:10:23 +09:00
tmk 958875247c HHKB support. 2010-10-10 01:50:36 +09:00
tmk 2c453c7269 change matrix pinouts. 2010-10-08 20:15:38 +09:00
tmk 42d57333f3 add layer diagrams. 2010-10-04 21:15:20 +09:00
tmk 4be6458be7 change pins of matrix rows. (teensy is installed inside of keyboard case.) 2010-10-04 18:57:03 +09:00
tmk a80b156b78 add github URL in README. 2010-10-03 02:37:06 +09:00
tmk 479af4bdcd version 1.0. 2010-10-03 01:30:56 +09:00
tmk df5b4ea7d9 add mouse acceleration. 2010-10-02 00:56:14 +09:00
tmk 7e3975e0ef add mouse wheel function. 2010-10-01 22:17:55 +09:00
tmk d3b1af9572 add mouse function. 2010-09-30 14:50:23 +09:00
tmk e7c6839d2d some fixes. LED flush for debug. 2010-09-27 10:24:33 +09:00
tmk 1bcebc2848 ver 0.2 2010-09-25 00:48:27 +09:00
tmk 1de02c1f15 add jump_bootloader. 2010-09-24 15:16:23 +09:00
tmk 7fd9003f59 divide usb_keyboard_debug.[c|h] into usb_device, usb_keyboard, usb_debug. 2010-09-23 20:23:50 +09:00
tmk 6be0e4fafb delete unused KEY_* definitions. 2010-09-22 23:34:58 +09:00
tmk f777960c72 simple keymap layers. 2010-09-16 21:05:15 +09:00
tmk 82309deefc add anti-ghost logic 2010-09-13 00:18:56 +09:00
tmk 3b31337cd8 perform nomal keyboard behavior. It works now!!! 2010-08-23 23:11:14 +09:00
tmk c17f07819f store Keymap into program space. 2010-08-23 12:53:00 +09:00
tmk 8cfb3712d5 matrix scan & default keymap 2010-08-23 00:01:42 +09:00
tmk 20711b59e7 change file name. 2010-08-10 13:45:28 +09:00
tmk ac3134ffeb add initial files from teensy's usb_keyboard_debug. 2010-08-10 13:34:06 +09:00
3242 changed files with 242598 additions and 320000 deletions

No files matched your search

+94
View File
@@ -0,0 +1,94 @@
# auto for anything unspecified
* text=auto
# sources
*.c text
*.cc text
*.cxx text
*.cpp text
*.c++ text
*.hpp text
*.h text
*.h++ text
*.hh text
*.bat text
*.coffee text
*.css text
*.htm text
*.html text
*.inc text
*.ini text
*.js text
*.jsx text
*.json text
*.less text
*.php text
*.pl text
*.py text
*.rb text
*.sass text
*.scm text
*.scss text
*.sh text
*.sql text
*.styl text
*.ts text
*.xml text
*.xhtml text
# make files (need to always use lf for compatibility with Windows 10 bash)
Makefile eol=lf
*.mk eol=lf
# make files (need to always use lf for compatibility with Windows 10 bash)
*.sh eol=lf
# documentation
*.markdown text
*.md text
*.mdwn text
*.mdown text
*.mkd text
*.mkdn text
*.mdtxt text
*.mdtext text
*.txt text
AUTHORS text
CHANGELOG text
CHANGES text
CONTRIBUTING text
COPYING text
INSTALL text
license text
LICENSE text
NEWS text
readme text
*README* text
TODO text
GRAPHICS
*.ai binary
*.bmp binary
*.eps binary
*.gif binary
*.ico binary
*.jng binary
*.jp2 binary
*.jpg binary
*.jpeg binary
*.jpx binary
*.jxr binary
*.pdf binary
*.png binary
*.psb binary
*.psd binary
*.svg text
*.svgz binary
*.tif binary
*.tiff binary
*.wbmp binary
*.webp binary
# hex files
*.hex binary
*.eep binary
+28 -7
View File
@@ -1,13 +1,34 @@
.dep
*.o
*.d
*.eep
*.elf
*.hex
*.eep
*.sym
*.bin
!util/bootloader.hex
!quantum/tools/eeprom_reset.hex
*.log
*.lss
*.lst
*.map
*.sym
*.swp
tags
*~
build/
.build/
*.bak
*.class
LUFA/StudioIntegration/ProjectGenerator/*
LUFA/StudioIntegration/DocBook/*
.vagrant/
quantum/version.h
.idea/
CMakeLists.txt
.DS_STORE
# Eclipse/PyCharm/Other IDE Settings
.cproject
.project
.settings/
.idea
.browse.VC.db*
*.stackdump
util/Win_Check_Output.txt
.vscode
.stfolder
+12
View File
@@ -0,0 +1,12 @@
[submodule "lib/chibios"]
path = lib/chibios
url = https://github.com/ChibiOS/ChibiOS.git
[submodule "lib/chibios-contrib"]
path = lib/chibios-contrib
url = https://github.com/ChibiOS/ChibiOS-Contrib.git
[submodule "lib/ugfx"]
path = lib/ugfx
url = https://bitbucket.org/Tectu/ugfx
[submodule "lib/googletest"]
path = lib/googletest
url = https://github.com/google/googletest
+31
View File
@@ -0,0 +1,31 @@
os: linux
dist: trusty
sudo: required
language: c
compiler: avr-gcc
branches:
except:
- /^.*-automated-build$/
env:
global:
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
matrix:
- TARGET=all-keyboards AUTOGEN=true
- TARGET=test AUTOGEN=false
script:
- make $TARGET AUTOGEN=$AUTOGEN
addons:
apt:
packages:
- avr-libc
- gcc-avr
- dfu-programmer
- pandoc
- gcc-arm-none-eabi
- binutils-arm-none-eabi
- libnewlib-arm-none-eabi
- diffutils
after_success:
if [ "$AUTOGEN" == "true" ]; then
bash util/travis_compiled_push.sh;
fi
-75
View File
@@ -1,75 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Bootloader user application API functions.
*/
#include "BootloaderAPI.h"
void BootloaderAPI_ErasePage(const uint32_t Address)
{
boot_page_erase_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_WritePage(const uint32_t Address)
{
boot_page_write_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word)
{
boot_page_fill_safe(Address, Word);
}
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address)
{
return boot_signature_byte_get(Address);
}
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address)
{
return boot_lock_fuse_bits_get(Address);
}
uint8_t BootloaderAPI_ReadLock(void)
{
return boot_lock_fuse_bits_get(GET_LOCK_BITS);
}
void BootloaderAPI_WriteLock(const uint8_t LockBits)
{
boot_lock_bits_set_safe(LockBits);
}
-58
View File
@@ -1,58 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for BootloaderAPI.c.
*/
#ifndef _BOOTLOADER_API_H_
#define _BOOTLOADER_API_H_
/* Includes: */
#include <avr/io.h>
#include <avr/boot.h>
#include <stdbool.h>
#include <LUFA/Common/Common.h>
#include "Config/AppConfig.h"
/* Function Prototypes: */
void BootloaderAPI_ErasePage(const uint32_t Address);
void BootloaderAPI_WritePage(const uint32_t Address);
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word);
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address);
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address);
uint8_t BootloaderAPI_ReadLock(void);
void BootloaderAPI_WriteLock(const uint8_t LockBits);
#endif
-91
View File
@@ -1,91 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
; Trampolines to actual API implementations if the target address is outside the
; range of a rjmp instruction (can happen with large bootloader sections)
.section .apitable_trampolines, "ax"
.global BootloaderAPI_Trampolines
BootloaderAPI_Trampolines:
BootloaderAPI_ErasePage_Trampoline:
jmp BootloaderAPI_ErasePage
BootloaderAPI_WritePage_Trampoline:
jmp BootloaderAPI_WritePage
BootloaderAPI_FillWord_Trampoline:
jmp BootloaderAPI_FillWord
BootloaderAPI_ReadSignature_Trampoline:
jmp BootloaderAPI_ReadSignature
BootloaderAPI_ReadFuse_Trampoline:
jmp BootloaderAPI_ReadFuse
BootloaderAPI_ReadLock_Trampoline:
jmp BootloaderAPI_ReadLock
BootloaderAPI_WriteLock_Trampoline:
jmp BootloaderAPI_WriteLock
BootloaderAPI_UNUSED1:
ret
BootloaderAPI_UNUSED2:
ret
BootloaderAPI_UNUSED3:
ret
BootloaderAPI_UNUSED4:
ret
BootloaderAPI_UNUSED5:
ret
; API function jump table
.section .apitable_jumptable, "ax"
.global BootloaderAPI_JumpTable
BootloaderAPI_JumpTable:
rjmp BootloaderAPI_ErasePage_Trampoline
rjmp BootloaderAPI_WritePage_Trampoline
rjmp BootloaderAPI_FillWord_Trampoline
rjmp BootloaderAPI_ReadSignature_Trampoline
rjmp BootloaderAPI_ReadFuse_Trampoline
rjmp BootloaderAPI_ReadLock_Trampoline
rjmp BootloaderAPI_WriteLock_Trampoline
rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
; Bootloader table signatures and information
.section .apitable_signatures, "ax"
.global BootloaderAPI_Signatures
BootloaderAPI_Signatures:
.long BOOT_START_ADDR ; Start address of the bootloader
.word 0xDF00 ; Signature for the CDC class bootloader
.word 0xDCFB ; Signature for a LUFA class bootloader
-50
View File
@@ -1,50 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure LUFA's
* compile time options, as an alternative to the compile time
* constants supplied through a makefile.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
// #define NO_BLOCK_SUPPORT
// #define NO_EEPROM_BYTE_SUPPORT
// #define NO_FLASH_BYTE_SUPPORT
// #define NO_LOCK_BYTE_WRITE_SUPPORT
#endif
-93
View File
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
#define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
#define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
#define USE_RAM_DESCRIPTORS
// #define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
#define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
#define DEVICE_STATE_AS_GPIOR 0
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
// #define INTERRUPT_CONTROL_ENDPOINT
#define NO_DEVICE_REMOTE_WAKEUP
#define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
-259
View File
@@ -1,259 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in SRAM memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(01.10),
.Class = CDC_CSCP_CDCClass,
.SubClass = CDC_CSCP_NoSpecificSubclass,
.Protocol = CDC_CSCP_NoSpecificProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x204A,
.ReleaseNumber = VERSION_BCD(01.00),
.ManufacturerStrIndex = STRING_ID_Manufacturer,
.ProductStrIndex = STRING_ID_Product,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in SRAM memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 2,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = USB_CONFIG_ATTR_RESERVED,
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.CDC_CCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 1,
.Class = CDC_CSCP_CDCClass,
.SubClass = CDC_CSCP_ACMSubclass,
.Protocol = CDC_CSCP_ATCommandProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.CDC_Functional_Header =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface},
.Subtype = 0x00,
.CDCSpecification = VERSION_BCD(01.10),
},
.CDC_Functional_ACM =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface},
.Subtype = 0x02,
.Capabilities = 0x02,
},
.CDC_Functional_Union =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
.Subtype = 0x06,
.MasterInterfaceNumber = 0,
.SlaveInterfaceNumber = 1,
},
.CDC_NotificationEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC_NOTIFICATION_EPADDR,
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_NOTIFICATION_EPSIZE,
.PollingIntervalMS = 0xFF
},
.CDC_DCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 0,
.TotalEndpoints = 2,
.Class = CDC_CSCP_CDCDataClass,
.SubClass = CDC_CSCP_NoDataSubclass,
.Protocol = CDC_CSCP_NoDataProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.CDC_DataOutEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC_RX_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.PollingIntervalMS = 0x05
},
.CDC_DataInEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC_TX_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.PollingIntervalMS = 0x05
}
};
/** Language descriptor structure. This descriptor, located in SRAM memory, is returned when the host requests
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
* via the language ID table available at USB.org what languages the device supports for its string descriptors.
*/
const USB_Descriptor_String_t LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t ManufacturerString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t ProductString =
{
.Header = {.Size = USB_STRING_LEN(8), .Type = DTYPE_String},
.UnicodeString = L"LUFA CDC"
};
/** This function is called by the library when in device mode, and must be overridden (see LUFA library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
switch (DescriptorType)
{
case DTYPE_Device:
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
break;
case DTYPE_Configuration:
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
break;
case DTYPE_String:
if (DescriptorNumber == STRING_ID_Language)
{
Address = &LanguageString;
Size = LanguageString.Header.Size;
}
else if (DescriptorNumber == STRING_ID_Manufacturer)
{
Address = &ManufacturerString;
Size = ManufacturerString.Header.Size;
}
else if (DescriptorNumber == STRING_ID_Product)
{
Address = &ProductString;
Size = ProductString.Header.Size;
}
break;
}
*DescriptorAddress = Address;
return Size;
}
-148
View File
@@ -1,148 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
#include "Config/AppConfig.h"
/* Macros: */
#if defined(__AVR_AT90USB1287__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x97
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB647__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x96
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB1286__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x97
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB646__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x96
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_ATmega32U4__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x95
#define AVR_SIGNATURE_3 0x87
#elif defined(__AVR_ATmega16U4__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x88
#elif defined(__AVR_ATmega32U2__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x95
#define AVR_SIGNATURE_3 0x8A
#elif defined(__AVR_ATmega16U2__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x89
#elif defined(__AVR_AT90USB162__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_ATmega8U2__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x93
#define AVR_SIGNATURE_3 0x89
#elif defined(__AVR_AT90USB82__)
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x82
#else
#error The selected AVR part is not currently supported by this bootloader.
#endif
/** Endpoint address for the CDC control interface event notification endpoint. */
#define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | 2)
/** Endpoint address for the CDC data interface TX (data IN) endpoint. */
#define CDC_TX_EPADDR (ENDPOINT_DIR_IN | 3)
/** Endpoint address for the CDC data interface RX (data OUT) endpoint. */
#define CDC_RX_EPADDR (ENDPOINT_DIR_OUT | 4)
/** Size of the CDC data interface TX and RX data endpoint banks, in bytes. */
#define CDC_TXRX_EPSIZE 16
/** Size of the CDC control interface notification endpoint bank, in bytes. */
#define CDC_NOTIFICATION_EPSIZE 8
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// CDC Control Interface
USB_Descriptor_Interface_t CDC_CCI_Interface;
USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header;
USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM;
USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union;
USB_Descriptor_Endpoint_t CDC_NotificationEndpoint;
// CDC Data Interface
USB_Descriptor_Interface_t CDC_DCI_Interface;
USB_Descriptor_Endpoint_t CDC_DataOutEndpoint;
USB_Descriptor_Endpoint_t CDC_DataInEndpoint;
} USB_Descriptor_Configuration_t;
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
* have a unique ID index associated with it, which can be used to refer to the string from
* other descriptors.
*/
enum StringDescriptors_t
{
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
};
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
-160
View File
@@ -1,160 +0,0 @@
<asf xmlversion="1.0">
<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_">
<require idref="lufa.bootloaders.cdc"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.cdc"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb647"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.cdc"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega32u4"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.cdc"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega16u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.cdc"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega8u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader">
<info type="description" value="summary">
CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Bootloaders"/>
<keyword value="USB Device"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="include-path" value="."/>
<build type="c-source" value="BootloaderCDC.c"/>
<build type="header-file" value="BootloaderCDC.h"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="Descriptors.h"/>
<build type="c-source" value="BootloaderAPI.c"/>
<build type="header-file" value="BootloaderAPI.h"/>
<build type="asm-source" value="BootloaderAPITable.S"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<build type="header-file" value="Config/AppConfig.h"/>
<build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/>
<build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
</module>
</asf>
-55
View File
@@ -1,55 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = BootloaderCDC
SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB)
LUFA_PATH = ../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
# Flash size and bootloader section sizes of the target, in KB. These must
# match the target's total FLASH size and the bootloader size set in the
# device's fuses.
FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 8
# Bootloader address calculation formulas
# Do not modify these macros, but rather modify the dependent values above.
CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
# Bootloader linker section flags for relocating the API table sections to
# known FLASH addresses - these should not normally be user-edited.
BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
-76
View File
@@ -1,76 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Bootloader user application API functions.
*/
#include "BootloaderAPI.h"
void BootloaderAPI_ErasePage(const uint32_t Address)
{
boot_page_erase_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_WritePage(const uint32_t Address)
{
boot_page_write_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word)
{
boot_page_fill_safe(Address, Word);
}
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address)
{
return boot_signature_byte_get(Address);
}
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address)
{
return boot_lock_fuse_bits_get(Address);
}
uint8_t BootloaderAPI_ReadLock(void)
{
return boot_lock_fuse_bits_get(GET_LOCK_BITS);
}
void BootloaderAPI_WriteLock(const uint8_t LockBits)
{
boot_lock_bits_set_safe(LockBits);
}
-58
View File
@@ -1,58 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for BootloaderAPI.c.
*/
#ifndef _BOOTLOADER_API_H_
#define _BOOTLOADER_API_H_
/* Includes: */
#include <avr/io.h>
#include <avr/boot.h>
#include <stdbool.h>
#include <LUFA/Common/Common.h>
#include "Config/AppConfig.h"
/* Function Prototypes: */
void BootloaderAPI_ErasePage(const uint32_t Address);
void BootloaderAPI_WritePage(const uint32_t Address);
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word);
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address);
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address);
uint8_t BootloaderAPI_ReadLock(void);
void BootloaderAPI_WriteLock(const uint8_t LockBits);
#endif
-91
View File
@@ -1,91 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2011.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
; Trampolines to actual API implementations if the target address is outside the
; range of a rjmp instruction (can happen with large bootloader sections)
.section .apitable_trampolines, "ax"
.global BootloaderAPI_Trampolines
BootloaderAPI_Trampolines:
BootloaderAPI_ErasePage_Trampoline:
jmp BootloaderAPI_ErasePage
BootloaderAPI_WritePage_Trampoline:
jmp BootloaderAPI_WritePage
BootloaderAPI_FillWord_Trampoline:
jmp BootloaderAPI_FillWord
BootloaderAPI_ReadSignature_Trampoline:
jmp BootloaderAPI_ReadSignature
BootloaderAPI_ReadFuse_Trampoline:
jmp BootloaderAPI_ReadFuse
BootloaderAPI_ReadLock_Trampoline:
jmp BootloaderAPI_ReadLock
BootloaderAPI_WriteLock_Trampoline:
jmp BootloaderAPI_WriteLock
BootloaderAPI_UNUSED1:
ret
BootloaderAPI_UNUSED2:
ret
BootloaderAPI_UNUSED3:
ret
BootloaderAPI_UNUSED4:
ret
BootloaderAPI_UNUSED5:
ret
; API function jump table
.section .apitable_jumptable, "ax"
.global BootloaderAPI_JumpTable
BootloaderAPI_JumpTable:
rjmp BootloaderAPI_ErasePage_Trampoline
rjmp BootloaderAPI_WritePage_Trampoline
rjmp BootloaderAPI_FillWord_Trampoline
rjmp BootloaderAPI_ReadSignature_Trampoline
rjmp BootloaderAPI_ReadFuse_Trampoline
rjmp BootloaderAPI_ReadLock_Trampoline
rjmp BootloaderAPI_WriteLock_Trampoline
rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
; Bootloader table signatures and information
.section .apitable_signatures, "ax"
.global BootloaderAPI_Signatures
BootloaderAPI_Signatures:
.long BOOT_START_ADDR ; Start address of the bootloader
.word 0xDF10 ; Signature for the DFU class bootloader, V1
.word 0xDCFB ; Signature for a LUFA class bootloader
-48
View File
@@ -1,48 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define SECURE_MODE false
#endif
-93
View File
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
// #define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
#define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
#define USE_RAM_DESCRIPTORS
// #define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
#define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 32
#define DEVICE_STATE_AS_GPIOR 0
#define FIXED_NUM_CONFIGURATIONS 1
#define CONTROL_ONLY_DEVICE
// #define INTERRUPT_CONTROL_ENDPOINT
#define NO_DEVICE_REMOTE_WAKEUP
#define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
-200
View File
@@ -1,200 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in SRAM memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(01.10),
.Class = USB_CSCP_NoDeviceClass,
.SubClass = USB_CSCP_NoDeviceSubclass,
.Protocol = USB_CSCP_NoDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = PRODUCT_ID_CODE,
.ReleaseNumber = VERSION_BCD(00.00),
.ManufacturerStrIndex = STRING_ID_Manufacturer,
.ProductStrIndex = STRING_ID_Product,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in SRAM memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 1,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = USB_CONFIG_ATTR_RESERVED,
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.DFU_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 0,
.Class = 0xFE,
.SubClass = 0x01,
.Protocol = 0x02,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.DFU_Functional =
{
.Header = {.Size = sizeof(USB_Descriptor_DFU_Functional_t), .Type = DTYPE_DFUFunctional},
.Attributes = (ATTR_CAN_UPLOAD | ATTR_CAN_DOWNLOAD),
.DetachTimeout = 0x0000,
.TransferSize = 0x0C00,
.DFUSpecification = VERSION_BCD(01.10)
}
};
/** Language descriptor structure. This descriptor, located in SRAM memory, is returned when the host requests
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
* via the language ID table available at USB.org what languages the device supports for its string descriptors.
*/
const USB_Descriptor_String_t LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t ManufacturerString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t ProductString =
{
.Header = {.Size = USB_STRING_LEN(8), .Type = DTYPE_String},
.UnicodeString = L"LUFA DFU"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
switch (DescriptorType)
{
case DTYPE_Device:
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
break;
case DTYPE_Configuration:
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
break;
case DTYPE_String:
if (DescriptorNumber == STRING_ID_Language)
{
Address = &LanguageString;
Size = LanguageString.Header.Size;
}
else if (DescriptorNumber == STRING_ID_Manufacturer)
{
Address = &ManufacturerString;
Size = ManufacturerString.Header.Size;
}
else if (DescriptorNumber == STRING_ID_Product)
{
Address = &ProductString;
Size = ProductString.Header.Size;
}
break;
}
*DescriptorAddress = Address;
return Size;
}
-185
View File
@@ -1,185 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
#include "Config/AppConfig.h"
/* Macros: */
/** Descriptor type value for a DFU class functional descriptor. */
#define DTYPE_DFUFunctional 0x21
/** DFU attribute mask, indicating that the DFU device will detach and re-attach when a DFU_DETACH
* command is issued, rather than the host issuing a USB Reset.
*/
#define ATTR_WILL_DETATCH (1 << 3)
/** DFU attribute mask, indicating that the DFU device can communicate during the manifestation phase
* (memory programming phase).
*/
#define ATTR_MANEFESTATION_TOLLERANT (1 << 2)
/** DFU attribute mask, indicating that the DFU device can accept DFU_UPLOAD requests to send data from
* the device to the host.
*/
#define ATTR_CAN_UPLOAD (1 << 1)
/** DFU attribute mask, indicating that the DFU device can accept DFU_DNLOAD requests to send data from
* the host to the device.
*/
#define ATTR_CAN_DOWNLOAD (1 << 0)
#if defined(__AVR_AT90USB1287__)
#define PRODUCT_ID_CODE 0x2FFB
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x97
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB647__)
#define PRODUCT_ID_CODE 0x2FF9
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x96
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB1286__)
#define PRODUCT_ID_CODE 0x2FFB
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x97
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB646__)
#define PRODUCT_ID_CODE 0x2FF9
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x96
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_ATmega32U4__)
#define PRODUCT_ID_CODE 0x2FF4
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x95
#define AVR_SIGNATURE_3 0x87
#elif defined(__AVR_ATmega16U4__)
#define PRODUCT_ID_CODE 0x2FF3
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x88
#elif defined(__AVR_ATmega32U2__)
#define PRODUCT_ID_CODE 0x2FF0
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x95
#define AVR_SIGNATURE_3 0x8A
#elif defined(__AVR_ATmega16U2__)
#define PRODUCT_ID_CODE 0x2FEF
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x89
#elif defined(__AVR_AT90USB162__)
#define PRODUCT_ID_CODE 0x2FFA
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_ATmega8U2__)
#define PRODUCT_ID_CODE 0x2FEE
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x93
#define AVR_SIGNATURE_3 0x89
#elif defined(__AVR_AT90USB82__)
#define PRODUCT_ID_CODE 0x2FF7
#define AVR_SIGNATURE_1 0x1E
#define AVR_SIGNATURE_2 0x94
#define AVR_SIGNATURE_3 0x82
#else
#error The selected AVR part is not currently supported by this bootloader.
#endif
#if !defined(PRODUCT_ID_CODE)
#error Current AVR model is not supported by this bootloader.
#endif
/* Type Defines: */
/** Type define for a DFU class function descriptor. This descriptor gives DFU class information
* to the host when read, indicating the DFU device's capabilities.
*/
typedef struct
{
USB_Descriptor_Header_t Header; /**< Standard descriptor header structure */
uint8_t Attributes; /**< DFU device attributes, a mask comprising of the
* ATTR_* macros listed in this source file
*/
uint16_t DetachTimeout; /**< Timeout in milliseconds between a USB_DETACH
* command being issued and the device detaching
* from the USB bus
*/
uint16_t TransferSize; /**< Maximum number of bytes the DFU device can accept
* from the host in a transaction
*/
uint16_t DFUSpecification; /**< BCD packed DFU specification number this DFU
* device complies with
*/
} USB_Descriptor_DFU_Functional_t;
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// DFU Interface
USB_Descriptor_Interface_t DFU_Interface;
USB_Descriptor_DFU_Functional_t DFU_Functional;
} USB_Descriptor_Configuration_t;
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
* have a unique ID index associated with it, which can be used to refer to the string from
* other descriptors.
*/
enum StringDescriptors_t
{
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
};
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
-155
View File
@@ -1,155 +0,0 @@
<asf xmlversion="1.0">
<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_">
<require idref="lufa.bootloaders.dfu"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.dfu"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb647"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.dfu"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega32u4"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.dfu"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega16u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.dfu"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega8u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader">
<info type="description" value="summary">
DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Bootloaders"/>
<keyword value="USB Device"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="include-path" value="."/>
<build type="c-source" value="BootloaderDFU.c"/>
<build type="header-file" value="BootloaderDFU.h"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="Descriptors.h"/>
<build type="c-source" value="BootloaderAPI.c"/>
<build type="header-file" value="BootloaderAPI.h"/>
<build type="asm-source" value="BootloaderAPITable.S"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<build type="header-file" value="Config/AppConfig.h"/>
<build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
</module>
</asf>
-55
View File
@@ -1,55 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = BootloaderDFU
SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB)
LUFA_PATH = ../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
# Flash size and bootloader section sizes of the target, in KB. These must
# match the target's total FLASH size and the bootloader size set in the
# device's fuses.
FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 8
# Bootloader address calculation formulas
# Do not modify these macros, but rather modify the dependent values above.
CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
# Bootloader linker section flags for relocating the API table sections to
# known FLASH addresses - these should not normally be user-edited.
BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
-93
View File
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
#define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
#define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
#define USE_RAM_DESCRIPTORS
// #define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
#define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
#define DEVICE_STATE_AS_GPIOR 0
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
// #define INTERRUPT_CONTROL_ENDPOINT
#define NO_DEVICE_REMOTE_WAKEUP
#define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
-187
View File
@@ -1,187 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** HID class report descriptor. This is a special descriptor constructed with values from the
* USBIF HID class specification to describe the reports and capabilities of the HID device. This
* descriptor is parsed by the host and its contents used to determine what data (and in what encoding)
* the device will send, and what it may be sent back from the host. Refer to the HID specification for
* more details on HID report descriptors.
*/
const USB_Descriptor_HIDReport_Datatype_t HIDReport[] =
{
HID_RI_USAGE_PAGE(16, 0xFFDC), /* Vendor Page 0xDC */
HID_RI_USAGE(8, 0xFB), /* Vendor Usage 0xFB */
HID_RI_COLLECTION(8, 0x01), /* Vendor Usage 1 */
HID_RI_USAGE(8, 0x02), /* Vendor Usage 2 */
HID_RI_LOGICAL_MINIMUM(8, 0x00),
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
HID_RI_REPORT_SIZE(8, 0x08),
HID_RI_REPORT_COUNT(16, (sizeof(uint16_t) + SPM_PAGESIZE)),
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
HID_RI_END_COLLECTION(0),
};
/** Device descriptor structure. This descriptor, located in SRAM memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(01.10),
.Class = USB_CSCP_NoDeviceClass,
.SubClass = USB_CSCP_NoDeviceSubclass,
.Protocol = USB_CSCP_NoDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x2067,
.ReleaseNumber = VERSION_BCD(00.01),
.ManufacturerStrIndex = NO_DESCRIPTOR,
.ProductStrIndex = NO_DESCRIPTOR,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in SRAM memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 1,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = USB_CONFIG_ATTR_RESERVED,
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.HID_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0x00,
.AlternateSetting = 0x00,
.TotalEndpoints = 1,
.Class = HID_CSCP_HIDClass,
.SubClass = HID_CSCP_NonBootSubclass,
.Protocol = HID_CSCP_NonBootProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.HID_VendorHID =
{
.Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID},
.HIDSpec = VERSION_BCD(01.11),
.CountryCode = 0x00,
.TotalReportDescriptors = 1,
.HIDReportType = HID_DTYPE_Report,
.HIDReportLength = sizeof(HIDReport)
},
.HID_ReportINEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = HID_IN_EPADDR,
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = HID_IN_EPSIZE,
.PollingIntervalMS = 0x05
},
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
/* If/Else If chain compiles slightly smaller than a switch case */
if (DescriptorType == DTYPE_Device)
{
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
}
else if (DescriptorType == DTYPE_Configuration)
{
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
}
else if (DescriptorType == HID_DTYPE_HID)
{
Address = &ConfigurationDescriptor.HID_VendorHID;
Size = sizeof(USB_HID_Descriptor_HID_t);
}
else
{
Address = &HIDReport;
Size = sizeof(HIDReport);
}
*DescriptorAddress = Address;
return Size;
}
-71
View File
@@ -1,71 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// Generic HID Interface
USB_Descriptor_Interface_t HID_Interface;
USB_HID_Descriptor_HID_t HID_VendorHID;
USB_Descriptor_Endpoint_t HID_ReportINEndpoint;
} USB_Descriptor_Configuration_t;
/* Macros: */
/** Endpoint address of the HID data IN endpoint. */
#define HID_IN_EPADDR (ENDPOINT_DIR_IN | 1)
/** Size in bytes of the HID reporting IN endpoint. */
#define HID_IN_EPSIZE 64
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
-122
View File
@@ -1,122 +0,0 @@
<asf xmlversion="1.0">
<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_">
<require idref="lufa.bootloaders.hid"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
</project>
<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_">
<require idref="lufa.bootloaders.hid"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb647"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
</project>
<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_">
<require idref="lufa.bootloaders.hid"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega32u4"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
</project>
<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_">
<require idref="lufa.bootloaders.hid"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega16u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x3800"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/>
</project>
<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_">
<require idref="lufa.bootloaders.hid"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega8u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1800"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/>
</project>
<module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader">
<info type="description" value="summary">
HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Bootloaders"/>
<keyword value="USB Device"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="include-path" value="."/>
<build type="c-source" value="BootloaderHID.c"/>
<build type="header-file" value="BootloaderHID.h"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="Descriptors.h"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<build type="distribute" subtype="user-file" value="BootloaderHID.txt"/>
<build type="distribute" subtype="directory" value="HostLoaderApp"/>
<build type="distribute" subtype="directory" value="HostLoaderApp_Python"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
</module>
</asf>
-48
View File
@@ -1,48 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = BootloaderHID
SRC = $(TARGET).c Descriptors.c $(LUFA_SRC_USB)
LUFA_PATH = ../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/
LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET)
# Flash size and bootloader section sizes of the target, in KB. These must
# match the target's total FLASH size and the bootloader size set in the
# device's fuses.
FLASH_SIZE_KB := 128
BOOT_SECTION_SIZE_KB := 8
# Bootloader address calculation formulas
# Do not modify these macros, but rather modify the dependent values above.
CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
-76
View File
@@ -1,76 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Bootloader user application API functions.
*/
#include "BootloaderAPI.h"
void BootloaderAPI_ErasePage(const uint32_t Address)
{
boot_page_erase_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_WritePage(const uint32_t Address)
{
boot_page_write_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word)
{
boot_page_fill_safe(Address, Word);
}
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address)
{
return boot_signature_byte_get(Address);
}
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address)
{
return boot_lock_fuse_bits_get(Address);
}
uint8_t BootloaderAPI_ReadLock(void)
{
return boot_lock_fuse_bits_get(GET_LOCK_BITS);
}
void BootloaderAPI_WriteLock(const uint8_t LockBits)
{
boot_lock_bits_set_safe(LockBits);
}
-63
View File
@@ -1,63 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for BootloaderAPI.c.
*/
#ifndef _BOOTLOADER_API_H_
#define _BOOTLOADER_API_H_
/* Includes: */
#include <avr/io.h>
#include <avr/boot.h>
#include <stdbool.h>
#include <LUFA/Common/Common.h>
/* Macros: */
#if AUX_BOOT_SECTION_SIZE > 0
#define AUX_BOOT_SECTION __attribute__((section(".boot_aux")))
#else
#define AUX_BOOT_SECTION
#endif
/* Function Prototypes: */
void BootloaderAPI_ErasePage(const uint32_t Address);
void BootloaderAPI_WritePage(const uint32_t Address);
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word);
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address);
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address);
uint8_t BootloaderAPI_ReadLock(void);
void BootloaderAPI_WriteLock(const uint8_t LockBits);
#endif
@@ -1,102 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2011.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
#if AUX_BOOT_SECTION_SIZE > 0
#warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation).
; Trampoline to jump over the AUX bootloader section to the start of the bootloader,
; on devices where an AUX bootloader section is used.
.section .boot_aux_trampoline, "ax"
.global Boot_AUX_Trampoline
Boot_AUX_Trampoline:
jmp BOOT_START_ADDR
#endif
; Trampolines to actual API implementations if the target address is outside the
; range of a rjmp instruction (can happen with large bootloader sections)
.section .apitable_trampolines, "ax"
.global BootloaderAPI_Trampolines
BootloaderAPI_Trampolines:
BootloaderAPI_ErasePage_Trampoline:
jmp BootloaderAPI_ErasePage
BootloaderAPI_WritePage_Trampoline:
jmp BootloaderAPI_WritePage
BootloaderAPI_FillWord_Trampoline:
jmp BootloaderAPI_FillWord
BootloaderAPI_ReadSignature_Trampoline:
jmp BootloaderAPI_ReadSignature
BootloaderAPI_ReadFuse_Trampoline:
jmp BootloaderAPI_ReadFuse
BootloaderAPI_ReadLock_Trampoline:
jmp BootloaderAPI_ReadLock
BootloaderAPI_WriteLock_Trampoline:
jmp BootloaderAPI_WriteLock
BootloaderAPI_UNUSED1:
ret
BootloaderAPI_UNUSED2:
ret
BootloaderAPI_UNUSED3:
ret
BootloaderAPI_UNUSED4:
ret
BootloaderAPI_UNUSED5:
ret
; API function jump table
.section .apitable_jumptable, "ax"
.global BootloaderAPI_JumpTable
BootloaderAPI_JumpTable:
rjmp BootloaderAPI_ErasePage_Trampoline
rjmp BootloaderAPI_WritePage_Trampoline
rjmp BootloaderAPI_FillWord_Trampoline
rjmp BootloaderAPI_ReadSignature_Trampoline
rjmp BootloaderAPI_ReadFuse_Trampoline
rjmp BootloaderAPI_ReadLock_Trampoline
rjmp BootloaderAPI_WriteLock_Trampoline
rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
; Bootloader table signatures and information
.section .apitable_signatures, "ax"
.global BootloaderAPI_Signatures
BootloaderAPI_Signatures:
.long BOOT_START_ADDR ; Start address of the bootloader
.word 0xDF30 ; Signature for the MS class bootloader, V1
.word 0xDCFB ; Signature for a LUFA class bootloader
@@ -1,47 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure LUFA's
* compile time options, as an alternative to the compile time
* constants supplied through a makefile.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
// #define NO_APP_START_ON_EJECT
#endif
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
#define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
#define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
#define USE_RAM_DESCRIPTORS
// #define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
#define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
#define DEVICE_STATE_AS_GPIOR 0
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
#define INTERRUPT_CONTROL_ENDPOINT
#define NO_DEVICE_REMOTE_WAKEUP
#define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
-157
View File
@@ -1,157 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in SRAM memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(01.10),
.Class = USB_CSCP_NoDeviceClass,
.SubClass = USB_CSCP_NoDeviceSubclass,
.Protocol = USB_CSCP_NoDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x2045,
.ReleaseNumber = VERSION_BCD(00.01),
.ManufacturerStrIndex = NO_DESCRIPTOR,
.ProductStrIndex = NO_DESCRIPTOR,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 1,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = USB_CONFIG_ATTR_RESERVED,
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.MS_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 2,
.Class = MS_CSCP_MassStorageClass,
.SubClass = MS_CSCP_SCSITransparentSubclass,
.Protocol = MS_CSCP_BulkOnlyTransportProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.MS_DataInEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = MASS_STORAGE_IN_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = MASS_STORAGE_IO_EPSIZE,
.PollingIntervalMS = 0x05
},
.MS_DataOutEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = MASS_STORAGE_OUT_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = MASS_STORAGE_IO_EPSIZE,
.PollingIntervalMS = 0x05
}
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
/* If/Else If chain compiles slightly smaller than a switch case */
if (DescriptorType == DTYPE_Device)
{
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
}
else if (DescriptorType == DTYPE_Configuration)
{
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
}
*DescriptorAddress = Address;
return Size;
}
-78
View File
@@ -1,78 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
#include "BootloaderAPI.h"
/* Macros: */
/** Endpoint address of the Mass Storage device-to-host data IN endpoint. */
#define MASS_STORAGE_IN_EPADDR (ENDPOINT_DIR_IN | 3)
/** Endpoint address of the Mass Storage host-to-device data OUT endpoint. */
#define MASS_STORAGE_OUT_EPADDR (ENDPOINT_DIR_OUT | 4)
/** Size in bytes of the Mass Storage data endpoints. */
#define MASS_STORAGE_IO_EPSIZE 64
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// Mass Storage Interface
USB_Descriptor_Interface_t MS_Interface;
USB_Descriptor_Endpoint_t MS_DataInEndpoint;
USB_Descriptor_Endpoint_t MS_DataOutEndpoint;
} USB_Descriptor_Configuration_t;
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) AUX_BOOT_SECTION;
#endif
File diff suppressed because it is too large. Load diff
-294
View File
@@ -1,294 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* SCSI command processing routines, for SCSI commands issued by the host. Mass Storage
* devices use a thin "Bulk-Only Transport" protocol for issuing commands and status information,
* which wrap around standard SCSI device commands for controlling the actual storage medium.
*/
#define INCLUDE_FROM_SCSI_C
#include "SCSI.h"
/** Structure to hold the SCSI response data to a SCSI INQUIRY command. This gives information about the device's
* features and capabilities.
*/
static const SCSI_Inquiry_Response_t InquiryData =
{
.DeviceType = DEVICE_TYPE_BLOCK,
.PeripheralQualifier = 0,
.Removable = true,
.Version = 0,
.ResponseDataFormat = 2,
.NormACA = false,
.TrmTsk = false,
.AERC = false,
.AdditionalLength = 0x1F,
.SoftReset = false,
.CmdQue = false,
.Linked = false,
.Sync = false,
.WideBus16Bit = false,
.WideBus32Bit = false,
.RelAddr = false,
.VendorID = "LUFA",
.ProductID = "Bootloader",
.RevisionID = {'0','.','0','0'},
};
/** Structure to hold the sense data for the last issued SCSI command, which is returned to the host after a SCSI REQUEST SENSE
* command is issued. This gives information on exactly why the last command failed to complete.
*/
static SCSI_Request_Sense_Response_t SenseData =
{
.ResponseCode = 0x70,
.AdditionalLength = 0x0A,
};
/** Main routine to process the SCSI command located in the Command Block Wrapper read from the host. This dispatches
* to the appropriate SCSI command handling routine if the issued command is supported by the device, else it returns
* a command failure due to a ILLEGAL REQUEST.
*
* \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
*
* \return Boolean \c true if the command completed successfully, \c false otherwise
*/
bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
{
bool CommandSuccess = false;
/* Run the appropriate SCSI command hander function based on the passed command */
switch (MSInterfaceInfo->State.CommandBlock.SCSICommandData[0])
{
case SCSI_CMD_INQUIRY:
CommandSuccess = SCSI_Command_Inquiry(MSInterfaceInfo);
break;
case SCSI_CMD_REQUEST_SENSE:
CommandSuccess = SCSI_Command_Request_Sense(MSInterfaceInfo);
break;
case SCSI_CMD_READ_CAPACITY_10:
CommandSuccess = SCSI_Command_Read_Capacity_10(MSInterfaceInfo);
break;
case SCSI_CMD_WRITE_10:
CommandSuccess = SCSI_Command_ReadWrite_10(MSInterfaceInfo, DATA_WRITE);
break;
case SCSI_CMD_READ_10:
CommandSuccess = SCSI_Command_ReadWrite_10(MSInterfaceInfo, DATA_READ);
break;
case SCSI_CMD_MODE_SENSE_6:
CommandSuccess = SCSI_Command_ModeSense_6(MSInterfaceInfo);
break;
case SCSI_CMD_START_STOP_UNIT:
#if !defined(NO_APP_START_ON_EJECT)
/* If the user ejected the volume, signal bootloader exit at next opportunity. */
RunBootloader = ((MSInterfaceInfo->State.CommandBlock.SCSICommandData[4] & 0x03) != 0x02);
#endif
case SCSI_CMD_SEND_DIAGNOSTIC:
case SCSI_CMD_TEST_UNIT_READY:
case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
case SCSI_CMD_VERIFY_10:
/* These commands should just succeed, no handling required */
CommandSuccess = true;
MSInterfaceInfo->State.CommandBlock.DataTransferLength = 0;
break;
default:
/* Update the SENSE key to reflect the invalid command */
SCSI_SET_SENSE(SCSI_SENSE_KEY_ILLEGAL_REQUEST,
SCSI_ASENSE_INVALID_COMMAND,
SCSI_ASENSEQ_NO_QUALIFIER);
break;
}
/* Check if command was successfully processed */
if (CommandSuccess)
{
SCSI_SET_SENSE(SCSI_SENSE_KEY_GOOD,
SCSI_ASENSE_NO_ADDITIONAL_INFORMATION,
SCSI_ASENSEQ_NO_QUALIFIER);
return true;
}
return false;
}
/** Command processing for an issued SCSI INQUIRY command. This command returns information about the device's features
* and capabilities to the host.
*
* \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
*
* \return Boolean \c true if the command completed successfully, \c false otherwise.
*/
static bool SCSI_Command_Inquiry(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
{
uint16_t AllocationLength = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[3]);
uint16_t BytesTransferred = MIN(AllocationLength, sizeof(InquiryData));
/* Only the standard INQUIRY data is supported, check if any optional INQUIRY bits set */
if ((MSInterfaceInfo->State.CommandBlock.SCSICommandData[1] & ((1 << 0) | (1 << 1))) ||
MSInterfaceInfo->State.CommandBlock.SCSICommandData[2])
{
/* Optional but unsupported bits set - update the SENSE key and fail the request */
SCSI_SET_SENSE(SCSI_SENSE_KEY_ILLEGAL_REQUEST,
SCSI_ASENSE_INVALID_FIELD_IN_CDB,
SCSI_ASENSEQ_NO_QUALIFIER);
return false;
}
Endpoint_Write_Stream_LE(&InquiryData, BytesTransferred, NULL);
/* Pad out remaining bytes with 0x00 */
Endpoint_Null_Stream((AllocationLength - BytesTransferred), NULL);
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearIN();
/* Succeed the command and update the bytes transferred counter */
MSInterfaceInfo->State.CommandBlock.DataTransferLength -= BytesTransferred;
return true;
}
/** Command processing for an issued SCSI REQUEST SENSE command. This command returns information about the last issued command,
* including the error code and additional error information so that the host can determine why a command failed to complete.
*
* \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
*
* \return Boolean \c true if the command completed successfully, \c false otherwise.
*/
static bool SCSI_Command_Request_Sense(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
{
uint8_t AllocationLength = MSInterfaceInfo->State.CommandBlock.SCSICommandData[4];
uint8_t BytesTransferred = MIN(AllocationLength, sizeof(SenseData));
Endpoint_Write_Stream_LE(&SenseData, BytesTransferred, NULL);
Endpoint_Null_Stream((AllocationLength - BytesTransferred), NULL);
Endpoint_ClearIN();
/* Succeed the command and update the bytes transferred counter */
MSInterfaceInfo->State.CommandBlock.DataTransferLength -= BytesTransferred;
return true;
}
/** Command processing for an issued SCSI READ CAPACITY (10) command. This command returns information about the device's capacity
* on the selected Logical Unit (drive), as a number of OS-sized blocks.
*
* \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
*
* \return Boolean \c true if the command completed successfully, \c false otherwise.
*/
static bool SCSI_Command_Read_Capacity_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
{
Endpoint_Write_32_BE(LUN_MEDIA_BLOCKS - 1);
Endpoint_Write_32_BE(SECTOR_SIZE_BYTES);
Endpoint_ClearIN();
/* Succeed the command and update the bytes transferred counter */
MSInterfaceInfo->State.CommandBlock.DataTransferLength -= 8;
return true;
}
/** Command processing for an issued SCSI READ (10) or WRITE (10) command. This command reads in the block start address
* and total number of blocks to process, then calls the appropriate low-level Dataflash routine to handle the actual
* reading and writing of the data.
*
* \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
* \param[in] IsDataRead Indicates if the command is a READ (10) command or WRITE (10) command (DATA_READ or DATA_WRITE)
*
* \return Boolean \c true if the command completed successfully, \c false otherwise.
*/
static bool SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo,
const bool IsDataRead)
{
uint16_t BlockAddress;
uint16_t TotalBlocks;
/* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */
BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]);
/* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */
TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]);
/* Check if the block address is outside the maximum allowable value for the LUN */
if (BlockAddress >= LUN_MEDIA_BLOCKS)
{
/* Block address is invalid, update SENSE key and return command fail */
SCSI_SET_SENSE(SCSI_SENSE_KEY_ILLEGAL_REQUEST,
SCSI_ASENSE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE,
SCSI_ASENSEQ_NO_QUALIFIER);
return false;
}
/* Determine if the packet is a READ (10) or WRITE (10) command, call appropriate function */
for (uint16_t i = 0; i < TotalBlocks; i++)
{
if (IsDataRead == DATA_READ)
VirtualFAT_ReadBlock(BlockAddress + i);
else
VirtualFAT_WriteBlock(BlockAddress + i);
}
/* Update the bytes transferred counter and succeed the command */
MSInterfaceInfo->State.CommandBlock.DataTransferLength -= ((uint32_t)TotalBlocks * SECTOR_SIZE_BYTES);
return true;
}
/** Command processing for an issued SCSI MODE SENSE (6) command. This command returns various informational pages about
* the SCSI device, as well as the device's Write Protect status.
*
* \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
*
* \return Boolean \c true if the command completed successfully, \c false otherwise.
*/
static bool SCSI_Command_ModeSense_6(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
{
/* Send an empty header response indicating Write Protect flag is off */
Endpoint_Write_32_LE(0);
Endpoint_ClearIN();
/* Update the bytes transferred counter and succeed the command */
MSInterfaceInfo->State.CommandBlock.DataTransferLength -= 4;
return true;
}
-84
View File
@@ -1,84 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for SCSI.c.
*/
#ifndef _SCSI_H_
#define _SCSI_H_
/* Includes: */
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
#include "../BootloaderMassStorage.h"
#include "../Descriptors.h"
#include "VirtualFAT.h"
/* Macros: */
/** Macro to set the current SCSI sense data to the given key, additional sense code and additional sense qualifier. This
* is for convenience, as it allows for all three sense values (returned upon request to the host to give information about
* the last command failure) in a quick and easy manner.
*
* \param[in] Key New SCSI sense key to set the sense code to
* \param[in] Acode New SCSI additional sense key to set the additional sense code to
* \param[in] Aqual New SCSI additional sense key qualifier to set the additional sense qualifier code to
*/
#define SCSI_SET_SENSE(Key, Acode, Aqual) MACROS{ SenseData.SenseKey = (Key); \
SenseData.AdditionalSenseCode = (Acode); \
SenseData.AdditionalSenseQualifier = (Aqual); }MACROE
/** Macro for the \ref SCSI_Command_ReadWrite_10() function, to indicate that data is to be read from the storage medium. */
#define DATA_READ true
/** Macro for the \ref SCSI_Command_ReadWrite_10() function, to indicate that data is to be written to the storage medium. */
#define DATA_WRITE false
/** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a Block Media device. */
#define DEVICE_TYPE_BLOCK 0x00
/* Function Prototypes: */
bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) AUX_BOOT_SECTION;
#if defined(INCLUDE_FROM_SCSI_C)
static bool SCSI_Command_Inquiry(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) AUX_BOOT_SECTION;
static bool SCSI_Command_Request_Sense(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) AUX_BOOT_SECTION;
static bool SCSI_Command_Read_Capacity_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) AUX_BOOT_SECTION;
static bool SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo,
const bool IsDataRead) AUX_BOOT_SECTION;
static bool SCSI_Command_ModeSense_6(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) AUX_BOOT_SECTION;
#endif
#endif
-154
View File
@@ -1,154 +0,0 @@
<asf xmlversion="1.0">
<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_">
<require idref="lufa.bootloaders.mass_storage"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1E000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/>
<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.mass_storage"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb647"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0xE000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/>
<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.mass_storage"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega32u4"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/>
<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/>
<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.mass_storage"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega16u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/>
<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/>
<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader">
<info type="description" value="summary">
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.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Bootloaders"/>
<keyword value="USB Device"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="include-path" value="."/>
<build type="c-source" value="BootloaderMassStorage.c"/>
<build type="header-file" value="BootloaderMassStorage.h"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="Descriptors.h"/>
<build type="c-source" value="BootloaderAPI.c"/>
<build type="header-file" value="BootloaderAPI.h"/>
<build type="asm-source" value="BootloaderAPITable.S"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<build type="include-path" value="Lib"/>
<build type="header-file" value="Lib/VirtualFAT.h"/>
<build type="c-source" value="Lib/VirtualFAT.c"/>
<build type="header-file" value="Lib/SCSI.h"/>
<build type="c-source" value="Lib/SCSI.c"/>
<build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
</module>
</asf>
-68
View File
@@ -1,68 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = BootloaderMassStorage
SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
LUFA_PATH = ../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
# Flash size and bootloader section sizes of the target, in KB. These must
# match the target's total FLASH size and the bootloader size set in the
# device's fuses.
FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 8
# Bootloader address calculation formulas
# Do not modify these macros, but rather modify the dependent values above.
CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
# Bootloader linker section flags for relocating the API table sections to
# known FLASH addresses - these should not normally be user-edited.
BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
# Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the
# bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum
# bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices.
ifeq ($(BOOT_SECTION_SIZE_KB),8)
CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0
else
AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB))
CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)'
LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16))
LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024)
endif
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
-75
View File
@@ -1,75 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Bootloader user application API functions.
*/
#include "BootloaderAPI.h"
void BootloaderAPI_ErasePage(const uint32_t Address)
{
boot_page_erase_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_WritePage(const uint32_t Address)
{
boot_page_write_safe(Address);
boot_spm_busy_wait();
boot_rww_enable();
}
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word)
{
boot_page_fill_safe(Address, Word);
}
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address)
{
return boot_signature_byte_get(Address);
}
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address)
{
return boot_lock_fuse_bits_get(Address);
}
uint8_t BootloaderAPI_ReadLock(void)
{
return boot_lock_fuse_bits_get(GET_LOCK_BITS);
}
void BootloaderAPI_WriteLock(const uint8_t LockBits)
{
boot_lock_bits_set_safe(LockBits);
}
-56
View File
@@ -1,56 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for BootloaderAPI.c.
*/
#ifndef _BOOTLOADER_API_H_
#define _BOOTLOADER_API_H_
/* Includes: */
#include <avr/io.h>
#include <avr/boot.h>
#include <stdbool.h>
#include <LUFA/Common/Common.h>
/* Function Prototypes: */
void BootloaderAPI_ErasePage(const uint32_t Address);
void BootloaderAPI_WritePage(const uint32_t Address);
void BootloaderAPI_FillWord(const uint32_t Address, const uint16_t Word);
uint8_t BootloaderAPI_ReadSignature(const uint16_t Address);
uint8_t BootloaderAPI_ReadFuse(const uint16_t Address);
uint8_t BootloaderAPI_ReadLock(void);
void BootloaderAPI_WriteLock(const uint8_t LockBits);
#endif
-91
View File
@@ -1,91 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
; Trampolines to actual API implementations if the target address is outside the
; range of a rjmp instruction (can happen with large bootloader sections)
.section .apitable_trampolines, "ax"
.global BootloaderAPI_Trampolines
BootloaderAPI_Trampolines:
BootloaderAPI_ErasePage_Trampoline:
jmp BootloaderAPI_ErasePage
BootloaderAPI_WritePage_Trampoline:
jmp BootloaderAPI_WritePage
BootloaderAPI_FillWord_Trampoline:
jmp BootloaderAPI_FillWord
BootloaderAPI_ReadSignature_Trampoline:
jmp BootloaderAPI_ReadSignature
BootloaderAPI_ReadFuse_Trampoline:
jmp BootloaderAPI_ReadFuse
BootloaderAPI_ReadLock_Trampoline:
jmp BootloaderAPI_ReadLock
BootloaderAPI_WriteLock_Trampoline:
jmp BootloaderAPI_WriteLock
BootloaderAPI_UNUSED1:
ret
BootloaderAPI_UNUSED2:
ret
BootloaderAPI_UNUSED3:
ret
BootloaderAPI_UNUSED4:
ret
BootloaderAPI_UNUSED5:
ret
; API function jump table
.section .apitable_jumptable, "ax"
.global BootloaderAPI_JumpTable
BootloaderAPI_JumpTable:
rjmp BootloaderAPI_ErasePage_Trampoline
rjmp BootloaderAPI_WritePage_Trampoline
rjmp BootloaderAPI_FillWord_Trampoline
rjmp BootloaderAPI_ReadSignature_Trampoline
rjmp BootloaderAPI_ReadFuse_Trampoline
rjmp BootloaderAPI_ReadLock_Trampoline
rjmp BootloaderAPI_WriteLock_Trampoline
rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
; Bootloader table signatures and information
.section .apitable_signatures, "ax"
.global BootloaderAPI_Signatures
BootloaderAPI_Signatures:
.long BOOT_START_ADDR ; Start address of the bootloader
.word 0xDF20 ; Signature for the Printer class bootloader
.word 0xDCFB ; Signature for a LUFA class bootloader
-93
View File
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
#define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
#define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
#define USE_RAM_DESCRIPTORS
// #define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
#define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
#define DEVICE_STATE_AS_GPIOR 0
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
// #define INTERRUPT_CONTROL_ENDPOINT
#define NO_DEVICE_REMOTE_WAKEUP
#define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
-209
View File
@@ -1,209 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in SRAM memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(01.10),
.Class = USB_CSCP_NoDeviceClass,
.SubClass = USB_CSCP_NoDeviceSubclass,
.Protocol = USB_CSCP_NoDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x206B,
.ReleaseNumber = VERSION_BCD(00.01),
.ManufacturerStrIndex = STRING_ID_Manufacturer,
.ProductStrIndex = STRING_ID_Product,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in SRAM memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 1,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = USB_CONFIG_ATTR_RESERVED,
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.Printer_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 2,
.Class = PRNT_CSCP_PrinterClass,
.SubClass = PRNT_CSCP_PrinterSubclass,
.Protocol = PRNT_CSCP_BidirectionalProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Printer_DataInEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = PRINTER_IN_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = PRINTER_IO_EPSIZE,
.PollingIntervalMS = 0x05
},
.Printer_DataOutEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = PRINTER_OUT_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = PRINTER_IO_EPSIZE,
.PollingIntervalMS = 0x05
}
};
/** Language descriptor structure. This descriptor, located in SRAM memory, is returned when the host requests
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
* via the language ID table available at USB.org what languages the device supports for its string descriptors.
*/
const USB_Descriptor_String_t LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t ManufacturerString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t ProductString =
{
.Header = {.Size = USB_STRING_LEN(23), .Type = DTYPE_String},
.UnicodeString = L"LUFA Printer Bootloader"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
switch (DescriptorType)
{
case DTYPE_Device:
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
break;
case DTYPE_Configuration:
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
break;
case DTYPE_String:
switch (DescriptorNumber)
{
case STRING_ID_Language:
Address = &LanguageString;
Size = LanguageString.Header.Size;
break;
case STRING_ID_Manufacturer:
Address = &ManufacturerString;
Size = ManufacturerString.Header.Size;
break;
case STRING_ID_Product:
Address = &ProductString;
Size = ProductString.Header.Size;
break;
}
break;
}
*DescriptorAddress = Address;
return Size;
}
-87
View File
@@ -1,87 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
#include <avr/pgmspace.h>
/* Macros: */
/** Endpoint address of the Printer device-to-host data IN endpoint. */
#define PRINTER_IN_EPADDR (ENDPOINT_DIR_IN | 3)
/** Endpoint address of the Printer host-to-device data OUT endpoint. */
#define PRINTER_OUT_EPADDR (ENDPOINT_DIR_OUT | 4)
/** Size in bytes of the Printer data endpoints. */
#define PRINTER_IO_EPSIZE 64
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// Printer Interface
USB_Descriptor_Interface_t Printer_Interface;
USB_Descriptor_Endpoint_t Printer_DataInEndpoint;
USB_Descriptor_Endpoint_t Printer_DataOutEndpoint;
} USB_Descriptor_Configuration_t;
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
* have a unique ID index associated with it, which can be used to refer to the string from
* other descriptors.
*/
enum StringDescriptors_t
{
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
};
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
-158
View File
@@ -1,158 +0,0 @@
<asf xmlversion="1.0">
<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_">
<require idref="lufa.bootloaders.printer"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.printer"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb647"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.printer"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega32u4"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.printer"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega16u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<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_">
<require idref="lufa.bootloaders.printer"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="atmega8u2"/>
<config name="lufa.drivers.board.name" value="none"/>
<config name="config.compiler.optimization.level" value="size"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
</project>
<module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader">
<info type="description" value="summary">
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.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Bootloaders"/>
<keyword value="USB Device"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="include-path" value="."/>
<build type="c-source" value="BootloaderPrinter.c"/>
<build type="header-file" value="BootloaderPrinter.h"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="Descriptors.h"/>
<build type="c-source" value="BootloaderAPI.c"/>
<build type="header-file" value="BootloaderAPI.h"/>
<build type="asm-source" value="BootloaderAPITable.S"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
</module>
</asf>
-55
View File
@@ -1,55 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = BootloaderPrinter
SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
LUFA_PATH = ../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
# Flash size and bootloader section sizes of the target, in KB. These must
# match the target's total FLASH size and the bootloader size set in the
# device's fuses.
FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 8
# Bootloader address calculation formulas
# Do not modify these macros, but rather modify the dependent values above.
CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
# Bootloader linker section flags for relocating the API table sections to
# known FLASH addresses - these should not normally be user-edited.
BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32)
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
-46
View File
@@ -1,46 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Makefile to build all the LUFA USB Bootloaders. Call with "make all" to
# rebuild all bootloaders.
# Bootloaders are pre-cleaned before each one is built, to ensure any
# custom LUFA library build options are reflected in the compiled
# code.
PROJECT_DIRECTORIES := $(shell ls -d */)
# This makefile is potentially infinitely recursive if something really bad
# happens when determining the set of project directories - hard-abort if
# more than 10 levels deep to avoid angry emails.
ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif
# Need to special-case building without a per-project object directory
ifeq ($(OBJDIR),)
# If no target specified, force "clean all" and disallow parallel build
ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all
.NOTPARALLEL:
endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif
endif
%: $(PROJECT_DIRECTORIES)
@echo . > /dev/null
$(PROJECT_DIRECTORIES):
@$(MAKE) -C $@ $(MAKECMDGOALS)
.PHONY: $(PROJECT_DIRECTORIES)
-82
View File
@@ -1,82 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Custom Board Hardware Information Driver (Template)
*
* This is a stub driver header file, for implementing custom board
* layout hardware with compatible LUFA board specific drivers. If
* the library is configured to use the BOARD_USER board mode, this
* driver file should be completed and copied into the "/Board/" folder
* inside the application's folder.
*
* This stub is for the board-specific component of the LUFA Board Hardware
* information driver.
*/
#ifndef __BOARD_USER_H__
#define __BOARD_USER_H__
/* Includes: */
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#endif
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_BOARD_H)
#error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead.
#endif
/* Public Interface - May be used in end-application: */
/* Macros: */
/** Indicates the board has a hardware Buttons mounted if defined. */
// #define BOARD_HAS_BUTTONS
/** Indicates the board has a hardware Dataflash mounted if defined. */
// #define BOARD_HAS_DATAFLASH
/** Indicates the board has a hardware Joystick mounted if defined. */
// #define BOARD_HAS_JOYSTICK
/** Indicates the board has a hardware LEDs mounted if defined. */
// #define BOARD_HAS_LEDS
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
}
#endif
#endif
/** @} */
@@ -1,92 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Custom Board Button Hardware Driver (Template)
*
* This is a stub driver header file, for implementing custom board
* layout hardware with compatible LUFA board specific drivers. If
* the library is configured to use the BOARD_USER board mode, this
* driver file should be completed and copied into the "/Board/" folder
* inside the application's folder.
*
* This stub is for the board-specific component of the LUFA Buttons driver,
* for the control of physical board-mounted GPIO pushbuttons.
*/
#ifndef __BUTTONS_USER_H__
#define __BUTTONS_USER_H__
/* Includes: */
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#endif
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_BUTTONS_H)
#error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
#endif
#define BOARD_DUMMY_BUTTONS_IMPLEMENTATION
/* Public Interface - May be used in end-application: */
/* Macros: */
/** Button mask for the first button on the board. */
#define BUTTONS_BUTTON1 (1 << 0)
/* Inline Functions: */
#if !defined(__DOXYGEN__)
static inline void Buttons_Init(void)
{
}
static inline void Buttons_Disable(void)
{
}
static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t Buttons_GetStatus(void)
{
return 0;
}
#endif
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
}
#endif
#endif
@@ -1,197 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Custom Board Dataflash Hardware Driver (Template)
*
* This is a stub driver header file, for implementing custom board
* layout hardware with compatible LUFA board specific drivers. If
* the library is configured to use the BOARD_USER board mode, this
* driver file should be completed and copied into the "/Board/" folder
* inside the application's folder.
*
* This stub is for the board-specific component of the LUFA Dataflash
* driver.
*/
#ifndef __DATAFLASH_USER_H__
#define __DATAFLASH_USER_H__
/* Includes: */
// TODO: Add any required includes here
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_DATAFLASH_H)
#error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
#endif
#define BOARD_DUMMY_DATAFLASH_IMPLEMENTATION
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
/* Macros: */
#define DATAFLASH_CHIPCS_MASK 0
#define DATAFLASH_CHIPCS_DDR 0
#define DATAFLASH_CHIPCS_PORT 0
#endif
/* Public Interface - May be used in end-application: */
/* Macros: */
/** Constant indicating the total number of dataflash ICs mounted on the selected board. */
#define DATAFLASH_TOTALCHIPS 1
/** Mask for no dataflash chip selected. */
#define DATAFLASH_NO_CHIP 0
/** Mask for the first dataflash chip selected. */
#define DATAFLASH_CHIP1 0
/** Mask for the second dataflash chip selected. */
#define DATAFLASH_CHIP2 0
/** Internal main memory page size for the board's dataflash ICs. */
#define DATAFLASH_PAGE_SIZE 0
/** Total number of pages inside each of the board's dataflash ICs. */
#define DATAFLASH_PAGES 0
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
*/
static inline void Dataflash_Init(void)
{
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.
*
* \param[in] Byte Byte of data to send to the dataflash
*
* \return Last response byte from the dataflash
*/
static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
static inline uint8_t Dataflash_TransferByte(const uint8_t Byte)
{
return 0;
}
/** Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash.
*
* \param[in] Byte Byte of data to send to the dataflash
*/
static inline void Dataflash_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
static inline void Dataflash_SendByte(const uint8_t Byte)
{
}
/** Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash.
*
* \return Last response byte from the dataflash
*/
static inline uint8_t Dataflash_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
static inline uint8_t Dataflash_ReceiveByte(void)
{
return 0;
}
/** Determines the currently selected dataflash chip.
*
* \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
* or a DATAFLASH_CHIPn mask (where n is the chip number).
*/
static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
static inline uint8_t Dataflash_GetSelectedChip(void)
{
return 0;
}
/** Selects the given dataflash chip.
*
* \param[in] ChipMask Mask of the Dataflash IC to select, in the form of a \c DATAFLASH_CHIPn mask (where n is
* the chip number).
*/
static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
static inline void Dataflash_SelectChip(const uint8_t ChipMask)
{
}
/** Deselects the current dataflash chip, so that no dataflash is selected. */
static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
static inline void Dataflash_DeselectChip(void)
{
}
/** Selects a dataflash IC from the given page number, which should range from 0 to
* ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
* dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
* the total number of pages contained in the boards dataflash ICs, all dataflash ICs
* are deselected.
*
* \param[in] PageAddress Address of the page to manipulate, ranging from
* 0 to ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
*/
static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
{
}
/** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
* a new command.
*/
static inline void Dataflash_ToggleSelectedChipCS(void)
{
}
/** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
* memory page program or main memory to buffer transfer.
*/
static inline void Dataflash_WaitWhileBusy(void)
{
}
/** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
* dataflash commands which require a complete 24-bit address.
*
* \param[in] PageAddress Page address within the selected dataflash IC
* \param[in] BufferByte Address within the dataflash's buffer
*/
static inline void Dataflash_SendAddressBytes(uint16_t PageAddress, const uint16_t BufferByte)
{
}
#endif
-104
View File
@@ -1,104 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Custom Board Joystick Hardware Driver (Template)
*
* This is a stub driver header file, for implementing custom board
* layout hardware with compatible LUFA board specific drivers. If
* the library is configured to use the BOARD_USER board mode, this
* driver file should be completed and copied into the "/Board/" folder
* inside the application's folder.
*
* This stub is for the board-specific component of the LUFA Joystick
* driver, for a digital four-way (plus button) joystick.
*/
#ifndef __JOYSTICK_USER_H__
#define __JOYSTICK_USER_H__
/* Includes: */
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#endif
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_JOYSTICK_H)
#error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
#endif
#define BOARD_DUMMY_JOYSTICK_IMPLEMENTATION
/* Public Interface - May be used in end-application: */
/* Macros: */
/** Mask for the joystick being pushed in the left direction. */
#define JOY_LEFT 0
/** Mask for the joystick being pushed in the right direction. */
#define JOY_RIGHT 0
/** Mask for the joystick being pushed in the upward direction. */
#define JOY_UP 0
/** Mask for the joystick being pushed in the downward direction. */
#define JOY_DOWN 0
/** Mask for the joystick being pushed inward. */
#define JOY_PRESS 0
/* Inline Functions: */
#if !defined(__DOXYGEN__)
static inline void Joystick_Init(void)
{
}
static inline void Joystick_Disable(void)
{
}
static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t Joystick_GetStatus(void)
{
return 0;
}
#endif
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
}
#endif
#endif
-132
View File
@@ -1,132 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Custom Board LED Hardware Driver (Template)
*
* This is a stub driver header file, for implementing custom board
* layout hardware with compatible LUFA board specific drivers. If
* the library is configured to use the BOARD_USER board mode, this
* driver file should be completed and copied into the "/Board/" folder
* inside the application's folder.
*
* This stub is for the board-specific component of the LUFA LEDs driver,
* for the LEDs (up to four) mounted on most development boards.
*/
#ifndef __LEDS_USER_H__
#define __LEDS_USER_H__
/* Includes: */
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#endif
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_LEDS_H)
#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
#endif
#define BOARD_DUMMY_LEDS_IMPLEMENTATION
/* Public Interface - May be used in end-application: */
/* Macros: */
/** LED mask for the first LED on the board. */
#define LEDS_LED1 (1 << 0)
/** LED mask for the second LED on the board. */
#define LEDS_LED2 (1 << 1)
/** LED mask for the third LED on the board. */
#define LEDS_LED3 (1 << 2)
/** LED mask for the fourth LED on the board. */
#define LEDS_LED4 (1 << 3)
/** LED mask for all the LEDs on the board. */
#define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
/** LED mask for none of the board LEDs. */
#define LEDS_NO_LEDS 0
/* Inline Functions: */
#if !defined(__DOXYGEN__)
static inline void LEDs_Init(void)
{
}
static inline void LEDs_Disable(void)
{
}
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
{
}
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
{
}
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
{
}
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
{
}
static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
{
}
static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
static inline uint8_t LEDs_GetLEDs(void)
{
return 0;
}
#endif
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
}
#endif
#endif
-115
View File
@@ -1,115 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
#include <LUFA/Common/Common.h>
#include <LUFA/Drivers/Board/Board.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/Board/Dataflash.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#if defined(BOARD_HAS_BUTTONS) == defined(BOARD_DUMMY_BUTTONS_IMPLEMENTATION)
#error Mismatch between BOARD_HAS_BUTTONS and implementation.
#endif
#if defined(BOARD_HAS_DATAFLASH) == defined(BOARD_DUMMY_DATAFLASH_IMPLEMENTATION)
#error Mismatch between BOARD_HAS_DATAFLASH and implementation.
#endif
#if defined(BOARD_HAS_LEDS) == defined(BOARD_DUMMY_LEDS_IMPLEMENTATION)
#error Mismatch between BOARD_HAS_LEDS and implementation.
#endif
#if defined(BOARD_HAS_JOYSTICK) == defined(BOARD_DUMMY_JOYSTICK_IMPLEMENTATION)
#error Mismatch between BOARD_HAS_JOYSTICK and implementation.
#endif
int main(void)
{
uint_reg_t Dummy;
/* =============================
* Buttons Compile Check
* ============================= */
// cppcheck-suppress redundantAssignment
Dummy = BUTTONS_BUTTON1;
Buttons_Init();
// cppcheck-suppress redundantAssignment
Dummy = Buttons_GetStatus();
Buttons_Disable();
/* =============================
* Dataflash Compile Check
* ============================= */
// cppcheck-suppress redundantAssignment
Dummy = DATAFLASH_TOTALCHIPS + DATAFLASH_NO_CHIP + DATAFLASH_CHIP1 + DATAFLASH_PAGE_SIZE + DATAFLASH_PAGES;
Dataflash_Init();
Dataflash_TransferByte(0);
Dataflash_SendByte(0);
// cppcheck-suppress redundantAssignment
Dummy = Dataflash_ReceiveByte();
// cppcheck-suppress redundantAssignment
Dummy = Dataflash_GetSelectedChip();
Dataflash_SelectChip(DATAFLASH_CHIP1);
Dataflash_DeselectChip();
Dataflash_SelectChipFromPage(0);
Dataflash_ToggleSelectedChipCS();
Dataflash_WaitWhileBusy();
Dataflash_SendAddressBytes(0, 0);
/* =============================
* LEDs Compile Check
* ============================= */
// cppcheck-suppress redundantAssignment
Dummy = LEDS_LED1 + LEDS_LED2 + LEDS_LED3 + LEDS_LED4;
LEDs_Init();
LEDs_TurnOnLEDs(LEDS_ALL_LEDS);
LEDs_TurnOffLEDs(LEDS_ALL_LEDS);
LEDs_SetAllLEDs(LEDS_ALL_LEDS);
LEDs_ChangeLEDs(LEDS_ALL_LEDS, LEDS_NO_LEDS);
LEDs_ToggleLEDs(LEDS_ALL_LEDS);
// cppcheck-suppress redundantAssignment
Dummy = LEDs_GetLEDs();
LEDs_Disable();
/* =============================
* Joystick Compile Check
* ============================= */
// cppcheck-suppress redundantAssignment
Dummy = JOY_LEFT + JOY_RIGHT + JOY_UP + JOY_DOWN + JOY_PRESS;
Joystick_Init();
// cppcheck-suppress redundantAssignment
Dummy = Joystick_GetStatus();
Joystick_Disable();
(void)Dummy;
}
-68
View File
@@ -1,68 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Makefile for the board driver build test. This
# test attempts to build a dummy project with all
# possible board targets using their respective
# compiler.
# Path to the LUFA library core
LUFA_PATH := ../../LUFA/
# Build test cannot be run with multiple parallel jobs
.NOTPARALLEL:
all: begin makeboardlist testboards clean end
begin:
@echo Executing build test "BoardDriverTest".
@echo
end:
@echo Build test "BoardDriverTest" complete.
@echo
makeboardlist:
@grep "BOARD_" $(patsubst %/,%,$(LUFA_PATH))/Common/BoardTypes.h | cut -d'#' -f2 | cut -d' ' -f2 | grep "BOARD_" > BoardList.txt
testboards:
@echo "buildtest:" > BuildMakefile
@while read line; \
do \
build_cfg=`grep "$$line " BoardDeviceMap.cfg | grep -v "#" | cut -d'=' -f2- | sed 's/ //g'`; \
\
build_board=$$line; \
build_arch=`echo $$build_cfg | cut -d':' -f1`; \
build_mcu=`echo $$build_cfg | cut -d':' -f2`; \
\
if ( test -z "$$build_cfg" ); then \
echo "No matching information set for board $$build_board"; \
else \
echo "Found board configuration for $$build_board - $$build_arch, $$build_mcu"; \
\
printf "\t@echo Building dummy project for $$build_board...\n" >> BuildMakefile; \
printf "\t$(MAKE) -f makefile.test clean elf MCU=%s ARCH=%s BOARD=%s\n\n" $$build_mcu $$build_arch $$build_board >> BuildMakefile; \
fi; \
done < BoardList.txt
$(MAKE) -f BuildMakefile buildtest
clean:
rm -f BuildMakefile
rm -f BoardList.txt
$(MAKE) -f makefile.test clean BOARD=NONE ARCH=AVR8 MCU=at90usb1287
$(MAKE) -f makefile.test clean BOARD=NONE ARCH=XMEGA MCU=atxmega128a1u
$(MAKE) -f makefile.test clean BOARD=NONE ARCH=UC3 MCU=uc3a0256
%:
.PHONY: all begin end makeboardlist testboards clean
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
-27
View File
@@ -1,27 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU =
ARCH =
BOARD =
F_CPU = $(F_USB)
F_USB = 8000000
OPTIMIZATION = 1
TARGET = Test
SRC = $(TARGET).c
LUFA_PATH = ../../LUFA
CC_FLAGS = -Werror
DEBUG_LEVEL = 0
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_build.mk
-64
View File
@@ -1,64 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Makefile for the bootloader build test. This
# test attempts to build all the bootloaders
# with all supported device configurations.
# Path to the LUFA library core
LUFA_PATH := ../../LUFA/
# Build test cannot be run with multiple parallel jobs
.NOTPARALLEL:
all: begin testbootloaders clean end
begin:
@echo Executing build test "BootloaderTest".
@echo
end:
@echo Build test "BootloaderTest" complete.
@echo
testbootloaders:
@echo "buildtest:" > BuildMakefile
@while read line; \
do \
build_cfg=`echo $$line | grep -v "#" | sed 's/ //g'`; \
\
if ( test -n "$$build_cfg" ); then \
build_bootloader=`echo $$build_cfg | cut -d'=' -f1`; \
build_cfg=`echo $$build_cfg | cut -d'=' -f2-`; \
\
build_arch=`echo $$build_cfg | cut -d':' -f1`; \
build_mcu=`echo $$build_cfg | cut -d':' -f2`; \
build_board=`echo $$build_cfg | cut -d':' -f3`; \
build_flashsize=`echo $$build_cfg | cut -d':' -f4`; \
build_bootsize=`echo $$build_cfg | cut -d':' -f5`; \
build_fusb=`echo $$build_cfg | cut -d':' -f6`; \
\
printf "Found '%s' bootloader configuration (FLASH: %3s KB | BOOT: %3s KB | MCU: %12s / %4s | BOARD: %s | F_USB: %sMHz)\n" $$build_bootloader $$build_flashsize $$build_bootsize $$build_mcu $$build_arch $$build_board $$build_fusb; \
\
printf "\t@echo Building bootloader %s - %s - FLASH: %s KB, BOOT: %s KB, BOARD: %s, F_USB: %sMHz\n" $$build_bootloader $$build_mcu $$build_flashsize $$build_bootsize $$build_board $$build_fusb >> BuildMakefile; \
printf "\t$(MAKE) -C $(patsubst %/,%,$(LUFA_PATH))/../Bootloaders/%s/ clean elf ARCH=%s MCU=%s BOARD=%s FLASH_SIZE_KB=%s BOOT_SECTION_SIZE_KB=%s F_USB=%s000000 DEBUG_LEVEL=0\n\n" $$build_bootloader $$build_arch $$build_mcu $$build_board $$build_flashsize $$build_bootsize $$build_fusb >> BuildMakefile; \
fi; \
done < BootloaderDeviceMap.cfg
$(MAKE) -f BuildMakefile buildtest
clean:
rm -f BuildMakefile
%:
.PHONY: all begin end testbootloaders clean
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
-41
View File
@@ -1,41 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
.section .text
# Mandatory entry point for successful compilation and link
.global main
main:
# Mandatory callback needed for base compile of the USB driver
.global CALLBACK_USB_GetDescriptor
CALLBACK_USB_GetDescriptor:
-66
View File
@@ -1,66 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Makefile for the module build test. This test
# attempts to build as many modules as possible
# under all supported architectures, and include
# all module headers in a simple C and C++
# application.
# Path to the LUFA library core
LUFA_PATH := ../../LUFA/
# Build test cannot be run with multiple parallel jobs
.NOTPARALLEL:
# List of device families per architecture, one device per architecture sub-family
AVR8_FAMILIES := at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162
XMEGA_FAMILIES := atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4
UC3_FAMILIES := uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
# List of all device families, with a family postfix
DEVICE_FAMILIES := $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
all: begin $(DEVICE_FAMILIES) clean end
arch_avr8: begin $(AVR8_FAMILIES:%=%.avr8) end
arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end
arch_uc3: begin $(UC3_FAMILIES:%=%.uc3) end
begin:
@echo Executing build test "ModuleTest".
@echo
end:
@echo Build test "ModuleTest" complete.
@echo
%.avr8:
@echo Building ModuleTest for ARCH=AVR8 MCU=$(@:%.avr8=%)...
$(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)
%.xmega:
@echo Building ModuleTest for ARCH=XMEGA MCU=$(@:%.xmega=%)...
$(MAKE) -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)
%.uc3:
@echo Building ModuleTest for ARCH=UC3 MCU=$(@:%.uc3=%)...
$(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)
clean:
$(MAKE) -f makefile.test clean ARCH=AVR8 MCU=$(firstword $(AVR8_FAMILIES))
$(MAKE) -f makefile.test clean ARCH=XMEGA MCU=$(firstword $(XMEGA_FAMILIES))
$(MAKE) -f makefile.test clean ARCH=UC3 MCU=$(firstword $(UC3_FAMILIES))
%:
.PHONY: all arch_avr8 arch_xmega arch_uc3 begin end
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
-88
View File
@@ -1,88 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU =
ARCH =
BOARD = NONE
F_CPU = $(F_USB)
OPTIMIZATION = 1
TARGET = Test
SRC = $(TARGET)_C.c $(TARGET)_CPP.cpp Dummy.S $(LUFA_SRC_USB)
LUFA_PATH = ../../LUFA
DEBUG_LEVEL = 0
ifeq ($(ARCH), AVR8)
F_USB = 8000000
else ifeq ($(ARCH), XMEGA)
F_USB = 48000000
else ifeq ($(ARCH), UC3)
F_USB = 48000000
endif
# Generic C/C++ compiler flags
CC_FLAGS = -Wextra
CC_FLAGS += -Werror
CC_FLAGS += -Wformat=2
CC_FLAGS += -Winit-self
CC_FLAGS += -Wswitch-enum
CC_FLAGS += -Wunused
CC_FLAGS += -Wundef
CC_FLAGS += -Wpointer-arith
CC_FLAGS += -Wcast-align
CC_FLAGS += -Wwrite-strings
CC_FLAGS += -Wlogical-op
CC_FLAGS += -Wmissing-declarations
CC_FLAGS += -Wmissing-field-initializers
CC_FLAGS += -Wmissing-format-attribute
CC_FLAGS += -Woverlength-strings
CC_FLAGS += -Wswitch-default
CC_FLAGS += -Wfloat-equal
CC_FLAGS += -Waggregate-return
CC_FLAGS += -Wmissing-include-dirs
# Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
ifneq ($(ARCH), UC3)
CC_FLAGS += -Wdouble-promotion
endif
# Only enable redundant declaration warnings for AVR8 target (FIXME)
ifeq ($(ARCH), AVR8)
CC_FLAGS += -Wredundant-decls
endif
# C compiler only flags
C_FLAGS += -Wmissing-parameter-type
C_FLAGS += -Wmissing-prototypes
C_FLAGS += -Wnested-externs
C_FLAGS += -Wbad-function-cast
C_FLAGS += -Wstrict-prototypes
C_FLAGS += -Wold-style-definition
# Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
ifneq ($(ARCH), UC3)
C_FLAGS += -Wunsuffixed-float-constants
C_FLAGS += -Wjump-misses-init
endif
# Only check C++ compatibility on the build files, to ensure headers are C++ compatible
Test_C.c Test_CPP.c: CC_FLAGS += -Wc++-compat
# Potential additional warnings to enable in the future (FIXME)
#CC_FLAGS += -Wcast-qual
#CC_FLAGS += -Wconversion
#CC_FLAGS += -Wsign-conversion
#CC_FLAGS += -pedantic
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
-42
View File
@@ -1,42 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
.section .text
# Mandatory entry point for successful compilation and link
.global main
main:
# Force code generation of the base USB stack
call USB_Init
# Mandatory callback needed for base compile of the USB driver
.global CALLBACK_USB_GetDescriptor
CALLBACK_USB_GetDescriptor:
-32
View File
@@ -1,32 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
#include <LUFA/Common/Common.h>
#include <LUFA/Drivers/USB/USB.h>
-56
View File
@@ -1,56 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Makefile for the single USB mode build test.
# This test attempts to build the USB module
# under fixed device and fixed host modes under
# all supported architectures
# Path to the LUFA library core
LUFA_PATH := ../../LUFA/
# Build test cannot be run with multiple parallel jobs
.NOTPARALLEL:
all: begin compile clean end
begin:
@echo Executing build test "SingleUSBModeTest".
@echo
end:
@echo Build test "SingleUSBModeTest" complete.
@echo
compile:
@echo Building SingleUSBModeTest for ARCH=AVR8 in device only mode...
$(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=at90usb1287 CC_FLAGS='-D USB_DEVICE_ONLY'
@echo Building SingleUSBModeTest for ARCH=AVR8 in host only mode...
$(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=at90usb1287 CC_FLAGS='-D USB_HOST_ONLY'
@echo Building SingleUSBModeTest for ARCH=XMEGA in device only mode...
$(MAKE) -f makefile.test clean elf ARCH=XMEGA MCU=atxmega128a1u CC_FLAGS='-D USB_DEVICE_ONLY'
@echo Building SingleUSBModeTest for ARCH=UC3 in device only mode...
$(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=uc3a0256 CC_FLAGS='-D USB_DEVICE_ONLY'
@echo Building SingleUSBModeTest for ARCH=UC3 in host only mode...
$(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=uc3a0256 CC_FLAGS='-D USB_HOST_ONLY'
clean:
$(MAKE) -f makefile.test clean ARCH=AVR8 MCU=at90usb1287
$(MAKE) -f makefile.test clean ARCH=XMEGA MCU=atxmega128a1u
$(MAKE) -f makefile.test clean ARCH=UC3 MCU=uc3a0256
%:
.PHONY: begin end compile clean
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
@@ -1,69 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU =
ARCH =
BOARD = NONE
F_CPU = $(F_USB)
DEBUG_LEVEL = 0
ifeq ($(ARCH), AVR8)
F_USB = 8000000
else ifeq ($(ARCH), XMEGA)
F_USB = 48000000
else ifeq ($(ARCH), UC3)
F_USB = 48000000
endif
OPTIMIZATION = 1
TARGET = Test
SRC = Test.c Dummy.S $(LUFA_SRC_USB)
LUFA_PATH = ../../LUFA
# Generic C/C++ compiler flags
CC_FLAGS = -Wextra
CC_FLAGS += -Werror
CC_FLAGS += -Wformat=2
CC_FLAGS += -Winit-self
CC_FLAGS += -Wswitch-enum
CC_FLAGS += -Wunused
CC_FLAGS += -Wundef
CC_FLAGS += -Wpointer-arith
CC_FLAGS += -Wcast-align
CC_FLAGS += -Wwrite-strings
CC_FLAGS += -Wlogical-op
CC_FLAGS += -Wmissing-declarations
CC_FLAGS += -Wmissing-field-initializers
CC_FLAGS += -Wmissing-format-attribute
CC_FLAGS += -Woverlength-strings
# Only enable rendundant declaration warnings for AVR8 target (FIXME)
ifeq ($(ARCH), AVR8)
CC_FLAGS += -Wredundant-decls
endif
# C compiler only flags
C_FLAGS += -Wmissing-parameter-type
C_FLAGS += -Wnested-externs
# Potential additional warnings to enable in the future (FIXME)
#CC_FLAGS += -Wswitch-default
#CC_FLAGS += -Wc++-compat
#CC_FLAGS += -Wcast-qual
#CC_FLAGS += -Wconversion
#CC_FLAGS += -Wjump-misses-init
#CC_FLAGS += -pedantic
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
-47
View File
@@ -1,47 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Static anlysis of the entire LUFA source tree, using the free cross-platform "cppcheck" tool.
# Path to the LUFA library core
LUFA_PATH := ../../LUFA/
CPPCHECK_EXCLUDES := FATFs/ \
PetiteFATFs/ \
uip/
CPPCHECK_INCLUDES := $(patsubst %/,%,$(LUFA_PATH))/CodeTemplates/ \
$(patsubst %/,%,$(LUFA_PATH))/../Projects/AVRISP-MKII/
CPPCHECK_FLAGS := -U TEMPLATE_FUNC_NAME -U __GNUC__ -U __DOXYGEN__
CPPCHECK_SUPPRESS := variableScope missingInclude unusedFunction
SRC := $(patsubst %/,%,$(LUFA_PATH))/..
# Build test cannot be run with multiple parallel jobs
.NOTPARALLEL:
all: begin cppcheck end
begin:
@echo Executing build test "StaticAnalysisTest".
@echo
end:
@echo Build test "StaticAnalysisTest" complete.
@echo
%:
.PHONY: all begin end
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
-24
View File
@@ -1,24 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# Makefile to build all the LUFA Build Tests. Build Tests are
# used to verify the correctness of the LUFA library, and are
# not intended to be modified or compiled by non-developers.
all:
%:
@echo Executing \"make $@\" on all LUFA build tests.
@echo
$(MAKE) -C BoardDriverTest $@
$(MAKE) -C BootloaderTest $@
$(MAKE) -C ModuleTest $@
$(MAKE) -C SingleUSBModeTest $@
$(MAKE) -C StaticAnalysisTest $@
@echo
@echo LUFA build test \"make $@\" operation complete.
@@ -1,274 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Main source file for the AudioInput demo. This file contains the main tasks of
* the demo and is responsible for the initial application hardware configuration.
*/
#include "AudioInput.h"
/** LUFA Audio Class driver interface configuration and state information. This structure is
* passed to all Audio Class driver functions, so that multiple instances of the same class
* within a device can be differentiated from one another.
*/
USB_ClassInfo_Audio_Device_t Microphone_Audio_Interface =
{
.Config =
{
.ControlInterfaceNumber = 0,
.StreamingInterfaceNumber = 1,
.DataINEndpoint =
{
.Address = AUDIO_STREAM_EPADDR,
.Size = AUDIO_STREAM_EPSIZE,
.Banks = 2,
},
},
};
/** Current audio sampling frequency of the streaming audio endpoint. */
static uint32_t CurrentAudioSampleFrequency = 48000;
/** Main program entry point. This routine contains the overall program flow, including initial
* setup of all components and the main program loop.
*/
int main(void)
{
SetupHardware();
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
GlobalInterruptEnable();
for (;;)
{
Audio_Device_USBTask(&Microphone_Audio_Interface);
USB_USBTask();
}
}
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */
LEDs_Init();
Buttons_Init();
ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_32);
ADC_SetupChannel(MIC_IN_ADC_CHANNEL);
USB_Init();
/* Start the ADC conversion in free running mode */
ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | ADC_GET_CHANNEL_MASK(MIC_IN_ADC_CHANNEL));
}
/** ISR to handle the reloading of the data endpoint with the next sample. */
ISR(TIMER0_COMPA_vect, ISR_BLOCK)
{
uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
/* Check that the USB bus is ready for the next sample to write */
if (Audio_Device_IsReadyForNextSample(&Microphone_Audio_Interface))
{
int16_t AudioSample;
#if defined(USE_TEST_TONE)
static uint8_t SquareWaveSampleCount;
static int16_t CurrentWaveValue;
/* In test tone mode, generate a square wave at 1/256 of the sample rate */
if (SquareWaveSampleCount++ == 0xFF)
CurrentWaveValue ^= 0x8000;
/* Only generate audio if the board button is being pressed */
AudioSample = (Buttons_GetStatus() & BUTTONS_BUTTON1) ? CurrentWaveValue : 0;
#else
/* Audio sample is ADC value scaled to fit the entire range */
AudioSample = ((SAMPLE_MAX_RANGE / ADC_MAX_RANGE) * ADC_GetResult());
#if defined(MICROPHONE_BIASED_TO_HALF_RAIL)
/* Microphone is biased to half rail voltage, subtract the bias from the sample value */
AudioSample -= (SAMPLE_MAX_RANGE / 2);
#endif
#endif
Audio_Device_WriteSample16(&Microphone_Audio_Interface, AudioSample);
}
Endpoint_SelectEndpoint(PrevEndpoint);
}
/** Event handler for the library USB Connection event. */
void EVENT_USB_Device_Connect(void)
{
LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
/* Sample reload timer initialization */
TIMSK0 = (1 << OCIE0A);
OCR0A = ((F_CPU / 8 / CurrentAudioSampleFrequency) - 1);
TCCR0A = (1 << WGM01); // CTC mode
TCCR0B = (1 << CS01); // Fcpu/8 speed
}
/** Event handler for the library USB Disconnection event. */
void EVENT_USB_Device_Disconnect(void)
{
/* Stop the sample reload timer */
TCCR0B = 0;
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
}
/** Event handler for the library USB Configuration Changed event. */
void EVENT_USB_Device_ConfigurationChanged(void)
{
bool ConfigSuccess = true;
ConfigSuccess &= Audio_Device_ConfigureEndpoints(&Microphone_Audio_Interface);
LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
}
/** Event handler for the library USB Control Request reception event. */
void EVENT_USB_Device_ControlRequest(void)
{
Audio_Device_ProcessControlRequest(&Microphone_Audio_Interface);
}
/** Audio class driver callback for the setting and retrieval of streaming endpoint properties. This callback must be implemented
* in the user application to handle property manipulations on streaming audio endpoints.
*
* When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for
* the given endpoint index, and should return as fast as possible. When non-NULL, this value may be altered for GET operations
* to indicate the size of the retrieved data.
*
* \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value
* of the \c DataLength parameter.
*
* \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
* \param[in] EndpointProperty Property of the endpoint to get or set, a value from Audio_ClassRequests_t.
* \param[in] EndpointAddress Address of the streaming endpoint whose property is being referenced.
* \param[in] EndpointControl Parameter of the endpoint to get or set, a value from Audio_EndpointControls_t.
* \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum
* length of the retrieved data. When NULL, the function should return whether the given property
* and parameter is valid for the requested endpoint without reading or modifying the Data buffer.
* \param[in,out] Data Pointer to a location where the parameter data is stored for SET operations, or where
* the retrieved data is to be stored for GET operations.
*
* \return Boolean \c true if the property get/set was successful, \c false otherwise
*/
bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t EndpointProperty,
const uint8_t EndpointAddress,
const uint8_t EndpointControl,
uint16_t* const DataLength,
uint8_t* Data)
{
/* Check the requested endpoint to see if a supported endpoint is being manipulated */
if (EndpointAddress == Microphone_Audio_Interface.Config.DataINEndpoint.Address)
{
/* Check the requested control to see if a supported control is being manipulated */
if (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)
{
switch (EndpointProperty)
{
case AUDIO_REQ_SetCurrent:
/* Check if we are just testing for a valid property, or actually adjusting it */
if (DataLength != NULL)
{
/* Set the new sampling frequency to the value given by the host */
CurrentAudioSampleFrequency = (((uint32_t)Data[2] << 16) | ((uint32_t)Data[1] << 8) | (uint32_t)Data[0]);
/* Adjust sample reload timer to the new frequency */
OCR0A = ((F_CPU / 8 / CurrentAudioSampleFrequency) - 1);
}
return true;
case AUDIO_REQ_GetCurrent:
/* Check if we are just testing for a valid property, or actually reading it */
if (DataLength != NULL)
{
*DataLength = 3;
Data[2] = (CurrentAudioSampleFrequency >> 16);
Data[1] = (CurrentAudioSampleFrequency >> 8);
Data[0] = (CurrentAudioSampleFrequency & 0xFF);
}
return true;
}
}
}
return false;
}
/** Audio class driver callback for the setting and retrieval of streaming interface properties. This callback must be implemented
* in the user application to handle property manipulations on streaming audio interfaces.
*
* When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for
* the given entity and should return as fast as possible. When non-NULL, this value may be altered for GET operations
* to indicate the size of the retrieved data.
*
* \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value
* of the \c DataLength parameter.
*
* \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
* \param[in] Property Property of the interface to get or set, a value from Audio_ClassRequests_t.
* \param[in] EntityAddress Address of the audio entity whose property is being referenced.
* \param[in] Parameter Parameter of the entity to get or set, specific to each type of entity (see USB Audio specification).
* \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum
* length of the retrieved data. When NULL, the function should return whether the given property
* and parameter is valid for the requested endpoint without reading or modifying the Data buffer.
* \param[in,out] Data Pointer to a location where the parameter data is stored for SET operations, or where
* the retrieved data is to be stored for GET operations.
*
* \return Boolean \c true if the property GET/SET was successful, \c false otherwise
*/
bool CALLBACK_Audio_Device_GetSetInterfaceProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t Property,
const uint8_t EntityAddress,
const uint16_t Parameter,
uint16_t* const DataLength,
uint8_t* Data)
{
/* No audio interface entities in the device descriptor, thus no properties to get or set. */
return false;
}
@@ -1,94 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for AudioInput.c.
*/
#ifndef _AUDIO_INPUT_H_
#define _AUDIO_INPUT_H_
/* Includes: */
#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/power.h>
#include <avr/interrupt.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
#include "Descriptors.h"
#include "Config/AppConfig.h"
/* Macros: */
/** Maximum audio sample value for the microphone input. */
#define SAMPLE_MAX_RANGE 0xFFFF
/** Maximum ADC range for the microphone input. */
#define ADC_MAX_RANGE 0x3FF
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
#define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
#define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
/* Function Prototypes: */
void SetupHardware(void);
void EVENT_USB_Device_Connect(void);
void EVENT_USB_Device_Disconnect(void);
void EVENT_USB_Device_ConfigurationChanged(void);
void EVENT_USB_Device_ControlRequest(void);
bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t EndpointProperty,
const uint8_t EndpointAddress,
const uint8_t EndpointControl,
uint16_t* const DataLength,
uint8_t* Data) ATTR_NON_NULL_PTR_ARG(1);
bool CALLBACK_Audio_Device_GetSetInterfaceProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t Property,
const uint8_t EntityAddress,
const uint16_t Parameter,
uint16_t* const DataLength,
uint8_t* Data);
#endif
@@ -1,92 +0,0 @@
/** \file
*
* This file contains special DoxyGen information for the generation of the main page and other special
* documentation pages. It is not a project source file.
*/
/** \mainpage Audio Input Device Demo
*
* \section Sec_Compat Demo Compatibility:
*
* The following list indicates what microcontrollers are compatible with this demo.
*
* \li Series 7 USB AVRs (AT90USBxxx7)
* \li Series 6 USB AVRs (AT90USBxxx6)
* \li Series 4 USB AVRs (ATMEGAxxU4)
*
* \section Sec_Info USB Information:
*
* The following table gives a rundown of the USB utilization of this demo.
*
* <table>
* <tr>
* <td><b>USB Mode:</b></td>
* <td>Device</td>
* </tr>
* <tr>
* <td><b>USB Class:</b></td>
* <td>Audio Class</td>
* </tr>
* <tr>
* <td><b>USB Subclass:</b></td>
* <td>Standard Audio Device</td>
* </tr>
* <tr>
* <td><b>Relevant Standards:</b></td>
* <td>USBIF Audio 1.0 Class Specification \n
* USBIF Audio 1.0 Class Terminal Types Specification \n
* USBIF Audio 1.0 Data Formats Specification</td>
* </tr>
* <tr>
* <td><b>Supported USB Speeds:</b></td>
* <td>Full Speed Mode</td>
* </tr>
* </table>
*
* \section Sec_Description Project Description:
*
* Audio demonstration application. This gives a simple reference
* application for implementing a USB Audio Input device using the
* basic USB Audio 1.0 drivers in all modern OSes (i.e. no special drivers
* required).
*
* On start-up the system will automatically enumerate and function as a
* USB microphone. By default, the demo will produce a square wave test tone
* when the board button is pressed. If USE_TEST_TONE is not defined in the
* project makefile, incoming audio from the ADC channel 1 will be sampled
* and sent to the host computer instead.
*
* When in microphone mode, connect a microphone to the ADC channel 2.
*
* Under Windows, if a driver request dialogue pops up, select the option
* to automatically install the appropriate drivers.
*
* \section Sec_Options Project Options
*
* The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
*
* <table>
* <tr>
* <th><b>Define Name:</b></th>
* <th><b>Location:</b></th>
* <th><b>Description:</b></th>
* </tr>
* <tr>
* <td>MIC_IN_ADC_CHANNEL</td>
* <td>AppConfig.h</td>
* <td>Sets the ADC channel used by the demo for the input audio samples from an attached microphone.</td>
* </tr>
* <tr>
* <td>USE_TEST_TONE</td>
* <td>AppConfig.h</td>
* <td>When defined, this alters the demo to produce a square wave test tone when the first board button is pressed
* instead of sampling the board microphone.</td>
* </tr>
* <tr>
* <td>MICROPHONE_BIASED_TO_HALF_RAIL</td>
* <td>AppConfig.h</td>
* <td>When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted.</td>
* </tr>
* </table>
*/
@@ -1,51 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define MIC_IN_ADC_CHANNEL 2
#define MICROPHONE_BIASED_TO_HALF_RAIL
#define USE_TEST_TONE
#endif
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
// #define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
// #define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
// #define USE_RAM_DESCRIPTORS
#define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
// #define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
// #define INTERRUPT_CONTROL_ENDPOINT
// #define NO_DEVICE_REMOTE_WAKEUP
// #define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
@@ -1,327 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(02.00),
.Class = USB_CSCP_NoDeviceClass,
.SubClass = USB_CSCP_NoDeviceSubclass,
.Protocol = USB_CSCP_NoDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x2047,
.ReleaseNumber = VERSION_BCD(00.02),
.ManufacturerStrIndex = STRING_ID_Manufacturer,
.ProductStrIndex = STRING_ID_Product,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 2,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED),
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.Audio_ControlInterface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 0,
.Class = AUDIO_CSCP_AudioClass,
.SubClass = AUDIO_CSCP_ControlSubclass,
.Protocol = AUDIO_CSCP_ControlProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Audio_ControlInterface_SPC =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_Interface_AC_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_Header,
.ACSpecification = VERSION_BCD(01.00),
.TotalLength = (sizeof(USB_Audio_Descriptor_Interface_AC_t) +
sizeof(USB_Audio_Descriptor_InputTerminal_t) +
sizeof(USB_Audio_Descriptor_OutputTerminal_t)),
.InCollection = 1,
.InterfaceNumber = 1,
},
.Audio_InputTerminal =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_InputTerminal_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_InputTerminal,
.TerminalID = 0x01,
.TerminalType = AUDIO_TERMINAL_IN_MIC,
.AssociatedOutputTerminal = 0x00,
.TotalChannels = 1,
.ChannelConfig = 0,
.ChannelStrIndex = NO_DESCRIPTOR,
.TerminalStrIndex = NO_DESCRIPTOR
},
.Audio_OutputTerminal =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_OutputTerminal_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_OutputTerminal,
.TerminalID = 0x02,
.TerminalType = AUDIO_TERMINAL_STREAMING,
.AssociatedInputTerminal = 0x00,
.SourceID = 0x01,
.TerminalStrIndex = NO_DESCRIPTOR
},
.Audio_StreamInterface_Alt0 =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 0,
.TotalEndpoints = 0,
.Class = AUDIO_CSCP_AudioClass,
.SubClass = AUDIO_CSCP_AudioStreamingSubclass,
.Protocol = AUDIO_CSCP_StreamingProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Audio_StreamInterface_Alt1 =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 1,
.TotalEndpoints = 1,
.Class = AUDIO_CSCP_AudioClass,
.SubClass = AUDIO_CSCP_AudioStreamingSubclass,
.Protocol = AUDIO_CSCP_StreamingProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Audio_StreamInterface_SPC =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_Interface_AS_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_General,
.TerminalLink = 0x02,
.FrameDelay = 1,
.AudioFormat = 0x0001
},
.Audio_AudioFormat =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_Format_t) +
sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates),
.Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_FormatType,
.FormatType = 0x01,
.Channels = 0x01,
.SubFrameSize = 0x02,
.BitResolution = 16,
.TotalDiscreteSampleRates = (sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates) / sizeof(USB_Audio_SampleFreq_t))
},
.Audio_AudioFormatSampleRates =
{
AUDIO_SAMPLE_FREQ(8000),
AUDIO_SAMPLE_FREQ(11025),
AUDIO_SAMPLE_FREQ(22050),
AUDIO_SAMPLE_FREQ(44100),
AUDIO_SAMPLE_FREQ(48000),
},
.Audio_StreamEndpoint =
{
.Endpoint =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Std_t), .Type = DTYPE_Endpoint},
.EndpointAddress = AUDIO_STREAM_EPADDR,
.Attributes = (EP_TYPE_ISOCHRONOUS | ENDPOINT_ATTR_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = AUDIO_STREAM_EPSIZE,
.PollingIntervalMS = 0x01
},
.Refresh = 0,
.SyncEndpointNumber = 0
},
.Audio_StreamEndpoint_SPC =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Spc_t), .Type = DTYPE_CSEndpoint},
.Subtype = AUDIO_DSUBTYPE_CSEndpoint_General,
.Attributes = (AUDIO_EP_ACCEPTS_SMALL_PACKETS | AUDIO_EP_SAMPLE_FREQ_CONTROL),
.LockDelayUnits = 0x00,
.LockDelay = 0x0000
}
};
/** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
* via the language ID table available at USB.org what languages the device supports for its string descriptors.
*/
const USB_Descriptor_String_t PROGMEM LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t PROGMEM ManufacturerString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t PROGMEM ProductString =
{
.Header = {.Size = USB_STRING_LEN(18), .Type = DTYPE_String},
.UnicodeString = L"LUFA Audio In Demo"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
switch (DescriptorType)
{
case DTYPE_Device:
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
break;
case DTYPE_Configuration:
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
break;
case DTYPE_String:
switch (DescriptorNumber)
{
case STRING_ID_Language:
Address = &LanguageString;
Size = pgm_read_byte(&LanguageString.Header.Size);
break;
case STRING_ID_Manufacturer:
Address = &ManufacturerString;
Size = pgm_read_byte(&ManufacturerString.Header.Size);
break;
case STRING_ID_Product:
Address = &ProductString;
Size = pgm_read_byte(&ProductString.Header.Size);
break;
}
break;
}
*DescriptorAddress = Address;
return Size;
}
@@ -1,96 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
#include <avr/pgmspace.h>
#include "Config/AppConfig.h"
/* Macros: */
/** Endpoint address of the Audio isochronous streaming data IN endpoint. */
#define AUDIO_STREAM_EPADDR (ENDPOINT_DIR_IN | 1)
/** Endpoint size in bytes of the Audio isochronous streaming data endpoint. */
#define AUDIO_STREAM_EPSIZE 256
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// Audio Control Interface
USB_Descriptor_Interface_t Audio_ControlInterface;
USB_Audio_Descriptor_Interface_AC_t Audio_ControlInterface_SPC;
USB_Audio_Descriptor_InputTerminal_t Audio_InputTerminal;
USB_Audio_Descriptor_OutputTerminal_t Audio_OutputTerminal;
// Audio Streaming Interface
USB_Descriptor_Interface_t Audio_StreamInterface_Alt0;
USB_Descriptor_Interface_t Audio_StreamInterface_Alt1;
USB_Audio_Descriptor_Interface_AS_t Audio_StreamInterface_SPC;
USB_Audio_Descriptor_Format_t Audio_AudioFormat;
USB_Audio_SampleFreq_t Audio_AudioFormatSampleRates[5];
USB_Audio_Descriptor_StreamEndpoint_Std_t Audio_StreamEndpoint;
USB_Audio_Descriptor_StreamEndpoint_Spc_t Audio_StreamEndpoint_SPC;
} USB_Descriptor_Configuration_t;
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
* have a unique ID index associated with it, which can be used to refer to the string from
* other descriptors.
*/
enum StringDescriptors_t
{
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
};
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
@@ -1,51 +0,0 @@
<asf xmlversion="1.0">
<project caption="Audio Input Device Demo (Class Driver APIs)" id="lufa.demos.device.class.audio_input.example.avr8">
<require idref="lufa.demos.device.class.audio_input"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
</project>
<module type="application" id="lufa.demos.device.class.audio_input" caption="Audio Input Device Demo (Class Driver APIs)">
<info type="description" value="summary">
Audio 1.0 Input device demo, implementing a basic USB microphone. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Class Driver APIs"/>
<keyword value="USB Device"/>
<keyword value="Audio Class"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="distribute" subtype="user-file" value="AudioInput.txt"/>
<build type="c-source" value="AudioInput.c"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="AudioInput.h"/>
<build type="header-file" value="Descriptors.h"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
<build type="header-file" value="Config/AppConfig.h"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.peripheral.adc"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
<require idref="lufa.drivers.board.buttons"/>
</module>
</asf>
@@ -1,38 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = AudioInput
SRC = $(TARGET).c Descriptors.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
LUFA_PATH = ../../../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/
LD_FLAGS =
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_dfu.mk
include $(LUFA_PATH)/Build/lufa_hid.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
@@ -1,311 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Main source file for the AudioOutput demo. This file contains the main tasks of
* the demo and is responsible for the initial application hardware configuration.
*/
#include "AudioOutput.h"
/** LUFA Audio Class driver interface configuration and state information. This structure is
* passed to all Audio Class driver functions, so that multiple instances of the same class
* within a device can be differentiated from one another.
*/
USB_ClassInfo_Audio_Device_t Speaker_Audio_Interface =
{
.Config =
{
.ControlInterfaceNumber = 0,
.StreamingInterfaceNumber = 1,
.DataOUTEndpoint =
{
.Address = AUDIO_STREAM_EPADDR,
.Size = AUDIO_STREAM_EPSIZE,
.Banks = 2,
},
},
};
/** Current audio sampling frequency of the streaming audio endpoint. */
static uint32_t CurrentAudioSampleFrequency = 48000;
/** Main program entry point. This routine contains the overall program flow, including initial
* setup of all components and the main program loop.
*/
int main(void)
{
SetupHardware();
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
GlobalInterruptEnable();
for (;;)
{
Audio_Device_USBTask(&Speaker_Audio_Interface);
USB_USBTask();
}
}
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */
LEDs_Init();
USB_Init();
}
/** ISR to handle the reloading of the PWM timer with the next sample. */
ISR(TIMER0_COMPA_vect, ISR_BLOCK)
{
uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
/* Check that the USB bus is ready for the next sample to read */
if (Audio_Device_IsSampleReceived(&Speaker_Audio_Interface))
{
/* Retrieve the signed 16-bit left and right audio samples, convert to 8-bit */
int8_t LeftSample_8Bit = (Audio_Device_ReadSample16(&Speaker_Audio_Interface) >> 8);
int8_t RightSample_8Bit = (Audio_Device_ReadSample16(&Speaker_Audio_Interface) >> 8);
/* Mix the two channels together to produce a mono, 8-bit sample */
int8_t MixedSample_8Bit = (((int16_t)LeftSample_8Bit + (int16_t)RightSample_8Bit) >> 1);
#if defined(AUDIO_OUT_MONO)
/* Load the sample into the PWM timer channel */
OCR3A = (MixedSample_8Bit ^ (1 << 7));
#elif defined(AUDIO_OUT_STEREO)
/* Load the dual 8-bit samples into the PWM timer channels */
OCR3A = (LeftSample_8Bit ^ (1 << 7));
OCR3B = (RightSample_8Bit ^ (1 << 7));
#elif defined(AUDIO_OUT_PORTC)
/* Load the 8-bit mixed sample into PORTC */
PORTC = MixedSample_8Bit;
#endif
uint8_t LEDMask = LEDS_NO_LEDS;
/* Turn on LEDs as the sample amplitude increases */
if (MixedSample_8Bit > 16)
LEDMask = (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4);
else if (MixedSample_8Bit > 8)
LEDMask = (LEDS_LED1 | LEDS_LED2 | LEDS_LED3);
else if (MixedSample_8Bit > 4)
LEDMask = (LEDS_LED1 | LEDS_LED2);
else if (MixedSample_8Bit > 2)
LEDMask = (LEDS_LED1);
LEDs_SetAllLEDs(LEDMask);
}
Endpoint_SelectEndpoint(PrevEndpoint);
}
/** Event handler for the library USB Connection event. */
void EVENT_USB_Device_Connect(void)
{
LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
/* Sample reload timer initialization */
TIMSK0 = (1 << OCIE0A);
OCR0A = ((F_CPU / 8 / CurrentAudioSampleFrequency) - 1);
TCCR0A = (1 << WGM01); // CTC mode
TCCR0B = (1 << CS01); // Fcpu/8 speed
#if defined(AUDIO_OUT_MONO)
/* Set speaker as output */
DDRC |= (1 << 6);
#elif defined(AUDIO_OUT_STEREO)
/* Set speakers as outputs */
DDRC |= ((1 << 6) | (1 << 5));
#elif defined(AUDIO_OUT_PORTC)
/* Set PORTC as outputs */
DDRC |= 0xFF;
#endif
#if (defined(AUDIO_OUT_MONO) || defined(AUDIO_OUT_STEREO))
/* PWM speaker timer initialization */
TCCR3A = ((1 << WGM30) | (1 << COM3A1) | (1 << COM3A0)
| (1 << COM3B1) | (1 << COM3B0)); // Set on match, clear on TOP
TCCR3B = ((1 << WGM32) | (1 << CS30)); // Fast 8-Bit PWM, F_CPU speed
#endif
}
/** Event handler for the library USB Disconnection event. */
void EVENT_USB_Device_Disconnect(void)
{
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
/* Stop the sample reload timer */
TCCR0B = 0;
#if (defined(AUDIO_OUT_MONO) || defined(AUDIO_OUT_STEREO))
/* Stop the PWM generation timer */
TCCR3B = 0;
#endif
#if defined(AUDIO_OUT_MONO)
/* Set speaker as input to reduce current draw */
DDRC &= ~(1 << 6);
#elif defined(AUDIO_OUT_STEREO)
/* Set speakers as inputs to reduce current draw */
DDRC &= ~((1 << 6) | (1 << 5));
#elif defined(AUDIO_OUT_PORTC)
/* Set PORTC low */
PORTC = 0x00;
#endif
}
/** Event handler for the library USB Configuration Changed event. */
void EVENT_USB_Device_ConfigurationChanged(void)
{
bool ConfigSuccess = true;
ConfigSuccess &= Audio_Device_ConfigureEndpoints(&Speaker_Audio_Interface);
LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
}
/** Event handler for the library USB Control Request reception event. */
void EVENT_USB_Device_ControlRequest(void)
{
Audio_Device_ProcessControlRequest(&Speaker_Audio_Interface);
}
/** Audio class driver callback for the setting and retrieval of streaming endpoint properties. This callback must be implemented
* in the user application to handle property manipulations on streaming audio endpoints.
*
* When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for
* the given endpoint index, and should return as fast as possible. When non-NULL, this value may be altered for GET operations
* to indicate the size of the retrieved data.
*
* \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value
* of the \c DataLength parameter.
*
* \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
* \param[in] EndpointProperty Property of the endpoint to get or set, a value from Audio_ClassRequests_t.
* \param[in] EndpointAddress Address of the streaming endpoint whose property is being referenced.
* \param[in] EndpointControl Parameter of the endpoint to get or set, a value from Audio_EndpointControls_t.
* \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum
* length of the retrieved data. When NULL, the function should return whether the given property
* and parameter is valid for the requested endpoint without reading or modifying the Data buffer.
* \param[in,out] Data Pointer to a location where the parameter data is stored for SET operations, or where
* the retrieved data is to be stored for GET operations.
*
* \return Boolean \c true if the property get/set was successful, \c false otherwise
*/
bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t EndpointProperty,
const uint8_t EndpointAddress,
const uint8_t EndpointControl,
uint16_t* const DataLength,
uint8_t* Data)
{
/* Check the requested endpoint to see if a supported endpoint is being manipulated */
if (EndpointAddress == Speaker_Audio_Interface.Config.DataOUTEndpoint.Address)
{
/* Check the requested control to see if a supported control is being manipulated */
if (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)
{
switch (EndpointProperty)
{
case AUDIO_REQ_SetCurrent:
/* Check if we are just testing for a valid property, or actually adjusting it */
if (DataLength != NULL)
{
/* Set the new sampling frequency to the value given by the host */
CurrentAudioSampleFrequency = (((uint32_t)Data[2] << 16) | ((uint32_t)Data[1] << 8) | (uint32_t)Data[0]);
/* Adjust sample reload timer to the new frequency */
OCR0A = ((F_CPU / 8 / CurrentAudioSampleFrequency) - 1);
}
return true;
case AUDIO_REQ_GetCurrent:
/* Check if we are just testing for a valid property, or actually reading it */
if (DataLength != NULL)
{
*DataLength = 3;
Data[2] = (CurrentAudioSampleFrequency >> 16);
Data[1] = (CurrentAudioSampleFrequency >> 8);
Data[0] = (CurrentAudioSampleFrequency & 0xFF);
}
return true;
}
}
}
return false;
}
/** Audio class driver callback for the setting and retrieval of streaming interface properties. This callback must be implemented
* in the user application to handle property manipulations on streaming audio interfaces.
*
* When the DataLength parameter is NULL, this callback should only indicate whether the specified operation is valid for
* the given entity and should return as fast as possible. When non-NULL, this value may be altered for GET operations
* to indicate the size of the retrieved data.
*
* \note The length of the retrieved data stored into the Data buffer on GET operations should not exceed the initial value
* of the \c DataLength parameter.
*
* \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
* \param[in] Property Property of the interface to get or set, a value from Audio_ClassRequests_t.
* \param[in] EntityAddress Address of the audio entity whose property is being referenced.
* \param[in] Parameter Parameter of the entity to get or set, specific to each type of entity (see USB Audio specification).
* \param[in,out] DataLength For SET operations, the length of the parameter data to set. For GET operations, the maximum
* length of the retrieved data. When NULL, the function should return whether the given property
* and parameter is valid for the requested endpoint without reading or modifying the Data buffer.
* \param[in,out] Data Pointer to a location where the parameter data is stored for SET operations, or where
* the retrieved data is to be stored for GET operations.
*
* \return Boolean \c true if the property GET/SET was successful, \c false otherwise
*/
bool CALLBACK_Audio_Device_GetSetInterfaceProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t Property,
const uint8_t EntityAddress,
const uint16_t Parameter,
uint16_t* const DataLength,
uint8_t* Data)
{
/* No audio interface entities in the device descriptor, thus no properties to get or set. */
return false;
}
@@ -1,87 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for AudioOutput.c.
*/
#ifndef _AUDIO_OUTPUT_H_
#define _AUDIO_OUTPUT_H_
/* Includes: */
#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/power.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include "Descriptors.h"
#include "Config/AppConfig.h"
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
#define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
#define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
/* Function Prototypes: */
void SetupHardware(void);
void EVENT_USB_Device_Connect(void);
void EVENT_USB_Device_Disconnect(void);
void EVENT_USB_Device_ConfigurationChanged(void);
void EVENT_USB_Device_ControlRequest(void);
bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t EndpointProperty,
const uint8_t EndpointAddress,
const uint8_t EndpointControl,
uint16_t* const DataLength,
uint8_t* Data) ATTR_NON_NULL_PTR_ARG(1);
bool CALLBACK_Audio_Device_GetSetInterfaceProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
const uint8_t Property,
const uint8_t EntityAddress,
const uint16_t Parameter,
uint16_t* const DataLength,
uint8_t* Data);
#endif
@@ -1,92 +0,0 @@
/** \file
*
* This file contains special DoxyGen information for the generation of the main page and other special
* documentation pages. It is not a project source file.
*/
/** \mainpage Audio Output Device Demo
*
* \section Sec_Compat Demo Compatibility:
*
* The following list indicates what microcontrollers are compatible with this demo.
*
* \li Series 7 USB AVRs (AT90USBxxx7)
* \li Series 6 USB AVRs (AT90USBxxx6)
* \li Series 4 USB AVRs (ATMEGAxxU4)
*
* \section Sec_Info USB Information:
*
* The following table gives a rundown of the USB utilization of this demo.
*
* <table>
* <tr>
* <td><b>USB Mode:</b></td>
* <td>Device</td>
* </tr>
* <tr>
* <td><b>USB Class:</b></td>
* <td>Audio Class</td>
* </tr>
* <tr>
* <td><b>USB Subclass:</b></td>
* <td>Standard Audio Device</td>
* </tr>
* <tr>
* <td><b>Relevant Standards:</b></td>
* <td>USBIF Audio 1.0 Class Specification \n
* USBIF Audio 1.0 Class Terminal Types Specification \n
* USBIF Audio 1.0 Data Formats Specification</td>
* </tr>
* <tr>
* <td><b>Supported USB Speeds:</b></td>
* <td>Full Speed Mode</td>
* </tr>
* </table>
*
* \section Sec_Description Project Description:
*
* Audio demonstration application. This gives a simple reference
* application for implementing a USB Audio Output device using the
* basic USB Audio 1.0 drivers in all modern OSes (i.e. no special drivers
* required).
*
* On start-up the system will automatically enumerate and function
* as a USB speaker. Outgoing audio will output in 8-bit PWM onto
* the timer 3 output compare channel A for AUDIO_OUT_MONO mode, on
* timer 3 channels A and B for AUDIO_OUT_STEREO and on PORTC as a signed
* mono sample for AUDIO_OUT_PORTC. Audio output will also be indicated on
* the board LEDs in all modes. Decouple audio outputs with a capacitor and
* attach to a speaker to hear the audio.
*
* Under Windows, if a driver request dialogue pops up, select the option
* to automatically install the appropriate drivers.
*
* \section Sec_Options Project Options
*
* The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
*
* <table>
* <tr>
* <th><b>Define Name:</b></th>
* <th><b>Location:</b></th>
* <th><b>Description:</b></th>
* </tr>
* <tr>
* <td>AUDIO_OUT_STEREO</td>
* <td>AppConfig.h</td>
* <td>When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller.</td>
* </tr>
* <tr>
* <td>AUDIO_OUT_MONO</td>
* <td>AppConfig.h</td>
* <td>When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller.</td>
* </tr>
* <tr>
* <td>AUDIO_OUT_PORTC</td>
* <td>AppConfig.h</td>
* <td>When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an
* external DAC.</td>
* </tr>
* </table>
*/
@@ -1,50 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define AUDIO_OUT_STEREO
// #define AUDIO_OUT_MONO
// #define AUDIO_OUT_PORTC
#endif
@@ -1,93 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
// #define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
// #define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
// #define USE_RAM_DESCRIPTORS
#define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
// #define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
// #define INTERRUPT_CONTROL_ENDPOINT
// #define NO_DEVICE_REMOTE_WAKEUP
// #define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
@@ -1,327 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(02.00),
.Class = USB_CSCP_NoDeviceClass,
.SubClass = USB_CSCP_NoDeviceSubclass,
.Protocol = USB_CSCP_NoDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x2046,
.ReleaseNumber = VERSION_BCD(00.02),
.ManufacturerStrIndex = STRING_ID_Manufacturer,
.ProductStrIndex = STRING_ID_Product,
.SerialNumStrIndex = NO_DESCRIPTOR,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 2,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED),
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.Audio_ControlInterface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 0,
.Class = AUDIO_CSCP_AudioClass,
.SubClass = AUDIO_CSCP_ControlSubclass,
.Protocol = AUDIO_CSCP_ControlProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Audio_ControlInterface_SPC =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_Interface_AC_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_Header,
.ACSpecification = VERSION_BCD(01.00),
.TotalLength = (sizeof(USB_Audio_Descriptor_Interface_AC_t) +
sizeof(USB_Audio_Descriptor_InputTerminal_t) +
sizeof(USB_Audio_Descriptor_OutputTerminal_t)),
.InCollection = 1,
.InterfaceNumber = 1,
},
.Audio_InputTerminal =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_InputTerminal_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_InputTerminal,
.TerminalID = 0x01,
.TerminalType = AUDIO_TERMINAL_STREAMING,
.AssociatedOutputTerminal = 0x00,
.TotalChannels = 2,
.ChannelConfig = (AUDIO_CHANNEL_LEFT_FRONT | AUDIO_CHANNEL_RIGHT_FRONT),
.ChannelStrIndex = NO_DESCRIPTOR,
.TerminalStrIndex = NO_DESCRIPTOR
},
.Audio_OutputTerminal =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_OutputTerminal_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_OutputTerminal,
.TerminalID = 0x02,
.TerminalType = AUDIO_TERMINAL_OUT_SPEAKER,
.AssociatedInputTerminal = 0x00,
.SourceID = 0x01,
.TerminalStrIndex = NO_DESCRIPTOR
},
.Audio_StreamInterface_Alt0 =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 0,
.TotalEndpoints = 0,
.Class = AUDIO_CSCP_AudioClass,
.SubClass = AUDIO_CSCP_AudioStreamingSubclass,
.Protocol = AUDIO_CSCP_StreamingProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Audio_StreamInterface_Alt1 =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 1,
.TotalEndpoints = 1,
.Class = AUDIO_CSCP_AudioClass,
.SubClass = AUDIO_CSCP_AudioStreamingSubclass,
.Protocol = AUDIO_CSCP_StreamingProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.Audio_StreamInterface_SPC =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_Interface_AS_t), .Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_General,
.TerminalLink = 0x01,
.FrameDelay = 1,
.AudioFormat = 0x0001
},
.Audio_AudioFormat =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_Format_t) +
sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates),
.Type = DTYPE_CSInterface},
.Subtype = AUDIO_DSUBTYPE_CSInterface_FormatType,
.FormatType = 0x01,
.Channels = 0x02,
.SubFrameSize = 0x02,
.BitResolution = 16,
.TotalDiscreteSampleRates = (sizeof(ConfigurationDescriptor.Audio_AudioFormatSampleRates) / sizeof(USB_Audio_SampleFreq_t)),
},
.Audio_AudioFormatSampleRates =
{
AUDIO_SAMPLE_FREQ(8000),
AUDIO_SAMPLE_FREQ(11025),
AUDIO_SAMPLE_FREQ(22050),
AUDIO_SAMPLE_FREQ(44100),
AUDIO_SAMPLE_FREQ(48000),
},
.Audio_StreamEndpoint =
{
.Endpoint =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Std_t), .Type = DTYPE_Endpoint},
.EndpointAddress = AUDIO_STREAM_EPADDR,
.Attributes = (EP_TYPE_ISOCHRONOUS | ENDPOINT_ATTR_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = AUDIO_STREAM_EPSIZE,
.PollingIntervalMS = 0x01
},
.Refresh = 0,
.SyncEndpointNumber = 0
},
.Audio_StreamEndpoint_SPC =
{
.Header = {.Size = sizeof(USB_Audio_Descriptor_StreamEndpoint_Spc_t), .Type = DTYPE_CSEndpoint},
.Subtype = AUDIO_DSUBTYPE_CSEndpoint_General,
.Attributes = (AUDIO_EP_ACCEPTS_SMALL_PACKETS | AUDIO_EP_SAMPLE_FREQ_CONTROL),
.LockDelayUnits = 0x00,
.LockDelay = 0x0000
}
};
/** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
* via the language ID table available at USB.org what languages the device supports for its string descriptors.
*/
const USB_Descriptor_String_t PROGMEM LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t PROGMEM ManufacturerString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t PROGMEM ProductString =
{
.Header = {.Size = USB_STRING_LEN(19), .Type = DTYPE_String},
.UnicodeString = L"LUFA Audio Out Demo"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
switch (DescriptorType)
{
case DTYPE_Device:
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
break;
case DTYPE_Configuration:
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
break;
case DTYPE_String:
switch (DescriptorNumber)
{
case STRING_ID_Language:
Address = &LanguageString;
Size = pgm_read_byte(&LanguageString.Header.Size);
break;
case STRING_ID_Manufacturer:
Address = &ManufacturerString;
Size = pgm_read_byte(&ManufacturerString.Header.Size);
break;
case STRING_ID_Product:
Address = &ProductString;
Size = pgm_read_byte(&ProductString.Header.Size);
break;
}
break;
}
*DescriptorAddress = Address;
return Size;
}
@@ -1,96 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
#include <avr/pgmspace.h>
#include "Config/AppConfig.h"
/* Macros: */
/** Endpoint address of the Audio isochronous streaming data OUT endpoint. */
#define AUDIO_STREAM_EPADDR (ENDPOINT_DIR_OUT | 1)
/** Endpoint size in bytes of the Audio isochronous streaming data endpoint. */
#define AUDIO_STREAM_EPSIZE 256
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// Audio Control Interface
USB_Descriptor_Interface_t Audio_ControlInterface;
USB_Audio_Descriptor_Interface_AC_t Audio_ControlInterface_SPC;
USB_Audio_Descriptor_InputTerminal_t Audio_InputTerminal;
USB_Audio_Descriptor_OutputTerminal_t Audio_OutputTerminal;
// Audio Streaming Interface
USB_Descriptor_Interface_t Audio_StreamInterface_Alt0;
USB_Descriptor_Interface_t Audio_StreamInterface_Alt1;
USB_Audio_Descriptor_Interface_AS_t Audio_StreamInterface_SPC;
USB_Audio_Descriptor_Format_t Audio_AudioFormat;
USB_Audio_SampleFreq_t Audio_AudioFormatSampleRates[5];
USB_Audio_Descriptor_StreamEndpoint_Std_t Audio_StreamEndpoint;
USB_Audio_Descriptor_StreamEndpoint_Spc_t Audio_StreamEndpoint_SPC;
} USB_Descriptor_Configuration_t;
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
* have a unique ID index associated with it, which can be used to refer to the string from
* other descriptors.
*/
enum StringDescriptors_t
{
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
};
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
@@ -1,49 +0,0 @@
<asf xmlversion="1.0">
<project caption="Audio Output Device Demo (Class Driver APIs)" id="lufa.demos.device.class.audio_output.example.avr8">
<require idref="lufa.demos.device.class.audio_output"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
</project>
<module type="application" id="lufa.demos.device.class.audio_output" caption="Audio Output Device Demo (Class Driver APIs)">
<info type="description" value="summary">
Audio 1.0 Output device demo, implementing a basic USB speaker. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Class Driver APIs"/>
<keyword value="USB Device"/>
<keyword value="Audio Class"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="distribute" subtype="user-file" value="AudioOutput.txt"/>
<build type="c-source" value="AudioOutput.c"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="AudioOutput.h"/>
<build type="header-file" value="Descriptors.h"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
<build type="header-file" value="Config/AppConfig.h"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
</module>
</asf>
@@ -1,38 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = AudioOutput
SRC = $(TARGET).c Descriptors.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
LUFA_PATH = ../../../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/
LD_FLAGS =
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_dfu.mk
include $(LUFA_PATH)/Build/lufa_hid.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
@@ -1,126 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief LUFA Library Configuration Header File
*
* This header file is used to configure LUFA's compile time options,
* as an alternative to the compile time constants supplied through
* a makefile.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
*/
#ifndef _LUFA_CONFIG_H_
#define _LUFA_CONFIG_H_
#if (ARCH == ARCH_AVR8)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
// #define ORDERED_EP_CONFIG
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
#define USB_DEVICE_ONLY
// #define USB_HOST_ONLY
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
// #define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
// #define USE_RAM_DESCRIPTORS
#define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
// #define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
#define INTERRUPT_CONTROL_ENDPOINT
// #define NO_DEVICE_REMOTE_WAKEUP
// #define NO_DEVICE_SELF_POWER
/* USB Host Mode Driver Related Tokens: */
// #define HOST_STATE_AS_GPIOR {Insert Value Here}
// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
// #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE
#elif (ARCH == ARCH_XMEGA)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_RC32MCLKSRC | USB_OPT_BUSEVENT_PRIHIGH)
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
// #define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
// #define USE_RAM_DESCRIPTORS
#define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
// #define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
#define MAX_ENDPOINT_INDEX 6
// #define NO_DEVICE_REMOTE_WAKEUP
// #define NO_DEVICE_SELF_POWER
#else
#error Unsupported architecture for this LUFA configuration file.
#endif
#endif
@@ -1,375 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* USB Device Descriptors, for library use when in USB device mode. Descriptors are special
* computer-readable structures which the host requests upon device enumeration, to determine
* the device's capabilities and functions.
*/
#include "Descriptors.h"
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
* number of device configurations. The descriptor is read out by the USB host when the enumeration
* process begins.
*/
const USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
{
.Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
.USBSpecification = VERSION_BCD(01.10),
.Class = USB_CSCP_IADDeviceClass,
.SubClass = USB_CSCP_IADDeviceSubclass,
.Protocol = USB_CSCP_IADDeviceProtocol,
.Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
.VendorID = 0x03EB,
.ProductID = 0x204E,
.ReleaseNumber = VERSION_BCD(00.01),
.ManufacturerStrIndex = STRING_ID_Manufacturer,
.ProductStrIndex = STRING_ID_Product,
.SerialNumStrIndex = USE_INTERNAL_SERIAL,
.NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
};
/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
* of the device in one of its supported configurations, including information about any device interfaces
* and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
* a configuration so that the host may correctly communicate with the USB device.
*/
const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
{
.Config =
{
.Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
.TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
.TotalInterfaces = 4,
.ConfigurationNumber = 1,
.ConfigurationStrIndex = NO_DESCRIPTOR,
.ConfigAttributes = (USB_CONFIG_ATTR_RESERVED | USB_CONFIG_ATTR_SELFPOWERED),
.MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
},
.CDC1_IAD =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
.FirstInterfaceIndex = 0,
.TotalInterfaces = 2,
.Class = CDC_CSCP_CDCClass,
.SubClass = CDC_CSCP_ACMSubclass,
.Protocol = CDC_CSCP_ATCommandProtocol,
.IADStrIndex = NO_DESCRIPTOR
},
.CDC1_CCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 0,
.AlternateSetting = 0,
.TotalEndpoints = 1,
.Class = CDC_CSCP_CDCClass,
.SubClass = CDC_CSCP_ACMSubclass,
.Protocol = CDC_CSCP_ATCommandProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.CDC1_Functional_Header =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface},
.Subtype = CDC_DSUBTYPE_CSInterface_Header,
.CDCSpecification = VERSION_BCD(01.10),
},
.CDC1_Functional_ACM =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface},
.Subtype = CDC_DSUBTYPE_CSInterface_ACM,
.Capabilities = 0x06,
},
.CDC1_Functional_Union =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
.MasterInterfaceNumber = 0,
.SlaveInterfaceNumber = 1,
},
.CDC1_ManagementEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC1_NOTIFICATION_EPADDR,
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_NOTIFICATION_EPSIZE,
.PollingIntervalMS = 0xFF
},
.CDC1_DCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 1,
.AlternateSetting = 0,
.TotalEndpoints = 2,
.Class = CDC_CSCP_CDCDataClass,
.SubClass = CDC_CSCP_NoDataSubclass,
.Protocol = CDC_CSCP_NoDataProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.CDC1_DataOutEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC1_RX_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.PollingIntervalMS = 0x05
},
.CDC1_DataInEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC1_TX_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.PollingIntervalMS = 0x05
},
.CDC2_IAD =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
.FirstInterfaceIndex = 2,
.TotalInterfaces = 2,
.Class = CDC_CSCP_CDCClass,
.SubClass = CDC_CSCP_ACMSubclass,
.Protocol = CDC_CSCP_ATCommandProtocol,
.IADStrIndex = NO_DESCRIPTOR
},
.CDC2_CCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 2,
.AlternateSetting = 0,
.TotalEndpoints = 1,
.Class = CDC_CSCP_CDCClass,
.SubClass = CDC_CSCP_ACMSubclass,
.Protocol = CDC_CSCP_ATCommandProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.CDC2_Functional_Header =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface},
.Subtype = CDC_DSUBTYPE_CSInterface_Header,
.CDCSpecification = VERSION_BCD(01.10),
},
.CDC2_Functional_ACM =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface},
.Subtype = CDC_DSUBTYPE_CSInterface_ACM,
.Capabilities = 0x06,
},
.CDC2_Functional_Union =
{
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
.MasterInterfaceNumber = 2,
.SlaveInterfaceNumber = 3,
},
.CDC2_ManagementEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC2_NOTIFICATION_EPADDR,
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_NOTIFICATION_EPSIZE,
.PollingIntervalMS = 0xFF
},
.CDC2_DCI_Interface =
{
.Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
.InterfaceNumber = 3,
.AlternateSetting = 0,
.TotalEndpoints = 2,
.Class = CDC_CSCP_CDCDataClass,
.SubClass = CDC_CSCP_NoDataSubclass,
.Protocol = CDC_CSCP_NoDataProtocol,
.InterfaceStrIndex = NO_DESCRIPTOR
},
.CDC2_DataOutEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC2_RX_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.PollingIntervalMS = 0x05
},
.CDC2_DataInEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = CDC2_TX_EPADDR,
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = CDC_TXRX_EPSIZE,
.PollingIntervalMS = 0x05
}
};
/** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests
* the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
* via the language ID table available at USB.org what languages the device supports for its string descriptors.
*/
const USB_Descriptor_String_t PROGMEM LanguageString =
{
.Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
.UnicodeString = {LANGUAGE_ID_ENG}
};
/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t PROGMEM ManufacturerString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
.UnicodeString = L"Dean Camera"
};
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
const USB_Descriptor_String_t PROGMEM ProductString =
{
.Header = {.Size = USB_STRING_LEN(13), .Type = DTYPE_String},
.UnicodeString = L"LUFA Dual CDC Demo"
};
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
* documentation) by the application code so that the address and size of a requested descriptor can be given
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
const void* Address = NULL;
uint16_t Size = NO_DESCRIPTOR;
switch (DescriptorType)
{
case DTYPE_Device:
Address = &DeviceDescriptor;
Size = sizeof(USB_Descriptor_Device_t);
break;
case DTYPE_Configuration:
Address = &ConfigurationDescriptor;
Size = sizeof(USB_Descriptor_Configuration_t);
break;
case DTYPE_String:
switch (DescriptorNumber)
{
case STRING_ID_Language:
Address = &LanguageString;
Size = pgm_read_byte(&LanguageString.Header.Size);
break;
case STRING_ID_Manufacturer:
Address = &ManufacturerString;
Size = pgm_read_byte(&ManufacturerString.Header.Size);
break;
case STRING_ID_Product:
Address = &ProductString;
Size = pgm_read_byte(&ProductString.Header.Size);
break;
}
break;
}
*DescriptorAddress = Address;
return Size;
}
@@ -1,123 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for Descriptors.c.
*/
#ifndef _DESCRIPTORS_H_
#define _DESCRIPTORS_H_
/* Includes: */
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
/* Macros: */
/** Endpoint address of the first CDC interface's device-to-host data IN endpoint. */
#define CDC1_TX_EPADDR (ENDPOINT_DIR_IN | 1)
/** Endpoint address of the first CDC interface's host-to-device data OUT endpoint. */
#define CDC1_RX_EPADDR (ENDPOINT_DIR_OUT | 2)
/** Endpoint address of the first CDC interface's device-to-host notification IN endpoint. */
#define CDC1_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | 3)
/** Endpoint address of the second CDC interface's device-to-host data IN endpoint. */
#define CDC2_TX_EPADDR (ENDPOINT_DIR_IN | 4)
/** Endpoint address of the second CDC interface's host-to-device data OUT endpoint. */
#define CDC2_RX_EPADDR (ENDPOINT_DIR_OUT | 5)
/** Endpoint address of the second CDC interface's device-to-host notification IN endpoint. */
#define CDC2_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | 6)
/** Size in bytes of the CDC device-to-host notification IN endpoints. */
#define CDC_NOTIFICATION_EPSIZE 8
/** Size in bytes of the CDC data IN and OUT endpoints. */
#define CDC_TXRX_EPSIZE 16
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
* vary between devices, and which describe the device's usage to the host.
*/
typedef struct
{
USB_Descriptor_Configuration_Header_t Config;
// First CDC Control Interface
USB_Descriptor_Interface_Association_t CDC1_IAD;
USB_Descriptor_Interface_t CDC1_CCI_Interface;
USB_CDC_Descriptor_FunctionalHeader_t CDC1_Functional_Header;
USB_CDC_Descriptor_FunctionalACM_t CDC1_Functional_ACM;
USB_CDC_Descriptor_FunctionalUnion_t CDC1_Functional_Union;
USB_Descriptor_Endpoint_t CDC1_ManagementEndpoint;
// First CDC Data Interface
USB_Descriptor_Interface_t CDC1_DCI_Interface;
USB_Descriptor_Endpoint_t CDC1_DataOutEndpoint;
USB_Descriptor_Endpoint_t CDC1_DataInEndpoint;
// Second CDC Control Interface
USB_Descriptor_Interface_Association_t CDC2_IAD;
USB_Descriptor_Interface_t CDC2_CCI_Interface;
USB_CDC_Descriptor_FunctionalHeader_t CDC2_Functional_Header;
USB_CDC_Descriptor_FunctionalACM_t CDC2_Functional_ACM;
USB_CDC_Descriptor_FunctionalUnion_t CDC2_Functional_Union;
USB_Descriptor_Endpoint_t CDC2_ManagementEndpoint;
// Second CDC Data Interface
USB_Descriptor_Interface_t CDC2_DCI_Interface;
USB_Descriptor_Endpoint_t CDC2_DataOutEndpoint;
USB_Descriptor_Endpoint_t CDC2_DataInEndpoint;
} USB_Descriptor_Configuration_t;
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
* have a unique ID index associated with it, which can be used to refer to the string from
* other descriptors.
*/
enum StringDescriptors_t
{
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
};
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
#endif
File diff suppressed because it is too large. Load diff
@@ -1,218 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Main source file for the DualVirtualSerial demo. This file contains the main tasks of
* the demo and is responsible for the initial application hardware configuration.
*/
#include "DualVirtualSerial.h"
/** LUFA CDC Class driver interface configuration and state information. This structure is
* passed to all CDC Class driver functions, so that multiple instances of the same class
* within a device can be differentiated from one another. This is for the first CDC interface,
* which sends strings to the host for each joystick movement.
*/
USB_ClassInfo_CDC_Device_t VirtualSerial1_CDC_Interface =
{
.Config =
{
.ControlInterfaceNumber = 0,
.DataINEndpoint =
{
.Address = CDC1_TX_EPADDR,
.Size = CDC_TXRX_EPSIZE,
.Banks = 1,
},
.DataOUTEndpoint =
{
.Address = CDC1_RX_EPADDR,
.Size = CDC_TXRX_EPSIZE,
.Banks = 1,
},
.NotificationEndpoint =
{
.Address = CDC1_NOTIFICATION_EPADDR,
.Size = CDC_NOTIFICATION_EPSIZE,
.Banks = 1,
},
},
};
/** LUFA CDC Class driver interface configuration and state information. This structure is
* passed to all CDC Class driver functions, so that multiple instances of the same class
* within a device can be differentiated from one another. This is for the second CDC interface,
* which echos back all received data from the host.
*/
USB_ClassInfo_CDC_Device_t VirtualSerial2_CDC_Interface =
{
.Config =
{
.ControlInterfaceNumber = 2,
.DataINEndpoint =
{
.Address = CDC2_TX_EPADDR,
.Size = CDC_TXRX_EPSIZE,
.Banks = 1,
},
.DataOUTEndpoint =
{
.Address = CDC2_RX_EPADDR,
.Size = CDC_TXRX_EPSIZE,
.Banks = 1,
},
.NotificationEndpoint =
{
.Address = CDC2_NOTIFICATION_EPADDR,
.Size = CDC_NOTIFICATION_EPSIZE,
.Banks = 1,
},
},
};
/** Main program entry point. This routine contains the overall program flow, including initial
* setup of all components and the main program loop.
*/
int main(void)
{
SetupHardware();
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
GlobalInterruptEnable();
for (;;)
{
CheckJoystickMovement();
/* Discard all received data on the first CDC interface */
CDC_Device_ReceiveByte(&VirtualSerial1_CDC_Interface);
/* Echo all received data on the second CDC interface */
int16_t ReceivedByte = CDC_Device_ReceiveByte(&VirtualSerial2_CDC_Interface);
if (!(ReceivedByte < 0))
CDC_Device_SendByte(&VirtualSerial2_CDC_Interface, (uint8_t)ReceivedByte);
CDC_Device_USBTask(&VirtualSerial1_CDC_Interface);
CDC_Device_USBTask(&VirtualSerial2_CDC_Interface);
USB_USBTask();
}
}
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
#elif (ARCH == ARCH_XMEGA)
/* Start the PLL to multiply the 2MHz RC oscillator to 32MHz and switch the CPU core to run from it */
XMEGACLK_StartPLL(CLOCK_SRC_INT_RC2MHZ, 2000000, F_CPU);
XMEGACLK_SetCPUClockSource(CLOCK_SRC_PLL);
/* Start the 32MHz internal RC oscillator and start the DFLL to increase it to 48MHz using the USB SOF as a reference */
XMEGACLK_StartInternalOscillator(CLOCK_SRC_INT_RC32MHZ);
XMEGACLK_StartDFLL(CLOCK_SRC_INT_RC32MHZ, DFLL_REF_INT_USBSOF, F_USB);
PMIC.CTRL = PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm;
#endif
/* Hardware Initialization */
Joystick_Init();
LEDs_Init();
USB_Init();
}
/** Checks for changes in the position of the board joystick, sending strings to the host upon each change
* through the first of the CDC interfaces.
*/
void CheckJoystickMovement(void)
{
uint8_t JoyStatus_LCL = Joystick_GetStatus();
char* ReportString = NULL;
static bool ActionSent = false;
if (JoyStatus_LCL & JOY_UP)
ReportString = "Joystick Up\r\n";
else if (JoyStatus_LCL & JOY_DOWN)
ReportString = "Joystick Down\r\n";
else if (JoyStatus_LCL & JOY_LEFT)
ReportString = "Joystick Left\r\n";
else if (JoyStatus_LCL & JOY_RIGHT)
ReportString = "Joystick Right\r\n";
else if (JoyStatus_LCL & JOY_PRESS)
ReportString = "Joystick Pressed\r\n";
else
ActionSent = false;
if ((ReportString != NULL) && (ActionSent == false))
{
ActionSent = true;
CDC_Device_SendString(&VirtualSerial1_CDC_Interface, ReportString);
}
}
/** Event handler for the library USB Connection event. */
void EVENT_USB_Device_Connect(void)
{
LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
}
/** Event handler for the library USB Disconnection event. */
void EVENT_USB_Device_Disconnect(void)
{
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
}
/** Event handler for the library USB Configuration Changed event. */
void EVENT_USB_Device_ConfigurationChanged(void)
{
bool ConfigSuccess = true;
ConfigSuccess &= CDC_Device_ConfigureEndpoints(&VirtualSerial1_CDC_Interface);
ConfigSuccess &= CDC_Device_ConfigureEndpoints(&VirtualSerial2_CDC_Interface);
LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
}
/** Event handler for the library USB Control Request reception event. */
void EVENT_USB_Device_ControlRequest(void)
{
CDC_Device_ProcessControlRequest(&VirtualSerial1_CDC_Interface);
CDC_Device_ProcessControlRequest(&VirtualSerial2_CDC_Interface);
}
@@ -1,76 +0,0 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
*
* Header file for DualVirtualSerial.c.
*/
#ifndef _DUAL_VIRTUALSERIAL_H_
#define _DUAL_VIRTUALSERIAL_H_
/* Includes: */
#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/power.h>
#include <avr/interrupt.h>
#include <string.h>
#include "Descriptors.h"
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
#define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
#define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
/* Function Prototypes: */
void SetupHardware(void);
void CheckJoystickMovement(void);
void EVENT_USB_Device_Connect(void);
void EVENT_USB_Device_Disconnect(void);
void EVENT_USB_Device_ConfigurationChanged(void);
void EVENT_USB_Device_ControlRequest(void);
#endif
@@ -1,89 +0,0 @@
/** \file
*
* This file contains special DoxyGen information for the generation of the main page and other special
* documentation pages. It is not a project source file.
*/
/** \mainpage Dual Communications Device Class (Dual Virtual Serial Port) Device
*
* \section Sec_Compat Demo Compatibility:
*
* The following list indicates what microcontrollers are compatible with this demo.
*
* \li Series 7 USB AVRs (AT90USBxxx7)
* \li Series 6 USB AVRs (AT90USBxxx6)
* \li Series 4 USB AVRs (ATMEGAxxU4)
* \li Series AU XMEGA AVRs (ATXMEGAxxxAxU)
* \li Series B XMEGA AVRs (ATXMEGAxxxBxU)
* \li Series C XMEGA AVRs (ATXMEGAxxxCxU)
*
* \section Sec_Info USB Information:
*
* The following table gives a rundown of the USB utilization of this demo.
*
* <table>
* <tr>
* <td><b>USB Mode:</b></td>
* <td>Device</td>
* </tr>
* <tr>
* <td><b>USB Class:</b></td>
* <td>Communications Device Class (CDC)</td>
* </tr>
* <tr>
* <td><b>USB Subclass:</b></td>
* <td>Abstract Control Model (ACM)</td>
* </tr>
* <tr>
* <td><b>Relevant Standards:</b></td>
* <td>USBIF CDC Class Standard</td>
* </tr>
* <tr>
* <td><b>Relevant Standards:</b></td>
* <td>USBIF Interface Association Descriptor ECN \n
* USBIF CDC Class Standard</td>
* </tr>
* <tr>
* <td><b>Supported USB Speeds:</b></td>
* <td>Full Speed Mode</td>
* </tr>
* </table>
*
* \section Sec_Description Project Description:
*
* Dual Communications Device Class demonstration application.
* This gives a simple reference application for implementing
* a composite device with dual CDC functions acting as a pair
* of virtual serial ports. This demo uses Interface Association
* Descriptors to link together the pair of related CDC
* descriptors for each virtual serial port, which may not be
* supported in all OSes - Windows Vista is supported, as is
* XP (although the latter may need a hotfix to function).
*
* Joystick actions are transmitted to the host as strings
* through the first serial port. The device does not respond to
* serial data sent from the host in the first serial port.
*
* The second serial port echoes back data sent from the host.
*
* After running this demo for the first time on a new computer,
* you will need to supply the .INF file located in this demo
* project's directory as the device's driver when running under
* Windows. This will enable Windows to use its inbuilt CDC drivers,
* negating the need for custom drivers for the device. Other
* Operating Systems should automatically use their own inbuilt
* CDC-ACM drivers.
*
* \section Sec_Options Project Options
*
* The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
*
* <table>
* <tr>
* <td>
* None
* </td>
* </tr>
* </table>
*/
@@ -1,66 +0,0 @@
;************************************************************
; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
;************************************************************
[DefaultInstall]
CopyINF="LUFA DualVirtualSerial.inf"
[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%MFGNAME%
DriverVer=7/1/2012,10.0.0.0
[Manufacturer]
%MFGNAME%=DeviceList, NTx86, NTamd64, NTia64
[SourceDisksNames]
[SourceDisksFiles]
[DestinationDirs]
DefaultDestDir=12
[DriverInstall]
Include=mdmcpq.inf
CopyFiles=FakeModemCopyFileSection
AddReg=DriverInstall.AddReg
[DriverInstall.Services]
Include=mdmcpq.inf
AddService=usbser, 0x00000002, LowerFilter_Service_Inst
[DriverInstall.AddReg]
HKR,,EnumPropPages32,,"msports.dll,SerialPortPropPageProvider"
;------------------------------------------------------------------------------
; Vendor and Product ID Definitions
;------------------------------------------------------------------------------
; When developing your USB device, the VID and PID used in the PC side
; application program and the firmware on the microcontroller must match.
; Modify the below line to use your VID and PID. Use the format as shown below.
; Note: One INF file can be used for multiple devices with different VID and PIDs.
; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
;------------------------------------------------------------------------------
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
[DeviceList.NTx86]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
[DeviceList.NTia64]
%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_204E&MI_00, USB\VID_03EB&PID_204E&MI_02
;------------------------------------------------------------------------------
; String Definitions
;------------------------------------------------------------------------------
;Modify these strings to customize your device
;------------------------------------------------------------------------------
[Strings]
MFGNAME="http://www.lufa-lib.org"
DESCRIPTION="LUFA CDC-ACM Virtual Serial Port"
@@ -1,61 +0,0 @@
<asf xmlversion="1.0">
<project caption="Dual Virtual Serial Device Demo (Class Driver APIs)" id="lufa.demos.device.class.dual_cdc.example.avr8">
<require idref="lufa.demos.device.class.dual_cdc"/>
<require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/>
<device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="16000000UL"/>
</project>
<project caption="Dual Virtual Serial Device Demo (Class Driver APIs)" id="lufa.demos.device.class.dual_cdc.example.xmega">
<require idref="lufa.demos.device.class.dual_cdc"/>
<require idref="lufa.boards.dummy.xmega"/>
<generator value="as5_8"/>
<device-support value="atxmega128a1u"/>
<config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="32000000UL"/>
<build type="define" name="F_USB" value="48000000UL"/>
</project>
<module type="application" id="lufa.demos.device.class.dual_cdc" caption="Dual Virtual Serial Device Demo (Class Driver APIs)">
<info type="description" value="summary">
Dual Virtual Serial (CDC) demo, implementing a pair of virtual serial port interfaces. This demo uses the user-friendly USB Class Driver APIs to provide a simple, abstracted interface into the USB stack.
</info>
<info type="gui-flag" value="move-to-root"/>
<info type="keyword" value="Technology">
<keyword value="Class Driver APIs"/>
<keyword value="USB Device"/>
<keyword value="CDC Class"/>
</info>
<device-support-alias value="lufa_avr8"/>
<device-support-alias value="lufa_xmega"/>
<device-support-alias value="lufa_uc3"/>
<build type="distribute" subtype="user-file" value="DualVirtualSerial.txt"/>
<build type="distribute" subtype="user-file" value="LUFA DualVirtualSerial.inf"/>
<build type="c-source" value="DualVirtualSerial.c"/>
<build type="c-source" value="Descriptors.c"/>
<build type="header-file" value="DualVirtualSerial.h"/>
<build type="header-file" value="Descriptors.h"/>
<build type="module-config" subtype="path" value="Config"/>
<build type="header-file" value="Config/LUFAConfig.h"/>
<require idref="lufa.common"/>
<require idref="lufa.platform"/>
<require idref="lufa.drivers.usb"/>
<require idref="lufa.drivers.board"/>
<require idref="lufa.drivers.board.leds"/>
<require idref="lufa.drivers.board.joystick"/>
</module>
</asf>
@@ -1,38 +0,0 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2013.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
#
# --------------------------------------
# LUFA Project Makefile.
# --------------------------------------
# Run "make help" for target help.
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
F_USB = $(F_CPU)
OPTIMIZATION = s
TARGET = DualVirtualSerial
SRC = $(TARGET).c Descriptors.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
LUFA_PATH = ../../../../LUFA
CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/
LD_FLAGS =
# Default target
all:
# Include LUFA build script makefiles
include $(LUFA_PATH)/Build/lufa_core.mk
include $(LUFA_PATH)/Build/lufa_sources.mk
include $(LUFA_PATH)/Build/lufa_build.mk
include $(LUFA_PATH)/Build/lufa_cppcheck.mk
include $(LUFA_PATH)/Build/lufa_doxygen.mk
include $(LUFA_PATH)/Build/lufa_dfu.mk
include $(LUFA_PATH)/Build/lufa_hid.mk
include $(LUFA_PATH)/Build/lufa_avrdude.mk
include $(LUFA_PATH)/Build/lufa_atprogram.mk
Loaded 100 of 3242 files, more files were not shown because too many files have changed in this diff. Show more