annotate README.markdown @ 277:aabd00e4b17b

Convert README to Markdown format. This makes it render nicely on GitHub's website, as well as having a consistent plain-text format that should be familiar to many.
author Mike Cooper <mythmon@gmail.com>
date Wed, 11 Feb 2015 22:22:12 -0800
parents
children 65df0d7b0f88 ab4515606277
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
12 Building on Mac should be ok for 99% of users with Macports (haven't tried
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
13 Brew). The dfu Bootloader will not build correctly with the old version of
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
14 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
15 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
16 fit on the chip (must be less than 4096 Bytes).
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
17
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
26 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
27 **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
28 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
29 regarding spaces in paths.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
30
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
31 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
32 product :D
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
33
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 General Dependencies
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
36 --------------------
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 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
39
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
40 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
41 one:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
42
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
43 - cmake (2.8 and higher)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
44 - git
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
45 - ctags (recommended, not required)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
46 - python3
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
47 - libusb1.0 (and -devel)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
48 - make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
49
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
50 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
51 versions below)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
52
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
53 - avr-gcc (~4.8.0)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
54 - avr-binutils (~2.23.2)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
55 - avr-libc (~1.8.0)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
56
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
57 ARM Specific (Teensy 3.0/3.1, Infinity Keyboard, McHCK)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
58
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
59 - Arch Linux / Mac Ports
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
60 - arm-none-eabi-gcc
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
61 - arm-none-eaby-binutils
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
62
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
63 - Windows (https://launchpad.net/gcc-arm-embedded/+download)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
64 - gcc-arm-none-eabi (win32.zip)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
65
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 Windows Setup
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
68 -------------
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 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
71
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
72 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
73 is fine. Make sure the following are installed:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
74
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
75 - make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
76 - git (needed for some compilation info)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
77 - cmake
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
78 - gcc-core
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
79 - gcc-g++
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
80 - libusb1.0
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
81 - libusb1.0-devel
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
82 - python3
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
83 - ctags (recommended, not required)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
84
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
85 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
86 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
87
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
88 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
89 (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
90 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
91 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
92 is correct:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
93
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
94 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
95
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
96 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
97
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
98 Next, install the compiler(s) you want.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
99
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 ### AVR GCC
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
102
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
103 You just need the
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
104 [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
105 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
106
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
107 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
108 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
109 `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
110 faster/simpler. Might screw up your Cygwin though).
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
111
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 ### ARM EABI
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
114
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
115 Download the latest
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
116 [GNU Tools for Embedded Processors
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
117 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
118
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
119 Download `gcc-arm-none-eabi*win32.zip`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
120
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
121 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
122 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
123 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
124
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 CMake Info
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
127 ----------
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 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
130 configurations (for different microcontrollers) at the same time. The
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
131 following sections explain in detail what each CMakeLists.txt configuration
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
132 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
133 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
134
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
135 For example, to build the Infinity Keyboard default configuration:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
136
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
137 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
138 $ mkdir build_infinity
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
139 $ cd build_infinity
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
140 $ cmake -DCHIP=mk20dx128vlf5 -DScanModule=MD1 -DMacroModule=PartialMap \
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
141 -DOutputModule=pjrcUSB -DDebugModule=full -DBaseMap=defaultMap \
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
142 -DDefaultMap="md1Overlay stdFuncMap" -DPartialMaps="hhkbpro2" \
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
143 ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
144 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
145 ```
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 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
148 the command line.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
149
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
150 > 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
151
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 Selecting Microcontroller
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
154 -------------------------
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 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
157 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
158
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
159 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
160
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
161 ```cmake
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
162 ###
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
163 # Chip Selection
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
164 #
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 #| 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
167 #| 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
168 #|
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
169 set( CHIP
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
170 # "at90usb162" # Teensy 1.0 (avr)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
171 # "atmega32u4" # Teensy 2.0 (avr)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
172 # "at90usb646" # Teensy++ 1.0 (avr)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
173 # "at90usb1286" # Teensy++ 2.0 (avr)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
174 # "mk20dx128" # Teensy 3.0 (arm)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
175 "mk20dx128vlf5" # McHCK mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
176 # "mk20dx256" # Teensy 3.1 (arm)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
177 CACHE STRING "Microcontroller Chip" )
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
178 ```
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 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
181
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
182 > 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
183 > directory that is created in the Building sections below.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
184
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 Selecting Modules
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
187 -----------------
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 > 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
190 > dependencies on other modules.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
191
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
192 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
193 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
194 functionality:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
195
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
196 - Scan Module
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
197 - Macro Module
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
198 - Output Module
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
199 - Debug Module
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
200
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
201 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
202 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
203 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
204 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
205 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
206 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
207 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
208 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
209
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
210 Some scan modules have very specialized hardware requirements, each module
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
211 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
212 (TODO!).
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
213
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
214 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
215 an Output (USB) scan code. Any layering, macros, keypress
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
216 intelligence/reaction is done here.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
217
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
218 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
219 Currently USB is the only output protocol. Different USB output
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
220 implementations are available, pjrc being the safest/least featureful one.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
221 Debug capabilities may depend on the module selected.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
222
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
223 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
224 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
225
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
226 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
227
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
228 ```cmake
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
229 ###
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
230 # Project Modules
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
231 #
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 #| 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
234 #| 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
235 #| 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
236 #| 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
237
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
238 #| 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
239
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
240 ##| 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
241 set( ScanModule "MD1"
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
242 CACHE STRING "Scan Module" )
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
243
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
244 ##| 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
245 set( MacroModule "PartialMap"
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
246 CACHE STRING "Macro Module" )
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
247
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
248 ##| 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
249 set( OutputModule "pjrcUSB"
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
250 CACHE STRING "Output Module" )
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
251
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
252 ##| 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
253 set( DebugModule "full"
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
254 CACHE STRING "Debug Module" )
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
255 ```
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 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
258 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
259 be tested/compile.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
260
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
261 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
262 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
263
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 Linux Building
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
266 --------------
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 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
269
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
270 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
271 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
272 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
273 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
274 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
275 ```
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 Example output:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
278
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 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
281 -- Compiler Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
282 arm
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
283 -- Chip Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
284 mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
285 -- Chip Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
286 mk20dx
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
287 -- CPU Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
288 cortex-m4
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
289 -- Compiler Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
290 Lib/mk20dx.c;Lib/delay.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
291 -- Bootloader Type:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
292 dfu
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
293 -- Detected Scan Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
294 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
295 -- Detected Macro Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
296 Macro/PartialMap/macro.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
297 -- Detected Output Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
298 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
299 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
300 -- Detected Debug Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
301 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
302 -- Found Git: /usr/bin/git (found version "2.2.1")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
303 -- Found Ctags: /usr/bin/ctags (found version "5.8")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
304 -- Checking for latest kll version:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
305 Current branch master is up to date.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
306 -- Detected Layout Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
307 /home/hyatt/Source/controller/Macro/PartialMap/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
308 /home/hyatt/Source/controller/Output/pjrcUSB/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
309 /home/hyatt/Source/controller/Scan/MD1/defaultMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
310 /home/hyatt/Source/controller/kll/layouts/md1Overlay.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
311 /home/hyatt/Source/controller/kll/layouts/stdFuncMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
312 /home/hyatt/Source/controller/kll/layouts/hhkbpro2.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
313 -- Configuring done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
314 -- Generating done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
315 -- 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
316 [master]: make [~/Source/controller/build](hyatt@x230mas:pts/6)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
317 [ 5%] Generating KLL Layout
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
318 Scanning dependencies of target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
319 [ 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
320 [ 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
321 [ 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
322 [ 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
323 [ 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
324 [ 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
325 [ 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
326 [ 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
327 [ 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
328 [ 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
329 [ 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
330 [ 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
331 [ 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
332 [ 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
333 [ 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
334 Linking C executable kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
335 [ 94%] Built target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
336 Scanning dependencies of target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
337 [100%] Chip usage for mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
338 SRAM: 32% 5384/16384 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
339 Flash: 18% 23384/126976 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
340 [100%] Built target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
341 ```
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 Linux Loading Firmware
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
344 ----------------------
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 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
347 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
348 Virtual Serial Port and using the 'reload' command.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
349
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
350 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
351 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
352 `/etc/udev/rules.d` and run: `udevadm control --reload-rules`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
353
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
354 To load the newly built firmware: `./load`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
355
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 Linux Building Bootloader
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
358 -------------------------
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 > NOTE: Does not apply to Teensy based builds.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
361
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
362 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
363
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
364 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
365 $ cd Bootloader
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
366 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
367 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
368 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
369 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
370 ```
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 Example output:
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 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
375 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
376 -- Compiler Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
377 arm
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
378 -- Chip Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
379 mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
380 -- Chip Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
381 mk20dx
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
382 -- CPU Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
383 cortex-m4
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
384 -- Compiler Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
385 Lib/mk20dx.c;Lib/delay.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
386 -- Bootloader Type:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
387 dfu
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
388 -- Bootloader Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
389 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
390 -- Found Git: /usr/bin/git (found version "2.2.1")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
391 -- Found Ctags: /usr/bin/ctags (found version "5.8")
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
392 -- Configuring done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
393 -- Generating done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
394 -- 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
395 [master]: make [~/Source/controller/Bootloader/build](hyatt@x230mas:pts/6)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
396 Scanning dependencies of target kiibohd_bootloader.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
397 [ 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
398 [ 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
399 [ 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
400 [ 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
401 [ 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
402 [ 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
403 [ 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
404 [ 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
405 Linking C executable kiibohd_bootloader.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
406 [ 88%] Built target kiibohd_bootloader.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
407 Scanning dependencies of target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
408 [100%] Chip usage for mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
409 SRAM: 19% 3176/16384 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
410 Flash: 2% 3736/126976 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
411 [100%] Built target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
412 ```
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 Linux Loading Bootloader
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
416 ------------------------
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 > NOTE: Does not apply to Teensy based builds.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
419
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
420 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
421 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
422
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
423 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
424 $ cd Bootloader/Scripts
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
425 $ ./swdLoad.bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
426 ```
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 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
429 `/dev/buspirate` udev rule.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
430
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
431 Additional Notes:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
432
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
433 * 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
434 * https://wiki.archlinux.org/index.php/Bus_pirate
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
435
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 Windows Building
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
438 ----------------
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 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
441
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
442 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
443 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
444 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
445 $ wincmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
446 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
447 ```
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 Example output:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
450
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
451 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
452 $ wincmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
453 -- Compiler Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
454 arm
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
455 -- Chip Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
456 mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
457 -- Chip Family:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
458 mk20dx
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
459 -- CPU Selected:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
460 cortex-m4
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
461 -- Compiler Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
462 Lib/mk20dx.c;Lib/delay.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
463 -- Bootloader Type:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
464 dfu
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
465 -- Detected Scan Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
466 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
467 -- Detected Macro Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
468 Macro/PartialMap/macro.c
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
469 -- Detected Output Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
470 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
471 -- Detected Debug Module Source Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
472 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
473 -- 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
474 -- 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
475 -- Checking for latest kll version:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
476 Current branch master is up to date.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
477 -- Detected Layout Files:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
478 C:/cygwin64/home/Jacob/controller/Macro/PartialMap/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
479 C:/cygwin64/home/Jacob/controller/Output/pjrcUSB/capabilities.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
480 C:/cygwin64/home/Jacob/controller/Scan/MD1/defaultMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
481 C:/cygwin64/home/Jacob/controller/kll/layouts/md1Overlay.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
482 C:/cygwin64/home/Jacob/controller/kll/layouts/stdFuncMap.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
483 C:/cygwin64/home/Jacob/controller/kll/layouts/hhkbpro2.kll
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
484 -- Configuring done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
485 -- Generating done
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
486 -- 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
487
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
488 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
489 [ 5%] Generating KLL Layout
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
490 Scanning dependencies of target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
491 [ 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
492 [ 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
493 [ 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
494 [ 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
495 [ 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
496 [ 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
497 [ 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
498 [ 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
499 [ 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
500 [ 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
501 [ 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
502 [ 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
503 [ 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
504 [ 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
505 [ 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
506 Linking C executable kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
507 [ 94%] Built target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
508 Scanning dependencies of target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
509 [100%] Chip usage for mk20dx128vlf5
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
510 SRAM: 32% 5384/16384 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
511 Flash: 18% 23296/126976 bytes
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
512 [100%] Built target SizeAfter
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
513 ```
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 ### NOTES:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
516
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
517 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
518
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
519 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
520 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
521 [ 5%] Generating KLL Layout
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
522 Scanning dependencies of target kiibohd.elf
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
523 [ 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
524 ../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
525 #include <macro.h>
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 compilation terminated.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
528 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
529 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
530 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
531 make[1]: *** [CMakeFiles/kiibohd.elf.dir/all] Error 2
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
532 Makefile:75: recipe for target 'all' failed
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
533 make: *** [all] Error 2
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
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
536 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
537 cygwin shell.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
538
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 Windows Loading Firmware
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
541 ------------------------
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 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
544 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
545 Virtual Serial Interface and using the `reload` command.
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 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
548 USB.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
549
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
550 To load the newly built firmware: `./load`
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
551
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
552 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
553
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 Mac OS X Building
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
556 -----------------
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 From this directory.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
559
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
560 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
561 $ mkdir build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
562 $ cd build
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
563 $ cmake ..
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
564 $ make
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
565 ```
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 Example output:
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
568
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
569 > TODO
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
570
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 Mac OS X Loading Firmware
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
573 -------------------------
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 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
576 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
577 Virtual Serial Port and using the `reload` command.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
578
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
579 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
580 USB.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
581
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
582 To load the newly built firmware: `./load`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
583
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 Virtual Serial Port - CLI
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
586 -------------------------
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 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
589 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
590
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 ### Linux
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
593
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
594 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
595 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
596
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 $ screen /dev/ttyACM0
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
599 # (Might be ACM1, ACM2, etc.)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
600 ```
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 ### Windows
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
603
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
604 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
605 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
606 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
607 brackets it will say which COM port (e.g. COM3)
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
608
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
609 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
610
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
611 | Setting | Value |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
612 | --------------- | ------------------------------------- |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
613 | Connection type | Serial |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
614 | Serial line | Your COM port, e.g. COM3 |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
615 | Speed | doesn't matter, it's auto-negotiated |
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
616
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
617 Under `Category->Connections->Serial`: `Flow control: DTR/DSR`.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
618
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
619 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
620 `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
621 least readable
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
622
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
623 > 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
624 > -HaaTa.
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 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
627 can try it...
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
628
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
629 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
630 $ screen /dev/ttyS2
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
631 # Might be a different file, ttyS0, ttyACM0, ttyUSB0, etc.
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
632 ```
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 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
635 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
636
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
637 ### Mac OS X
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
638
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
639 I recommend screen (can be installed via Macports).
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
640
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
641 ```bash
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
642 $ screen /dev/tty.<usb something>
aabd00e4b17b Convert README to Markdown format.
Mike Cooper <mythmon@gmail.com>
parents:
diff changeset
643 ```