-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathwave.go
More file actions
53 lines (41 loc) · 1.05 KB
/
Copy pathwave.go
File metadata and controls
53 lines (41 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package pigpio
type Wave struct {
pi *Pi
handle int
}
func (w *Wave) Handle() int { return w.handle }
func (w *Wave) Delete() error {
r, e := w.pi.socket.SendCommand(cmdWaveDelete, w.handle, 0, nil)
if e != nil || r < 0 {
return newPiError(r, e, "Delete(handle: %d)", w.handle)
}
return nil
}
func (w *Wave) Once() (int, error) {
r, e := w.pi.socket.SendCommand(cmdWaveOnce, w.handle, 0, nil)
if e != nil || r < 0 {
return -1, newPiError(r, e, "SendOnce(handle: %d)", w.handle)
}
return r, nil
}
func (w *Wave) Repeat() (int, error) {
r, e := w.pi.socket.SendCommand(cmdWaveRepeat, w.handle, 0, nil)
if e != nil || r < 0 {
return -1, newPiError(r, e, "SendRepeat(handle: %d)", w.handle)
}
return r, nil
}
func (w *Wave) IsBusy() bool {
r, e := w.pi.socket.SendCommand(cmdWaveBusy, w.handle, 0, nil)
if e != nil || r < 0 {
return false
}
return r == 1
}
func (w *Wave) Stop() error {
r, e := w.pi.socket.SendCommand(cmdWaveHalt, 0, 0, nil)
if e != nil || r < 0 {
return newPiError(r, e, "Stop(handle: %d)", w.handle)
}
return nil
}