radio_tool 0.2.1
Loading...
Searching...
No Matches
tyt_dfu.hpp
1
18#pragma once
19
20#include <radio_tool/dfu/dfu.hpp>
21
22namespace radio_tool::dfu
23{
27 enum class TYTCommand : uint8_t
28 {
29 ProgrammingMode = 0x01,
30 SetRTC = 0x02,
31 Reboot = 0x05,
32 FirmwareUpgrade = 0x31
33 };
34
35 enum class TYTRegister : uint8_t
36 {
37 RadioInfo = 0x01, //Radio Model(16 bytes) + 16 bytes of something else
38 R_02 = 0x02, //unknown (4 bytes)
39 R_03 = 0x03, //unknown (24 bytes)
40 R_04 = 0x04, //unknown (8 bytes)
41 R_07 = 0x07, //unknown (16 bytes)
42 RTC = 0x08, //Real time clock (7 bytes)
43 };
44
45 class TYTDFU : public DFU
46 {
47 public:
48 static const auto VID = 0x0483;
49 static const auto PID = 0xdf11;
50
51 static const auto CustomCommand = 0x91;
52 static const auto RegisterCommand = 0xa2;
53 static const auto RegisterSize = 1024;
54
55 TYTDFU(libusb_device_handle* h) : DFU(h) {}
56
60 auto IdentifyDevice() const->std::string;
61
65 auto ReadRegister(const TYTRegister& reg) const->std::vector<uint8_t>;
66
71 auto GetTime() const->time_t;
72
76 auto SetTime() const -> void;
77
81 auto Reboot() const -> void;
82
86 auto SendTYTCommand(const TYTCommand& cmd) const -> void;
87 };
88} // namespace radio_tool::dfu
auto SetTime() const -> void
Definition: tyt_dfu.cpp:51
auto SendTYTCommand(const TYTCommand &cmd) const -> void
Definition: tyt_dfu.cpp:77
auto GetTime() const -> time_t
Definition: tyt_dfu.cpp:43
auto ReadRegister(const TYTRegister &reg) const -> std::vector< uint8_t >
Definition: tyt_dfu.cpp:35
auto IdentifyDevice() const -> std::string
Definition: tyt_dfu.cpp:26
auto Reboot() const -> void
Definition: tyt_dfu.cpp:66