If you open the asynRecord OPI screen asynIPPortSetup does it correctly display the current IP host information in the widget labeled "Host info:"? If so, then using the same code as in the asynRecord should work?
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Douglas Araujo via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, April 4, 2024 2:48 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: get asyn hostInfo
Hi all,
Does anyone know how to read the hostInfo value that is passed into the drvAsynIPPortConfigure function ?
Basically, I have this in my startup script:
epicsEnvSet("IPADDR", "192.168.50.2")
epicsEnvSet("IPPORT", "65535")
drvAsynIPPortConfigure("L0", "$(IPADDR):$(IPPORT) UDP", 0, 0, 1)
And in my c++ code:
status = pasynOctetSyncIO->connect(address_info.c_str(), 0, &pasynUserOctet_, NULL); // where address_info is the portName
So, I tried following the steps inside asynRecord.c:
asynInterface *pasynInterface;
pasynInterface = pasynManager->findInterface(pasynUserOctet_, asynCommonType, 1);
void *asynOptionPvt;
asynOption *pasynOption;
pasynOption = (asynOption *) pasynInterface->pinterface;
asynOptionPvt = pasynInterface->drvPvt;
char hostbuff[100];
getOption(asynOptionPvt, pasynUserOctet_, "hostInfo", hostbuff, 100 );
std::cout << pasynUserOctet_->errorMessage << std::endl;
But I received the message error:
192.168.50.2:65535 UDP: Link already open!
Thanks in advance.
--
Douglas Araujo
|