Skip to content

Commit 16c98f6

Browse files
committed
tools: adapt serial read for use on Windows
1 parent a28a8dc commit 16c98f6

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

tools/bhy-controller/src/sensor/sensor.go

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,22 +47,19 @@ func openPort(usbPort string, baudRate int) serial.Port {
4747
}
4848

4949
func readSensorData(buffer []byte, port serial.Port) {
50-
n, err := port.Read(buffer)
51-
errCheck(err)
52-
if n != sensorDataSize {
53-
fmt.Println("data not valid")
54-
} else {
55-
// Print the received sensor data
56-
var data SensorData
57-
data.id = uint8(buffer[0])
58-
data.size = uint8(buffer[1])
59-
//data.data = uint64(binary.LittleEndian.Uint64(buffer[2:10]))
60-
data.data = buffer[2:(2 + data.size)]
61-
//copy(data.data[:], buffer[2:(2+data.size)])
62-
//fmt.Printf("sensor: %d size: %d data: ", data.id, data.size)
63-
//fmt.Println(data.data)
64-
parseData(&data)
50+
var dataPacket [sensorDataSize]byte
51+
for rxLen := 0; rxLen < sensorDataSize; {
52+
n, err := port.Read(buffer)
53+
errCheck(err)
54+
copy(dataPacket[rxLen:sensorDataSize], buffer[:n])
55+
rxLen = rxLen + n
6556
}
57+
// Print the received sensor data
58+
var data SensorData
59+
data.id = uint8(dataPacket[0])
60+
data.size = uint8(dataPacket[1])
61+
data.data = dataPacket[2:(2 + data.size)]
62+
parseData(&data)
6663
}
6764

6865
func liveRead(port serial.Port) {

0 commit comments

Comments
 (0)