GY-63_MS5611/libraries/TOPMAX/TOPMAX.h

59 lines
914 B
C
Raw Normal View History

2023-05-18 15:21:08 -04:00
#pragma once
//
// FILE: TOPMAX.h
// AUTHOR: Rob Tillaart
2023-11-23 07:45:42 -05:00
// VERSION: 0.2.1
2023-05-18 15:21:08 -04:00
// DATE: 2023-05-18
// PURPOSE: Arduino library to track top n maxima.
// URL: https://github.com/RobTillaart/TOPMAX
2023-06-17 12:01:24 -04:00
#include "Arduino.h"
2023-05-18 15:21:08 -04:00
2023-11-23 07:45:42 -05:00
#define TOPMAX_LIB_VERSION (F("0.2.1"))
2023-05-18 15:21:08 -04:00
class TOPMAX
{
public:
TOPMAX(uint8_t size = 5);
~TOPMAX();
uint8_t count();
uint8_t size();
void reset();
2023-06-13 13:16:10 -04:00
virtual bool add(float value);
2023-06-17 12:01:24 -04:00
virtual bool fill(float value);
2023-06-13 13:16:10 -04:00
float getValue(uint8_t index);
2023-05-18 15:21:08 -04:00
2023-06-13 13:16:10 -04:00
protected:
2023-05-18 15:21:08 -04:00
uint8_t _size;
uint8_t _count;
float * _arr;
};
2023-06-13 13:16:10 -04:00
////////////////////////////////////////////////////
//
// DERIVED
//
class TOPMAXext : public TOPMAX
{
public:
TOPMAXext(uint8_t size = 5);
~TOPMAXext();
2023-06-17 12:01:24 -04:00
2023-06-13 13:16:10 -04:00
bool add(float value, uint32_t tag);
2023-06-17 12:01:24 -04:00
bool fill(float value, uint32_t tag);
2023-06-13 13:16:10 -04:00
uint32_t getTag(uint8_t index);
private:
uint32_t * _tag;
};
2023-05-18 15:21:08 -04:00
// -- END OF FILE --