From c62792a86436d189f4313daeab48a6309e7e00b4 Mon Sep 17 00:00:00 2001 From: Eggert Jung Date: Mon, 5 Sep 2022 17:10:22 +0200 Subject: [PATCH] zero sensor value when both buttons pressed --- kraftsensor.c | 4 +++- kraftsensor.h | 2 ++ taenzer.c | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/kraftsensor.c b/kraftsensor.c index 621872b..823daac 100644 --- a/kraftsensor.c +++ b/kraftsensor.c @@ -12,6 +12,8 @@ int32_t kraftsensor_value; uint8_t kraftsensor_valid; +int32_t kraftsensor_zero_offset = 0/*197700*/; + void timer2_init() { TCCR2A = (1< 10000){ // if(abs(last_read - kraftsensor_read) > 10000){ diff --git a/kraftsensor.h b/kraftsensor.h index 23e75ab..b0acbe1 100644 --- a/kraftsensor.h +++ b/kraftsensor.h @@ -8,6 +8,8 @@ extern int32_t kraftsensor_value; extern uint8_t kraftsensor_valid; +extern int32_t kraftsensor_zero_offset; + void timer2_init(); void kraftsensor_init(); void do_kraftsensor(void); diff --git a/taenzer.c b/taenzer.c index 37875c3..da72467 100644 --- a/taenzer.c +++ b/taenzer.c @@ -68,12 +68,20 @@ void do_taenzer(){ #if PLC_MQTT_ENABLED send_settings(); #endif + if(taenzer_state.homed == 1 && read_Input(BTN_KRAFT_MINUS, LEVEL)) + { + kraftsensor_zero_offset = -(kraftsensor_value-kraftsensor_zero_offset); + } } if (read_Input(BTN_KRAFT_MINUS, RISING)) { taenzer_state.force_setpoint -= 1000; #if PLC_MQTT_ENABLED send_settings(); #endif + if(taenzer_state.homed == 1 && read_Input(BTN_KRAFT_PLUS, LEVEL)) + { + kraftsensor_zero_offset = -(kraftsensor_value-kraftsensor_zero_offset); + } } if (read_Input(BTN_TAENZER_START, RISING)) { taenzer_state.active = 1;