Could not compile with import *
[kaka/cakelight.git] / src / kaka / cakelight / Commands.java
index 75b1b10..1a6a850 100644 (file)
@@ -2,6 +2,7 @@ package kaka.cakelight;
 
 import kaka.cakelight.mode.AmbientMode;
 import kaka.cakelight.mode.SingleColorMode;
+import kaka.cakelight.mode.SunriseMode;
 import kaka.cakelight.mode.TwoColorNoiseMode;
 import kaka.cakelight.mode.VideoMode;
 
@@ -64,7 +65,12 @@ class Commands {
     static Console.Command brightness() {
        return command(new String[] {"b", "brightness"}, (console, args) -> {
            if (args.length == 1) {
-               int b = Integer.parseInt(args[0]);
+               int b = Integer.parseInt(args[0].replaceAll("[+-]+", ""));
+               if (args[0].startsWith("+")) {
+                   b = Math.min(console.getConfig().leds.brightness + b, 31);
+               } else if (args[0].startsWith("-")) {
+                   b = Math.max(console.getConfig().leds.brightness - b, 0);
+               }
                console.getConfig().leds.brightness = b;
                console.out("setting brightness to " + b);
                return true;
@@ -127,4 +133,17 @@ class Commands {
            }
        });
     }
+
+    static Console.Command sunriseMode() {
+        return command(new String[] {"sunrise"}, (console, args) -> {
+           if (args.length == 1) {
+               int durationSeconds = Integer.parseInt(args[0]);
+               console.getCakelight().setMode(new SunriseMode(durationSeconds));
+               console.out("setting sunrise mode with duration " + durationSeconds);
+               return true;
+           } else {
+               return false;
+           }
+       });
+    }
 }