From df3be3b3cb0ef947e58cd6b7f38f8ba3ac9fffae Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Tue, 17 Jun 2025 08:38:42 +0800 Subject: Run at 3v3/8MHz. --- main.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index d495c3e..ba0c254 100644 --- a/main.c +++ b/main.c @@ -6,19 +6,19 @@ #include "fpm.h" -#define SERVO_PIN PB1 -#define SERVO_DDR DDRB +#define SERVO_PIN PB1 +#define SERVO_DDR DDRB -#define PWM_MIN 500 -#define PWM_MID 1600 -#define PWM_MAX 2550 -#define PWM_TOP 20000 +#define PWM_MIN 500 +#define PWM_MID 1600 +#define PWM_MAX 2550 +#define PWM_TOP 19999 -#define VCC_MIN 4900 +#define VCC_MIN 4900 -#define LED_PIN PB5 -#define LED_DDR DDRB -#define LED_PORT PORTB +#define LED_PIN PB5 +#define LED_DDR DDRB +#define LED_PORT PORTB #define FRONT_UNLOCK_PIN PD2 #define FRONT_LOCK_PIN PD3 @@ -52,15 +52,13 @@ static volatile int cmd = NONE; static inline void lock(void) { OCR1A = PWM_MID; - _delay_ms(100); - OCR1A = PWM_TOP; + _delay_ms(500); } static inline void unlock(void) { OCR1A = PWM_MAX; - _delay_ms(100); - OCR1A = PWM_TOP; + _delay_ms(500); } uint16_t getvcc(void) @@ -125,10 +123,11 @@ int main(void) (1 << BACK_LOCK_INT) | (1 << BACK_UNLOCK_INT)); /* servo */ + TCCR1A |= (1 << WGM11); + TCCR1B |= (1 << WGM12) | (1 << WGM13); + TCCR1B |= (1 << CS11); ICR1 = PWM_TOP; - TCCR1A |= (1 << WGM11) | (1 << COM1A1); - TCCR1B |= (1 << WGM13) | (1 << CS11); - + TCCR1A |= (1 << COM1A1); SERVO_DDR |= (1 << SERVO_PIN); fpm_init(); -- cgit v1.2.3