diff options
author | px4dev <px4@purgatory.org> | 2012-12-30 01:16:54 -0800 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2012-12-30 01:16:54 -0800 |
commit | c740e9c6160b72fa11d252e5ef4efe6ae741abba (patch) | |
tree | 49d12d046a25825d49e02865929bae47bfbe3ef1 | |
parent | b14abad3a06f0207e051744d4f892b1840cb3291 (diff) | |
download | px4-firmware-c740e9c6160b72fa11d252e5ef4efe6ae741abba.tar.gz px4-firmware-c740e9c6160b72fa11d252e5ef4efe6ae741abba.tar.bz2 px4-firmware-c740e9c6160b72fa11d252e5ef4efe6ae741abba.zip |
Add a receive error counter for debugging purposes.
-rw-r--r-- | apps/px4io/comms.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/px4io/comms.c b/apps/px4io/comms.c index b87f21dba..843d0978a 100644 --- a/apps/px4io/comms.c +++ b/apps/px4io/comms.c @@ -70,6 +70,8 @@ static struct px4io_report report; static void comms_handle_frame(void *arg, const void *buffer, size_t length); +perf_counter_t comms_rx_errors; + static void comms_init(void) { @@ -77,6 +79,9 @@ comms_init(void) fmu_fd = open("/dev/ttyS1", O_RDWR); stream = hx_stream_init(fmu_fd, comms_handle_frame, NULL); + comms_rx_errors = perf_alloc(PC_COUNT, "rx_err"); + hx_stream_set_counters(stream, 0, 0, comms_rx_errors); + /* default state in the report to FMU */ report.i2f_magic = I2F_MAGIC; @@ -175,15 +180,13 @@ comms_handle_command(const void *buffer, size_t length) system_state.fmu_channel_data[i] = cmd->output_control[i]; /* if the IO is armed and the FMU gets disarmed, the IO must also disarm */ - if (system_state.arm_ok && !cmd->arm_ok) { + if (system_state.arm_ok && !cmd->arm_ok) system_state.armed = false; - } system_state.arm_ok = cmd->arm_ok; system_state.mixer_use_fmu = true; system_state.fmu_data_received = true; - /* handle changes signalled by FMU */ // if (!system_state.arm_ok && system_state.armed) // system_state.armed = false; |