|
25 | 25 |
|
26 | 26 | #include <libopencm3/cm3/nvic.h> |
27 | 27 |
|
| 28 | +#include "clock_gen.h" |
28 | 29 | #include "clock_io.h" |
29 | 30 | #include "fixed_point.h" |
30 | 31 | #include "max283x.h" |
|
41 | 42 | #define MIN(x, y) ((x) < (y) ? (x) : (y)) |
42 | 43 | #define MAX(x, y) ((x) > (y) ? (x) : (y)) |
43 | 44 |
|
| 45 | +/* Driver instance. */ |
| 46 | +radio_t radio; |
| 47 | + |
44 | 48 | void radio_init(radio_t* const radio) |
45 | 49 | { |
46 | 50 | for (uint8_t bank = 0; bank < RADIO_NUM_BANKS; bank++) { |
@@ -231,22 +235,19 @@ static uint32_t radio_update_sample_rate(radio_t* const radio, uint64_t* bank) |
231 | 235 | } |
232 | 236 | new_n = (n != previous_n); |
233 | 237 |
|
234 | | - if (radio->sample_rate_cb) { |
235 | | - afe_rate = rate << n; |
236 | | - afe_rate = radio->sample_rate_cb(afe_rate, false); |
237 | | - previous_rate = radio->config[RADIO_BANK_APPLIED][RADIO_SAMPLE_RATE]; |
238 | | - if ((previous_n == RADIO_UNSET) || previous_rate == RADIO_UNSET) { |
239 | | - previous_afe_rate = RADIO_UNSET; |
240 | | - } else { |
241 | | - previous_afe_rate = previous_rate << previous_n; |
242 | | - } |
243 | | - new_afe_rate = (afe_rate != previous_afe_rate); |
244 | | - if (new_afe_rate) { |
245 | | - afe_rate = radio->sample_rate_cb(afe_rate, true); |
246 | | - } |
| 238 | + afe_rate = rate << n; |
| 239 | + afe_rate = sample_rate_set(afe_rate, false); |
| 240 | + previous_rate = radio->config[RADIO_BANK_APPLIED][RADIO_SAMPLE_RATE]; |
| 241 | + if ((previous_n == RADIO_UNSET) || previous_rate == RADIO_UNSET) { |
| 242 | + previous_afe_rate = RADIO_UNSET; |
247 | 243 | } else { |
248 | | - return 0; |
| 244 | + previous_afe_rate = previous_rate << previous_n; |
| 245 | + } |
| 246 | + new_afe_rate = (afe_rate != previous_afe_rate); |
| 247 | + if (new_afe_rate) { |
| 248 | + afe_rate = sample_rate_set(afe_rate, true); |
249 | 249 | } |
| 250 | + |
250 | 251 | rate = afe_rate >> n; |
251 | 252 | new_rate = (rate != previous_rate); |
252 | 253 | if (new_rate) { |
|
0 commit comments