Mercurial > hg > fxanalyse
view fake-data-provider.c @ 257:8cbfce046d41
Try to read back the frequency values from AD9912 at startup
Reset the AD9912 frequencies to the default value only as a fallback.
author | Daniele Nicolodi <daniele.nicolodi@obspm.fr> |
---|---|
date | Fri, 05 Jun 2015 21:51:25 +0200 |
parents | 8a94f1913b4e |
children | a40c8af8b028 |
line wrap: on
line source
/* FXAnalise fake data provider */ #include <analysis.h> #include <userint.h> #include <utility.h> #include "future.h" #include "data-provider.h" #define PERIOD 1.0 #define INCREMENT 0.1 #define NOISE 0.25 int CVICALLBACK FakeDataProvider (void *functionData) { int i, mainThreadId; double mark; struct event event = { 0, }; double f[NCHAN] = { 55000000.0, 10000.0, 10000.0, 275000.0 }; double noise[NCHAN]; /* get main thread id to post messages to it */ mainThreadId = CmtGetMainThreadID(); while (acquiring) { mark = Timer(); /* update data */ gettimeofday(&event.time, NULL); f[0] += INCREMENT; for (i = 0; i < NCHAN; i++) event.data[i] = f[i]; #ifdef NOISE /* add noise */ GaussNoise(NCHAN, NOISE, -1, noise); for (i = 0; i < NCHAN; i++) event.data[i] += noise[i]; #endif /* push data into the data queue */ CmtWriteTSQData(dataQueue, &event, 1, TSQ_INFINITE_TIMEOUT, 0); /* wait till next second */ SyncWait(mark, PERIOD); } return 0; }