stabilizer - use Hydra builds, remove mentions of the old version #18

Merged
esavkin merged 1 commits from mwojcik/assembly:stabilizer-new into master 2024-06-07 10:10:59 +08:00
1 changed files with 18 additions and 15 deletions

View File

@ -10,9 +10,19 @@ EEM is used for power only, and it can be alternatively powered by 12V barrel ja
Not present in the JSON.
## Building
## Getting the firmware
Pick your poison - firmware version: older with Pounder support or newer with USB serial console - the first works with a hardcoded MQTT broker and (static or dynamic) IP address, the latter is configured like the booster - through a serial console.
You can get the firmware from [Hydra](https://nixbld.m-labs.hk/jobset/mcu/mcu-contrib).
* ``stabilizer-dual-iir`` supports Pounder v1.2 - probably you should flash this one,
* ``stabilizer-dual-iir-pounder_v1_0`` supports Pounder 1.0 and 1.1 (legacy),
* ``stabilizer-lockin`` is a different application which we do not usually flash.
These all include changes to the mainline code to include Pounder telemetry.
### Building (optional)
Please keep in mind that the firmware from the official Quartiq repository does not include support for Pounder in MQTT, you may need to use a fork for that. But if the stabilizer is without a Pounder, it's also a valid option.
There is no Nix Flake support to make things easier, so you need to set up rust and cargo manually. Start with cloning the stabilizer repository and opening a new shell with dfu-util (for flashing) and rustup (for building).
@ -30,27 +40,18 @@ rustup update
rustup default stable
```
Building the older version:
```
BROKER="MQTT BROKER IP" cargo build --release
BROKER="MQTT BROKER IP" cargo objcopy --release --bin dual-iir -- -O binary dual-iir.bin
```
Building the newer version:
Building:
```
cargo build --release
cargo objcopy --release --bin dual-iir -- -O binary dual-iir.bin
```
The newer version must be configured with USB console later (try ``help`` command first).
## Flashing
Once you have the binary (either built, or received from someone), you can now flash it.
Once you have the binary, you can now flash it.
Without firmware on the device or with older firmware, you need to use the jumper method:
Without firmware on the device or with older firmware (without USB serial console), you need to use the jumper method:
1. Have the Stabilizer disconnected from power.
2. Use a jumper of some sort to short BOOT pins on the board.
@ -75,9 +76,11 @@ dfu-util -a 0 -s 0x08000000:leave -R -D dual-iir.bin
7. Look for "File downloaded successfully".
For normal usage, the stabilizer must be configured with USB console later (try ``help`` command first), to set its IP address and MQTT broker address. However, for general testing (like the one below), you don't need to configure it any further.
## Testing
1. Ensure that the [firmware](https://github.com/quartiq/stabilizer) has been flashed onto the Stabilizer
1. Ensure that the [firmware](#getting-the-firmware) has been flashed onto the Stabilizer
2. Turn on the crate/Stabilizer via EEM cable or power supply
3. Set up the signal generator for an amplitude of 1V, frequency of 10kHz, and a sine wave
4. Use the splitter to connect the generator's output to ADC0 and to the oscilloscope (refer to the picture below)