From d732306e0282ed74d3d789d03600ddff42107e95 Mon Sep 17 00:00:00 2001 From: Eggert Jung Date: Wed, 26 Oct 2022 18:36:07 +0200 Subject: [PATCH] lift motor --- avrIOhelper/io-helper.h | 4 ++++ main.c | 16 +++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/avrIOhelper/io-helper.h b/avrIOhelper/io-helper.h index 725a8b2..8504dbc 100644 --- a/avrIOhelper/io-helper.h +++ b/avrIOhelper/io-helper.h @@ -81,6 +81,7 @@ void ioHelperEdgeDetector(void); #define LED_PLC_OK BitPL5 #define LED_BUS_OK BitPL3 +#define LIFT_MOTOR_DIR BitPL6 //Inputs //Verknüpfen von Pin | Bit mit Bitposition (0...n) inStates[0...n/8]. @@ -111,6 +112,9 @@ void ioHelperEdgeDetector(void); #define BTN_HEIZEN_AN BitPinK2 #define BTN_HEIZEN_AUS BitPinK3 +#define BTN_LIFT_UP BitPinD7 +#define BTN_LIFT_DOWN BitPinG2 + #define IN_ANLAGE_EIN_INV BitPinF7 #define IN_NOTAUS_ANLAGE_R BitPinK5 #define IN_NOTAUS_ANLAGE BitPinK4 diff --git a/main.c b/main.c index c7a4760..6e25824 100644 --- a/main.c +++ b/main.c @@ -22,7 +22,7 @@ #include "util/delay.h" -#define PLC_MQTT_ENABLED 1 +#define PLC_MQTT_ENABLED 0 Client mqtt_client; @@ -249,6 +249,17 @@ int main(){ modbus_io_set_Output(4, MOD_OUT_HEIZEN_LED, 0); } + if(read_Input(BTN_LIFT_UP, LEVEL)){ + set_Output(LIFT_MOTOR_DIR, 1); + TCCR3B |= _BV(CS31); + } + else if(read_Input(BTN_LIFT_DOWN, LEVEL)){ + set_Output(LIFT_MOTOR_DIR, 0); + TCCR3B |= _BV(CS31); + } + else + TCCR3B &= ~_BV(CS31); + #if PLC_MQTT_ENABLED // send misc info if(millis() - timer_send_uptime > 5000){ @@ -323,7 +334,6 @@ void timer3_init() OCR3B = 50; DDRE |= 1 << 4; - TCCR3B |= _BV(CS31); } void initADC(void) @@ -342,7 +352,7 @@ static void avr_init(void) wdt_reset(); // wdt reset ~ every <2000ms timer0_init();// Timer0 millis engine init - //timer3_init(); + timer3_init(); DDRL |= 1<<6; uart_init();