-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUpdateSrv.go
More file actions
73 lines (60 loc) · 1.32 KB
/
UpdateSrv.go
File metadata and controls
73 lines (60 loc) · 1.32 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package main
import (
"fmt"
"net"
"time"
)
func UDP_Updates() {
/* Lets prepare a address at any address at port 10001*/
ServerAddr, _ := net.ResolveUDPAddr("udp", ":7778")
fmt.Println("listening on :7778")
/* Now listen at selected port */
ServerConn, _ := net.ListenUDP("udp", ServerAddr)
defer ServerConn.Close()
buf := make([]byte, 65535)
for {
n, _, err := ServerConn.ReadFromUDP(buf)
if err != nil {
fmt.Println("error: ", err)
}
if n == 31380 {
for i := 0; i < 10460; i++ {
start := (i * 3)
end := (i * 3) + 3
config.LEDs[i][0] = float32(buf[start:end][0])
config.LEDs[i][1] = float32(buf[start:end][1])
config.LEDs[i][2] = float32(buf[start:end][2])
}
}
}
}
func SendLed(LEDs [][]float32) {
ServerAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:3663")
if err != nil {
panic(err)
}
LocalAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:0")
if err != nil {
panic(err)
}
Conn, err := net.DialUDP("udp", LocalAddr, ServerAddr)
if err != nil {
panic(err)
}
defer Conn.Close()
i := 0
msg := LEDs
i++
buf := make([]byte, 10460*3)
for i := 0; i < len(msg); i++ {
for j := 0; j < len(msg[i]); j++ {
buf[(i*3)+j] = byte(msg[i][j])
}
}
gg, err := Conn.Write(buf)
if err != nil {
fmt.Println(msg, err)
fmt.Println(gg)
}
time.Sleep(time.Second * 1)
}