From 4c554b643c06d0433ef1eeab26d0068e825984b6 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 8 Sep 2017 10:10:25 +0200 Subject: Rename Events --- cmd/runcmd/main.go | 6 +++--- event_string.go | 19 ++++--------------- redbutton.go | 14 +++++++------- 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/cmd/runcmd/main.go b/cmd/runcmd/main.go index b02e1fb..a274e09 100644 --- a/cmd/runcmd/main.go +++ b/cmd/runcmd/main.go @@ -11,7 +11,7 @@ import ( type stateFn func(redbutton.Event) stateFn func Init(b redbutton.Event) stateFn { - if b == redbutton.LidOpen { + if b == redbutton.Enabled { log.Println("Ready...") return Armed } @@ -19,7 +19,7 @@ func Init(b redbutton.Event) stateFn { } func Armed(b redbutton.Event) stateFn { - if b == redbutton.ButtonPressed { + if b == redbutton.Pressed { log.Println("Go!") go Exec(os.Args[1:]) return Reset @@ -28,7 +28,7 @@ func Armed(b redbutton.Event) stateFn { } func Reset(b redbutton.Event) stateFn { - if b == redbutton.LidClosed { + if b == redbutton.Disabled { log.Println("Reset...") return Init } diff --git a/event_string.go b/event_string.go index fc9466e..c83226a 100644 --- a/event_string.go +++ b/event_string.go @@ -4,24 +4,13 @@ package redbutton import "fmt" -const ( - _Event_name_0 = "Unknown" - _Event_name_1 = "LidClosedButtonPressedLidOpen" -) +const _Event_name = "UnknownDisabledPressedEnabled" -var ( - _Event_index_0 = [...]uint8{0, 7} - _Event_index_1 = [...]uint8{0, 9, 22, 29} -) +var _Event_index = [...]uint8{0, 7, 15, 22, 29} func (i Event) String() string { - switch { - case i == 0: - return _Event_name_0 - case 21 <= i && i <= 23: - i -= 21 - return _Event_name_1[_Event_index_1[i]:_Event_index_1[i+1]] - default: + if i < 0 || i >= Event(len(_Event_index)-1) { return fmt.Sprintf("Event(%d)", i) } + return _Event_name[_Event_index[i]:_Event_index[i+1]] } diff --git a/redbutton.go b/redbutton.go index 21e3854..a6f73dd 100644 --- a/redbutton.go +++ b/redbutton.go @@ -18,10 +18,10 @@ const ( type Event int const ( - Unknown Event = 0x00 - LidClosed Event = 0x15 - ButtonPressed Event = 0x16 - LidOpen Event = 0x17 + Unknown Event = iota + Disabled + Pressed + Enabled ) func Report(dev *hid.Device) (Event, error) { @@ -33,7 +33,7 @@ func Report(dev *hid.Device) (Event, error) { if _, err := dev.Read(buf[:8]); err != nil { return Unknown, err } - return Event(buf[0]), nil + return Event(buf[0] & 3), nil } func Poll(dev *hid.Device, d time.Duration) <-chan Event { @@ -42,7 +42,7 @@ func Poll(dev *hid.Device, d time.Duration) <-chan Event { } ch := make(chan Event) go func() { - prev := LidClosed + prev := Disabled tick := time.NewTicker(d) defer tick.Stop() defer close(ch) @@ -51,7 +51,7 @@ func Poll(dev *hid.Device, d time.Duration) <-chan Event { if err != nil { return } - if ev != prev && prev != ButtonPressed { + if ev != prev && prev != Pressed { ch <- ev } prev = ev -- cgit v1.2.3