From 528c0f33f36c4759fc1cc5cf0bfb46e4bdd3b3f9 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 20 Mar 2018 20:43:48 +0000 Subject: [PATCH] Recalculate the CRC when getting the raw LICH data. --- NXDNLICH.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/NXDNLICH.cpp b/NXDNLICH.cpp index a61c72b..4915804 100644 --- a/NXDNLICH.cpp +++ b/NXDNLICH.cpp @@ -109,6 +109,16 @@ unsigned char CNXDNLICH::getDirection() const unsigned char CNXDNLICH::getRaw() const { + switch (m_lich[0U] & 0xF0U) { + case 0x80U: + case 0xB0U: + m_lich[0U] |= 0x01U; + break; + default: + m_lich[0U] &= 0xFEU; + break; + } + return m_lich[0U]; } @@ -127,7 +137,7 @@ void CNXDNLICH::setFCT(unsigned char usc) void CNXDNLICH::setOption(unsigned char option) { m_lich[0U] &= 0xF3U; - m_lich[0u] |= (option << 2) & 0x0CU; + m_lich[0U] |= (option << 2) & 0x0CU; } void CNXDNLICH::setDirection(unsigned char direction)