diff --git a/src/Constants.hpp b/src/Constants.hpp index b0e0186..09bd2e6 100644 --- a/src/Constants.hpp +++ b/src/Constants.hpp @@ -36,4 +36,4 @@ const char* error5 PROGMEM = "error5"; const char* errorMessages[6]; */ -#define MAX_DP_LENGTH 4 +#define MAX_DP_LENGTH 8 diff --git a/src/OptolinkKW.cpp b/src/OptolinkKW.cpp index 2dd59fc..88fcfae 100644 --- a/src/OptolinkKW.cpp +++ b/src/OptolinkKW.cpp @@ -129,7 +129,7 @@ void OptolinkKW::_syncHandler() { // void OptolinkKW::_sendHandler() { - uint8_t buff[6]; + uint8_t buff[MAX_DP_LENGTH+4]; if (_writeMessageType) { // type is WRITE // has length of 4 chars + length of value @@ -211,7 +218,7 @@ bool OptolinkKW::_transmit(uint16_t address, uint8_t length, bool write, uint8_t memcpy(_value, value, _length); } _rcvBufferLen = 0; - memset(_rcvBuffer, 0, 4); + memset(_rcvBuffer, 0, _length); _setAction(PROCESS); return true; } diff --git a/src/OptolinkKW.hpp b/src/OptolinkKW.hpp index c5519d8..0f50202 100644 --- a/src/OptolinkKW.hpp +++ b/src/OptolinkKW.hpp @@ -52,8 +52,8 @@ class OptolinkKW { uint16_t _address; uint8_t _length; bool _writeMessageType; - uint8_t _value[4]; - uint8_t _rcvBuffer[4]; + uint8_t _value[MAX_DP_LENGTH]; + uint8_t _rcvBuffer[MAX_DP_LENGTH]; uint8_t _rcvBufferLen; uint8_t _rcvLen; uint32_t _lastMillis;