annotate README.markdown @ 286:65df0d7b0f88

Add instructions for using Homebrew
author aclowes <aclowes@gmail.com>
date Sat, 21 Feb 2015 15:45:12 -0500
parents aabd00e4b17b
children 8c9e4b8a1999
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
286
65df0d7b0f88 Add instructions for using Homebrew
aclowes <aclowes@gmail.com>
parents: 277
diff changeset
12 Building on Mac should be ok for 99% of users with Macports or Homebrew. For
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
62 - arm-none-eaby-binutils
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
266 Linux Building
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
267 --------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
268
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
269 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
270
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
271 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
272 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
273 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
274 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
275 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
276 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
277
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
278 Example output:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
279
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
280 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
281 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
282 -- Compiler Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
283 arm
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
284 -- Chip Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
285 mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
286 -- Chip Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
287 mk20dx
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
288 -- CPU Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
289 cortex-m4
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
290 -- Compiler Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
291 Lib/mk20dx.c;Lib/delay.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
292 -- Bootloader Type:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
293 dfu
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
294 -- Detected Scan Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
295 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
296 -- Detected Macro Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
297 Macro/PartialMap/macro.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
298 -- Detected Output Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
299 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
300 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
301 -- Detected Debug Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
302 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
303 -- Found Git: /usr/bin/git (found version "2.2.1")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
304 -- Found Ctags: /usr/bin/ctags (found version "5.8")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
305 -- Checking for latest kll version:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
306 Current branch master is up to date.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
307 -- Detected Layout Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
308 /home/hyatt/Source/controller/Macro/PartialMap/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
309 /home/hyatt/Source/controller/Output/pjrcUSB/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
310 /home/hyatt/Source/controller/Scan/MD1/defaultMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
311 /home/hyatt/Source/controller/kll/layouts/md1Overlay.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
312 /home/hyatt/Source/controller/kll/layouts/stdFuncMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
313 /home/hyatt/Source/controller/kll/layouts/hhkbpro2.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
314 -- Configuring done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
315 -- Generating done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
316 -- 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
317 [master]: make [~/Source/controller/build](hyatt@x230mas:pts/6)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
318 [ 5%] Generating KLL Layout
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
319 Scanning dependencies of target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
320 [ 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
321 [ 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
322 [ 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
323 [ 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
324 [ 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
325 [ 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
326 [ 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
327 [ 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
328 [ 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
329 [ 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
330 [ 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
331 [ 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
332 [ 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
333 [ 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
334 [ 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
335 Linking C executable kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
336 [ 94%] Built target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
337 Scanning dependencies of target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
338 [100%] Chip usage for mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
339 SRAM: 32% 5384/16384 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
340 Flash: 18% 23384/126976 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
341 [100%] Built target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
342 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
343
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
344 Linux Loading Firmware
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
345 ----------------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
346
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
347 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
348 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
349 Virtual Serial Port and using the 'reload' command.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
350
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
351 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
352 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
353 `/etc/udev/rules.d` and run: `udevadm control --reload-rules`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
354
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
355 To load the newly built firmware: `./load`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
356
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
357
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
358 Linux Building Bootloader
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
359 -------------------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
360
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
361 > NOTE: Does not apply to Teensy based builds.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
362
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
363 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
364
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
365 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
366 $ cd Bootloader
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
367 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
368 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
369 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
370 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
371 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
372
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
373 Example output:
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 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
376 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
377 -- Compiler Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
378 arm
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
379 -- Chip Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
380 mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
381 -- Chip Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
382 mk20dx
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
383 -- CPU Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
384 cortex-m4
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
385 -- Compiler Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
386 Lib/mk20dx.c;Lib/delay.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
387 -- Bootloader Type:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
388 dfu
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
389 -- Bootloader Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
390 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
391 -- Found Git: /usr/bin/git (found version "2.2.1")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
392 -- Found Ctags: /usr/bin/ctags (found version "5.8")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
393 -- Configuring done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
394 -- Generating done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
395 -- 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
396 [master]: make [~/Source/controller/Bootloader/build](hyatt@x230mas:pts/6)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
397 Scanning dependencies of target kiibohd_bootloader.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
398 [ 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
399 [ 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
400 [ 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
401 [ 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
402 [ 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
403 [ 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
404 [ 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
405 [ 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
406 Linking C executable kiibohd_bootloader.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
407 [ 88%] Built target kiibohd_bootloader.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
408 Scanning dependencies of target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
409 [100%] Chip usage for mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
410 SRAM: 19% 3176/16384 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
411 Flash: 2% 3736/126976 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
412 [100%] Built target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
413 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
414
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
415
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
416 Linux Loading Bootloader
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
417 ------------------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
418
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
419 > NOTE: Does not apply to Teensy based builds.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
420
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
421 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
422 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
423
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
424 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
425 $ cd Bootloader/Scripts
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
426 $ ./swdLoad.bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
427 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
428
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
429 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
430 `/dev/buspirate` udev rule.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
431
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
432 Additional Notes:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
433
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
434 * 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
435 * https://wiki.archlinux.org/index.php/Bus_pirate
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
436
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
437
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
438 Windows Building
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
439 ----------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
440
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
441 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
442
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
443 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
444 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
445 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
446 $ wincmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
447 $ make
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 Example output:
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 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
453 $ wincmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
454 -- Compiler Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
455 arm
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
456 -- Chip Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
457 mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
458 -- Chip Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
459 mk20dx
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
460 -- CPU Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
461 cortex-m4
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
462 -- Compiler Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
463 Lib/mk20dx.c;Lib/delay.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
464 -- Bootloader Type:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
465 dfu
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
466 -- Detected Scan Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
467 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
468 -- Detected Macro Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
469 Macro/PartialMap/macro.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
470 -- Detected Output Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
471 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
472 -- Detected Debug Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
473 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
474 -- 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
475 -- 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
476 -- Checking for latest kll version:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
477 Current branch master is up to date.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
478 -- Detected Layout Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
479 C:/cygwin64/home/Jacob/controller/Macro/PartialMap/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
480 C:/cygwin64/home/Jacob/controller/Output/pjrcUSB/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
481 C:/cygwin64/home/Jacob/controller/Scan/MD1/defaultMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
482 C:/cygwin64/home/Jacob/controller/kll/layouts/md1Overlay.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
483 C:/cygwin64/home/Jacob/controller/kll/layouts/stdFuncMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
484 C:/cygwin64/home/Jacob/controller/kll/layouts/hhkbpro2.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
485 -- Configuring done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
486 -- Generating done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
487 -- 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
488
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
489 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
490 [ 5%] Generating KLL Layout
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
491 Scanning dependencies of target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
492 [ 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
493 [ 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
494 [ 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
495 [ 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
496 [ 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
497 [ 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
498 [ 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
499 [ 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
500 [ 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
501 [ 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
502 [ 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
503 [ 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
504 [ 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
505 [ 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
506 [ 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
507 Linking C executable kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
508 [ 94%] Built target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
509 Scanning dependencies of target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
510 [100%] Chip usage for mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
511 SRAM: 32% 5384/16384 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
512 Flash: 18% 23296/126976 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
513 [100%] Built target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
514 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
515
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
516 ### NOTES:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
517
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
518 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
519
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
520 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
521 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
522 [ 5%] Generating KLL Layout
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
523 Scanning dependencies of target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
524 [ 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
525 ../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
526 #include <macro.h>
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
527 ^
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
528 compilation terminated.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
529 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
530 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
531 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
532 make[1]: *** [CMakeFiles/kiibohd.elf.dir/all] Error 2
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
533 Makefile:75: recipe for target 'all' failed
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
534 make: *** [all] Error 2
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
535 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
536
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
537 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
538 cygwin shell.
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
541 Windows Loading Firmware
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 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
545 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
546 Virtual Serial Interface and using the `reload` command.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
547
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
548 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
549 USB.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
550
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
551 To load the newly built firmware: `./load`
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
552
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
553 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
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 Mac OS X Building
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
559 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
560
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
561 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
562 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
563 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
564 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
565 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
566 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
567
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
568 Example output:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
569
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
570 > TODO
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
571
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
572
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
573 Mac OS X Loading Firmware
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
574 -------------------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
575
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
576 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
577 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
578 Virtual Serial Port and using the `reload` command.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
579
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
580 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
581 USB.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
582
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
583 To load the newly built firmware: `./load`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
584
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
585
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
586 Virtual Serial Port - CLI
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
587 -------------------------
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
588
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
589 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
590 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
591
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
592
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
593 ### Linux
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 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
596 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
597
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
598 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
599 $ screen /dev/ttyACM0
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
600 # (Might be ACM1, ACM2, etc.)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
601 ```
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
602
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
603 ### Windows
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
604
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
605 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
606 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
607 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
608 brackets it will say which COM port (e.g. COM3)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
609
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
610 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
611
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
612 | Setting | Value |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
613 | --------------- | ------------------------------------- |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
614 | Connection type | Serial |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
615 | Serial line | Your COM port, e.g. COM3 |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
616 | Speed | doesn't matter, it's auto-negotiated |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
617
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
618 Under `Category->Connections->Serial`: `Flow control: DTR/DSR`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
619
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
620 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
621 `Category->Window->Colours->Use system color`. That seems to make text at
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
622 least readable
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 > 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
625 > -HaaTa.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
626
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
627 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
628 can try it...
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
629
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
630 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
631 $ screen /dev/ttyS2
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
632 # Might be a different file, ttyS0, ttyACM0, ttyUSB0, etc.
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
635 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
636 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
637
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
638 ### Mac OS X
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
639
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
640 I recommend screen (can be installed via Macports).
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 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
643 $ screen /dev/tty.<usb something>
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
644 ```