/* * icom_freq(fd, ident, freq) - load radio frequency */ int icom_freq( /* returns 0 (ok), EIO (error) */ int fd, /* file descriptor */ int ident, /* ICOM radio identifier */ double freq /* frequency (MHz) */ ) { u_char cmd[BMAX], rsp[BMAX]; int temp; cmd[0] = V_SFREQ; if (ident == IC735) temp = 4; else temp = 5; doublefreq(freq * 1e6, &cmd[1], temp); temp = sndpkt(fd, ident, cmd, rsp); if (temp < 1 || rsp[0] != ACK) return (EIO); return (0); }
/* * icom_freq(fd, ident, freq) - load radio frequency */ int icom_freq( /* returns 0 (ok), EIO (error) */ int fd, /* file descriptor */ int ident, /* ICOM radio identifier */ double freq /* frequency (MHz) */ ) { uint8_t cmd[] = {PAD, PR, PR, 0, TX, V_SFREQ, 0, 0, 0, 0, FI, FI}; int temp; cmd[3] = (char)ident; if (ident == IC735) temp = 4; else temp = 5; doublefreq(freq * 1e6, &cmd[6], temp); temp = write(fd, cmd, temp + 7); return (0); }