|
@@ -1,15 +1,16 @@
|
1
|
1
|
# PD Buddy firmware
|
2
|
2
|
|
3
|
3
|
This is the firmware for the PD Buddy project. Currently, this specifically
|
4
|
|
-means the PD Buddy Sink. The firmware is currently under heavy development,
|
|
4
|
+means the [PD Buddy Sink][]. The firmware is currently under heavy development,
|
5
|
5
|
but is partially functional.
|
6
|
6
|
|
|
7
|
+[PD Buddy Sink]: https://git.clayhobbs.com/clay/pd-buddy-sink
|
|
8
|
+
|
7
|
9
|
## Prerequisites
|
8
|
10
|
|
9
|
11
|
To compile the firmware, you must first install the [GNU ARM Embedded
|
10
|
|
-Toolchain](https://launchpad.net/gcc-arm-embedded). Details of its
|
11
|
|
-installation is beyond the scope of this README. Once the toolchain is
|
12
|
|
-installed, clone this repository with:
|
|
12
|
+Toolchain][toolchain]. Details of its installation is beyond the scope of this
|
|
13
|
+README. Once the toolchain is installed, clone this repository with:
|
13
|
14
|
|
14
|
15
|
$ git clone --recursive http://git.clayhobbs.com/clay/pd-buddy-firmware.git
|
15
|
16
|
|
|
@@ -17,9 +18,13 @@ This will give you a complete copy of the repository, including the ChibiOS
|
17
|
18
|
submodule.
|
18
|
19
|
|
19
|
20
|
You will also need to install some program to flash the firmware. The simplest
|
20
|
|
-option is [dfu-util](http://dfu-util.sourceforge.net/), as it requires no extra
|
21
|
|
-hardware. If you prefer to use SWD, you could also use
|
22
|
|
-[stlink](https://github.com/texane/stlink) or [OpenOCD](http://openocd.org/).
|
|
21
|
+option is [dfu-util][], as it requires no extra hardware. If you prefer to use
|
|
22
|
+SWD, you could also use [stlink][] or [OpenOCD][].
|
|
23
|
+
|
|
24
|
+[toolchain]: https://launchpad.net/gcc-arm-embedded
|
|
25
|
+[dfu-util]: http://dfu-util.sourceforge.net/
|
|
26
|
+[stlink]: https://github.com/texane/stlink
|
|
27
|
+[OpenOCD]: http://openocd.org/
|
23
|
28
|
|
24
|
29
|
## Compiling
|
25
|
30
|
|
|
@@ -62,15 +67,15 @@ OpenOCD can also be used to flash the firmware. For example:
|
62
|
67
|
After first flashing the PD Buddy Sink, the device has no configuration. To
|
63
|
68
|
configure it, plug it into your computer while holding the "Setup" button. The
|
64
|
69
|
LED should blink once per second to indicate that the device is in
|
65
|
|
-configuration mode. The Sink provides a virtual serial port for editing its
|
66
|
|
-configuration.
|
|
70
|
+configuration mode. There are then two ways to configure the Sink: a serial
|
|
71
|
+terminal, or the configuration GUI.
|
67
|
72
|
|
68
|
73
|
### Configuration with the Serial Terminal
|
69
|
74
|
|
70
|
75
|
Connect to the PD Buddy Sink with your favorite serial console program, such as
|
71
|
|
-GNU Screen, Minicom, or PuTTY. Press Enter, and you should be greeted with a
|
72
|
|
-`PDBS)` prompt. The `help` command gives brief summaries of each of the
|
73
|
|
-available commands.
|
|
76
|
+[GNU Screen][], [Minicom][], or [PuTTY][]. Press Enter, and you should be
|
|
77
|
+greeted with a `PDBS)` prompt. The `help` command gives brief summaries of
|
|
78
|
+each of the available commands.
|
74
|
79
|
|
75
|
80
|
To configure the PD Buddy Sink to request 2.25 A at 20 V, run the following
|
76
|
81
|
commands:
|
|
@@ -82,6 +87,17 @@ commands:
|
82
|
87
|
When `write` is run, the chosen settings are written to flash. You can then
|
83
|
88
|
simply disconnect the Sink from your computer.
|
84
|
89
|
|
|
90
|
+[GNU Screen]: https://www.gnu.org/software/screen/
|
|
91
|
+[Minicom]: https://alioth.debian.org/projects/minicom
|
|
92
|
+[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
|
93
|
+
|
|
94
|
+### Configuration with the GUI
|
|
95
|
+
|
|
96
|
+The Sink can also be configured by the [PD Buddy Configuration][pd-buddy-gtk]
|
|
97
|
+GUI. For more information, see that repository's README.
|
|
98
|
+
|
|
99
|
+[pd-buddy-gtk]: https://git.clayhobbs.com/clay/pd-buddy-gtk
|
|
100
|
+
|
85
|
101
|
### Using the configured PD Buddy Sink
|
86
|
102
|
|
87
|
103
|
Once the Sink has been configured, just plug it into your USB PD power supply.
|