forked from sinara-hw/assembly
Fix stabilizer formatting
Signed-off-by: Egor Savkin <es@m-labs.hk>
This commit is contained in:
parent
746ba53dab
commit
7dfe91b523
@ -14,17 +14,19 @@ Not present in the JSON.
|
|||||||
|
|
||||||
You can get the firmware from [Hydra](https://nixbld.m-labs.hk/jobset/mcu/mcu-contrib).
|
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` 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-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.
|
* `stabilizer-lockin` is a different application which we do not usually flash.
|
||||||
|
|
||||||
These all include changes to the mainline code to include Pounder telemetry.
|
These all include changes to the mainline code to include Pounder telemetry.
|
||||||
|
|
||||||
### Building (optional)
|
### 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.
|
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).
|
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).
|
||||||
|
|
||||||
```
|
```
|
||||||
nix-shell -p dfu-util rustup
|
nix-shell -p dfu-util rustup
|
||||||
@ -62,35 +64,30 @@ With newer firmware with USB serial console:
|
|||||||
|
|
||||||
1. Connect the Stabilizer to power.
|
1. Connect the Stabilizer to power.
|
||||||
2. Connect USB cable to the Stabilizer.
|
2. Connect USB cable to the Stabilizer.
|
||||||
3. Run ``nix-shell -p python312Packages.pyserial``.
|
3. Ensure you have `pyserial` module either with `nix-shell -p python312Packages.pyserial` for NixOS users
|
||||||
4. Run ``python -m serial /dev/ttyACM0`` to connect the serial port using ``pyserial``.
|
or using `pip install pyserial` if you are using venv.
|
||||||
5. Input ``platform dfu`` in the console.
|
4. Run `python -m serial /dev/ttyACM0` to connect the serial port using `pyserial`.
|
||||||
6. Run ``nix-shell -p dfu-util``.
|
5. Input `platform dfu` in the console.
|
||||||
|
6. Once the device is now in DFU mode, flash the device with the following command (needs `nix-shell -p dfu-util`):
|
||||||
And for both:
|
```
|
||||||
|
dfu-util -a 0 -s 0x08000000:leave -R -D stabilizer-dual-iir.bin
|
||||||
5. The device is now in DFU mode.
|
```
|
||||||
6. Flash the device with the following command:
|
|
||||||
|
|
||||||
```
|
|
||||||
dfu-util -a 0 -s 0x08000000:leave -R -D stabilizer-dual-iir.bin
|
|
||||||
```
|
|
||||||
|
|
||||||
7. Look for "File downloaded successfully".
|
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.
|
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.
|
||||||
|
|
||||||
### Clearing settings
|
### Clearing settings
|
||||||
|
|
||||||
In case someone sets some setting wrongly, or updates the firmware and suddenly there's an incompatibility, you may find (firmware, not yourself) in a state of panic, where it will not allow you to change the settings back.
|
In case someone sets some setting wrongly, or updates the firmware and suddenly there's an incompatibility,
|
||||||
|
you may find (firmware, not yourself) in a state of panic, where it will not allow you to change the settings back.
|
||||||
|
|
||||||
1. Get into DFU mode (described above), probably with jumper method.
|
1. Get into DFU mode (described above), probably with jumper method.
|
||||||
2. Use dfu-util to clear the flash completely:
|
2. Use dfu-util to clear the flash completely:
|
||||||
|
```
|
||||||
```
|
dfu-util -a 0 -s 0x08000000:mass-erase:force:leave
|
||||||
dfu-util -a 0 -s 0x08000000:mass-erase:force:leave
|
```
|
||||||
```
|
|
||||||
|
|
||||||
3. Reflash the target firmware.
|
3. Reflash the target firmware.
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
Loading…
Reference in New Issue
Block a user