@@ -292,6 +292,29 @@ void parseOptions(int argc, char **argv)
292
292
}
293
293
}
294
294
295
+ void printPort (ModbusPort *port)
296
+ {
297
+ switch (port->type ())
298
+ {
299
+ case Modbus::RTU:
300
+ case Modbus::ASC:
301
+ std::cout << " port = " << static_cast <ModbusSerialPort*>(port)->portName () << std::endl <<
302
+ " baud = " << static_cast <ModbusSerialPort*>(port)->baudRate () << std::endl <<
303
+ " data = " << (int )static_cast <ModbusSerialPort*>(port)->dataBits () << std::endl <<
304
+ " parity = " << Modbus::sparity (static_cast <ModbusSerialPort*>(port)->parity ()) << std::endl <<
305
+ " stop = " << Modbus::sstopBits (static_cast <ModbusSerialPort*>(port)->stopBits ()) << std::endl <<
306
+ " flow = " << Modbus::sflowControl (static_cast <ModbusSerialPort*>(port)->flowControl ()) << std::endl <<
307
+ " tfb = " << static_cast <ModbusSerialPort*>(port)->timeoutFirstByte () << std::endl <<
308
+ " tib = " << static_cast <ModbusSerialPort*>(port)->timeoutInterByte () << std::endl;
309
+ break ;
310
+ default :
311
+ std::cout << " host = " << static_cast <ModbusTcpPort*>(port)->host () << std::endl <<
312
+ " port = " << static_cast <ModbusTcpPort*>(port)->port () << std::endl <<
313
+ " timeout = " << static_cast <ModbusTcpPort*>(port)->timeout () << std::endl;
314
+ break ;
315
+ }
316
+ }
317
+
295
318
volatile bool fRun = true ;
296
319
297
320
void signal_handler (int /* signal*/ )
@@ -316,21 +339,18 @@ int main(int argc, char **argv)
316
339
cli->setObjectName (" RTU:Client" );
317
340
cli->connect (&ModbusClientPort::signalTx, printTx);
318
341
cli->connect (&ModbusClientPort::signalRx, printRx);
319
- std::cout << cli->objectName () << " : " << cliOptions.ser .portName << std::endl;
320
342
break ;
321
343
case Modbus::ASC:
322
344
cli = Modbus::createClientPort (Modbus::ASC, &cliOptions.ser , blocking);
323
345
cli->setObjectName (" ASC:Client" );
324
346
cli->connect (&ModbusClientPort::signalTx, printTxAsc);
325
347
cli->connect (&ModbusClientPort::signalRx, printRxAsc);
326
- std::cout << cli->objectName () << " : " << cliOptions.ser .portName << std::endl;
327
348
break ;
328
349
default :
329
350
cli = Modbus::createClientPort (Modbus::TCP, &cliOptions.tcp , blocking);
330
351
cli->setObjectName (" TCP:Client" );
331
352
cli->connect (&ModbusClientPort::signalTx, printTx);
332
353
cli->connect (&ModbusClientPort::signalRx, printRx);
333
- std::cout << cli->objectName () << " : " << cliOptions.tcp .host << " :" << cliOptions.tcp .port << std::endl;
334
354
break ;
335
355
}
336
356
@@ -341,14 +361,12 @@ int main(int argc, char **argv)
341
361
srv->setObjectName (" RTU:Server" );
342
362
srv->connect (&ModbusServerPort::signalTx, printTx);
343
363
srv->connect (&ModbusServerPort::signalRx, printRx);
344
- std::cout << srv->objectName () << " : " << cliOptions.ser .portName << std::endl;
345
364
break ;
346
365
case Modbus::ASC:
347
366
srv = Modbus::createServerPort (cli, Modbus::ASC, &srvOptions.ser , blocking);
348
367
srv->setObjectName (" ASC:Server" );
349
368
srv->connect (&ModbusServerPort::signalTx, printTxAsc);
350
369
srv->connect (&ModbusServerPort::signalRx, printRxAsc);
351
- std::cout << srv->objectName () << " : " << cliOptions.ser .portName << std::endl;
352
370
break ;
353
371
default :
354
372
{
@@ -361,11 +379,32 @@ int main(int argc, char **argv)
361
379
srv->connect (&ModbusServerPort::signalRx, printRx);
362
380
srv->connect (&ModbusTcpServer::signalNewConnection, printNewConnection);
363
381
srv->connect (&ModbusTcpServer::signalCloseConnection, printCloseConnection);
364
- std::cout << srv->objectName () << " : " << cliOptions.tcp .port << std::endl;
365
382
}
366
383
break ;
367
384
}
368
385
386
+ // Print Client params
387
+ std::cout << cli->objectName () << " parameters:" << std::endl
388
+ << " ----------------------" << std::endl;
389
+ printPort (cli->port ());
390
+ std::cout << std::endl;
391
+
392
+ // Print Server params
393
+ std::cout << srv->objectName () << " parameters:" << std::endl
394
+ << " ----------------------" << std::endl;
395
+ switch (srv->type ())
396
+ {
397
+ case Modbus::RTU:
398
+ case Modbus::ASC:
399
+ printPort (static_cast <ModbusServerResource*>(srv)->port ());
400
+ break ;
401
+ default :
402
+ std::cout << " port = " << static_cast <ModbusTcpServer*>(srv)->port () << std::endl <<
403
+ " timeout = " << static_cast <ModbusTcpServer*>(srv)->timeout () << std::endl;
404
+ break ;
405
+ }
406
+ std::cout << std::endl;
407
+
369
408
std::signal (SIGINT, signal_handler);
370
409
std::cout << " mbridge starts ..." << std::endl;
371
410
while (fRun )
0 commit comments