| 12345678910111213141516171819202122232425262728293031323334 |
- #pragma once
- #include <stdint.h>
- #include "maxim_crc.h"
- #include "one_wire_slave_gpio.h"
- // TODO fix GPL compability
- // currently we use rework of OneWireHub
- class OneWireDevice {
- public:
- OneWireDevice(
- uint8_t id_1,
- uint8_t id_2,
- uint8_t id_3,
- uint8_t id_4,
- uint8_t id_5,
- uint8_t id_6,
- uint8_t id_7);
- ~OneWireDevice() = default; // TODO: detach if deleted before hub
- // allow only move constructor
- OneWireDevice(OneWireDevice&& one_wire_device) = default;
- OneWireDevice(const OneWireDevice& one_wire_device) = delete;
- OneWireDevice& operator=(OneWireDevice& one_wire_device) = delete;
- OneWireDevice& operator=(const OneWireDevice& one_wire_device) = delete;
- OneWireDevice& operator=(OneWireDevice&& one_wire_device) = delete;
- uint8_t id_storage[8];
- void send_id(OneWireGpioSlave* owner) const;
- virtual void do_work(OneWireGpioSlave* owner) = 0;
- };
|