Skip to content
Snippets Groups Projects

support: update embassy-stm32 to fix address of backup registers

Merged Samuel Tardieu requested to merge update-embassy-stm32 into main
Files
2
+ 39
0
use color_eyre::eyre::Context;
use std::{fs::File, io::Write, time::Duration};
use tele0592::Controller as _;
const PERIOD: Duration = Duration::from_millis(20);
const STEPS: usize = 200;
const RAW: bool = true;
fn main() -> color_eyre::Result<()> {
color_eyre::install()?;
let mut controller = rppal::i2c::I2c::with_bus(8).with_context(|| "opening I²C bus")?;
println!(
"Firmware version: {:?}",
controller.check_firmware_version()?
);
controller.set_motor_shutdown_timeout(Duration::from_secs(1))?;
controller.set_raw_pid_coefficients(0x80, 0x03, 0x00)?;
let mut relative = controller.new_relative()?;
let mut csv = File::create("encoders.csv")?;
for speed in [
10, 20, 30, 40, 50, 60, 70, 80, 0, -10, -20, -30, -40, -50, -60, -70, -80, 0,
] {
if RAW {
println!("Setting raw motor speeds to {speed}");
controller.set_raw_motor_speed(Some(speed), Some(speed))?;
} else {
println!("Setting motor speeds to {speed}");
controller.set_motor_speed(i16::from(speed), i16::from(speed))?;
}
for _ in 1..STEPS {
std::thread::sleep(PERIOD);
let (left, right) = controller.get_relative_encoder_ticks(&mut relative)?;
writeln!(csv, "{speed},{left},{right}")?;
}
}
Ok(())
}
Loading