Use fsleep instead of nanosleep

This commit is contained in:
Thomas Kolb 2024-01-03 17:29:51 +01:00
parent fb9c26ccd5
commit 8689ed5b27
2 changed files with 6 additions and 8 deletions

View file

@ -301,8 +301,7 @@ int main(void)
} }
if(n_rf_samples == 0) { if(n_rf_samples == 0) {
struct timespec ts_1ms = {0, 1000000}; fsleep(1e-3);
nanosleep(&ts_1ms, NULL);
continue; continue;
} }

View file

@ -6,10 +6,10 @@
#include <complex.h> #include <complex.h>
#include <math.h> #include <math.h>
#include <string.h> #include <string.h>
#include <time.h>
#include <assert.h> #include <assert.h>
#include "config.h" #include "config.h"
#include "utils.h"
#include "sdr.h" #include "sdr.h"
@ -141,10 +141,9 @@ static result_t stop_streaming(sdr_ctx_t *ctx)
return OK; return OK;
} }
struct timespec ts_1ms = {0, 1000000};
while(hackrf_is_streaming(ctx->hackrf) == HACKRF_TRUE) { while(hackrf_is_streaming(ctx->hackrf) == HACKRF_TRUE) {
puts("wr"); puts("wr");
nanosleep(&ts_1ms, NULL); fsleep(1e-3);
} }
ctx->status = SDR_STATUS_IDLE; ctx->status = SDR_STATUS_IDLE;
@ -342,9 +341,9 @@ result_t sdr_receive(sdr_ctx_t *ctx, float complex *samples, size_t *nsamples, l
result_t sdr_flush_tx_buffer(sdr_ctx_t *ctx) result_t sdr_flush_tx_buffer(sdr_ctx_t *ctx)
{ {
while(!ctx->tx_done) { // block until all samples have been transmitted
struct timespec ts_1ms = {0, 1000000}; while(!ctx->tx_done || (get_hires_time() < (ctx->tx_start_time + ctx->tx_duration))) {
nanosleep(&ts_1ms, NULL); fsleep(1e-3);
} }
return OK; return OK;