unsigned char CP1;
unsigned char CP2;
int freq_mult;
- int spi_mask;
+ int spi_mask;
+ u2_fxpt_freq_t freq_offset;
};
struct db_rfx_dummy {
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_RX_DB,
- .common.freq_mult = 2
+ .common.freq_mult = 2,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(0)
};
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_TX_DB,
- .common.freq_mult = 2
+ .common.freq_mult = 2,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6)
};
struct db_rfx_900_rx db_rfx_900_rx = {
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_RX_DB,
- .common.freq_mult = 2
+ .common.freq_mult = 2,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(0)
};
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_TX_DB,
- .common.freq_mult = 2
+ .common.freq_mult = 2,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6)
};
struct db_rfx_1200_rx db_rfx_1200_rx = {
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_RX_DB,
- .common.freq_mult = 2
+ .common.freq_mult = 2,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(0)
};
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_TX_DB,
- .common.freq_mult = 2
+ .common.freq_mult = 2,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6)
};
struct db_rfx_1800_rx db_rfx_1800_rx = {
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_RX_DB,
- .common.freq_mult = 1
+ .common.freq_mult = 1,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(0)
};
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_TX_DB,
- .common.freq_mult = 1
+ .common.freq_mult = 1,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6)
};
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_RX_DB,
- .common.freq_mult = 1
+ .common.freq_mult = 1,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(0)
};
.common.CP1 = 7,
.common.CP2 = 7,
.common.spi_mask = SPI_SS_TX_DB,
- .common.freq_mult = 1
+ .common.freq_mult = 1,
+ .common.freq_offset = U2_DOUBLE_TO_FXPT_FREQ(12.5e6)
};
*dc = 0;
struct db_rfx_dummy *db = (struct db_rfx_dummy *) dbb;
- //u2_fxpt_freq_t desired_n = db->common.freq_mult*freq/phdet_freq;
- //int N_DIV = u2_fxpt_freq_round_to_int(desired_n);
- u2_fxpt_freq_t desired_n = ((1LL<<20) * db->common.freq_mult*freq)/phdet_freq;
+ u2_fxpt_freq_t desired_n = ((1LL<<20)*db->common.freq_mult*(freq+db->common.freq_offset))/phdet_freq;
int N_DIV = u2_fxpt_freq_round_to_int(desired_n);
int B = N_DIV/PRESCALER;
int A = N_DIV - PRESCALER*B;