Config for different led colors displaying the car states
[apps/native/gear-racing-car.git] / src / config.c
index ecf730b..cb6ecaf 100644 (file)
@@ -260,3 +260,28 @@ bool config_get_int_with_default(char *group, char *key, int default_value, int
 
        return modified;
 }
+
+bool config_get_rgb_with_default(char *group, char *key,
+               int default_r, int default_g, int default_b,
+               int *red, int *green, int *blue)
+{
+       bool modified = false;
+       int color;
+
+       if (config_get_int(group, key, &color) != 0) {
+
+               color  = (default_r & 0xFF) << 16;
+               color += (default_g & 0xFF) << 8;
+               color += (default_b & 0xFF) << 0;
+
+               config_set_int(group, key, color);
+
+               modified = true;
+       }
+
+       *red   = (color >> 16) & 0xFF;
+       *green = (color >>  8) & 0xFF;
+       *blue  = (color >>  0) & 0xFF;
+
+       return modified;
+}