aboutsummaryrefslogtreecommitdiff
path: root/apps/px4io
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2012-12-30 01:16:54 -0800
committerpx4dev <px4@purgatory.org>2012-12-30 01:16:54 -0800
commitc740e9c6160b72fa11d252e5ef4efe6ae741abba (patch)
tree49d12d046a25825d49e02865929bae47bfbe3ef1 /apps/px4io
parentb14abad3a06f0207e051744d4f892b1840cb3291 (diff)
downloadpx4-firmware-c740e9c6160b72fa11d252e5ef4efe6ae741abba.tar.gz
px4-firmware-c740e9c6160b72fa11d252e5ef4efe6ae741abba.tar.bz2
px4-firmware-c740e9c6160b72fa11d252e5ef4efe6ae741abba.zip
Add a receive error counter for debugging purposes.
Diffstat (limited to 'apps/px4io')
-rw-r--r--apps/px4io/comms.c9
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;