From 5284ce9b410b15da957ac652384602c3b175b309 Mon Sep 17 00:00:00 2001 From: Nicu Hodos Date: Fri, 28 Oct 2022 08:47:27 +0200 Subject: [PATCH] define masks for tiny components --- libraries/Tiny/Tiny.h | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/libraries/Tiny/Tiny.h b/libraries/Tiny/Tiny.h index 3597e4c..1a9b750 100644 --- a/libraries/Tiny/Tiny.h +++ b/libraries/Tiny/Tiny.h @@ -1,19 +1,25 @@ #pragma once -#define ID(value) (value & 0x1F) -#define VCC(value) ((value & 0x1FFF) << 5) -#define TEMP(value) (((unsigned long)value & 0x3FF) << 18) -#define HUMIDITY(value) (((unsigned long)value & 0x3FF) << 18) -#define VALUE(value) (((unsigned long)value & 0x3FF) << 18) -#define STATE(value) ((value & 0x1) << 27) -#define TYPE(value) (((unsigned long)value & 0xF) << 28) +#define MASK_ID 0x1F +#define MASK_VCC 0x1FFF +#define MASK_VALUE 0x3FF +#define MASK_STATE 0x1 +#define MASK_TYPE 0xF -#define GET_TYPE(value) (((unsigned long)value >> 28) & 0xF) -#define GET_STATE(value) ((value >> 27) & 0x1) -#define GET_TEMP(value) (((unsigned long)value >> 18) & 0x3FF) -#define GET_HUMIDITY(value) (((unsigned long)value >> 18) & 0x3FF) -#define GET_VALUE(value) (((unsigned long)value >> 18) & 0x3FF) -#define GET_VCC(value) (((unsigned long)value >> 5) & 0x1FFF) +#define ID(value) (value & 0x1F) +#define VCC(value) ((value & MASK_VCC) << 5) +#define TEMP(value) (((unsigned long)value & MASK_VALUE) << 18) +#define HUMIDITY(value) (((unsigned long)value & MASK_VALUE) << 18) +#define VALUE(value) (((unsigned long)value & MASK_VALUE) << 18) +#define STATE(value) ((value & MASK_STATE) << 27) +#define TYPE(value) (((unsigned long)value & MASK_TYPE) << 28) + +#define GET_TYPE(value) (((unsigned long)value >> 28) & MASK_TYPE) +#define GET_STATE(value) ((value >> 27) & MASK_STATE) +#define GET_TEMP(value) (((unsigned long)value >> 18) & MASK_VALUE) +#define GET_HUMIDITY(value) (((unsigned long)value >> 18) & MASK_VALUE) +#define GET_VALUE(value) (((unsigned long)value >> 18) & MASK_VALUE) +#define GET_VCC(value) (((unsigned long)value >> 5) & MASK_VCC) enum SensorType : unsigned short { GENERIC = 4,