paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [4371] Add flushing support to fms_serial_port and f


From: Allen Ibara
Subject: [paparazzi-commits] [4371] Add flushing support to fms_serial_port and flush for each send by default for now
Date: Thu, 10 Dec 2009 20:43:08 +0000

Revision: 4371
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4371
Author:   aibara
Date:     2009-12-10 20:43:08 +0000 (Thu, 10 Dec 2009)
Log Message:
-----------
Add flushing support to fms_serial_port and flush for each send by default for 
now

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/fms/fms_serial_port.c
    paparazzi3/trunk/sw/airborne/fms/fms_serial_port.h

Modified: paparazzi3/trunk/sw/airborne/fms/fms_serial_port.c
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/fms_serial_port.c  2009-12-10 20:41:46 UTC 
(rev 4370)
+++ paparazzi3/trunk/sw/airborne/fms/fms_serial_port.c  2009-12-10 20:43:08 UTC 
(rev 4371)
@@ -22,6 +22,18 @@
   free(me);
 }
 
+
+void serial_port_flush(struct FmsSerialPort* me) {
+  /*
+   * flush any input that might be on the port so we start fresh.
+   */
+  if (tcflush(me->fd, TCIFLUSH)) {
+    TRACE(TRACE_ERROR,"%s, set term attr failed: %s (%d)\n", device, 
strerror(errno), errno);
+    fprintf(stderr, "flush (%d) failed: %s (%d)\n", me->fd, strerror(errno), 
errno);
+  }
+}
+
+
 int  serial_port_open(struct FmsSerialPort* me, const char* device,
                      void(*term_conf_callback)(struct termios*, speed_t*)) {
   
@@ -47,6 +59,7 @@
     close(me->fd);
     return -1;
   }
+  serial_port_flush(me);
   return 0;
   
 }

Modified: paparazzi3/trunk/sw/airborne/fms/fms_serial_port.h
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/fms_serial_port.h  2009-12-10 20:41:46 UTC 
(rev 4370)
+++ paparazzi3/trunk/sw/airborne/fms/fms_serial_port.h  2009-12-10 20:43:08 UTC 
(rev 4371)
@@ -11,6 +11,7 @@
 
 extern struct FmsSerialPort* serial_port_new(void);
 extern void serial_port_free(struct FmsSerialPort* me);
+extern void serial_port_flush(struct FmsSerialPort* me);
 extern int  serial_port_open(struct FmsSerialPort* me, const char* device, 
                             void(*term_conf_callback)(struct termios*, 
speed_t*));
 extern void serial_port_close(struct FmsSerialPort* me);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]