change pwm to match talon sr spec

This commit is contained in:
Andy Killorin 2024-10-29 11:15:25 -04:00
parent 66cfbda231
commit 432b4552c3
Signed by: ank
GPG key ID: 23F9463ECB67FE8C

View file

@ -70,11 +70,10 @@ async fn main(spawner: Spawner) {
spawner.spawn(logger_task(driver)).unwrap();
let mut c: pwm::Config = Default::default();
c.divider = 255.into();
c.top = 8715;
c.compare_b = 7210;
c.compare_a = 2240;
let mut pwm = Pwm::new_output_ab(p.PWM_SLICE1, p.PIN_18, p.PIN_19, c.clone());
c.divider = 40.into();
c.top = 62_500; // 20ms
c.compare_b = 4687; // 1.5ms
let mut pwm = Pwm::new_output_b(p.PWM_SLICE0, p.PIN_1, c.clone());
let fw = include_bytes!("../../cyw43-firmware/43439A0.bin");
let clm = include_bytes!("../../cyw43-firmware/43439A0_clm.bin");
@ -129,10 +128,10 @@ async fn main(spawner: Spawner) {
socket.set_timeout(Some(Duration::from_secs(3)));
let mut c: pwm::Config = Default::default();
c.divider = 255.into();
c.top = 8715;
c.compare_b = 0;
c.compare_a = 0;
c.divider = 40.into();
c.top = 62_500; // 20ms
// 3125 counts per ms
c.compare_b = 4687; // 1.5ms
pwm.set_config(&c);
control.gpio_set(0, false).await;
@ -166,15 +165,12 @@ async fn main(spawner: Spawner) {
match char::from_u32(segs.next().unwrap()[0] as u32).unwrap() {
'D' => {
let left: [u8;2] = hex::FromHex::from_hex(segs.next().unwrap()).unwrap();
let right: [u8;2] = hex::FromHex::from_hex(segs.next().unwrap()).unwrap();
info!("left {:?}, right {left:?}", right);
let pwr: [u8;2] = hex::FromHex::from_hex(segs.next().unwrap()).unwrap();
info!("power {pwr:?}");
let left = u16::from_be_bytes(left);
c.compare_a = left;
let right = u16::from_be_bytes(right);
c.compare_b = right;
info!("left {:?}, right {left:?}", right);
let pwr = u16::from_be_bytes(pwr);
c.compare_b = pwr;
info!("power {pwr:?}");
pwm.set_config(&c);
},
_ => {}