kopia lustrzana https://github.com/Hamlib/Hamlib
rodzic
003bc93dd0
commit
ab34e83adc
120
src/serial.c
120
src/serial.c
|
@ -120,11 +120,11 @@ int is_uh_radio_fd(int fd)
|
||||||
{
|
{
|
||||||
if (uh_radio_fd >= 0 && uh_radio_fd == fd)
|
if (uh_radio_fd >= 0 && uh_radio_fd == fd)
|
||||||
{
|
{
|
||||||
return 1;
|
RETURNFUNC( 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return 0;
|
RETURNFUNC( 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//! @endcond
|
//! @endcond
|
||||||
|
@ -141,13 +141,15 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
|
||||||
int fd; /* File descriptor for the port */
|
int fd; /* File descriptor for the port */
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
if (!rp)
|
if (!rp)
|
||||||
{
|
{
|
||||||
return -RIG_EINVAL;
|
RETURNFUNC(-RIG_EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, rp->pathname);
|
||||||
if (!strncmp(rp->pathname, "uh-rig", 6))
|
if (!strncmp(rp->pathname, "uh-rig", 6))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -158,13 +160,13 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
|
||||||
*/
|
*/
|
||||||
if (rp->parm.serial.parity != RIG_PARITY_NONE)
|
if (rp->parm.serial.parity != RIG_PARITY_NONE)
|
||||||
{
|
{
|
||||||
return -RIG_EIO;
|
RETURNFUNC( -RIG_EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((rp->parm.serial.handshake != RIG_HANDSHAKE_HARDWARE) &&
|
if ((rp->parm.serial.handshake != RIG_HANDSHAKE_HARDWARE) &&
|
||||||
(rp->parm.serial.handshake != RIG_HANDSHAKE_NONE))
|
(rp->parm.serial.handshake != RIG_HANDSHAKE_NONE))
|
||||||
{
|
{
|
||||||
return -RIG_EIO;
|
RETURNFUNC( -RIG_EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -179,7 +181,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
|
||||||
|
|
||||||
if (fd == -1)
|
if (fd == -1)
|
||||||
{
|
{
|
||||||
return -RIG_EIO;
|
RETURNFUNC( -RIG_EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
rp->fd = fd;
|
rp->fd = fd;
|
||||||
|
@ -215,7 +217,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
|
||||||
* from the transceiver will be returned to both applications.
|
* from the transceiver will be returned to both applications.
|
||||||
*/
|
*/
|
||||||
uh_radio_fd = fd;
|
uh_radio_fd = fd;
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -231,7 +233,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
|
||||||
__func__,
|
__func__,
|
||||||
rp->pathname,
|
rp->pathname,
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return -RIG_EIO;
|
RETURNFUNC( -RIG_EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
rp->fd = fd;
|
rp->fd = fd;
|
||||||
|
@ -241,13 +243,13 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
|
||||||
if (err != RIG_OK)
|
if (err != RIG_OK)
|
||||||
{
|
{
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
return err;
|
RETURNFUNC( err);
|
||||||
}
|
}
|
||||||
|
|
||||||
serial_flush(rp); // ensure nothing is there when we open
|
serial_flush(rp); // ensure nothing is there when we open
|
||||||
hl_usleep(50 * 1000); // give a little time for MicroKeyer to finish
|
hl_usleep(50 * 1000); // give a little time for MicroKeyer to finish
|
||||||
|
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -272,11 +274,11 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
#endif
|
#endif
|
||||||
term_options_backup_t *term_backup = NULL;
|
term_options_backup_t *term_backup = NULL;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
if (!rp)
|
if (!rp)
|
||||||
{
|
{
|
||||||
return -RIG_EINVAL;
|
RETURNFUNC( -RIG_EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
fd = rp->fd;
|
fd = rp->fd;
|
||||||
|
@ -367,7 +369,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
rp->parm.serial.rate);
|
rp->parm.serial.rate);
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF;
|
RETURNFUNC( -RIG_ECONF);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO */
|
/* TODO */
|
||||||
|
@ -414,7 +416,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
rp->parm.serial.data_bits);
|
rp->parm.serial.data_bits);
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF;
|
RETURNFUNC( -RIG_ECONF);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,7 +441,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
rp->parm.serial.stop_bits);
|
rp->parm.serial.stop_bits);
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF;
|
RETURNFUNC( -RIG_ECONF);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -485,7 +487,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
rp->parm.serial.parity);
|
rp->parm.serial.parity);
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF;
|
RETURNFUNC( -RIG_ECONF);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -518,7 +520,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
rp->parm.serial.handshake);
|
rp->parm.serial.handshake);
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF;
|
RETURNFUNC( -RIG_ECONF);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -563,7 +565,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF; /* arg, so close! */
|
RETURNFUNC( -RIG_ECONF); /* arg, so close! */
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(HAVE_TERMIO_H)
|
#elif defined(HAVE_TERMIO_H)
|
||||||
|
@ -578,7 +580,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF; /* arg, so close! */
|
RETURNFUNC( -RIG_ECONF); /* arg, so close! */
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -594,7 +596,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
CLOSE(fd);
|
CLOSE(fd);
|
||||||
|
|
||||||
return -RIG_ECONF; /* arg, so close! */
|
RETURNFUNC( -RIG_ECONF); /* arg, so close! */
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -612,7 +614,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
term_backup->next = term_options_backup_head;
|
term_backup->next = term_options_backup_head;
|
||||||
term_options_backup_head = term_backup;
|
term_options_backup_head = term_backup;
|
||||||
|
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -623,7 +625,7 @@ int HAMLIB_API serial_setup(hamlib_port_t *rp)
|
||||||
*/
|
*/
|
||||||
int HAMLIB_API serial_flush(hamlib_port_t *p)
|
int HAMLIB_API serial_flush(hamlib_port_t *p)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd || p->flushx)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd || p->flushx)
|
||||||
{
|
{
|
||||||
|
@ -650,12 +652,12 @@ int HAMLIB_API serial_flush(hamlib_port_t *p)
|
||||||
rig_debug(RIG_DEBUG_TRACE, "read flushed %d bytes\n", nbytes);
|
rig_debug(RIG_DEBUG_TRACE, "read flushed %d bytes\n", nbytes);
|
||||||
|
|
||||||
|
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "tcflush%s\n", "");
|
rig_debug(RIG_DEBUG_VERBOSE, "tcflush%s\n", "");
|
||||||
tcflush(p->fd, TCIFLUSH);
|
tcflush(p->fd, TCIFLUSH);
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -703,7 +705,7 @@ int ser_open(hamlib_port_t *p)
|
||||||
}
|
}
|
||||||
|
|
||||||
p->fd = ret;
|
p->fd = ret;
|
||||||
return ret;
|
RETURNFUNC( ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -730,7 +732,7 @@ int ser_close(hamlib_port_t *p)
|
||||||
uh_close_ptt();
|
uh_close_ptt();
|
||||||
uh_ptt_fd = -1;
|
uh_ptt_fd = -1;
|
||||||
p->fd = -1;
|
p->fd = -1;
|
||||||
return 0;
|
RETURNFUNC( 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->fd == uh_radio_fd)
|
if (p->fd == uh_radio_fd)
|
||||||
|
@ -738,7 +740,7 @@ int ser_close(hamlib_port_t *p)
|
||||||
uh_close_radio();
|
uh_close_radio();
|
||||||
uh_radio_fd = -1;
|
uh_radio_fd = -1;
|
||||||
p->fd = -1;
|
p->fd = -1;
|
||||||
return 0;
|
RETURNFUNC( 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find backup termios options to restore before closing
|
// Find backup termios options to restore before closing
|
||||||
|
@ -812,7 +814,7 @@ int ser_close(hamlib_port_t *p)
|
||||||
|
|
||||||
rc = CLOSE(p->fd);
|
rc = CLOSE(p->fd);
|
||||||
p->fd = -1;
|
p->fd = -1;
|
||||||
return rc;
|
RETURNFUNC( rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -827,14 +829,14 @@ int HAMLIB_API ser_set_rts(hamlib_port_t *p, int state)
|
||||||
unsigned int y = TIOCM_RTS;
|
unsigned int y = TIOCM_RTS;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: RTS=%d\n", __func__, state);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: RTS=%d\n", __func__, state);
|
||||||
|
|
||||||
// ignore this for microHam ports
|
// ignore this for microHam ports
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(TIOCMBIS) && defined(TIOCMBIC)
|
#if defined(TIOCMBIS) && defined(TIOCMBIC)
|
||||||
|
@ -864,10 +866,10 @@ int HAMLIB_API ser_set_rts(hamlib_port_t *p, int state)
|
||||||
"%s: Cannot change RTS - %s\n",
|
"%s: Cannot change RTS - %s\n",
|
||||||
__func__,
|
__func__,
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return -RIG_EIO;
|
RETURNFUNC( -RIG_EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -881,18 +883,18 @@ int HAMLIB_API ser_get_rts(hamlib_port_t *p, int *state)
|
||||||
int retcode;
|
int retcode;
|
||||||
unsigned int y;
|
unsigned int y;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
// cannot do this for microHam ports
|
// cannot do this for microHam ports
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return -RIG_ENIMPL;
|
RETURNFUNC( -RIG_ENIMPL);
|
||||||
}
|
}
|
||||||
|
|
||||||
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
||||||
*state = (y & TIOCM_RTS) == TIOCM_RTS;
|
*state = (y & TIOCM_RTS) == TIOCM_RTS;
|
||||||
|
|
||||||
return retcode < 0 ? -RIG_EIO : RIG_OK;
|
RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -907,7 +909,7 @@ int HAMLIB_API ser_set_dtr(hamlib_port_t *p, int state)
|
||||||
unsigned int y = TIOCM_DTR;
|
unsigned int y = TIOCM_DTR;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: DTR=%d\n", __func__, state);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: DTR=%d\n", __func__, state);
|
||||||
|
|
||||||
|
@ -915,13 +917,13 @@ int HAMLIB_API ser_set_dtr(hamlib_port_t *p, int state)
|
||||||
// but (un)set ptt on microHam PTT channel.
|
// but (un)set ptt on microHam PTT channel.
|
||||||
if (p->fd == uh_radio_fd)
|
if (p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->fd == uh_ptt_fd)
|
if (p->fd == uh_ptt_fd)
|
||||||
{
|
{
|
||||||
uh_set_ptt(state);
|
uh_set_ptt(state);
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(TIOCMBIS) && defined(TIOCMBIC)
|
#if defined(TIOCMBIS) && defined(TIOCMBIC)
|
||||||
|
@ -951,10 +953,10 @@ int HAMLIB_API ser_set_dtr(hamlib_port_t *p, int state)
|
||||||
"%s: Cannot change DTR - %s\n",
|
"%s: Cannot change DTR - %s\n",
|
||||||
__func__,
|
__func__,
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return -RIG_EIO;
|
RETURNFUNC( -RIG_EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -968,24 +970,24 @@ int HAMLIB_API ser_get_dtr(hamlib_port_t *p, int *state)
|
||||||
int retcode;
|
int retcode;
|
||||||
unsigned int y;
|
unsigned int y;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
// cannot do this for the RADIO port, return PTT state for the PTT port
|
// cannot do this for the RADIO port, return PTT state for the PTT port
|
||||||
if (p->fd == uh_ptt_fd)
|
if (p->fd == uh_ptt_fd)
|
||||||
{
|
{
|
||||||
*state = uh_get_ptt();
|
*state = uh_get_ptt();
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->fd == uh_radio_fd)
|
if (p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return -RIG_ENIMPL;
|
RETURNFUNC( -RIG_ENIMPL);
|
||||||
}
|
}
|
||||||
|
|
||||||
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
||||||
*state = (y & TIOCM_DTR) == TIOCM_DTR;
|
*state = (y & TIOCM_DTR) == TIOCM_DTR;
|
||||||
|
|
||||||
return retcode < 0 ? -RIG_EIO : RIG_OK;
|
RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -997,19 +999,19 @@ int HAMLIB_API ser_get_dtr(hamlib_port_t *p, int *state)
|
||||||
*/
|
*/
|
||||||
int HAMLIB_API ser_set_brk(hamlib_port_t *p, int state)
|
int HAMLIB_API ser_set_brk(hamlib_port_t *p, int state)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
// ignore this for microHam ports
|
// ignore this for microHam ports
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return RIG_OK;
|
RETURNFUNC( RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(TIOCSBRK) && defined(TIOCCBRK)
|
#if defined(TIOCSBRK) && defined(TIOCCBRK)
|
||||||
return IOCTL(p->fd, state ? TIOCSBRK : TIOCCBRK, 0) < 0 ?
|
RETURNFUNC( IOCTL(p->fd, state ? TIOCSBRK : TIOCCBRK, 0) < 0 ?
|
||||||
-RIG_EIO : RIG_OK;
|
-RIG_EIO : RIG_OK;)
|
||||||
#else
|
#else
|
||||||
return -RIG_ENIMPL;
|
RETURNFUNC( -RIG_ENIMPL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1024,18 +1026,18 @@ int HAMLIB_API ser_get_car(hamlib_port_t *p, int *state)
|
||||||
int retcode;
|
int retcode;
|
||||||
unsigned int y;
|
unsigned int y;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
// cannot do this for microHam ports
|
// cannot do this for microHam ports
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return -RIG_ENIMPL;
|
RETURNFUNC( -RIG_ENIMPL);
|
||||||
}
|
}
|
||||||
|
|
||||||
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
||||||
*state = (y & TIOCM_CAR) == TIOCM_CAR;
|
*state = (y & TIOCM_CAR) == TIOCM_CAR;
|
||||||
|
|
||||||
return retcode < 0 ? -RIG_EIO : RIG_OK;
|
RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1049,18 +1051,18 @@ int HAMLIB_API ser_get_cts(hamlib_port_t *p, int *state)
|
||||||
int retcode;
|
int retcode;
|
||||||
unsigned int y;
|
unsigned int y;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
// cannot do this for microHam ports
|
// cannot do this for microHam ports
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return -RIG_ENIMPL;
|
RETURNFUNC( -RIG_ENIMPL);
|
||||||
}
|
}
|
||||||
|
|
||||||
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
||||||
*state = (y & TIOCM_CTS) == TIOCM_CTS;
|
*state = (y & TIOCM_CTS) == TIOCM_CTS;
|
||||||
|
|
||||||
return retcode < 0 ? -RIG_EIO : RIG_OK;
|
RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1074,18 +1076,18 @@ int HAMLIB_API ser_get_dsr(hamlib_port_t *p, int *state)
|
||||||
int retcode;
|
int retcode;
|
||||||
unsigned int y;
|
unsigned int y;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
ENTERFUNC;
|
||||||
|
|
||||||
// cannot do this for microHam ports
|
// cannot do this for microHam ports
|
||||||
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
if (p->fd == uh_ptt_fd || p->fd == uh_radio_fd)
|
||||||
{
|
{
|
||||||
return -RIG_ENIMPL;
|
RETURNFUNC( -RIG_ENIMPL);
|
||||||
}
|
}
|
||||||
|
|
||||||
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
retcode = IOCTL(p->fd, TIOCMGET, &y);
|
||||||
*state = (y & TIOCM_DSR) == TIOCM_DSR;
|
*state = (y & TIOCM_DSR) == TIOCM_DSR;
|
||||||
|
|
||||||
return retcode < 0 ? -RIG_EIO : RIG_OK;
|
RETURNFUNC( retcode < 0 ? -RIG_EIO : RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
Ładowanie…
Reference in New Issue