mirror of
https://github.com/thooge/esp32-nmea2000-obp60.git
synced 2025-12-29 05:33:05 +01:00
Lots of fixes and enhancements for OBPcharts; ringbuffer now returns <double> values - internally still 2-byte storage; charts operate now with SI values; added flexible multiplier to history buffer; included data calibration for history data
This commit is contained in:
@@ -2,14 +2,12 @@
|
||||
#pragma once
|
||||
#include <N2kMessages.h>
|
||||
#include "OBPRingBuffer.h"
|
||||
#include "BoatDataCalibration.h" // Functions lib for data instance calibration
|
||||
#include "obp60task.h"
|
||||
#include <math.h>
|
||||
|
||||
typedef struct {
|
||||
RingBuffer<int16_t>* twdHstry;
|
||||
RingBuffer<uint16_t>* twdHstry;
|
||||
RingBuffer<uint16_t>* twsHstry;
|
||||
RingBuffer<int16_t>* awdHstry;
|
||||
RingBuffer<uint16_t>* awdHstry;
|
||||
RingBuffer<uint16_t>* awsHstry;
|
||||
} tBoatHstryData; // Holds pointers to all history buffers for boat data
|
||||
|
||||
@@ -17,18 +15,18 @@ class HstryBuf {
|
||||
private:
|
||||
GwLog *logger;
|
||||
|
||||
RingBuffer<int16_t> twdHstry; // Circular buffer to store true wind direction values
|
||||
RingBuffer<uint16_t> twdHstry; // Circular buffer to store true wind direction values
|
||||
RingBuffer<uint16_t> twsHstry; // Circular buffer to store true wind speed values (TWS)
|
||||
RingBuffer<int16_t> awdHstry; // Circular buffer to store apparant wind direction values
|
||||
RingBuffer<uint16_t> awdHstry; // Circular buffer to store apparant wind direction values
|
||||
RingBuffer<uint16_t> awsHstry; // Circular buffer to store apparant xwind speed values (AWS)
|
||||
int16_t twdHstryMin; // Min value for wind direction (TWD) in history buffer
|
||||
int16_t twdHstryMax; // Max value for wind direction (TWD) in history buffer
|
||||
uint16_t twsHstryMin;
|
||||
uint16_t twsHstryMax;
|
||||
int16_t awdHstryMin;
|
||||
int16_t awdHstryMax;
|
||||
uint16_t awsHstryMin;
|
||||
uint16_t awsHstryMax;
|
||||
double twdHstryMin; // Min value for wind direction (TWD) in history buffer
|
||||
double twdHstryMax; // Max value for wind direction (TWD) in history buffer
|
||||
double twsHstryMin;
|
||||
double twsHstryMax;
|
||||
double awdHstryMin;
|
||||
double awdHstryMax;
|
||||
double awsHstryMin;
|
||||
double awsHstryMax;
|
||||
|
||||
// boat values for buffers and for true wind calculation
|
||||
GwApi::BoatValue *twdBVal, *twsBVal, *twaBVal, *awdBVal, *awsBVal;
|
||||
@@ -72,6 +70,7 @@ public:
|
||||
hdmBVal = boatValues->findValueOrCreate("HDM");
|
||||
varBVal = boatValues->findValueOrCreate("VAR");
|
||||
};
|
||||
|
||||
static double to2PI(double a);
|
||||
static double toPI(double a);
|
||||
static double to360(double a);
|
||||
|
||||
Reference in New Issue
Block a user