MCPcopy Create free account
hub / github.com/Fazecast/jSerialComm / configPort

Function configPort

src/test/c/testEventsWindows.c:23–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21static const DWORD readTimeout = 0, writeTimeout = 0;
22
23BOOL configPort(void *portHandle)
24{
25 // Retrieve existing port configuration
26 DCB dcbSerialParams;
27 memset(&dcbSerialParams, 0, sizeof(DCB));
28 dcbSerialParams.DCBlength = sizeof(DCB);
29 DWORD receiveDeviceQueueSize = 4096, sendDeviceQueueSize = 4096;
30 if (!SetupComm(portHandle, receiveDeviceQueueSize, sendDeviceQueueSize) || !GetCommState(portHandle, &dcbSerialParams))
31 {
32 printf("Error Line = %d, Code = %d\n", __LINE__ - 2, GetLastError());
33 return FALSE;
34 }
35
36 // Set updated port parameters
37 dcbSerialParams.BaudRate = 9600;
38 dcbSerialParams.ByteSize = 8;
39 dcbSerialParams.StopBits = ONESTOPBIT;
40 dcbSerialParams.Parity = NOPARITY;
41 dcbSerialParams.fParity = FALSE;
42 dcbSerialParams.fBinary = TRUE;
43 dcbSerialParams.fAbortOnError = FALSE;
44 dcbSerialParams.fRtsControl = RTS_CONTROL_DISABLE;
45 dcbSerialParams.fOutxCtsFlow = FALSE;
46 dcbSerialParams.fOutxDsrFlow = FALSE;
47 dcbSerialParams.fDtrControl = DTR_CONTROL_DISABLE;
48 dcbSerialParams.fDsrSensitivity = FALSE;
49 dcbSerialParams.fOutX = FALSE;
50 dcbSerialParams.fInX = FALSE;
51 dcbSerialParams.fTXContinueOnXoff = TRUE;
52 dcbSerialParams.fErrorChar = FALSE;
53 dcbSerialParams.fNull = FALSE;
54 dcbSerialParams.XonLim = 2048;
55 dcbSerialParams.XoffLim = 512;
56 dcbSerialParams.XonChar = 17;
57 dcbSerialParams.XoffChar = 19;
58
59 // Apply changes
60 if (!SetCommState(portHandle, &dcbSerialParams))
61 {
62 printf("Error Line = %d, Code = %d\n", __LINE__ - 2, GetLastError());
63 return FALSE;
64 }
65
66 // Get event flags from the Java class
67 int eventFlags = EV_ERR;
68 if ((eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_DATA_AVAILABLE) || (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_DATA_RECEIVED))
69 eventFlags |= EV_RXCHAR;
70 if (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_DATA_WRITTEN)
71 eventFlags |= EV_TXEMPTY;
72 if (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_BREAK_INTERRUPT)
73 eventFlags |= EV_BREAK;
74 if (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_CTS)
75 eventFlags |= EV_CTS;
76 if (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_DSR)
77 eventFlags |= EV_DSR;
78 if (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_RING_INDICATOR)
79 eventFlags |= EV_RING;
80 if (eventsToMonitor & com_fazecast_jSerialComm_SerialPort_LISTENING_EVENT_CARRIER_DETECT)

Callers 1

openPortNativeFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected