aboutsummaryrefslogtreecommitdiff
path: root/apps/px4io/px4io.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/px4io/px4io.c')
-rw-r--r--apps/px4io/px4io.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/apps/px4io/px4io.c b/apps/px4io/px4io.c
index 4e3555b13..e51c1c73c 100644
--- a/apps/px4io/px4io.c
+++ b/apps/px4io/px4io.c
@@ -51,6 +51,8 @@
#include <drivers/drv_pwm_output.h>
#include <drivers/drv_hrt.h>
+#include <stm32_uart.h>
+
#include "px4io.h"
__EXPORT int user_start(int argc, char *argv[]);
@@ -59,6 +61,8 @@ extern void up_cxxinitialize(void);
struct sys_state_s system_state;
+static struct hrt_call serial_dma_call;
+
int user_start(int argc, char *argv[])
{
/* run C++ ctors before we go any further */
@@ -72,6 +76,12 @@ int user_start(int argc, char *argv[])
/* configure the high-resolution time/callout interface */
hrt_init();
+ /*
+ * Poll at 1ms intervals for received bytes that have not triggered
+ * a DMA event.
+ */
+ hrt_call_every(&serial_dma_call, 1000, 1000, (hrt_callout)stm32_serial_dma_poll, NULL);
+
/* print some startup info */
lib_lowprintf("\nPX4IO: starting\n");