Implement pump control via port register

This commit is contained in:
2025-05-15 23:30:48 +02:00
parent 3973d7b41d
commit c8c27d440c
2 changed files with 13 additions and 12 deletions
+5 -2
View File
@@ -3,8 +3,11 @@
#include <avr/sleep.h> #include <avr/sleep.h>
#include <avr/wdt.h> #include <avr/wdt.h>
#include <avr/interrupt.h> #include <avr/interrupt.h>
#include "moisture.h"
#include "adc.h" #include "adc.h"
#include "moisture.h"
#include "pump.h"
ISR(WDT_vect) { ISR(WDT_vect) {
triggerRead(); triggerRead();
@@ -27,8 +30,8 @@ void enterSleep(void) {
void setup(void) { void setup(void) {
adcInit(); adcInit();
//pumpsInit();
sensorsInit(); sensorsInit();
//pumpsInit();
watchdogs(); watchdogs();
} }
+8 -10
View File
@@ -10,17 +10,15 @@ void pumpsInit(void) {
(1 << PUMP_D4) | (1 << PUMP_D4) |
(1 << PUMP_D3) | (1 << PUMP_D3) |
0 | 0 | 0 )); 0 | 0 | 0 ));
// Disable pullup
PORTD &= ~((1 << PUMP_D7) |
(1 << PUMP_D6) |
(1 << PUMP_D5) |
(1 << PUMP_D4) |
(1 << PUMP_D3) |
0 | 0 | 0 ));
} }
void triggerPump(int8_t pump_pin, int16_t milliseconds) { void triggerPump(int8_t pump_pin, int16_t milliseconds) {
// turn on pump // Turn on pump
// watchdog for n milliseconds PORTD |= (1 << pump_pin);
// turn of pump
// timer for n milliseconds
// NOTE: watchout for overflows!! create a safety net.
// Turn off pump
PORTD &= ~(1 << pump_pin);
} }