diff --git a/src/hw/booster.md b/src/hw/booster.md index 9ab758c..a67a00c 100644 --- a/src/hw/booster.md +++ b/src/hw/booster.md @@ -8,9 +8,40 @@ ### Flashing +#### Easier way + +```shell +# download binary from https://files.m-labs.hk/s/DcJwdC33tyBK7at +nix-shell -p dfu-util +dfu-util -a 0 -s 0x08000000:leave --download booster0.5.0.bin +``` + +#### Build from source on Fedora 38 + +Creating proper Nix shell for updated Rust is quite troublesome, so the faster way is actually to use any +classic Linux distribution: + +```shell +git clone https://github.com/quartiq/booster.git # download sources +sudo dnf install clang dfu-util +cd booster/ +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # install Rust, we need rustup +rustup target add thumbv7em-none-eabihf +cargo install cargo-binutils +rustup component add llvm-tools-preview +cargo build --release +cargo objcopy --release -- -O binary booster.bin +# enter dfu mode by either serial terminal or +# press `DFU Bootloader` button while rebooting +dfu-util -a 0 -s 0x08000000:leave --download booster.bin +``` + +#### For version before September 2023 on NixOS + ```shell git clone git@github.com:quartiq/booster.git cd booster +git checkout f7d89f4d9d7760e8bc73ec13f17212512b60af15 # or earlier nix-shell -p rustup cargo rustc dfu-util rustup target add thumbv7em-none-eabihf cargo install cargo-binutils @@ -32,7 +63,7 @@ dfu-util -a 0 -s 0x08000000:leave --download booster.bin ``` 3. `mosquitto -c mosquitto.conf -d` 4. Run `cutecom` -5. Connect to the Booster via `/dev/ttyACMX` port, baud 9600 +5. Connect to the Booster via `/dev/ttyACMX` port, baud 9600, switch from LF to CR on newer version 6. Send `help` command to check if it works 7. Enter commands (change details if necessary): ```shell @@ -44,6 +75,13 @@ dfu-util -a 0 -s 0x08000000:leave --download booster.bin # apply changes and wait until it fully rebooted reset ``` + Newer version: + ```shell + write broker "192.168.1.123" + write ip "192.168.1.75" + # apply changes and wait until it fully rebooted + reset + ``` 8. Check the Booster connects to your broker. 9. Download AppImage from [MQTT Explorer](https://mqtt-explorer.com/) 10. Run it with `appimage-run /path/to/MQTT-Explorer-XXX.AppImage` @@ -58,7 +96,12 @@ dfu-util -a 0 -s 0x08000000:leave --download booster.bin 4. Configure oscilloscope for 1M Ohm impedance 5. Attach attenuator to the Urukul's RF2 6. `cd py/` -7. You may also need to download or install python's `gmqtt` and `miniconf` +7. You may also need to download or install python's `gmqtt` and `miniconf`: + ```shell + python -m venv env + source env/bin/activate.fish + pip install git+https://github.com/quartiq/miniconf#subdirectory=py/miniconf-mqtt + ``` 8. Enable channels: `python -m booster --broker 192.168.1.123 --prefix dt/sinara/booster/xx-xx-xx-xx-xx-xx --channel N tune=0.1` 9. Using [booster_template](../extra/booster_template.ods) fill in `y0`, `y1`, `m`, `c`, values using instructions below 10. Update settings with the adjusted values