diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-04 22:54:27 -0700 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-04 22:54:27 -0700 |
commit | bddcb11051a159511a1970246430cf7898fa71a7 (patch) | |
tree | 66c88d1696ad6f3180e313375a37c73bca00e5d5 /src | |
parent | de82295ab5307bca0fbd2266fdd1547386fa19a8 (diff) | |
parent | 032f7d0b0e0bfb0cb5b77ebb8553cf3dc7ddda9b (diff) | |
download | px4-firmware-bddcb11051a159511a1970246430cf7898fa71a7.tar.gz px4-firmware-bddcb11051a159511a1970246430cf7898fa71a7.tar.bz2 px4-firmware-bddcb11051a159511a1970246430cf7898fa71a7.zip |
Merge pull request #296 from sjwilks/hott-init-fix
Fix HoTT syncing issue with receiver on startup.
Diffstat (limited to 'src')
-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"); } } |