AtmoOrb smoothing additions

* Updated smoothing options for AtmoOrb, can now choose between Orb external or Hyperion's internal smoothing.
With skipSmoothingDif you can set the maximum allowed color difference before overriding / clearing Orb smoothing during faster color change like for instance color <-> black.

* Updated inline documentation.

* Fixed command type typo in AtmoOrb device.

* Corrected variable spelling in AtmoOrb device.

* Make smoothing also match equal values for AtmoOrb smoothing differential


Former-commit-id: 3eede43c2f76fa324f0144aeac0526b8125ad149
This commit is contained in:
Rick164
2016-04-02 00:07:28 +02:00
committed by brindosch
parent b37cbd26d5
commit 02fef83bb8
3 changed files with 54 additions and 40 deletions

View File

@@ -48,21 +48,21 @@ public:
///
/// @param output is the multicast address of Orbs
///
/// @param switchOffOnBlack turn off Orbs on black (default: false)
///
/// @param transitiontime is optional and not used at the moment
///
/// @param useOrbSmoothing use Orbs own (external) smoothing algorithm (default: false)
///
/// @param skipSmoothingDiff minimal color (0-255) difference to override smoothing so that if current and previously received colors are higher than set dif we override smoothing
///
/// @param port is the multicast port.
///
/// @param numLeds is the total amount of leds per Orb
///
/// @param array containing orb ids
///
LedDeviceAtmoOrb(const std::string &output, bool switchOffOnBlack =
false, int transitiontime = 0, int port = 49692, int numLeds = 24,
std::vector<unsigned int> orbIds = std::vector < unsigned int
>());
LedDeviceAtmoOrb(const std::string &output, bool useOrbSmoothing =
false, int transitiontime = 0, int skipSmoothingDiff = 0, int port = 49692, int numLeds = 24,
std::vector<unsigned int> orbIds = std::vector < unsigned int>());
///
/// Destructor of this device
@@ -87,12 +87,15 @@ private:
/// String containing multicast group IP address
QString multicastGroup;
/// Switch off when detecting black
bool switchOffOnBlack;
/// use Orbs own (external) smoothing algorithm
bool useOrbSmoothing;
/// Transition time between colors (not implemented)
int transitiontime;
// Maximum allowed color difference, will skip Orb (external) smoothing once reached
int skipSmoothingDiff;
/// Multicast port to send data to
int multiCastGroupPort;
@@ -126,4 +129,4 @@ private:
/// @param bytes the byte array containing command to send over multicast
///
void sendCommand(const QByteArray &bytes);
};
};