radio_tool 0.2.1
Loading...
Searching...
No Matches
tyt_radio.hpp
1
18#pragma once
19
20#include <radio_tool/radio/radio.hpp>
21#include <radio_tool/dfu/tyt_dfu.hpp>
22
23#include <functional>
24#include <libusb-1.0/libusb.h>
25
26namespace radio_tool::radio
27{
29 {
30 public:
31 TYTRadio(libusb_device_handle* h)
32 : dfu(h) {}
33
34 auto WriteFirmware(const std::string& file) -> void override;
35 auto ToString() const -> const std::string override;
36
37 static auto SupportsDevice(const libusb_device_descriptor& dev) -> bool
38 {
39 return dev.idVendor == dfu::TYTDFU::VID && dev.idProduct == dfu::TYTDFU::PID;
40 }
41
45 auto GetDFU() const -> const dfu::TYTDFU*
46 {
47 return &dfu;
48 }
49
50 static auto Create(libusb_device_handle* h) -> TYTRadio* {
51 return new TYTRadio(h);
52 }
53 private:
54 const dfu::TYTDFU dfu;
55 };
56} // namespace radio_tool::radio
auto ToString() const -> const std::string override
Definition: tyt_radio.cpp:31
auto GetDFU() const -> const dfu::TYTDFU *
Definition: tyt_radio.hpp:45
auto WriteFirmware(const std::string &file) -> void override
Definition: tyt_radio.cpp:45