From 76754a3087e3cfad54add9656b6c8ea7b74b9715 Mon Sep 17 00:00:00 2001
From: Domos <41550963+Domos-Snips@users.noreply.github.com>
Date: Tue, 21 Dec 2021 13:33:12 +0100
Subject: [PATCH] Add 2 new getter functions
knx.paramBit(1,1) to get boolean from a byte.
XML file extact :
knx.paramSignedByte(2):
To get parameters like that :
---
src/knx_facade.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/knx_facade.h b/src/knx_facade.h
index f2830a3..9ada69e 100644
--- a/src/knx_facade.h
+++ b/src/knx_facade.h
@@ -294,6 +294,14 @@ template class KnxFacade : private SaveRestore
return _bau.parameters().data(addr);
}
+ bool paramBit(uint32_t addr, uint8_t shift)
+ {
+ if (!_bau.configured())
+ return 0;
+
+ return (bool) ((_bau.parameters().getByte(addr) >> (7-shift)) & 0x01);
+ }
+
uint8_t paramByte(uint32_t addr)
{
if (!_bau.configured())
@@ -301,7 +309,17 @@ template class KnxFacade : private SaveRestore
return _bau.parameters().getByte(addr);
}
+
+ int8_t paramSignedByte(uint32_t addr)
+ {
+ if (!_bau.configured())
+ return 0;
+ return (int8_t) bau.parameters().getByte(addr);
+ }
+
+
+
uint16_t paramWord(uint32_t addr)
{
if (!_bau.configured())