MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / validateSerialSettings

Function validateSerialSettings

Libraries/SerialPort/SerialPort.cpp:10–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8namespace detail
9{
10static 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
44Result openSerialHandle(StringSpan path, const SerialOpenOptions& options, FileDescriptor::Handle& outHandle);
45Result setSerialSettings(FileDescriptor::Handle handle, const SerialSettings& settings);

Callers 2

openMethod · 0.85
setSettingsMethod · 0.85

Calls 2

ErrorEnum · 0.50
ResultClass · 0.50

Tested by

no test coverage detected