Example #1
0
void SerialPortC::CycleDTR(void)
	{
	DropDtr();
	RaiseDtr();
	pause(50);
#ifndef WINCIT
	Enable();
#endif
	}
Example #2
0
int ComSendChar(
    char character)
{
    int retval;

    /* interrupt driven send */

    if (0x0 == (comm_status.modem & 0x40))
        RaiseDtr();
    retval = en_queue(Serial_Out_Queue, character);
    if (-1 != retval)
        outp(ComBase + INT_EN, RX_INT | TBE_INT | ERR_INT | RS_INT);
    return retval;
}
Example #3
0
int ComSendString(
    char *string)
{
    int retval;
    char *pointer;
    pointer = string;

    while (*pointer) {
        retval = en_queue(Serial_Out_Queue, *pointer);
        pointer++;
    }
    if (0x0 == (comm_status.modem & 0x40))
        RaiseDtr();
    outp(ComBase + INT_EN, RX_INT | TBE_INT | ERR_INT | RS_INT);
    return retval;
}
Example #4
0
int ComSendData(
    char *buffer,
    unsigned buffer_length)
{
    int retval;
    char *pointer;
    pointer = buffer;
    unsigned i;

    for (i = 0; i < buffer_length; i++) {
        retval = en_queue(Serial_Out_Queue, *pointer);
        pointer++;
    }
    if (0x0 == (comm_status.modem & 0x40))
        RaiseDtr();
    outp(ComBase + INT_EN, RX_INT | TBE_INT | ERR_INT | RS_INT);
    return retval;
}
Example #5
0
void SerialPortC::BreakConnection(void)
	{
	FlushOutput();

	DropDtr();
	RaiseDtr();

	pause(50);

	if (cfg.dumbmodem == 6 || cfg.dumbmodem == 7)
		{
		OutString(cfg.hangup);
		OutString(br);

		if (cfg.hangupdelay)
			{
			pause(cfg.hangupdelay * 100);
			}
		else
			{
			pause(50);
			}
		}
	}