From 022e4317f254137e53f8794032d5be400f0043f0 Mon Sep 17 00:00:00 2001 From: Andy Killorin <37423245+Speedy6451@users.noreply.github.com> Date: Tue, 14 May 2024 13:37:36 -0500 Subject: [PATCH] tuned servo pwm parameters --- src/servo.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/servo.rs b/src/servo.rs index 07b5737..3ebe73e 100644 --- a/src/servo.rs +++ b/src/servo.rs @@ -2,8 +2,10 @@ use arduino_hal::pac::tc1::OCR1B; use arduino_hal::pac::tc1::OCR1A; use arduino_hal::pac::TC1; -const MIN: u16 = 100; // *4us = .4ms -const MAX: u16 = 700; // *4us = 2.8ms +const CENTER: u16 = 375; +const RADIUS: u16 = 185; +const MIN: u16 = CENTER-RADIUS; // *4us +const MAX: u16 = CENTER+RADIUS; // *4us const RANGE: u16 = MAX-MIN; pub(crate) trait Servo { @@ -17,7 +19,7 @@ pub(crate) trait Servo { #[inline(always)] /// -1.0 full reverse, 1.0 full forward -fn calculate_duty(speed: f32) -> u16 { +pub fn calculate_duty(speed: f32) -> u16 { let speed = speed / 2.0 + 0.5; let duty = speed * RANGE as f32 + MIN as f32; duty as u16