diff --git a/include/serial.h b/include/serial.h index d5b1f92ed4c1d3e18256af107020323d37fe5264..ed8215acf0029d0a4bcb168f341045b5bfe06b5b 100644 --- a/include/serial.h +++ b/include/serial.h @@ -148,7 +148,7 @@ public: * * @return A boolean value that represents whether or not the serial port is open. */ - const bool isOpen(); + bool isOpen(); /** Closes the serial port and terminates threads. */ void close(); @@ -163,7 +163,7 @@ public: * * @return An integer representing the number of bytes read. */ - const int read(char* buffer, int size = 1); + int read(char* buffer, int size = 1); /** Read size bytes from the serial port. * If a timeout is set it may return less characters than requested. With no timeout @@ -173,7 +173,7 @@ public: * * @return A std::string containing the data read. */ - const std::string read(int size = 1); + std::string read(int size = 1); std::string read_until(char delim, size_t size = -1); std::string read_until(std::string delim, size_t size = -1); @@ -186,7 +186,7 @@ public: * * @return An integer representing the number of bytes written. */ - const int write(char data[], int length); + int write(char data[], int length); /** Write a string to the serial port. * @@ -194,7 +194,7 @@ public: * * @return An integer representing the number of bytes written to the serial port. */ - const int write(std::string data); + int write(std::string data); /** Sets the logic level of the RTS line. * @@ -212,13 +212,13 @@ public: * * @return A boolean value that represents the current logic level of the CTS line. */ - const bool getCTS() const; + bool getCTS() const; /** Gets the status of the DSR line. * * @return A boolean value that represents the current logic level of the DSR line. */ - const bool getDSR() const; + bool getDSR() const; /** Sets the serial port identifier. * @@ -234,7 +234,7 @@ public: * which would be something like 'COM1' on Windows and '/dev/ttyS0' * on Linux. */ - const std::string getPort() const; + std::string getPort() const; /** Sets the timeout for reads in seconds. * @@ -256,7 +256,7 @@ public: * zero (-1) will result in infinite blocking behaviour, i.e. the serial port will * block until either size bytes have been read or an exception has occured. */ - const long getTimeoutMilliseconds() const; + long getTimeoutMilliseconds() const; /** Sets the baudrate for the serial port. * @@ -268,7 +268,7 @@ public: * * @return An integer that sets the baud rate for the serial port. */ - const int getBaudrate() const; + int getBaudrate() const; /** Sets the bytesize for the serial port. * @@ -288,7 +288,7 @@ public: * * @throw InvalidBytesizeException */ - const bytesize_t getBytesize() const; + bytesize_t getBytesize() const; /** Sets the parity for the serial port. * @@ -306,7 +306,7 @@ public: * * @throw InvalidParityException */ - const parity_t getParity() const; + parity_t getParity() const; /** Sets the stopbits for the serial port. * @@ -324,7 +324,7 @@ public: * * @throw InvalidStopbitsException */ - const stopbits_t getStopbits() const; + stopbits_t getStopbits() const; /** Sets the flow control for the serial port. * @@ -342,7 +342,7 @@ public: * * @throw InvalidFlowcontrolException */ - const flowcontrol_t getFlowcontrol() const; + flowcontrol_t getFlowcontrol() const; private: DISALLOW_COPY_AND_ASSIGN(Serial); void init(); diff --git a/src/serial.cpp b/src/serial.cpp index 95e513c8955c1c7f03b85455f5933cb18b35aade..945d87a7d56c2c76b3af1b653e1882d6f1c6ba2a 100644 --- a/src/serial.cpp +++ b/src/serial.cpp @@ -183,7 +183,7 @@ void Serial::open() { } } -const bool Serial::isOpen() { +bool Serial::isOpen() { if(this->serial_port != NULL) return this->serial_port->is_open(); return false; @@ -201,7 +201,7 @@ void Serial::close() { static const boost::posix_time::time_duration timeout_zero_comparison(boost::posix_time::milliseconds(0)); -const int Serial::read(char* buffer, int size) { +int Serial::read(char* buffer, int size) { this->reading = true; if(this->nonblocking) {// Do not wait for data this->serial_port->async_read_some(boost::asio::buffer(buffer, size), @@ -232,7 +232,7 @@ const int Serial::read(char* buffer, int size) { return this->bytes_read; } -const std::string Serial::read(int size) { +std::string Serial::read(int size) { char *serial_buffer = new char[size]; int bytes_read_ = this->read(serial_buffer, size); std::string return_str(serial_buffer, (std::size_t)bytes_read_); @@ -285,11 +285,11 @@ void Serial::timeout_callback(const boost::system::error_code& error) { } } -const int Serial::write(char data[], int length) { +int Serial::write(char data[], int length) { return boost::asio::write(*this->serial_port, boost::asio::buffer(data, length), boost::asio::transfer_all()); } -const int Serial::write(std::string data) { +int Serial::write(std::string data) { char *cstr = new char[data.size()+1]; std::strcpy(cstr, data.c_str()); int bytes_wrote = this->write(cstr, data.length()); @@ -305,12 +305,12 @@ void Serial::setDTR(bool level) { this->serial_port->set_option(DTRControl(level)); } -const bool Serial::getCTS() const { +bool Serial::getCTS() const { throw(boost::asio::error::operation_not_supported); return false; } -const bool Serial::getDSR() const { +bool Serial::getDSR() const { throw(boost::asio::error::operation_not_supported); return false; } @@ -319,7 +319,7 @@ void Serial::setPort(std::string port) { this->port = port; } -const std::string Serial::getPort() const { +std::string Serial::getPort() const { return this->port; } @@ -339,7 +339,7 @@ void Serial::setTimeoutMilliseconds(long timeout) { this->nonblocking = false; } -const long Serial::getTimeoutMilliseconds() const { +long Serial::getTimeoutMilliseconds() const { return this->timeout.total_milliseconds(); } @@ -347,7 +347,7 @@ void Serial::setBaudrate(int baudrate) { this->baudrate = boost::asio::serial_port_base::baud_rate(baudrate); } -const int Serial::getBaudrate() const { +int Serial::getBaudrate() const { return this->baudrate.value(); } @@ -371,7 +371,7 @@ void Serial::setBytesize(bytesize_t bytesize) { } } -const bytesize_t Serial::getBytesize() const { +bytesize_t Serial::getBytesize() const { return bytesize_t(this->bytesize.value()); } @@ -392,7 +392,7 @@ void Serial::setParity(parity_t parity) { } } -const parity_t Serial::getParity() const { +parity_t Serial::getParity() const { switch(this->parity.value()) { case boost::asio::serial_port_base::parity::none: return parity_t(PARITY_NONE); @@ -422,7 +422,7 @@ void Serial::setStopbits(stopbits_t stopbits) { } } -const stopbits_t Serial::getStopbits() const { +stopbits_t Serial::getStopbits() const { switch(this->stopbits.value()) { case boost::asio::serial_port_base::stop_bits::one: return stopbits_t(STOPBITS_ONE); @@ -452,7 +452,7 @@ void Serial::setFlowcontrol(flowcontrol_t flowcontrol) { } } -const flowcontrol_t Serial::getFlowcontrol() const { +flowcontrol_t Serial::getFlowcontrol() const { switch(this->flowcontrol.value()) { case boost::asio::serial_port_base::flow_control::none: return flowcontrol_t(FLOWCONTROL_NONE);