diff options
| -rw-r--r-- | main.c | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -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) |
