Open Lighting Architecture
0.9.6
Main Page
Modules
Related Pages
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
plugins
usbpro
DmxterDevice.h
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 2 of the License, or
5
* (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU Library General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15
*
16
* DmxterDevice.h
17
* The Goddard Design Dmxter RDM and miniDmxter
18
* Copyright (C) 2010 Simon Newton
19
*/
20
21
#ifndef PLUGINS_USBPRO_DMXTERDEVICE_H_
22
#define PLUGINS_USBPRO_DMXTERDEVICE_H_
23
24
#include <string>
25
#include "
ola/DmxBuffer.h
"
26
#include "plugins/usbpro/DmxterWidget.h"
27
#include "plugins/usbpro/UsbSerialDevice.h"
28
29
namespace
ola {
30
namespace
plugin {
31
namespace
usbpro {
32
33
/*
34
* An DMXter Device
35
*/
36
class
DmxterDevice
:
public
UsbSerialDevice
{
37
public
:
38
DmxterDevice
(
ola::AbstractPlugin
*owner,
39
const
std::string &name,
40
DmxterWidget
*widget,
41
uint16_t esta_id,
42
uint16_t device_id,
43
uint32_t serial);
44
std::string
DeviceId
()
const
{
return
m_device_id; }
45
46
private
:
47
std::string m_device_id;
48
};
49
50
51
/*
52
* A single Output port per device
53
*/
54
class
DmxterOutputPort
:
public
BasicOutputPort
{
55
public
:
56
DmxterOutputPort
(
DmxterDevice
*parent,
DmxterWidget
*widget)
57
:
BasicOutputPort
(parent, 0,
true
,
true
),
58
m_widget(widget) {}
59
60
bool
WriteDMX
(
OLA_UNUSED
const
DmxBuffer
&buffer,
61
OLA_UNUSED
uint8_t priority) {
62
// this device can't output DMX
63
return
true
;
64
}
65
66
void
SendRDMRequest
(
ola::rdm::RDMRequest
*request,
67
ola::rdm::RDMCallback
*callback) {
68
m_widget->
SendRDMRequest
(request, callback);
69
}
70
71
void
RunFullDiscovery
(
ola::rdm::RDMDiscoveryCallback
*on_complete) {
72
m_widget->
RunFullDiscovery
(on_complete);
73
}
74
75
void
RunIncrementalDiscovery
(
ola::rdm::RDMDiscoveryCallback
*on_complete) {
76
m_widget->
RunIncrementalDiscovery
(on_complete);
77
}
78
79
std::string Description()
const
{
return
"RDM Only"
; }
80
81
private
:
82
DmxterWidget *m_widget;
83
};
84
}
// namespace usbpro
85
}
// namespace plugin
86
}
// namespace ola
87
#endif // PLUGINS_USBPRO_DMXTERDEVICE_H_
Generated on Fri Jul 3 2015 15:58:46 for Open Lighting Architecture by
1.8.1.2