aboutsummaryrefslogtreecommitdiff
path: root/cmd/blinkstick/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-04-25 08:53:24 +0200
committerDimitri Sokolyuk <demon@dim13.org>2018-04-25 08:53:24 +0200
commit05a943a9334c1bd116125a3f078e6af38cfe952c (patch)
tree895986d3f6705026dc8b0f1dafc4687915fe25d6 /cmd/blinkstick/main.go
initial import
Diffstat (limited to 'cmd/blinkstick/main.go')
-rw-r--r--cmd/blinkstick/main.go55
1 files changed, 55 insertions, 0 deletions
diff --git a/cmd/blinkstick/main.go b/cmd/blinkstick/main.go
new file mode 100644
index 0000000..e39e774
--- /dev/null
+++ b/cmd/blinkstick/main.go
@@ -0,0 +1,55 @@
+package main
+
+import (
+ "image/color"
+ "log"
+ "time"
+
+ "dim13.org/blinkstick"
+)
+
+func newBinary(n int, c color.Color) blinkstick.Scene {
+ var s blinkstick.Scene
+ for i := 0; i < 8; i++ {
+ if n&(1<<uint(i)) != 0 {
+ s[i] = c
+ }
+ }
+ return s
+}
+
+func newTwiddle(n int, c color.Color) blinkstick.Scene {
+ var s blinkstick.Scene
+ n %= 14
+ if n < 8 {
+ s[n] = c
+ } else {
+ s[14-n] = c
+ }
+ return s
+}
+
+func main() {
+ dev, err := blinkstick.Open()
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer dev.Close()
+
+ defer blinkstick.Off(dev)
+
+ pal := []color.Color{
+ color.YCbCr{0x1f, 0x00, 0xff}, // red
+ color.YCbCr{0x3f, 0x00, 0xbf}, // yellow
+ color.YCbCr{0x1f, 0x00, 0x00}, // green
+ color.YCbCr{0x1f, 0xff, 0x1f}, // blue
+ color.Black, // off
+ }
+
+ for _, c := range pal {
+ for i := 0; i < 8; i++ {
+ blinkstick.SetIndex(dev, i, c)
+ time.Sleep(time.Second / 2)
+ }
+ }
+}