MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkSerialCommunicationTest.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
13#include <iostream>
15
27int main()
28{
29 std::cout << "Test Program for mitkSerialCommunication.cpp\n";
30 std::cout << "Using com port COM7\n"; // current test uses hard coded COM7
31// std::cout << "Using com port /dev/ttyUSB1\n";
32
33 mitk::SerialCommunication::Pointer serial = mitk::SerialCommunication::New();
35 serial->SetPortNumber(mitk::SerialCommunication::COM7);
36 //serial->SetDeviceName("/dev/ttyUSB1");
37 serial->SetDataBits(mitk::SerialCommunication::DataBits8);
38 serial->SetParity(mitk::SerialCommunication::Even);
39 serial->SetStopBits(mitk::SerialCommunication::StopBits1);
40 serial->SetHardwareHandshake(mitk::SerialCommunication::HardwareHandshakeOff);
41 serial->SetSendTimeout(2000);
42 serial->SetReceiveTimeout(2000);
43 if (serial->OpenConnection() == false)
44 {
45 std::cout << "Error Opening connection to com port #" << serial->GetPortNumber() << std::endl;
46 return -1;
47 }
48 std::string message = "Hello World\r\n";
49 if (serial->Send(message) == false)
50 {
51 std::cout << "Error sending string '" << message << "'" << std::endl;
52 serial->CloseConnection();
53 return -1;
54 }
55 message = "";
56 serial->Send(std::string("Oh, Hello again, dort am Fluss wo die Baeume steh'n, will ich Dir in die Augen seh'n, ob ich da bleiben kann.\r\n"));
57
58 std::cout << "Waiting to receive 4 characters. [readtimeout = 0! --> blocking --> waiting until 4 characters are send in windows implementation!]\n";
59 if (serial->Receive(message, 4) == false)// receive 4 bytes
60 std::cout << "Error receiving message. Only " << message.size() << " characters received: '" << message << "'.\n";
61 else
62 std::cout << "Received message: '" << message << "'.\n";
63
64 std::cout << "Setting Receive timeout to 6 seconds, waiting to receive 10 more characters.\n";
65 serial->CloseConnection();
66 serial->SetReceiveTimeout(6000);
67 serial->OpenConnection();
68 if (serial->Receive(message, 10) == false)// receive 10 bytes
69 std::cout << "Error receiving message. Received " << message.size() << " characters: '" << message << "'.\n";
70 else
71 std::cout << "Received message: '" << message << "' without errors.\n";
72
73 std::cout << "sending a new message.\n";
74 serial->Send(std::string("all your base are belong to us\r\n"));
75 std::cout << "Waiting to receive 20 characters.\n";
76 serial->Receive(message, 20);
77 std::cout << "Received " << message.size() << " characters. Message: '" << message << "'.\n";
78 serial->CloseConnection();
79 std::cout << "closing connection.\n";
80 std::cout << "good bye.\n";
81 return 0;
82}
int main()
SerialCommunicationTest - send and receive bytes over a com port.