Mercurial > louis > kiibohd-controller
annotate README.old.markdown @ 412:e7a3be42ae1e
Debug code for interconnect cable debugging
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sat, 20 Feb 2016 13:27:49 -0800 |
parents | a2df35fa4f0b |
children |
rev | line source |
---|---|
313
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
1 The Kiibohd Controller |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
2 ====================== |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
3 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
4 This README is a bit long, just look at the sections you are interested in. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
5 You only need to install avr-gcc if you want to build for the Teensy 2.0/2.0++. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
6 Everything else needs an arm-none-eabi-gcc compiler (e.g. Infinity keyboard, |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
7 Teensy 3.0/3.1, McHCK). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
8 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
9 Linux is the ideal build environment (preferably recent'ish). In the near |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
10 future I'll make available an Arch Linux VM for building/manufacturing tests. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
11 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
12 Building on Mac should be ok for 99% of users with Macports or Homebrew. For |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
13 Homebrew, use `brew tap PX4/homebrew-px4` to get the arm-none-eabi-gcc installer. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
14 The dfu Bootloader will not build correctly with the old version of |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
15 arm-none-eabi-gcc that Macports currently has (4.7.3). This is due to a bug |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
16 with lto (link time optimizations) which makes the resulting binary too big to |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
17 fit on the chip (must be less than 4096 Bytes). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
18 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
19 Building on Windows should also be fine for 99% of users, but takes a bunch of |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
20 work to setup (because Windows is a crappy dev environment). Cygwin is |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
21 currently required along with some non-Cygwin compilers and utilities (because |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
22 they are not available for Cygwin). The dfu Bootloader will not build because |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
23 of a Make 3.81+ bug/feature that removed support for non-Unix (Windows) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
24 filenames as dependencies of targets. If you [replace the version of Make in |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
25 Cygwin](http://stackoverflow.com/questions/601516/cygwin-make-error-target-pattern-contains-no) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
26 it should work. However, make sure that the flash size is no larger than 4096 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
27 Bytes or the bootloader will not work. Things will likely break if there are |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
28 **SPACES IN YOUR PATHS**. I install cygwin to `C:\cygwin64`. If you are brave |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
29 and have programming knowledge, I will accept patches to fix any issues |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
30 regarding spaces in paths. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
31 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
32 Please give authors credit for modules used if you use in a distributed |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
33 product :D |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
34 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
35 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
36 General Dependencies |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
37 -------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
38 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
39 Below listed are the Arch Linux pacman names, AUR packages may be required. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
40 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
41 These depend a bit on which targets you are trying to build, but the general |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
42 one: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
43 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
44 - cmake (2.8 and higher) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
45 - git |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
46 - ctags (recommended, not required) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
47 - python3 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
48 - libusb1.0 (and -devel) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
49 - make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
50 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
51 AVR Specific (Teensy 1.0/++,2.0/++) (try to use something recent, suggested |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
52 versions below) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
53 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
54 - avr-gcc (~4.8.0) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
55 - avr-binutils (~2.23.2) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
56 - avr-libc (~1.8.0) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
57 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
58 ARM Specific (Teensy 3.0/3.1, Infinity Keyboard, McHCK) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
59 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
60 - Arch Linux / Mac Ports |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
61 - arm-none-eabi-gcc |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
62 - arm-none-eabi-binutils |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
63 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
64 - Windows (https://launchpad.net/gcc-arm-embedded/+download) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
65 - gcc-arm-none-eabi (win32.zip) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
66 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
67 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
68 Windows Setup |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
69 ------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
70 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
71 Compiling on Windows does work, just it's a bunch more work. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
72 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
73 First make sure Cygwin is installed - http://www.cygwin.com/ - 32bit or 64bit |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
74 is fine. Make sure the following are installed: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
75 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
76 - make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
77 - git (needed for some compilation info) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
78 - cmake |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
79 - gcc-core |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
80 - gcc-g++ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
81 - libusb1.0 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
82 - libusb1.0-devel |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
83 - python3 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
84 - ctags (recommended, not required) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
85 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
86 Please note, I use cygwin term exclusively for any command line options. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
87 Unless mentioned otherwise, use it. Do NOT use CMD or Powershell. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
88 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
89 Also install the [Windows version of CMake](http://cmake.org/cmake/resources/software.html) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
90 (3+ is ideal) - Select "Do not add CMake to system PATH". This is in addition |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
91 to the Cygwin version. This is an easier alternative to installing another C |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
92 compiler. Add the following line to your .bashrc, making sure the CMake path |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
93 is correct: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
94 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
95 echo "alias wincmake=\"PATH='/cygdrive/c/Program Files (x86)/CMake'/bin:'${PATH}' cmake -G 'Unix Makefiles'\"" >> ~/.bashrc |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
96 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
97 Install the [PJRC Virtual Serial Port Driver](http://pjrc.com/teensy/serial_install.exe). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
98 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
99 Next, install the compiler(s) you want. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
100 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
101 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
102 ### AVR GCC |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
103 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
104 You just need the |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
105 [Atmel AVR 8-bit Toolchain](http://www.atmel.com/tools/atmelavrtoolchainforwindows.aspx). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
106 The latest should be fine, as of writing it was 3.4.3. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
107 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
108 Extract the files to a directory, say `C:\avr8-gnu-toolchain`. Then copy all |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
109 the folders in that directory to the Cygwin `/usr/local` directory. Mine is |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
110 `C:\cygwin64\usr\local`. (You can also just setup the paths, but this is |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
111 faster/simpler. Might screw up your Cygwin though). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
112 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
113 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
114 ### ARM EABI |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
115 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
116 Download the latest |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
117 [GNU Tools for Embedded Processors |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
118 gcc-arm-none-eabi](https://launchpad.net/gcc-arm-embedded/+download). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
119 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
120 Download `gcc-arm-none-eabi*win32.zip`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
121 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
122 Then extract all the folders/files in the zip to the Cygwin `/usr/local` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
123 directory. Mine is `C:\cygwin64\usr\local`. Or, you can setup paths using |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
124 the installer (you have to be more careful, avoid spaces in paths). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
125 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
126 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
127 CMake Info |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
128 ---------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
129 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
130 One of the big benefits of using CMake is the ability to build multiple |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
131 configurations (for different microcontrollers) at the same time. The |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
132 following sections explain in detail what each CMakeLists.txt configuration |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
133 option does and what you can change it to. However, it is possible to |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
134 configure each of these options using the `-D` command line flag. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
135 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
136 For example, to build the Infinity Keyboard default configuration: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
137 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
138 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
139 $ mkdir build_infinity |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
140 $ cd build_infinity |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
141 $ cmake -DCHIP=mk20dx128vlf5 -DScanModule=MD1 -DMacroModule=PartialMap \ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
142 -DOutputModule=pjrcUSB -DDebugModule=full -DBaseMap=defaultMap \ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
143 -DDefaultMap="md1Overlay stdFuncMap" -DPartialMaps="hhkbpro2" \ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
144 .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
145 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
146 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
147 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
148 CMake defaults to the values specified in CMakeLists.txt if not overridden via |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
149 the command line. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
150 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
151 > NOTE: On Windows, you will have to use "wincmake" instead of "cmake". |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
152 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
153 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
154 Selecting Microcontroller |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
155 ------------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
156 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
157 This is where you select the chip you want to compile for. The build system |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
158 will automatically select the compiler needed to compile for your chip. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
159 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
160 Open up CMakeLists.txt in your favourite text editor. You are looking for: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
161 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
162 ```cmake |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
163 ### |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
164 # Chip Selection |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
165 # |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
166 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
167 #| You _MUST_ set this to match the microcontroller you are trying to compile for |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
168 #| You _MUST_ clean the build directory if you change this value |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
169 #| |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
170 set( CHIP |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
171 # "at90usb162" # Teensy 1.0 (avr) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
172 # "atmega32u4" # Teensy 2.0 (avr) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
173 # "at90usb646" # Teensy++ 1.0 (avr) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
174 # "at90usb1286" # Teensy++ 2.0 (avr) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
175 # "mk20dx128" # Teensy 3.0 (arm) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
176 "mk20dx128vlf5" # McHCK mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
177 # "mk20dx256" # Teensy 3.1 (arm) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
178 CACHE STRING "Microcontroller Chip" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
179 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
180 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
181 Just uncomment the chip you want, and comment out the old one. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
182 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
183 > NOTE: If you change this option, you will *need* to delete the build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
184 > directory that is created in the Building sections below. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
185 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
186 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
187 Selecting Modules |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
188 ----------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
189 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
190 > WARNING: Not all modules are compatible, and some modules may have |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
191 > dependencies on other modules. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
192 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
193 This is where the options start getting interesting. The Kiibohd Controller |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
194 is designed around a set of 4 types of modules that correspond to different |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
195 functionality: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
196 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
197 - Scan Module |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
198 - Macro Module |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
199 - Output Module |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
200 - Debug Module |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
201 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
202 The Scan Module is where the most interesting stuff happens. These modules |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
203 take in "keypress data". A converter Scan Module will interpret a protocol |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
204 into key press/releases. A matrix Scan Module may inherit from the matrix |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
205 module to scan keypress from a matrix This module just has to give |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
206 press/release codes, but does have some callback control to other modules |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
207 depending on the lifecycle for press/release codes (this can be very |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
208 complicated depending on the protocol). Each Scan Module has it's own default |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
209 keymap/modifier map. (TODO recommend keymap changing in the Macro Module). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
210 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
211 Some scan modules have very specialized hardware requirements, each module |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
212 directory should have at least a link to the needed parts and/or schematics |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
213 (TODO!). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
214 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
215 The Macro Module takes care of the mapping of the key press/release code into |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
216 an Output (USB) scan code. Any layering, macros, keypress |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
217 intelligence/reaction is done here. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
218 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
219 The Output Module is the module dealing with output from the microcontroller. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
220 Currently USB is the only output protocol. Different USB output |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
221 implementations are available, pjrc being the safest/least featureful one. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
222 Debug capabilities may depend on the module selected. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
223 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
224 The Debug Module enables various things like the Teensy LED on errors, debug |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
225 terminal output. (TODO get true UART working in avr, not just arm) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
226 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
227 Open up CMakeLists.txt in your favourite text editor. Look for: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
228 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
229 ```cmake |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
230 ### |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
231 # Project Modules |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
232 # |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
233 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
234 #| Note: This is the only section you probably want to modify |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
235 #| Each module is defined by it's own folder (e.g. Scan/Matrix represents the "Matrix" module) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
236 #| All of the modules must be specified, as they generate the sources list of files to compile |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
237 #| Any modifications to this file will cause a complete rebuild of the project |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
238 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
239 #| Please look at the {Scan,Macro,Output,Debug} for information on the modules and how to create new ones |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
240 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
241 ##| Deals with acquiring the keypress information and turning it into a key index |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
242 set( ScanModule "MD1" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
243 CACHE STRING "Scan Module" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
244 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
245 ##| Provides the mapping functions for DefaultMap and handles any macro processing before sending to the OutputModule |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
246 set( MacroModule "PartialMap" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
247 CACHE STRING "Macro Module" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
248 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
249 ##| Sends the current list of usb key codes through USB HID |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
250 set( OutputModule "pjrcUSB" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
251 CACHE STRING "Output Module" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
252 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
253 ##| Debugging source to use, each module has it's own set of defines that it sets |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
254 set( DebugModule "full" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
255 CACHE STRING "Debug Module" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
256 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
257 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
258 Look at each module individually for it's requirements. There is |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
259 chip/architecture dependency checking but some permutations of modules may not |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
260 be tested/compile. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
261 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
262 There are also CMake options for temporarily selecting modules. But it's |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
263 easier to just edit the file. e.g. `cmake -DScanModuleOverride=<module name>`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
264 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
265 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
266 Keymap Configuration |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
267 -------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
268 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
269 This is where you define the layout for your keyboard. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
270 Currently, the only way to define kebyoard layouts is using [KLL](https://www.overleaf.com/read/zzqbdwqjfwwf). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
271 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
272 KLL is built up of 3 different kinds of keymaps in total. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
273 The BaseMap, DefaultMap and PartialMaps. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
274 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
275 For each type of keymap, it is possible to combine multiple .kll files together to create new ones using |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
276 the compiler. The order of the files matter, as the right-most file will overwrite any setting in the |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
277 previous files. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
278 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
279 > NOTE: Each keymap is done after the entire file is processed. This means that within the file the order |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
280 > of assignment doesa *not* matter (if you assign the same thing twice, then yes the most recent one |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
281 > takes priority). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
282 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
283 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
284 BaseMap defines what the keyboard can do. This includes specific capabilities of the keyboard (such as USB), |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
285 the mapping of Scan Codes to USB Codes and any specific configurations for the keyboard. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
286 In general, the BaseMap rarely needs to be changed. Usually only when adding a new keyboard to the firmware |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
287 does the Basemap need any modification. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
288 The BaseMap is what both DefaultMap and PartialMaps are based upon. This allows for a common reference |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
289 when defining custom keymappings. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
290 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
291 > NOTE: Don't use defaultMap.kll to change your layouts. This will work, but they will not be portable. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
292 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
293 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
294 The DefaultMap is the normal state of the keyboard, i.e. your default layer. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
295 Using the BaseMap as a base, the DefaultMap is a modification of the BaseMap to what the keyboard should do. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
296 Since the DefaultMap uses USB Code to USB Code translations, this means that keymaps used for one keyboard |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
297 will work with another keyboard. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
298 For example, I use Colemak, so this means I only have to define Colemak once for every keyboard that supports |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
299 the kiibohd firmware. This is possible because every BaseMap defines the keyboard as a US ANSI like keyboard |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
300 layout. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
301 The DefaultMap can also be thought of as Layer 0. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
302 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
303 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
304 PartialMaps are optional keymaps that can be "stacked" on top of the DefaultMap. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
305 They can be dynamically swapped out using the layer control capabilities: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
306 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
307 - layerLatch( `<layer number>` ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
308 - layerLock( `<layer number>` ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
309 - layerShift( `<layer number>` ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
310 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
311 layerShift is usually what you want as it works just like a standard shift key. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
312 layerLock is similar to the CapsLock key. While layerLatch is a latch, where only the next key you press |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
313 will use that layer (e.g. stickykeys). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
314 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
315 A unique aspect of KLL layers is that it's a true stack of layers. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
316 When a layer is activated, only the keys that are specified by the layer will change. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
317 This means, if you define a layer that only sets `CapsLock -> LCtrl` and `LCtrl->Capslock` only those keys |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
318 will change when you active the layer. All the other keys will use the layer that is "underneath" to |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
319 lookup the keypress (usually the DefaultMap). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
320 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
321 This means that you can combine .kll files statically using the compiler or dynamically using the firmware. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
322 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
323 You can set the max number of layers by changing the `stateWordSize` define in one of your kll files. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
324 By default it is set to 8 in Macro/PartialMap/capabilities.kll. This means you can have up to 256 layers |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
325 total (this includes the DefaultMap). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
326 You can increase this number to either 16 or 32 (this will use more Flash and RAM btw) which will give you |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
327 2^16 and 2^32 possible layers respectively (65 535 and 4 294 967 295). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
328 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
329 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
330 ```cmake |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
331 ### |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
332 # Keymap Configuration (do not include the .kll extension) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
333 # |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
334 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
335 #| Do not include the .kll extension |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
336 #| * BaseMap maps the native keyboard scan codes to USB Codes so the layout is compatible with all other layouts |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
337 #| * DefaultMap allows the default keymap to be modified from the BaseMap |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
338 #| * PartialMaps is a set of dynamically set layers (there is no limit, but too many may use up too much RAM...) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
339 #| BaseMap generally does not need to be changed from "defaultMap" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
340 #| |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
341 #| Syntax: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
342 #| myMap |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
343 #| * defines a single .kll layout file, double-quotes are needed to distinguish between layers |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
344 #| "myMap specialLayer" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
345 #| * defines myMap to be the main layout, then replace specialLayers on top of it |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
346 #| |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
347 #| - Only for PartialMaps - |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
348 #| "myMap specialLayer" "myMap colemak" dvorak |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
349 #| * As before, but also generates a second layer at index 2 and third at index 3 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
350 #| |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
351 #| NOTE: Remember to add key(s) to enable each Partial Layer |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
352 #| NOTE2: Layers are always based up the BaseMap (which should be an ANSI-like mapping) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
353 #| NOTE3: Compiler looks in kll/layouts and the build directory for layout files (precedence on build directory) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
354 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
355 ##| Set the base keyboard .kll map, defaults to "defaultMap" if not found |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
356 ##| Looks in Scan/<Module Name> for the available BaseMaps |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
357 set( BaseMap "defaultMap" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
358 CACHE STRING "KLL BaseMap/Scancode Keymapping" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
359 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
360 ##| Layer additonal .kll maps on the BaseMap, layers are in order from 1st to nth |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
361 ##| Can be set to "" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
362 set( DefaultMap "md1Overlay stdFuncMap" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
363 CACHE STRING "KLL DefaultMap" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
364 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
365 ##| ParitalMaps available on top of the BaseMap. See above for syntax on specifying multiple layers vs. layering |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
366 ##| Can be set to "" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
367 set( PartialMaps "hhkbpro2" |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
368 CACHE STRING "KLL PartialMaps/Layer Definitions" ) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
369 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
370 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
371 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
372 Linux Building |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
373 -------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
374 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
375 From this directory. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
376 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
377 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
378 $ mkdir build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
379 $ cd build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
380 $ cmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
381 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
382 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
383 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
384 Example output: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
385 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
386 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
387 $ cmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
388 -- Compiler Family: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
389 arm |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
390 -- Chip Selected: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
391 mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
392 -- Chip Family: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
393 mk20dx |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
394 -- CPU Selected: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
395 cortex-m4 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
396 -- Compiler Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
397 Lib/mk20dx.c;Lib/delay.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
398 -- Bootloader Type: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
399 dfu |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
400 -- Detected Scan Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
401 Scan/MD1/scan_loop.c;Scan/MD1/../MatrixARM/matrix_scan.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
402 -- Detected Macro Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
403 Macro/PartialMap/macro.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
404 -- Detected Output Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
405 Output/pjrcUSB/output_com.c;Output/pjrcUSB/arm/usb_desc.c;Output/pjrcUSB/arm/usb_dev.c; |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
406 Output/pjrcUSB/arm/usb_keyboard.c;Output/pjrcUSB/arm/usb_mem.c;Output/pjrcUSB/arm/usb_serial.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
407 -- Detected Debug Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
408 Debug/full/../cli/cli.c;Debug/full/../led/led.c;Debug/full/../print/print.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
409 -- Found Git: /usr/bin/git (found version "2.2.1") |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
410 -- Found Ctags: /usr/bin/ctags (found version "5.8") |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
411 -- Checking for latest kll version: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
412 Current branch master is up to date. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
413 -- Detected Layout Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
414 /home/hyatt/Source/controller/Macro/PartialMap/capabilities.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
415 /home/hyatt/Source/controller/Output/pjrcUSB/capabilities.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
416 /home/hyatt/Source/controller/Scan/MD1/defaultMap.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
417 /home/hyatt/Source/controller/kll/layouts/md1Overlay.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
418 /home/hyatt/Source/controller/kll/layouts/stdFuncMap.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
419 /home/hyatt/Source/controller/kll/layouts/hhkbpro2.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
420 -- Configuring done |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
421 -- Generating done |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
422 -- Build files have been written to: /home/hyatt/Source/controller/build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
423 [master]: make [~/Source/controller/build](hyatt@x230mas:pts/6) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
424 [ 5%] Generating KLL Layout |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
425 Scanning dependencies of target kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
426 [ 11%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
427 [ 17%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/mk20dx.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
428 [ 23%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/delay.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
429 [ 29%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MD1/scan_loop.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
430 [ 35%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MatrixARM/matrix_scan.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
431 [ 41%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/macro.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
432 [ 47%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/output_com.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
433 [ 52%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_desc.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
434 [ 58%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_dev.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
435 [ 64%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_keyboard.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
436 [ 70%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mem.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
437 [ 76%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_serial.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
438 [ 82%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/cli/cli.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
439 [ 88%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
440 [ 94%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
441 Linking C executable kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
442 [ 94%] Built target kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
443 Scanning dependencies of target SizeAfter |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
444 [100%] Chip usage for mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
445 SRAM: 32% 5384/16384 bytes |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
446 Flash: 18% 23384/126976 bytes |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
447 [100%] Built target SizeAfter |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
448 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
449 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
450 Linux Loading Firmware |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
451 ---------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
452 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
453 First place the keyboard into re-flash mode. This can be done either by |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
454 pressing the re-flash button on the PCB/Teensy. Or by entering the Kiibohd |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
455 Virtual Serial Port and using the 'reload' command. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
456 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
457 The `load` script that is created during the build can load the firmware over |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
458 USB. Either run it with sudo, or install the `98-kiibohd.rules` to |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
459 `/etc/udev/rules.d` and run: `udevadm control --reload-rules`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
460 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
461 To load the newly built firmware: `./load`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
462 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
463 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
464 Linux Building Bootloader |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
465 ------------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
466 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
467 > NOTE: Does not apply to Teensy based builds. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
468 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
469 From this directory. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
470 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
471 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
472 $ cd Bootloader |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
473 $ mkdir build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
474 $ cd build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
475 $ cmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
476 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
477 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
478 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
479 Example output: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
480 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
481 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
482 $ cmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
483 -- Compiler Family: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
484 arm |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
485 -- Chip Selected: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
486 mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
487 -- Chip Family: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
488 mk20dx |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
489 -- CPU Selected: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
490 cortex-m4 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
491 -- Compiler Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
492 Lib/mk20dx.c;Lib/delay.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
493 -- Bootloader Type: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
494 dfu |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
495 -- Bootloader Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
496 main.c;dfu.c;dfu.desc.c;flash.c;kinetis.c;usb.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
497 -- Found Git: /usr/bin/git (found version "2.2.1") |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
498 -- Found Ctags: /usr/bin/ctags (found version "5.8") |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
499 -- Configuring done |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
500 -- Generating done |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
501 -- Build files have been written to: /home/hyatt/Source/controller/Bootloader/build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
502 [master]: make [~/Source/controller/Bootloader/build](hyatt@x230mas:pts/6) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
503 Scanning dependencies of target kiibohd_bootloader.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
504 [ 11%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/main.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
505 [ 22%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/dfu.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
506 [ 33%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/dfu.desc.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
507 [ 44%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/flash.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
508 [ 55%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/kinetis.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
509 [ 66%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/usb.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
510 [ 77%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/home/hyatt/Source/controller/Lib/mk20dx.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
511 [ 88%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/home/hyatt/Source/controller/Lib/delay.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
512 Linking C executable kiibohd_bootloader.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
513 [ 88%] Built target kiibohd_bootloader.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
514 Scanning dependencies of target SizeAfter |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
515 [100%] Chip usage for mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
516 SRAM: 19% 3176/16384 bytes |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
517 Flash: 2% 3736/126976 bytes |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
518 [100%] Built target SizeAfter |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
519 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
520 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
521 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
522 Linux Loading Bootloader |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
523 ------------------------ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
524 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
525 > NOTE: Does not apply to Teensy based builds. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
526 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
527 It's recommended to use an SWD-type flasher like a Bus Pirate. There is a |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
528 convenience script for loading the firmware once the system is setup. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
529 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
530 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
531 $ cd Bootloader/Scripts |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
532 $ ./swdLoad.bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
533 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
534 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
535 The above script requires Ruby, Ruby serial port module, git, and a |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
536 `/dev/buspirate` udev rule. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
537 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
538 Additional Notes: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
539 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
540 * https://github.com/mchck/mchck/wiki/Getting-Started (See Bus-Pirate section) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
541 * https://wiki.archlinux.org/index.php/Bus_pirate |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
542 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
543 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
544 Windows Building |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
545 ---------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
546 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
547 From this directory. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
548 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
549 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
550 $ mkdir build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
551 $ cd build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
552 $ wincmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
553 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
554 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
555 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
556 Example output: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
557 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
558 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
559 $ wincmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
560 -- Compiler Family: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
561 arm |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
562 -- Chip Selected: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
563 mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
564 -- Chip Family: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
565 mk20dx |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
566 -- CPU Selected: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
567 cortex-m4 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
568 -- Compiler Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
569 Lib/mk20dx.c;Lib/delay.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
570 -- Bootloader Type: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
571 dfu |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
572 -- Detected Scan Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
573 Scan/MD1/scan_loop.c;Scan/MD1/../MatrixARM/matrix_scan.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
574 -- Detected Macro Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
575 Macro/PartialMap/macro.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
576 -- Detected Output Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
577 Output/pjrcUSB/output_com.c;Output/pjrcUSB/arm/usb_desc.c;Output/pjrcUSB/arm/usb_dev.c;Output/pjrcUSB/arm/usb_keyboard.c;Output/pjrcUSB/arm/usb_mem.c;Output/pjrcUSB/arm/usb_serial.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
578 -- Detected Debug Module Source Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
579 Debug/full/../cli/cli.c;Debug/full/../led/led.c;Debug/full/../print/print.c |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
580 -- Found Git: C:/cygwin64/bin/git.exe (found version "2.1.1") |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
581 -- Found Ctags: C:/cygwin64/bin/ctags.exe (found version "5.8") |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
582 -- Checking for latest kll version: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
583 Current branch master is up to date. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
584 -- Detected Layout Files: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
585 C:/cygwin64/home/Jacob/controller/Macro/PartialMap/capabilities.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
586 C:/cygwin64/home/Jacob/controller/Output/pjrcUSB/capabilities.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
587 C:/cygwin64/home/Jacob/controller/Scan/MD1/defaultMap.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
588 C:/cygwin64/home/Jacob/controller/kll/layouts/md1Overlay.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
589 C:/cygwin64/home/Jacob/controller/kll/layouts/stdFuncMap.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
590 C:/cygwin64/home/Jacob/controller/kll/layouts/hhkbpro2.kll |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
591 -- Configuring done |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
592 -- Generating done |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
593 -- Build files have been written to: C:/cygwin64/home/Jacob/controller/build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
594 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
595 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
596 [ 5%] Generating KLL Layout |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
597 Scanning dependencies of target kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
598 [ 11%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
599 [ 17%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/mk20dx.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
600 [ 23%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/delay.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
601 [ 29%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MD1/scan_loop.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
602 [ 35%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MatrixARM/matrix_scan.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
603 [ 41%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/macro.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
604 [ 47%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/output_com.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
605 [ 52%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_desc.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
606 [ 58%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_dev.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
607 [ 64%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_keyboard.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
608 [ 70%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mem.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
609 [ 76%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_serial.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
610 [ 82%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/cli/cli.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
611 [ 88%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
612 [ 94%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.obj |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
613 Linking C executable kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
614 [ 94%] Built target kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
615 Scanning dependencies of target SizeAfter |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
616 [100%] Chip usage for mk20dx128vlf5 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
617 SRAM: 32% 5384/16384 bytes |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
618 Flash: 18% 23296/126976 bytes |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
619 [100%] Built target SizeAfter |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
620 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
621 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
622 ### NOTES: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
623 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
624 If you get the following error, you have not setup wincmake correctly: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
625 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
626 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
627 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
628 [ 5%] Generating KLL Layout |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
629 Scanning dependencies of target kiibohd.elf |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
630 [ 11%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.o |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
631 ../main.c:28:19: fatal error: macro.h: No such file or directory |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
632 #include <macro.h> |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
633 ^ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
634 compilation terminated. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
635 CMakeFiles/kiibohd.elf.dir/build.make:67: recipe for target 'CMakeFiles/kiibohd.elf.dir/main.c.o' failed |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
636 make[2]: *** [CMakeFiles/kiibohd.elf.dir/main.c.o] Error 1 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
637 CMakeFiles/Makefile2:98: recipe for target 'CMakeFiles/kiibohd.elf.dir/all' failed |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
638 make[1]: *** [CMakeFiles/kiibohd.elf.dir/all] Error 2 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
639 Makefile:75: recipe for target 'all' failed |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
640 make: *** [all] Error 2 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
641 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
642 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
643 If you have already added the line to your `~/.bashrc` try restarting your |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
644 cygwin shell. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
645 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
646 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
647 Windows Loading Firmware |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
648 ------------------------ |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
649 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
650 First place the keyboard into re-flash mode. This can be done either by |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
651 pressing the re-flash button on the PCB/Teensy. Or by entering the Kiibohd |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
652 Virtual Serial Interface and using the `reload` command. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
653 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
654 The `load` script that is created during the build can load the firmware over |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
655 USB. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
656 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
657 To load the newly built firmware: `./load` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
658 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
659 Be patient the couple of times, Windows is slow at installing drivers... |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
660 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
661 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
662 Mac OS X Building |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
663 ----------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
664 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
665 From this directory. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
666 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
667 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
668 $ mkdir build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
669 $ cd build |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
670 $ cmake .. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
671 $ make |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
672 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
673 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
674 Example output: |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
675 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
676 > TODO |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
677 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
678 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
679 Mac OS X Loading Firmware |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
680 ------------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
681 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
682 First place the keyboard into re-flash mode. This can be done either by |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
683 pressing the re-flash button on the PCB/Teensy. Or by entering the Kiibohd |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
684 Virtual Serial Port and using the `reload` command. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
685 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
686 The `load` script that is created during the build can load the firmware over |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
687 USB. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
688 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
689 To load the newly built firmware: `./load`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
690 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
691 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
692 Virtual Serial Port - CLI |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
693 ------------------------- |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
694 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
695 Rather than use a special program that can interpret Raw HID, this controller exposes a USB Serial CDC endpoint. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
696 This allows for you to use a generic serial terminal to debug/control the keyboard firmware (e.g. Tera Term, minicom, screen) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
697 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
698 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
699 ### Linux |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
700 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
701 I generally use screen. You will need sudo/root priviledges if you haven't |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
702 installed the `98-kiibohd.rules` file to `/etc/udev/rules.d`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
703 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
704 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
705 $ screen /dev/ttyACM0 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
706 # (Might be ACM1, ACM2, etc.) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
707 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
708 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
709 ### Windows |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
710 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
711 Make sure the Teensy Virtual Serial Port driver is installed. If possible use |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
712 screen (as part of Cygwin). Check which COM port the virtual serial port has |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
713 been assigned to: `Device Manager->Ports (COM & LPT)->Teensy USB Serial`. In |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
714 brackets it will say which COM port (e.g. COM3) |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
715 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
716 putty works well when using DTR/DSR or RTS/CTS flow control. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
717 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
718 | Setting | Value | |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
719 | --------------- | ------------------------------------- | |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
720 | Connection type | Serial | |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
721 | Serial line | Your COM port, e.g. COM3 | |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
722 | Speed | doesn't matter, it's auto-negotiated | |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
723 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
724 Under `Category->Connections->Serial`: `Flow control: DTR/DSR`. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
725 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
726 If stuff is hard to read (you have a dumb colour scheme): |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
727 `Category->Window->Colours->Use system color`. That seems to make text at |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
728 least readable |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
729 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
730 > I use a custom colour scheme that makes each colour easy to see. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
731 > -HaaTa. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
732 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
733 Unfortunately, screen for Cygwin seems to be broken for serial ports, but you |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
734 can try it... |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
735 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
736 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
737 $ screen /dev/ttyS2 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
738 # Might be a different file, ttyS0, ttyACM0, ttyUSB0, etc. |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
739 ``` |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
740 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
741 Gnu screen doesn't seem to echo all the characters (it works though). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
742 I believe it's a problem with stty, but I don't know how to fix it... |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
743 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
744 ### Mac OS X |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
745 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
746 I recommend screen (can be installed via Macports). |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
747 |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
748 ```bash |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
749 $ screen /dev/tty.<usb something> |
a2df35fa4f0b
Updating the README to be of a more reasonable length.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
750 ``` |