Updated the way colororder is configured per led

Former-commit-id: 2a77b551c5b504f4ce9b0a179d4c20eaf6128f6b
This commit is contained in:
T. van der Zwan
2015-02-23 16:11:33 +01:00
parent e8ae9c36e6
commit 9f5caacc75
4 changed files with 70 additions and 19 deletions

View File

@@ -15,9 +15,60 @@ namespace Json { class Value; }
/// Enumeration containing the possible orders of device color byte data
enum ColorOrder
{
ORDER_RGB, ORDER_RBG, ORDER_GRB, ORDER_BRG, ORDER_GBR, ORDER_BGR, ORDER_DEFAULT
ORDER_RGB, ORDER_RBG, ORDER_GRB, ORDER_BRG, ORDER_GBR, ORDER_BGR
};
inline std::string colorOrderToString(const ColorOrder colorOrder)
{
switch (colorOrder)
{
case ORDER_RGB:
return "rgb";
case ORDER_RBG:
return "rbg";
case ORDER_GRB:
return "grb";
case ORDER_BRG:
return "brg";
case ORDER_GBR:
return "gbr";
case ORDER_BGR:
return "bgr";
default:
return "not-a-colororder";
}
}
inline ColorOrder stringToColorOrder(const std::string & order)
{
if (order == "rgb")
{
return ORDER_RGB;
}
else if (order == "bgr")
{
return ORDER_BGR;
}
else if (order == "rbg")
{
return ORDER_RBG;
}
else if (order == "brg")
{
return ORDER_BRG;
}
else if (order == "gbr")
{
return ORDER_GBR;
}
else if (order == "grb")
{
return ORDER_GRB;
}
std::cout << "Unknown color order defined (" << order << "). Using RGB." << std::endl;
return ORDER_RGB;
}
///
/// The Led structure contains the definition of the image portion used to determine a single led's
/// color.