start change to sinkServer support

This commit is contained in:
2021-03-04 13:55:27 +01:00
parent bfbf686298
commit e357072888
5 changed files with 10 additions and 221 deletions

View File

@ -8,7 +8,6 @@
#include <math.h>
#include "LS7366R.h"
#include "influx.h"
#include "ringbuffer.h"
#include "led.h"
#include "logging.h"
@ -75,40 +74,15 @@ int main (void) {
init();
ledInit();
ls7366rInit(SPI_CHAN);
influxInit(&cfg);
start();
double epsilon;
if (! config_lookup_float(&cfg, EPSILON_KEY, &epsilon)) {
epsilon = DEFAULT_EPSILON;
}
fprintf(stderr, "CONFIG: epsilon=%f\n", epsilon);
double lastF = 0;
bool settled = false;
uint8_t ledTick = 0;
while (1) {
uint32_t period = ringbufferGet();
double fRaw = 1.0 / (((double) period) / 1000000.0);
int valid = settled ? 1 : 0;
double gradient = fRaw - lastF;
double fSmoothed = fRaw;
if (settled && (fabs(gradient) > epsilon)) {
logmsg(LOG_INFO, "Current f=%f, last f=%f, gradient %f too large, invalid\n", fRaw, lastF, gradient);
skipped++;
fSmoothed = lastF;
valid = 0;
} else {
lastF = fRaw;
}
if (settled) {
influxAddFrequency(period, fRaw, fSmoothed, gradient, valid);
}
// add averaging and forming the struct here
logmsg(LOG_DEBUG, "Period: %lu", period);
ledTick++;
if (ledTick == 50) {