Open Lighting Architecture: plugins/milinst/MilInstWidget1553.h Source File

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
MilInstWidget1553.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 * MilInstWidget1553.h
17 * Interface for the MilInst 1-553 device
18 * Copyright (C) 2013 Peter Newman
19 */
20
21#ifndef PLUGINS_MILINST_MILINSTWIDGET1553_H_
22#define PLUGINS_MILINST_MILINSTWIDGET1553_H_
23
24#include <string>
25
26#include "plugins/milinst/MilInstWidget.h"
27
28namespace ola {
29namespace plugin {
30namespace milinst {
31
32 class MilInstWidget1553: public MilInstWidget {
33 public:
34 explicit MilInstWidget1553(const std::string &path, Preferences *preferences);
35 ~MilInstWidget1553() {}
36
37 bool Connect();
38 bool DetectDevice();
39 bool SendDmx(const DmxBuffer &buffer) const;
40 std::string Type() { return "Milford Instruments 1-553 Widget"; }
41
42 void SocketReady();
43
44 protected:
45 int SetChannel(unsigned int chan, uint8_t val) const;
46 int Send(const DmxBuffer &buffer) const;
47
48 static const uint8_t MILINST_1553_LOAD_COMMAND = 0x01;
49
50 static const speed_t DEFAULT_BAUDRATE;
51
52 static const uint16_t CHANNELS_128;
53 static const uint16_t CHANNELS_256;
54 static const uint16_t CHANNELS_512;
55 static const uint16_t DEFAULT_CHANNELS;
56
57 private:
58 class Preferences *m_preferences;
59 uint16_t m_channels;
60
61 // Per widget options
62 std::string BaudRateKey() const;
63 std::string ChannelsKey() const;
64
65 void SetWidgetDefaults();
66};
67} // namespace milinst
68} // namespace plugin
69} // namespace ola
70#endif // PLUGINS_MILINST_MILINSTWIDGET1553_H_
ola::DmxBuffer
Used to hold a single universe of DMX data.
Definition DmxBuffer.h:49
ola::Preferences
Definition Preferences.h:148
ola::plugin::milinst
Code for Milford Instruments devices.
ola::plugin
Code for supported devices and protocols.
ola
The namespace containing all OLA symbols.
Definition Credentials.cpp:44