Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <iostream>
00019 #include "mitkSerialCommunication.h"
00020
00032 int main()
00033 {
00034 std::cout << "Test Program for mitkSerialCommunication.cpp\n";
00035 std::cout << "Using com port COM7\n";
00036
00037
00038 mitk::SerialCommunication::Pointer serial = mitk::SerialCommunication::New();
00039 serial->SetBaudRate(mitk::SerialCommunication::BaudRate115200);
00040 serial->SetPortNumber(mitk::SerialCommunication::COM7);
00041
00042 serial->SetDataBits(mitk::SerialCommunication::DataBits8);
00043 serial->SetParity(mitk::SerialCommunication::Even);
00044 serial->SetStopBits(mitk::SerialCommunication::StopBits1);
00045 serial->SetHardwareHandshake(mitk::SerialCommunication::HardwareHandshakeOff);
00046 serial->SetSendTimeout(2000);
00047 serial->SetReceiveTimeout(2000);
00048 if (serial->OpenConnection() == false)
00049 {
00050 std::cout << "Error Opening connection to com port #" << serial->GetPortNumber() << std::endl;
00051 return -1;
00052 }
00053 std::string message = "Hello World\r\n";
00054 if (serial->Send(message) == false)
00055 {
00056 std::cout << "Error sending string '" << message << "'" << std::endl;
00057 serial->CloseConnection();
00058 return -1;
00059 }
00060 message = "";
00061 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"));
00062
00063 std::cout << "Waiting to receive 4 characters. [readtimeout = 0! --> blocking --> waiting until 4 characters are send in windows implementation!]\n";
00064 if (serial->Receive(message, 4) == false)
00065 std::cout << "Error receiving message. Only " << message.size() << " characters received: '" << message << "'.\n";
00066 else
00067 std::cout << "Received message: '" << message << "'.\n";
00068
00069 std::cout << "Setting Receive timeout to 6 seconds, waiting to receive 10 more characters.\n";
00070 serial->CloseConnection();
00071 serial->SetReceiveTimeout(6000);
00072 serial->OpenConnection();
00073 if (serial->Receive(message, 10) == false)
00074 std::cout << "Error receiving message. Received " << message.size() << " characters: '" << message << "'.\n";
00075 else
00076 std::cout << "Received message: '" << message << "' without errors.\n";
00077
00078 std::cout << "sending a new message.\n";
00079 serial->Send(std::string("all your base are belong to us\r\n"));
00080 std::cout << "Waiting to receive 20 characters.\n";
00081 serial->Receive(message, 20);
00082 std::cout << "Received " << message.size() << " characters. Message: '" << message << "'.\n";
00083 serial->CloseConnection();
00084 std::cout << "closing connection.\n";
00085 std::cout << "good bye.\n";
00086 return 0;
00087 }