diff --git a/src/knot_protocol.c b/src/knot_protocol.c index 22ea1c9..38cb8c3 100644 --- a/src/knot_protocol.c +++ b/src/knot_protocol.c @@ -96,6 +96,11 @@ UNIT_MASK(KNOT_UNIT_ENERGY_CAL) | \ UNIT_MASK(KNOT_UNIT_ENERGY_KCAL)) +#define UNIT_ACCELERATION_MASK (UNIT_MASK(KNOT_UNIT_ACCELERATION_MS2)) + +#define UNIT_ANG_VEL_MASK (UNIT_MASK(KNOT_UNIT_ANGULAR_VELOCITY_RADSEG) | \ + UNIT_MASK(KNOT_UNIT_ANGULAR_VELOCITY_DEGSEG)) + #define TYPE_ID_MASK(type) (type & 0x000F) static const struct schema { @@ -123,7 +128,9 @@ static const struct schema { {KNOT_VALUE_TYPE_FLOAT, UNIT_LONG_MASK }, {KNOT_VALUE_TYPE_INT, UNIT_SPEED_MASK }, {KNOT_VALUE_TYPE_FLOAT, UNIT_VOLFLOW_MASK }, - {KNOT_VALUE_TYPE_INT, UNIT_ENERGY_MASK } + {KNOT_VALUE_TYPE_INT, UNIT_ENERGY_MASK }, + {KNOT_VALUE_TYPE_FLOAT, UNIT_ACCELERATION_MASK }, + {KNOT_VALUE_TYPE_FLOAT, UNIT_ANG_VEL_MASK} }; static const uint8_t logic_types[] = { diff --git a/src/knot_types.h b/src/knot_types.h index 214e747..7e1087d 100644 --- a/src/knot_types.h +++ b/src/knot_types.h @@ -42,9 +42,11 @@ #define KNOT_TYPE_ID_SPEED 0x0013 #define KNOT_TYPE_ID_VOLUMEFLOW 0x0014 #define KNOT_TYPE_ID_ENERGY 0x0015 +#define KNOT_TYPE_ID_ACCELERATION 0x0016 +#define KNOT_TYPE_ID_ANGULAR_VELOCITY 0x0017 // MAX TypeID for basic units -#define KNOT_TYPE_ID_BASIC_MAX (KNOT_TYPE_ID_ENERGY+1) +#define KNOT_TYPE_ID_BASIC_MAX (KNOT_TYPE_ID_ANGULAR_VELOCITY+1) // TypeIDs for logical units #define KNOT_TYPE_ID_PRESENCE 0xFFF0 @@ -127,6 +129,9 @@ #define KNOT_UNIT_ENERGY_KWH 0x04 #define KNOT_UNIT_ENERGY_CAL 0x05 #define KNOT_UNIT_ENERGY_KCAL 0x06 +#define KNOT_UNIT_ACCELERATION_MS2 0X01 +#define KNOT_UNIT_ANGULAR_VELOCITY_RADSEG 0X01 +#define KNOT_UNIT_ANGULAR_VELOCITY_DEGSEG 0X02 // definition of value type #define KNOT_VALUE_TYPE_INT 0x01