Exemple #1
0
static int
setctl(Serialport *p)
{
    int res;
    Serial *ser;

    ser = p->s;

    if(ser->dev->usb->vid == FTVid && ser->dev->usb->did ==  FTHETIRA1Did) {
        fprint(2, "serial: cannot set lines for this device\n");
        updatectlst(p, CtlRTS|CtlDTR);
        p->rts = p->dtr = 1;
        return -1;
    }

    /* NB: you can not set DTR and RTS with one control message */
    updatectlst(p, CtlRTS);
    res = setctlline(p, (CtlRTS<<8)|p->ctlstate);
    if(res < 0)
        return res;

    updatectlst(p, CtlDTR);
    res = setctlline(p, (CtlDTR<<8)|p->ctlstate);
    if(res < 0)
        return res;

    return 0;
}
Exemple #2
0
static int
plsendlines(Serialport *p)
{
	int res;

	dsprint(2, "serial: sendlines: %#2.2x\n", p->ctlstate);
	composectl(p);
	res = setctlline(p, p->ctlstate);
	dsprint(2, "serial: sendlines res: %d\n", res);
	return 0;
}