Fixed IF Shift Bug (USB and TX Mode)

This commit is contained in:
phdlee
2018-03-19 21:35:41 +09:00
parent bd52de59d2
commit ecd104b686
3 changed files with 39 additions and 17 deletions

View File

@@ -124,15 +124,24 @@ void si5351_set_calibration(int32_t cal){
si5351bx_setfreq(0, usbCarrier);
}
void SetCarrierFreq()
{
unsigned long appliedCarrier = ((cwMode == 0 ? usbCarrier : cwmCarrier) + (isIFShift && (inTx == 0) ? ifShiftValue : 0));
si5351bx_setfreq(0, appliedCarrier);
/*
if (cwMode == 0)
si5351bx_setfreq(0, usbCarrier + (isIFShift ? ifShiftValue : 0));
else
si5351bx_setfreq(0, cwmCarrier + (isIFShift ? ifShiftValue : 0));
*/
}
void initOscillators(){
//initialize the SI5351
si5351bx_init();
si5351bx_vcoa = (SI5351BX_XTAL * SI5351BX_MSA) + calibration; // apply the calibration correction factor
if (cwMode == 0)
si5351bx_setfreq(0, usbCarrier + (isIFShift ? ifShiftValue : 0));
else
si5351bx_setfreq(0, cwmCarrier + (isIFShift ? ifShiftValue : 0));
SetCarrierFreq();
}
//============================================================