From e0d6784e89dba33226c0edb815bb974486fa7c48 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 26 Jan 2017 15:52:08 +0100 Subject: wip --- car/car.ino | 2 +- car/elegoo/main.go | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/car/car.ino b/car/car.ino index 27d892f..54e138b 100644 --- a/car/car.ino +++ b/car/car.ino @@ -136,7 +136,7 @@ void setup() { void loop() { pb_istream_t input = pb_istream_from_serial(); Command cmd = {}; - //if (Serial.available()) + if (Serial.available()) pb_decode_delimited(&input, Command_fields, &cmd); pb_ostream_t output = pb_ostream_from_serial(); diff --git a/car/elegoo/main.go b/car/elegoo/main.go index 0ea3502..6f1d945 100644 --- a/car/elegoo/main.go +++ b/car/elegoo/main.go @@ -21,9 +21,12 @@ func Read(r io.Reader) []byte { sz, n := proto.DecodeVarint(buf[:]) nbuf := make([]byte, int(sz)) + copy(nbuf, buf[int(n):]) - io.ReadFull(r, nbuf[int(10-n):]) + if int(sz) > int(10-n) { + io.ReadFull(r, nbuf[int(10-n):]) + } return nbuf } @@ -34,11 +37,6 @@ func varint(b []byte) []byte { // /dev/cu.Elegoo-DevB // /dev/cu.usbmodem1421 -func Wait(d time.Duration) { - log.Println("Wait", d) - time.Sleep(d) -} - func main() { c := &serial.Config{ Name: "/dev/cu.usbmodem1421", @@ -50,7 +48,6 @@ func main() { } defer s.Close() - Wait(3 * time.Second) cmd := &Command{ SetSpeed: &Speed{ Left: 100, -- cgit v1.2.3