static int setkenwood(struct rpt *myrpt) // Modified for Kenwood TM-V7A. { char rxstr[RAD_SERIAL_BUFLEN],txstr[RAD_SERIAL_BUFLEN],freq[20]; char mhz[MAXREMSTR],offset[20],band,decimals[MAXREMSTR]; int myrxpl,mysplit,step; int offsets[] = {0,2,1}; int powers[] = {2,1,0}; split_freq(mhz, decimals, myrpt->freq); mysplit = myrpt->splitkhz; if (atoi(mhz) > 400) { band = '1'; step = 6; // 25 KHz if (!mysplit) mysplit = myrpt->p.default_split_70cm; } else { band = '0'; step = 2; // 10 KHz if (!mysplit) mysplit = myrpt->p.default_split_2m; } sprintf(offset,"%06d000",mysplit); strcpy(freq,"000000"); strncpy(freq,decimals,strlen(decimals)); myrxpl = myrpt->rxplon; if (IS_XPMR(myrpt)) myrxpl = 0; if ((decimals[3] != '0') || (decimals[4] != '0')) step = 1; // 6.25 KHz // Select the correct "side" of the radio (VHF or UHF) for both TX and Control sprintf(txstr,"BC %c,%c\r",band,band); if (sendrxkenwood(myrpt,txstr,rxstr,"BC") < 0) return -1; // Put that side in VFO mode (not MEM mode) sprintf(txstr,"VMC %c,0\r",band); if (sendrxkenwood(myrpt,txstr,rxstr,"VMC") < 0) return -1; sprintf(txstr,"BUF %c,%05d%s,%d,%d,0,%d,%d,0,%02d,000,%02d,%s\r", band,atoi(mhz),freq,step,offsets[(int)myrpt->offset], (myrpt->txplon != 0),myrxpl, kenwood_pltocode(myrpt->txpl),kenwood_pltocode(myrpt->rxpl), offset); if (sendrxkenwood(myrpt,txstr,rxstr,"BUF") < 0) return -1; sprintf(txstr,"PC %c,%d\r",band,powers[(int)myrpt->powerlevel]); if (sendrxkenwood(myrpt,txstr,rxstr,"PC") < 0) return -1; return 0; }