-
Notifications
You must be signed in to change notification settings - Fork 468
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Requested timestamp is in the past. meta.curr_timestamp doesn't reset #795
Comments
Currently, the timestamp registers should reset whenever any of the channels (RX or TX) are enabled or disabled, so #1 is expected behavior. |
Sorry to reopen this one, but the proposed approach to fix this does not work in my case or I am missing one point here. I am having exactly the following behaviour : configure tx center freq and tx sample rate ; // (same sample rate for tx & rx) fetch tx module time stamp ; fetch rx module time stamp ; ` first call is alway ok. I have the correct synchronization between the tx & rx. Here the sampling rate is very low (4M), and blocks are short (14*10240) Robert, in your comment just above you mentioned that calls to enable/disable module does a reset in the timestamp. but I do here as recommended : fetch value for the right channel before. Any idea ? |
Just an additional info if helps : replacing the scheduled RX by a BLADERF_META_FLAG_RX_NOW in meta flag does not solve the issue, still getting a timestamp in the past error |
I'm not sure if this expected functionality or not, as I'm still learning bladeRF, but essentially the issue is as follows.
I have a function that roughly does:
If I run:
Any calls after the first will result in
Requested timestamp is in the past
error when sending tx samples (step 3). Looking at the origin of the error, it comes fromtimestamp_in_past()
insync.c
. It comparesuser_meta->timestamp
tos->meta.curr_timestamp
, which is essentially comparing the requested send time in the tx metadata to the bladerf_sync struct's meta.curr_timestamp count of time.The reason the error appears, is the second time tx is enabled, the times that
get_timestamp
outputs are reset to 0, while thes->meta.curr_timestamp
doesn't appear to change ever (only goes up).Example output
The questions are: (1) Should
s->meta.curr_timestamp
reset at the same time the FPGA counter thatget_timestamp
reads does? (2) If not, should it be possible to enable and disable the TX frontend within the same script without this behavior occuring?Thanks!
The text was updated successfully, but these errors were encountered: