/* * WeinRegisterVariant.h * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include #include #include "WEINBUS/WeinbusDefines.h" #ifndef WEINBUS_WEINBUSREGISTERVARIANT_H_ #define WEINBUS_WEINBUSREGISTERVARIANT_H_ namespace WEINBUS { class WeinbusRegisterVariant { private: union { uint16_t u16; int16_t i16; uint32_t u32; int32_t i32; float f; }; data_variant_type_t t; public: WeinbusRegisterVariant(); data_variant_type_t get_type() const; //setters void set_uint16 (uint16_t value); void set_int16 (int16_t value); void set_uint32 (uint32_t value); void set_int32 (int32_t value); void set_float (float value); //getters uint16_t get_uint16() const; int16_t get_int16() const; uint32_t get_uint32() const; int32_t get_int32() const; float get_float() const; // }; } /* namespace WEINBUS */ #endif /* WEINBUS_WEINBUSREGISTERVARIANT_H_ */