redid the sensor reading code for the bbb+cape
diff --git a/bbb_cape/src/bbb/uart_reader.cc b/bbb_cape/src/bbb/uart_reader.cc
index f4ebaca..cebe127 100644
--- a/bbb_cape/src/bbb/uart_reader.cc
+++ b/bbb_cape/src/bbb/uart_reader.cc
@@ -54,8 +54,10 @@
}
ssize_t UartReader::ReadBytes(AlignedChar *dest, size_t max_bytes,
- const ::aos::time::Time &timeout) {
+ const ::aos::time::Time &timeout_time) {
do {
+ ::aos::time::Time timeout = timeout_time - ::aos::time::Time::Now();
+ if (timeout < ::aos::time::Time(0, 0)) return -2;
struct timeval timeout_timeval = timeout.ToTimeval();
switch (select(fd_ + 1, &fd_set_, NULL, NULL, &timeout_timeval)) {
case 0: