Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
static void asynSetOptionCall(const iocshArgBuf * args) {
    asynSetOption(args[0].sval,args[1].ival,args[2].sval,args[3].sval);
}