Set the serial port speed before trying to talk to IO

This commit is contained in:
px4dev 2013-06-16 22:41:08 -07:00
parent 8eb4a03274
commit 3163d7ac09
1 changed files with 10 additions and 3 deletions

View File

@ -49,6 +49,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <poll.h>
#include <termios.h>
#include <sys/stat.h>
#include "uploader.h"
@ -121,6 +122,12 @@ PX4IO_Uploader::upload(const char *filenames[])
return -errno;
}
/* adjust line speed to match bootloader */
struct termios t;
tcgetattr(_io_fd, &t);
cfsetspeed(&t, 115200);
tcsetattr(_io_fd, TCSANOW, &t);
/* look for the bootloader */
ret = sync();
@ -256,7 +263,7 @@ PX4IO_Uploader::recv(uint8_t &c, unsigned timeout)
}
read(_io_fd, &c, 1);
//log("recv 0x%02x", c);
log("recv 0x%02x", c);
return OK;
}
@ -283,7 +290,7 @@ PX4IO_Uploader::drain()
ret = recv(c, 1000);
if (ret == OK) {
//log("discard 0x%02x", c);
log("discard 0x%02x", c);
}
} while (ret == OK);
}
@ -291,7 +298,7 @@ PX4IO_Uploader::drain()
int
PX4IO_Uploader::send(uint8_t c)
{
//log("send 0x%02x", c);
log("send 0x%02x", c);
if (write(_io_fd, &c, 1) != 1)
return -errno;