aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--README.md61
1 files changed, 46 insertions, 15 deletions
diff --git a/README.md b/README.md
index 315395f..d7ba329 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,10 @@ for full details.
If you want to know what changed recently, check the [ChangeLog](ChangeLog.md).
+For info about hardware-specific features, like what the channel modes are on
+multi-channel lights, browse into the [hw/](hw/) directories to find the
+hardware model and any hardware-specific documentation.
+
## Flashing Firmware
Get the latest updates by flashing new firmware!
@@ -50,6 +54,9 @@ A few things are needed to flash firmware:
One particularly useful guide is at https://anduril.click/ .
+More info about installing flashing programs is below, in
+[Flashing Programs](#flashing-programs).
+
## Compiling
The firmware can be deeply customized by modifying it and compiling your own
@@ -63,30 +70,54 @@ convenient.
### Prerequisites:
- - AVR toolchain packages:
- `sudo apt install gcc-avr avr-libc binutils-avr avrdude`
-
- - One or more Atmel DFPs (Device Family Pack) may be needed, to add support
- for recent AVR MCUs.
-
- - Download the Atmel ATtiny Series Device Support pack:
- http://packs.download.atmel.com/
+- AVR toolchain packages:
+ `sudo apt install gcc-avr avr-libc binutils-avr`
- - Unzip the pack somewhere on your build computer
+- Other misc packages:
+ `sudo apt install git wget unzip bash`
- - Set ATTINY_DFP=/path/to/where/you/unzipped/the/pack
- (either in your shell, or in this repo's bin/build.sh script)
-
- `export ATTINY_DFP=$HOME/src/torches/atmel/attiny-dfp`
+- Atmel DFPs (Device Family Packs). A small script is included to
+ download and install these for you:
+ `./make dfp`
### Building
Use the `make` script included in this repo. Run `./make --help` for details
about how to use it. In most cases though, you should be able to just run
`./make` by itself to compile all available build targets. Or give it a search
-term to limit builds to only a few, like `./make d4v2` to build all Emisar D4v2
-firmwares.
+term to limit builds to only a few, like `./make hank boost` to build all
+firmwares for Hanklights with optional boost drivers.
The compiled firmware goes into the `hex/` directory, ready to be used by any
firmware flashing program.
+## Customizing Settings Per User
+
+The build can be [customized per user](docs/per-user-config.md) by placing
+overrides into the `users/myname/` directory and letting the build script know
+your username. That way, your favorite settings can be applied automatically
+without having to modify the original source files.
+
+## Flashing Programs
+
+### AVRdude
+
+Usually avrdude installs in a single command:
+
+`sudo apt install avrdude`
+
+### PyMCUprog
+
+If you use `pymcuprog` to flash firmware, a few extras are needed:
+
+```sh
+sudo apt install python3 python3-pip python3-venv
+python3 -m venv env
+source env/bin/activate
+pip install pymcuprog
+```
+
+You'll need to `source env/bin/activate` every time you start a fresh shell,
+if you want to use pymcuprog. The activation lasts until the shell is
+closed or until you run `deactivate`.
+