First draft of a console
[kaka/cakelight.git] / src / kaka / cakelight / CakeLight.java
CommitLineData
4a2d6056
TW
1package kaka.cakelight;
2
4a2d6056
TW
3public class CakeLight {
4 private Configuration config;
5 private Mode mode;
03b67a73 6 private LedController ledController;
4a2d6056 7
6b569670 8 public CakeLight(Configuration config, LedController ledController) {
4a2d6056 9 this.config = config;
6b569670 10 this.ledController = ledController;
38c759f8 11 Color.calculateGammaCorrection(config.gamma);
4a2d6056
TW
12 }
13
14 public void setMode(Mode mode) {
15 cleanup();
16 this.mode = mode;
d182b8cc 17 mode.setFrameListener(ledController::onFrame);
4a2d6056
TW
18 mode.enter(config);
19 }
20
21 public void cleanup() {
22 if (this.mode != null) {
23 this.mode.exit();
24 }
25 }
26
27 public void startLoop() {
cd28f68c 28 Console.start(this, config);
4a2d6056
TW
29 // TODO
30// FrameGrabber grabber = FrameGrabber.from(config);
31// grabber.prepare();
32// Frame frame = grabber.grabFrame();
33// double time = 0;
34// for (int i = 0; i < 100; i++) {
35// time += timeIt("frame", () -> grabber.grabFrame());
36// }
37// System.out.println("time = " + time);
38// grabber.close();
39// byte[] data = frame.getData();
40// saveFile(data, "/home/kaka/test.img");
41 }
42}