// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include "commands/CommandAbstract.h" #include "types.h" #include #include class HoymilesRadio { public: serial_u DtuSerial(); virtual void setDtuSerial(uint64_t serial); template T* enqueCommand() { _commandQueue.push(std::make_shared()); return static_cast(_commandQueue.back().get()); } protected: static serial_u convertSerialToRadioId(serial_u serial); void dumpBuf(const char* info, uint8_t buf[], uint8_t len); serial_u _dtuSerial; std::queue> _commandQueue; };