annotate README.markdown @ 308:ab4515606277

Fix whitespace Use a consistent standard - Tabs in front for indenting, spaces after for anything else. This way everything stays nice and lined up while also letting users change there prefered indent level. Most of the new files from Haata where already in this format.
author Rowan Decker <Smasher816@gmail.com>
date Sun, 08 Mar 2015 18:40:01 -0700
parents aabd00e4b17b
children 4f47971c45c2
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
308
ab4515606277 Fix whitespace
Rowan Decker <Smasher816@gmail.com>
parents: 277
diff changeset
621 least readable
277
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 ```