X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConfiguration.java;h=4a6a6a6b5ad033f7bc0bbcdd2cedce89717c4eb4;hb=e9e4a88732e23b350bb8d2a98a662cbca850cd47;hp=2932c0156f4bad742625ded99885777249fb5cd9;hpb=da7bef43fc02577bf25293b0cda7e7fca01f26ec;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Configuration.java b/src/kaka/cakelight/Configuration.java index 2932c01..4a6a6a6 100644 --- a/src/kaka/cakelight/Configuration.java +++ b/src/kaka/cakelight/Configuration.java @@ -12,10 +12,12 @@ public class Configuration { private List> settings = new ArrayList<>(); public VideoConfiguration video; public LedConfiguration leds; + public double gamma; private Configuration(Properties prop) { video = new VideoConfiguration(prop); leds = new LedConfiguration(prop); + gamma = Double.parseDouble(get(prop,"gamma", "1")); } public static Configuration from(String propertiesFile) { @@ -96,14 +98,29 @@ public class Configuration { public class LedConfiguration { public int cols; public int rows; + public int brightness; + public LedType type; private LedConfiguration(Properties prop) { cols = Integer.parseInt(get(prop, "leds.cols")); rows = Integer.parseInt(get(prop, "leds.rows")); + brightness = Math.max(1, Math.min(31, Integer.parseInt(get(prop, "leds.brightness", "31")))); + switch (get(prop, "leds.type", "").toUpperCase()) { + case "WS2801": + type = LedType.WS2801; + break; + case "APA102": + default: + type = LedType.APA102; + } } public int getCount() { return cols * 2 + rows * 2; } } + + public enum LedType { + WS2801, APA102 + } }