CI: Don't use multiple jobs when building under CI, so that output is consistent.
[pub/lufa.git] / LUFA / Build / DMBS / DMBS / hid.md
1 DMBS - Dean's Makefile Build System
2 ===================================
3
4
5 Module: HID
6 -----------------
7
8 The HID module provides build targets to program a target running a PJRC Teensy
9 or LUFA compatible HID class bootloader.
10
11 ## Importing This Module into a Makefile:
12
13 To use this module in your application makefile, add the following code to your
14 makefile:
15
16 include $(DMBS_PATH)/hid.mk
17
18 ## Prerequisites:
19
20 This module requires the `teensy_loader_cli` utility to be available in your
21 system's `PATH` variable. The `teensy_loader_cli` utility is distributed in
22 a modified form (from PJRC) in the LUFA project's
23 [official site](http://www.lufa-lib.org/), but is also
24 made available in its original form directly from the
25 [PJRC website](https://www.pjrc.com/teensy/loader_cli.html). Note that the
26 original tool works with Teensy boards only, and not LUFA HID bootloader
27 devices.
28
29 This module requires the `hid_bootloader_cli` utility to be available in your
30 system's `PATH` variable. The `hid_bootloader_cli` Python script utility is
31 distributed in LUFA project's [official site](http://www.lufa-lib.org/).
32
33 This module requires the AVR-GCC compiler to be installed and available in the
34 system's `PATH` variable.
35
36 ## Build Targets:
37
38 The following targets are supported by this module:
39
40 <table>
41 <tbody>
42 <tr>
43 <td>hid</td>
44 <td>Program a LUFA HID class bootloader device, using the `hid_bootloader_cli.py` Python script.</td>
45 </tr>
46 <tr>
47 <td>hid-ee</td>
48 <td>Program a LUFA HID class bootloader device's EEPROM, using the `hid_bootloader_cli.py` Python script and a shim application which is programmed into the target's flash.</td>
49 </tr>
50 <tr>
51 <td>teensy</td>
52 <td>Program a LUFA HID class bootloader device or Teensy board, using the `teensy_loader_cli` tool.</td>
53 </tr>
54 <tr>
55 <td>teensy-ee</td>
56 <td>Program a LUFA HID class bootloader device's EEPROM, using the `teensy_loader_cli` tool and a shim application which is programmed into the target's flash.</td>
57 </tr>
58 </tbody>
59 </table>
60
61 ## Mandatory Variables:
62
63 The following variables must be defined (with a `NAME = VALUE` syntax, one
64 variable per line) in the user makefile to be able to use this module:
65
66 <table>
67 <tbody>
68 <tr>
69 <td>MCU</td>
70 <td>Name of the Atmel processor model (e.g. `at90usb1287`).</td>
71 </tr>
72 <tr>
73 <td>TARGET</td>
74 <td>Name of the application output file prefix (e.g. `TestApplication`).</td>
75 </tr>
76 </tbody>
77 </table>
78
79 ## Optional Variables:
80
81 The following variables may be defined (with a `NAME = VALUE` syntax, one
82 variable per line) in the user makefile. If not specified, a default value will
83 be assumed.
84
85 <table>
86 <tbody>
87 <tr>
88 <td>N/A</td>
89 <td>This module has no optional variables.</td>
90 </tr>
91 </tbody>
92 </table>
93
94 ## Provided Variables:
95
96 The following variables may be referenced in a user makefile (via `$(NAME)`
97 syntax) if desired, as they are provided by this module.
98
99 <table>
100 <tbody>
101 <tr>
102 <td>N/A</td>
103 <td>This module provides no variables.</td>
104 </tr>
105 </tbody>
106 </table>
107
108 ## Provided Macros:
109
110 The following macros may be referenced in a user makefile (via
111 `$(call NAME, ARG1, ARG2, ...)` syntax) if desired, as they are provided by
112 this module.
113
114 <table>
115 <tbody>
116 <tr>
117 <td>N/A</td>
118 <td>This module provides no macros.</td>
119 </tr>
120 </tbody>
121 </table>
122
123 ## Module Changelog:
124
125 The changes to this module since its initial release are listed below, as of the
126 DMBS version where the change was made.
127
128 ### 20160403
129 Initial release.