> if I want to add 10 serial ports, should I add them one by one and repeat the above statements 10 times? Is there any simple method?
> Can I add the serial ports as a group,which has the same configuration? I didn't find any document about this.
You could make another script called, for example addSerialPort. It would look like this:
drvAsynSerialPortConfigure ("$(PORT)","$(DEVICE)")
asynSetOption ("$(PORT)", 0, "baud", "9600")
asynSetOption ("$(PORT)", 0, "bits", "8")
asynSetOption ("$(PORT)", 0, "parity", "none")
asynSetOption ("$(PORT)", 0, "stop", "1")
asynSetOption ("$(PORT)", 0, "clocal", "Y")
asynSetOption ("$(PORT)", 0, "crtscts", "N")
Then you would set 2 environment variables and call the script:
epicsEnvSet("PORT", "PS1")
epicsEnvSet("DEVICE", " /dev/ttyS1")
< addSerialPort
epicsEnvSet("PORT", "PS2")
epicsEnvSet("DEVICE", " /dev/ttyS2")
< addSerialPort
...
Then you only need 3 lines per port rather than 7.
Mark
________________________________
From: Tech-talk <
[email protected]> on behalf of yincx--- via Tech-talk <
[email protected]>
Sent: Monday, March 16, 2020 11:08 PM
To: tech-talk
Subject: How can I add multiple serial ports in a single IOC?
Hi everyone,
I want to add 10 or more serial ports in a single IOC. All the serial ports have the same configuration besides the serial port name.
The single port configuration is like this:
drvAsynSerialPortConfigure ("PS1","/dev/ttyS1")
asynSetOption ("PS1", 0, "baud", "9600")
asynSetOption ("PS1", 0, "bits", "8")
asynSetOption ("PS1", 0, "parity", "none")
asynSetOption ("PS1", 0, "stop", "1")
asynSetOption ("PS1", 0, "clocal", "Y")
asynSetOption ("PS1", 0, "crtscts", "N")
if I want to add 10 serial ports, should I add them one by one and repeat the above statements 10 times? Is there any simple method? Can I add the serial ports as a group,which has the same configuration? I didn't find any document about this.
Thank you very much for your help.
Best Regards
Chunxia Yin
2020-3-17
________________________________
[email protected]