aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-01-26 15:52:08 +0100
committerDimitri Sokolyuk <demon@dim13.org>2017-01-26 15:52:08 +0100
commite0d6784e89dba33226c0edb815bb974486fa7c48 (patch)
tree440550ac22c3fc9eb4fb7aab85ce7d95ecb89e12
parent9cbf4e50a3b0b8f20740de79e33afb9902d7e307 (diff)
wip
-rw-r--r--car/car.ino2
-rw-r--r--car/elegoo/main.go11
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,