summaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-06-17 08:38:42 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-06-17 15:08:31 +0800
commitdf3be3b3cb0ef947e58cd6b7f38f8ba3ac9fffae (patch)
treef859f6d4a40aa6627ff38f247d563e78ad982d88 /main.c
parenta5e03524b0005c87bfda0e68b582cb06ba8ca8a1 (diff)
downloadfpm-door-lock-df3be3b3cb0ef947e58cd6b7f38f8ba3ac9fffae.tar.gz
Run at 3v3/8MHz.
Diffstat (limited to 'main.c')
-rw-r--r--main.c33
1 files changed, 16 insertions, 17 deletions
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();