internal void CalcReg04(KuscCommon.SYNTH_TYPE cSynthType, int cpCurrentValue) // According to data sheet: 0 -> 0.300, 15 -> { // Create and change bit array BitArray bitArr = new BitArray(new int[] { KuscCommon.SYNTH_REG04 }); BitArray bitArrCp = new BitArray(new int[] { cpCurrentValue }); for (int idx = 0; idx < 4; idx++) { bitArr[10 + idx] = bitArrCp[idx]; } // Convert result to int32 again int value = 0; for (int i = 0; i < bitArr.Count; i++) { if (bitArr[i]) { value += Convert.ToInt32(Math.Pow(2, i)); } } if (cSynthType == KuscCommon.SYNTH_TYPE.SYNTH_TX) { synthReg04Tx = value; } else if (cSynthType == KuscCommon.SYNTH_TYPE.SYNTH_RX) { synthReg04Rx = value; } }
private Int32 SetSynthCp(KuscCommon.SYNTH_TYPE cType) { Int32 cpVal = 0; if (cType == KuscCommon.SYNTH_TYPE.SYNTH_TX) { if (cbxSynthTxSetCp.Text == string.Empty || cbxSynthTxSetCp.Text == "choose") { cpVal = KuscCommon.SYNTH_TX_CP_DEFAULT_INDEX; } else { cpVal = cbxSynthTxSetCp.SelectedIndex; _kuscSynth.CalcReg04(KuscCommon.SYNTH_TYPE.SYNTH_TX, cpVal); } } else if (cType == KuscCommon.SYNTH_TYPE.SYNTH_RX) { if (cbxSynthRxSetCp.Text == string.Empty || cbxSynthRxSetCp.Text == "choose") { cpVal = KuscCommon.SYNTH_RX_CP_DEFAULT_INDEX; } else { cpVal = cbxSynthRxSetCp.SelectedIndex; _kuscSynth.CalcReg04(KuscCommon.SYNTH_TYPE.SYNTH_RX, cpVal); } } return(cpVal); }
internal List <string> GetDataRegisters(KuscCommon.SYNTH_TYPE cSynthType, double fRF, double fIF) { List <string> regList = new List <string>(); List <Int32> regListNum = new List <Int32>(); CalcSynthParams(fRF, fIF); regList.Add(KuscCommon.SYNTH_REG10.ToString() + '@' + 0xa.ToString() + '#'); // R10 regList.Add(KuscCommon.SYNTH_REG06.ToString() + '@' + 0x6.ToString() + '#'); // R6 if (cSynthType == KuscCommon.SYNTH_TYPE.SYNTH_TX) { regList.Add(synthReg04Tx.ToString() + '@' + 0x4.ToString() + '#'); // R4 - TX } else if (cSynthType == KuscCommon.SYNTH_TYPE.SYNTH_RX) { regList.Add(synthReg04Rx.ToString() + '@' + 0x4.ToString() + '#'); // R4 - RX } regList.Add(CalcReg02().ToString() + '@' + 0x2.ToString() + '#'); // R2 regList.Add(CalcReg01().ToString() + '@' + 0x1.ToString() + '#'); // R1 regList.Add(CalcReg00().ToString() + '@' + 0x0.ToString() + '#'); // R0 regList.Add(KuscCommon.SYNTH_REG04.ToString() + '@' + 0x4.ToString() + '#'); // R4 regList.Add(CalcReg00().ToString() + '@' + 0x0.ToString() + '#'); // R0 // Now send the F_RF frequancy to read latter time: Int32 fRfToSend = Convert.ToInt32(fRF * 100); regList.Add(fRfToSend.ToString() + '@' + 0xb.ToString() + '#'); return(regList); }
internal void SendSynthRegisters(KuscCommon.SYNTH_TYPE cSynthType) { if (_synthUpdateCnt < KuscCommon.SYNTH_NUM_CYCLE_IN_UPDATE_REGISTERS) { if (cSynthType == KuscCommon.SYNTH_TYPE.SYNTH_TX) { _kuscSerial.SerialWriteMessage(KuscMessageParams.MESSAGE_GROUP.SYNTH_MSG, KuscMessageParams.MESSAGE_REQUEST.SYNTH_DOWN_SET, dataList[_synthUpdateCnt]); } else if (cSynthType == KuscCommon.SYNTH_TYPE.SYNTH_RX) { _kuscSerial.SerialWriteMessage(KuscMessageParams.MESSAGE_GROUP.SYNTH_MSG, KuscMessageParams.MESSAGE_REQUEST.SYNTH_UP_SET, dataList[_synthUpdateCnt]); } _synthUpdateCnt++; } _synthUpdateCnt %= KuscCommon.SYNTH_NUM_CYCLE_IN_UPDATE_REGISTERS; }