return bsic;
}
-static int last_task_fnr;
-
extern uint16_t rf_arfcn; // TODO
/* clip a signed 16bit value at a certain limit */
dsp_api.db_w->d_task_md = FB_DSP_TASK; /* maybe with I/Q swap? */
dsp_api.ndb->d_fb_mode = fb_mode;
dsp_end_scenario();
- last_task_fnr = dsp_api.frame_ctr;
/* Program TPU */
l1s_rx_win_ctrl(rf_arfcn, L1_RXWIN_FB);
printf("=> DSP reports FB in bit that is %d bits in the future?!?\n",
last_fb->toa - bits_delta);
else {
- int fb_fnr = last_task_fnr + last_fb->toa/BITS_PER_TDMA;
- printf("=>FB @ FNR %u fn_offset=%d qbits=%u\n", fb_fnr, fn_offset, qbits);
+ int fb_fnr = (last_fb->fnr_report - last_fb->attempt)
+ + last_fb->toa/BITS_PER_TDMA;
+ printf("=>FB @ FNR %u fn_offset=%d qbits=%u\n",
+ fb_fnr, fn_offset, qbits);
}
}
dsp_api.ndb->d_fb_mode = 0; /* wideband search */
dsp_end_scenario();
- last_task_fnr = dsp_api.frame_ctr;
-
/* Program TPU */
l1s_rx_win_ctrl(rf_arfcn, L1_RXWIN_SB);
tpu_end_scenario();
dsp_api.db_w->d_task_md = 2;
dsp_api.ndb->d_fb_mode = 0; /* wideband search */
dsp_end_scenario();
- last_task_fnr = dsp_api.frame_ctr;
/* Program TPU */
//l1s_rx_win_ctrl(arfcn, L1_RXWIN_PW);