| 8 | namespace detail |
| 9 | { |
| 10 | static Result validateSerialSettings(const SerialSettings& settings) |
| 11 | { |
| 12 | SC_TRY_MSG(settings.baudRate > 0, "SerialDescriptor::open - baudRate must be greater than zero"); |
| 13 | switch (settings.dataBits) |
| 14 | { |
| 15 | case SerialSettings::DataBits::Bits5: |
| 16 | case SerialSettings::DataBits::Bits6: |
| 17 | case SerialSettings::DataBits::Bits7: |
| 18 | case SerialSettings::DataBits::Bits8: break; |
| 19 | default: return Result::Error("SerialDescriptor::open - invalid dataBits"); |
| 20 | } |
| 21 | switch (settings.parity) |
| 22 | { |
| 23 | case SerialSettings::Parity::None: |
| 24 | case SerialSettings::Parity::Odd: |
| 25 | case SerialSettings::Parity::Even: break; |
| 26 | default: return Result::Error("SerialDescriptor::open - invalid parity"); |
| 27 | } |
| 28 | switch (settings.stopBits) |
| 29 | { |
| 30 | case SerialSettings::StopBits::One: |
| 31 | case SerialSettings::StopBits::Two: break; |
| 32 | default: return Result::Error("SerialDescriptor::open - invalid stopBits"); |
| 33 | } |
| 34 | switch (settings.flowControl) |
| 35 | { |
| 36 | case SerialSettings::FlowControl::None: |
| 37 | case SerialSettings::FlowControl::Software: |
| 38 | case SerialSettings::FlowControl::Hardware: break; |
| 39 | default: return Result::Error("SerialDescriptor::open - invalid flowControl"); |
| 40 | } |
| 41 | return Result(true); |
| 42 | } |
| 43 | |
| 44 | Result openSerialHandle(StringSpan path, const SerialOpenOptions& options, FileDescriptor::Handle& outHandle); |
| 45 | Result setSerialSettings(FileDescriptor::Handle handle, const SerialSettings& settings); |
no test coverage detected