From 8ec701c2117d9e07678c393d98b74414ad112837 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Fri, 25 Jul 2025 11:11:58 +0800 Subject: wip: move the servo incrementally. --- main.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 326f4ac..fc43684 100644 --- a/main.c +++ b/main.c @@ -13,6 +13,7 @@ #define PWM_MID 1600 #define PWM_MAX 2550 #define PWM_TOP 19999 +#define PWM_DELTA 50 #define LED_PIN PB5 #define LED_DDR DDRB @@ -54,14 +55,22 @@ static volatile enum CTRL cmd = NONE; static inline void lock(void) { - OCR1A = PWM_MID; - _delay_ms(500); + int pwm; + + for (pwm = PWM_MID + PWM_DELTA; pwm < PWM_MAX; pwm += PWM_DELTA) { + OCR1A = pwm; + _delay_ms(50); + } } static inline void unlock(void) { - OCR1A = PWM_MAX; - _delay_ms(500); + int pwm; + + for (pwm = PWM_MAX - PWM_DELTA; pwm > PWM_MID; pwm -= PWM_DELTA) { + OCR1A = pwm; + _delay_ms(50); + } } static inline void flash_led(void) -- cgit v1.2.3