OSSIA
Open Scenario System for Interactive Application
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
dmxusbpro_protocol.hpp
1#pragma once
2
3#include <ossia/detail/config.hpp>
4#if defined(OSSIA_PROTOCOL_ARTNET)
5#include <ossia/network/sockets/serial_socket.hpp>
6#include <ossia/protocols/artnet/dmx_protocol_base.hpp>
7
8#include <boost/asio/serial_port.hpp>
9
10namespace ossia::net
11{
12class OSSIA_EXPORT dmxusbpro_protocol final : public dmx_output_protocol_base
13{
14public:
15 enum devices
16 {
17 dmx_usb_pro_mk1 = 1,
18 dmx_usb_pro_mk2 = 2,
19 open_dmx_usb = 3,
20 };
21 dmxusbpro_protocol(
22 ossia::net::network_context_ptr, const dmx_config& conf,
23 const ossia::net::serial_configuration& socket, int version);
24
25 ~dmxusbpro_protocol();
26
27 void set_device(ossia::net::device_base& dev) override;
28
29private:
30 void update_function_dmxusbpro(uint8_t command);
31 void update_function_opendmx();
32
33 boost::asio::serial_port m_port;
34 int m_version = devices::dmx_usb_pro_mk1;
35};
36}
37#endif
Root of a device tree.
Definition ossia/network/base/device.hpp:58