Store computed reception time in the message struct so we don't rely on
the message being emitted immediately. Fix computation of reception time so it's more sensible (the block timestamp is some time after reception of the _end_ of the block, not the start) - this means that message-emission times are always later than message-reception times in SBS output, which is a bit more sensible. Use clock_gettime in preference to ftime.
This commit is contained in:
parent
1584955080
commit
4e177c2d64
7 changed files with 76 additions and 31 deletions
|
|
@ -173,7 +173,7 @@ void modesInit(void) {
|
|||
{Modes.net_sndbuf_size = MODES_NET_SNDBUF_MAX;}
|
||||
|
||||
// Initialise the Block Timers to something half sensible
|
||||
ftime(&Modes.stSystemTimeBlk);
|
||||
clock_gettime(CLOCK_REALTIME, &Modes.stSystemTimeBlk);
|
||||
for (i = 0; i < MODES_ASYNC_BUF_NUMBER; i++)
|
||||
{Modes.stSystemTimeRTL[i] = Modes.stSystemTimeBlk;}
|
||||
|
||||
|
|
@ -357,7 +357,7 @@ void rtlsdrCallback(unsigned char *buf, uint32_t len, void *ctx) {
|
|||
Modes.iDataIn &= (MODES_ASYNC_BUF_NUMBER-1); // Just incase!!!
|
||||
|
||||
// Get the system time for this block
|
||||
ftime(&Modes.stSystemTimeRTL[Modes.iDataIn]);
|
||||
clock_gettime(CLOCK_REALTIME, &Modes.stSystemTimeRTL[Modes.iDataIn]);
|
||||
|
||||
if (len > MODES_ASYNC_BUF_SIZE) {len = MODES_ASYNC_BUF_SIZE;}
|
||||
|
||||
|
|
@ -430,7 +430,7 @@ void readDataFromFile(void) {
|
|||
Modes.iDataIn &= (MODES_ASYNC_BUF_NUMBER-1); // Just incase!!!
|
||||
|
||||
// Get the system time for this block
|
||||
ftime(&Modes.stSystemTimeRTL[Modes.iDataIn]);
|
||||
clock_gettime(CLOCK_REALTIME, &Modes.stSystemTimeRTL[Modes.iDataIn]);
|
||||
|
||||
// Queue the new data
|
||||
Modes.pData[Modes.iDataIn] = Modes.pFileData;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue