aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/gps/gps_helper.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-03-03 10:32:01 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-03-03 10:32:01 +0100
commit5cefd4811f7913402baabf93939ed4fbf4727654 (patch)
tree5e97cf7a45c4c5b7fd6e01e05e2ec87bd2aaf2aa /src/drivers/gps/gps_helper.cpp
parent7bb583d6e21a0fa7e51f147d23997aaeb7e218c9 (diff)
parent3dd3ba4637bfe6d665f20c1e5712ac22131b5b22 (diff)
downloadpx4-firmware-mavlink_variable_length.tar.gz
px4-firmware-mavlink_variable_length.tar.bz2
px4-firmware-mavlink_variable_length.zip
Merged with master, cleanup of varlength prototypemavlink_variable_length
Diffstat (limited to 'src/drivers/gps/gps_helper.cpp')
-rw-r--r--src/drivers/gps/gps_helper.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/drivers/gps/gps_helper.cpp b/src/drivers/gps/gps_helper.cpp
index ba86d370a..2360ff39b 100644
--- a/src/drivers/gps/gps_helper.cpp
+++ b/src/drivers/gps/gps_helper.cpp
@@ -1,8 +1,6 @@
/****************************************************************************
*
- * Copyright (C) 2012,2013 PX4 Development Team. All rights reserved.
- * Author: Thomas Gubler <thomasgubler@student.ethz.ch>
- * Julian Oes <joes@student.ethz.ch>
+ * Copyright (c) 2012-2014 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -41,6 +39,9 @@
/**
* @file gps_helper.cpp
+ *
+ * @author Thomas Gubler <thomasgubler@student.ethz.ch>
+ * @author Julian Oes <joes@student.ethz.ch>
*/
float
@@ -87,13 +88,15 @@ GPS_Helper::set_baudrate(const int &fd, unsigned baud)
case 115200: speed = B115200; break;
- warnx("try baudrate: %d\n", speed);
+ warnx("try baudrate: %d\n", speed);
default:
warnx("ERROR: Unsupported baudrate: %d\n", baud);
return -EINVAL;
}
+
struct termios uart_config;
+
int termios_state;
/* fill the struct for the new configuration */
@@ -109,14 +112,17 @@ GPS_Helper::set_baudrate(const int &fd, unsigned baud)
warnx("ERROR setting config: %d (cfsetispeed)\n", termios_state);
return -1;
}
+
if ((termios_state = cfsetospeed(&uart_config, speed)) < 0) {
warnx("ERROR setting config: %d (cfsetospeed)\n", termios_state);
return -1;
}
+
if ((termios_state = tcsetattr(fd, TCSANOW, &uart_config)) < 0) {
warnx("ERROR setting baudrate (tcsetattr)\n");
return -1;
}
+
/* XXX if resetting the parser here, ensure it does exist (check for null pointer) */
return 0;
}