From b4a7f4ac06c6560db8bba32bb035902755abe2e3 Mon Sep 17 00:00:00 2001 From: henyxia Date: Wed, 6 May 2015 11:36:40 +0200 Subject: [PATCH] Querying for pump informations --- hvc.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/hvc.c b/hvc.c index 252a8a2..b4ff0ef 100644 --- a/hvc.c +++ b/hvc.c @@ -27,10 +27,14 @@ #define SET_HEAT_OFF 'G' #define SET_PUMP_ON 'B' #define SET_PUMP_OFF 'D' +#define PUMP_STATE_HIGH 'I' +#define GET_PUMP 'F' // Globals int hvc_fd = -1; bool hvcStop = false; +int pumped = 0; +bool previousPumpState; bool sPump = false; bool sHeat = false; bool autoHeat = false; @@ -47,6 +51,7 @@ int tempCons; void setPumpOn() { + pumped = 0; setPumpWantedState(true); } @@ -120,13 +125,19 @@ bool initHVC() return false; } + sendData(&hvc_fd, GET_PUMP); + data = getData(&hvc_fd); + + previousPumpState = data == PUMP_STATE_HIGH; + return true; } void* processHVC(void* we) { - uint8_t data; - float temp; + uint8_t data; + bool pumpState; + float temp; while(!hvcStop) { @@ -175,6 +186,14 @@ void* processHVC(void* we) tPumpStart = clock(); } + // Querying pump state + sendData(&hvc_fd, GET_TEMP); + data = getData(&hvc_fd); + pumpState = data == PUMP_STATE_HIGH; + if(pumpState ^ previousPumpState) + pumped++; + previousPumpState = pumpState; + usleep(HVC_POLLING_TIME); } -- libgit2 0.21.2