* @brief Changes the data bits of the serial port. */
| 608 | * @brief Changes the data bits of the serial port. |
| 609 | */ |
| 610 | void IO::Drivers::UART::setDataBits(const quint8 dataBitsIndex) |
| 611 | { |
| 612 | if (dataBitsIndex >= dataBitsList().count()) { |
| 613 | qWarning() << "UART::setDataBits: index" << dataBitsIndex << "out of range"; |
| 614 | return; |
| 615 | } |
| 616 | |
| 617 | if (m_dataBitsIndex == dataBitsIndex) |
| 618 | return; |
| 619 | |
| 620 | m_dataBitsIndex = dataBitsIndex; |
| 621 | m_settings.setValue("UartDriver/dataBits", dataBitsIndex); |
| 622 | |
| 623 | switch (dataBitsIndex) { |
| 624 | case 0: |
| 625 | m_dataBits = QSerialPort::Data5; |
| 626 | break; |
| 627 | case 1: |
| 628 | m_dataBits = QSerialPort::Data6; |
| 629 | break; |
| 630 | case 2: |
| 631 | m_dataBits = QSerialPort::Data7; |
| 632 | break; |
| 633 | case 3: |
| 634 | m_dataBits = QSerialPort::Data8; |
| 635 | break; |
| 636 | } |
| 637 | |
| 638 | if (port()) |
| 639 | port()->setDataBits(dataBits()); |
| 640 | |
| 641 | Q_EMIT dataBitsChanged(); |
| 642 | } |
| 643 | |
| 644 | /** |
| 645 | * @brief Changes the stop bits of the serial port. |