| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef NOOLITE_H
- #define NOOLITE_H
- #include <vector>
- #include <optional>
- #include "iusbdevice.h"
- namespace noolitelib
- {
- enum Command
- {
- Off = 0,
- DecraseBrightnes,
- On,
- IncreaseBrightnes,
- Switch,
- InvertBrightnes,
- Set,
- CallScenario,
- SaveScenario,
- Unbind,
- StopColorSelection,
- Bind = 15,
- // Commands for SD111-180 only
- ColorSelection,
- ColorSwitch,
- ModeSwitch,
- EffectSpeed
- };
- using Params = std::vector<int>;
- class Noolite
- {
- public:
- Noolite(IUsbDevice *device = nullptr);
- ~Noolite();
- bool sendCommand(unsigned char channel, Command command, const Params ¶ms = Params());
- private:
- IUsbDevice *m_device;
- std::optional<Data> composeCommand(unsigned char channel, Command command, const Params ¶ms) const;
- };
- }
- #endif // NOOLITE_H
|