diff options
author | Simon Wilks <sjwilks@gmail.com> | 2013-06-04 23:24:30 +0200 |
---|---|---|
committer | Simon Wilks <sjwilks@gmail.com> | 2013-06-04 23:24:30 +0200 |
commit | 032f7d0b0e0bfb0cb5b77ebb8553cf3dc7ddda9b (patch) | |
tree | 1265f6117030448dac83c01c4b1d83706b18e5ef /src/drivers | |
parent | 82c7e58122992aab2cf698951f9a33817cf1a050 (diff) | |
download | px4-firmware-032f7d0b0e0bfb0cb5b77ebb8553cf3dc7ddda9b.tar.gz px4-firmware-032f7d0b0e0bfb0cb5b77ebb8553cf3dc7ddda9b.tar.bz2 px4-firmware-032f7d0b0e0bfb0cb5b77ebb8553cf3dc7ddda9b.zip |
Fix syncing issue with receiver on startup.
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/hott_telemetry/hott_telemetry_main.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/drivers/hott_telemetry/hott_telemetry_main.c b/src/drivers/hott_telemetry/hott_telemetry_main.c index 4318244f8..1d2bdd92e 100644 --- a/src/drivers/hott_telemetry/hott_telemetry_main.c +++ b/src/drivers/hott_telemetry/hott_telemetry_main.c @@ -133,15 +133,14 @@ recv_req_id(int uart, uint8_t *id) if (poll(fds, 1, timeout_ms) > 0) { /* Get the mode: binary or text */ read(uart, &mode, sizeof(mode)); - /* Read the device ID being polled */ - read(uart, id, sizeof(*id)); /* if we have a binary mode request */ if (mode != BINARY_MODE_REQUEST_ID) { - warnx("Non binary request ID detected: %d", mode); return ERROR; } + /* Read the device ID being polled */ + read(uart, id, sizeof(*id)); } else { warnx("UART timeout on TX/RX port"); return ERROR; @@ -216,9 +215,15 @@ hott_telemetry_thread_main(int argc, char *argv[]) uint8_t buffer[MESSAGE_BUFFER_SIZE]; size_t size = 0; uint8_t id = 0; + bool connected = true; while (!thread_should_exit) { if (recv_req_id(uart, &id) == OK) { + if (!connected) { + connected = true; + warnx("OK"); + } + switch (id) { case EAM_SENSOR_ID: build_eam_response(buffer, &size); @@ -234,7 +239,8 @@ hott_telemetry_thread_main(int argc, char *argv[]) send_data(uart, buffer, size); } else { - warnx("NOK"); + connected = false; + warnx("syncing"); } } |