From 7c808715b4314e32fb5c9959758b6eeaf153b61a Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Wed, 25 Jan 2023 16:29:16 +0100 Subject: [PATCH] aqhome: Use baudrate of 19200 bps. --- aqhome/serial.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/aqhome/serial.c b/aqhome/serial.c index b885e38..cb51a33 100644 --- a/aqhome/serial.c +++ b/aqhome/serial.c @@ -80,6 +80,7 @@ int AQH_Serial_Open(AQH_SERIAL *sr) return GWEN_ERROR_IO; } rv=cfsetispeed(&options, B19200); + //rv=cfsetispeed(&options, B9600); if (rv<0) { DBG_ERROR(NULL, "Error on cfsetispeed(%s): %s (%d)", sr->deviceName, strerror(errno), errno); return GWEN_ERROR_IO; @@ -91,7 +92,7 @@ int AQH_Serial_Open(AQH_SERIAL *sr) } options.c_cflag &= ~PARENB; - options.c_cflag &= ~CSTOPB; + options.c_cflag &= ~CSTOPB; /* use one stopbit insteadof 2 */ options.c_cflag &= ~CSIZE; options.c_cflag |= CS8; @@ -176,7 +177,7 @@ int AQH_Serial_Send(AQH_SERIAL *sr, const uint8_t *ptr, uint8_t len) return rv; } - usleep(10); + usleep(50); rv=_writeForced(sr, ptr, len); if (rv<0) { @@ -222,15 +223,20 @@ int AQH_Serial_SendPacket(AQH_SERIAL *sr, uint8_t destAddr, const uint8_t *ptr, } x^=len; - /* send message */ - rv=_writeForced(sr, ptr, len); - if (rv<0) { - DBG_INFO(NULL, "here (%d)", rv); - _attnHigh(sr); - return rv; - } + if (len>0) { + uint8_t i; - x^=_calcChecksum(ptr, len); + /* send message */ + rv=_writeForced(sr, ptr, len); + if (rv<0) { + DBG_INFO(NULL, "here (%d)", rv); + _attnHigh(sr); + return rv; + } + + for (i=0; i