Added extension method
This commit is contained in:
parent
59a094b949
commit
3040660d64
23
Nefarius.Peripherals.SerialPort/Util.cs
Normal file
23
Nefarius.Peripherals.SerialPort/Util.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using Windows.Win32.Devices.Communication;
|
||||
|
||||
namespace Nefarius.Peripherals.SerialPort;
|
||||
|
||||
internal static class DCBExtensions
|
||||
{
|
||||
public static void Init(this DCB dcb, bool parity, bool outCts, bool outDsr, int dtr, bool inDsr, bool txc,
|
||||
bool xOut,
|
||||
bool xIn, int rts)
|
||||
{
|
||||
dcb.DCBlength = 28;
|
||||
dcb._bitfield = 0x8001;
|
||||
if (parity) dcb._bitfield |= 0x0002;
|
||||
if (outCts) dcb._bitfield |= 0x0004;
|
||||
if (outDsr) dcb._bitfield |= 0x0008;
|
||||
dcb._bitfield |= (uint)((dtr & 0x0003) << 4);
|
||||
if (inDsr) dcb._bitfield |= 0x0040;
|
||||
if (txc) dcb._bitfield |= 0x0080;
|
||||
if (xOut) dcb._bitfield |= 0x0100;
|
||||
if (xIn) dcb._bitfield |= 0x0200;
|
||||
dcb._bitfield |= (uint)((rts & 0x0003) << 12);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user