/* * WeinbusBufferInputRegisters.h * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include "WEINBUS/WeinbusBufferRegister.h" #ifndef WEINBUS_WEINBUSBUFFERINPUTREGISTER_H_ #define WEINBUS_WEINBUSBUFFERINPUTREGISTER_H_ namespace WEINBUS { class WeinbusBufferInputRegister:public WEINBUS::WeinbusBufferRegister { private: WEINBUS::WeinbusTableRegister m_registers[WEINBUS_INPUT_REGISTERS_SIZE]; private: WEINBUS::WeinbusTableRegister m_aux_register; uint16_t m_iterator; public: WeinbusBufferInputRegister(); public: void add(uint16_t offset, uint16_t *param); void add(uint16_t offset, int16_t *param); void add(uint16_t offset, uint32_t *param); void add(uint16_t offset, int32_t *param); void add(uint16_t offset, float *param); public: WEINBUS::WeinbusTableRegister get_register_address(uint16_t address); WEINBUS::WeinbusTableRegister get_register_cursor(uint16_t cursor); public: void write(uint16_t address, uint16_t data); void write(uint16_t address, int16_t data); void write(uint16_t address, uint32_t data); void write(uint16_t address, int32_t data); void write(uint16_t address, float data); public: uint16_t get_cursor(uint16_t address); public: void write_cursor(uint16_t cursor, uint16_t data); void write_cursor(uint16_t cursor, int16_t data); void write_cursor(uint16_t cursor, uint32_t data); void write_cursor(uint16_t cursor, int32_t data); void write_cursor(uint16_t cursor, float data); }; } /* namespace WEINBUS */ #endif /* WEINBUS_WEINBUSBUFFERINPUTREGISTER_H_ */