X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Funix%2Fserial.cpp;h=2be5dc589f6efe57c5a83d9434776912d290faac;hp=49d9e9c138da1afaad12cc485b331b96a117bb32;hb=b6ca62a3789b11931b8169e071a7777d8f149ee8;hpb=609c9a508cfdc7b42c46c4f21d17639204165a00 diff --git a/source/io/unix/serial.cpp b/source/io/unix/serial.cpp index 49d9e9c..2be5dc5 100644 --- a/source/io/unix/serial.cpp +++ b/source/io/unix/serial.cpp @@ -33,14 +33,14 @@ void Serial::platform_init(const string &port) } -void Serial::DeviceState::get_from(const Handle &handle) +void Serial::DeviceState::get_from(const Handle &h) { - tcgetattr(*handle, &state); + tcgetattr(*h, &state); } -void Serial::DeviceState::apply_to(const Handle &handle) +void Serial::DeviceState::apply_to(const Handle &h) { - if(tcsetattr(*handle, TCSADRAIN, &state)==-1) + if(tcsetattr(*h, TCSADRAIN, &state)==-1) throw system_error("tcsetattr"); } @@ -68,6 +68,18 @@ void Serial::DeviceState::set_baud_rate(unsigned baud) case 57600: speed = B57600; break; case 115200: speed = B115200; break; case 230400: speed = B230400; break; + case 460800: speed = B460800; break; + case 500000: speed = B500000; break; + case 576000: speed = B576000; break; + case 921600: speed = B921600; break; + case 1000000: speed = B1000000; break; + case 1152000: speed = B1152000; break; + case 1500000: speed = B1500000; break; + case 2000000: speed = B2000000; break; + case 2500000: speed = B2500000; break; + case 3000000: speed = B3000000; break; + case 3500000: speed = B3500000; break; + case 4000000: speed = B4000000; break; default: throw invalid_argument("set_baud_rate"); }