annotate README.markdown @ 309:4f47971c45c2

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