diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-03-03 10:32:01 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-03-03 10:32:01 +0100 |
commit | 5cefd4811f7913402baabf93939ed4fbf4727654 (patch) | |
tree | 5e97cf7a45c4c5b7fd6e01e05e2ec87bd2aaf2aa /src/drivers/gps/gps_helper.cpp | |
parent | 7bb583d6e21a0fa7e51f147d23997aaeb7e218c9 (diff) | |
parent | 3dd3ba4637bfe6d665f20c1e5712ac22131b5b22 (diff) | |
download | px4-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.cpp | 14 |
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; } |