static void asynOctetConnectCall(const iocshArgBuf * args) { const char *deviceName = args[0].sval; const char *portName = args[1].sval; int addr = args[2].ival; int timeout = args[3].ival; int buffer_len = args[4].ival; const char *drvInfo = args[5].sval; asynOctetConnect(deviceName, portName, addr, timeout, buffer_len,drvInfo); }
int tyGSAsynInit(char *port, char *moduleName, int channel, int baud, char parity, int sbits, int dbits, char handshake, char *inputEos, char *outputEos) { char *deviceName; int status; #define SIZE 80 char buffer[SIZE]; deviceName = tyGSOctalDevCreate(port, moduleName, channel, tyGSAsynInitBuffsize, tyGSAsynInitBuffsize); if (deviceName == NULL) return(ERROR); drvAsynSerialPortConfigure(port, port, 0, 0, 0); asynOctetConnect(port, port, 0, 0, 128, NULL); asynOctetSetInputEos(port, 0, inputEos, NULL); asynOctetSetOutputEos(port, 0, outputEos, NULL); /* Port options */ sprintf(buffer, "%d", baud); status = asynSetOption(port, 0, "baud", buffer); if (status != 0) return(status); if (parity == 'N') strcpy(buffer,"none"); if (parity == 'E') strcpy(buffer,"even"); if (parity == 'O') strcpy(buffer,"odd"); status = asynSetOption(port, 0, "parity", buffer); if (status != 0) return(status); sprintf(buffer, "%d", sbits); status = asynSetOption(port, 0, "stop", buffer); if (status != 0) return(status); sprintf(buffer, "%d", dbits); status = asynSetOption(port, 0, "bits", buffer); if (status != 0) return(status); if (handshake == 'H') strcpy(buffer,"N"); if (handshake == 'N') strcpy(buffer,"Y"); status = asynSetOption(port, 0, "clocal", buffer); return(status); }