mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.3.7 Histogram
This commit is contained in:
parent
bf6dfb798c
commit
66d02b94cf
@ -6,12 +6,16 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.3.7] - 2024-05-25
|
||||||
|
- add examples **hist_pointer.ino** and **hist_array.ino**
|
||||||
|
- issue #10 spin off library https://github.com/RobTillaart/Kurtosis
|
||||||
|
- minor edits
|
||||||
|
|
||||||
## [0.3.6] - 2024-01-03
|
## [0.3.6] - 2024-01-03
|
||||||
- add **float saturation()**
|
- add **float saturation()**
|
||||||
- fix examples
|
- fix examples
|
||||||
- minor edits
|
- minor edits
|
||||||
|
|
||||||
|
|
||||||
## [0.3.5] - 2023-11-04
|
## [0.3.5] - 2023-11-04
|
||||||
- update readme.md
|
- update readme.md
|
||||||
- minor fix in changelog.md
|
- minor fix in changelog.md
|
||||||
|
75
libraries/Histogram/examples/hist_array/hist_array.ino
Normal file
75
libraries/Histogram/examples/hist_array/hist_array.ino
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
//
|
||||||
|
// FILE: hist_array.ino
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// PURPOSE: demo histogram array
|
||||||
|
// URL: https://github.com/RobTillaart/Histogram
|
||||||
|
|
||||||
|
|
||||||
|
#include "histogram.h"
|
||||||
|
|
||||||
|
|
||||||
|
// float b[] = { 0, 100, 200, 300, 325, 350, 375, 400, 500, 600, 700, 800, 900, 1000 };
|
||||||
|
|
||||||
|
// boundaries does not need to be equally distributed.
|
||||||
|
float a[] = {
|
||||||
|
0, 50, 125, 200, 250, 350, 500
|
||||||
|
};
|
||||||
|
float b[] = {
|
||||||
|
0, 100, 200, 300, 325, 350, 375, 450
|
||||||
|
};
|
||||||
|
|
||||||
|
Histogram hist[2] = { Histogram(7, a), Histogram(8, b)};
|
||||||
|
|
||||||
|
uint32_t lastTime = 0;
|
||||||
|
const uint32_t threshold = 25; // in milliseconds, for updating display
|
||||||
|
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("HISTOGRAM_LIB_VERSION: ");
|
||||||
|
Serial.println(HISTOGRAM_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void loop()
|
||||||
|
{
|
||||||
|
// choose a "generator" for histogram data
|
||||||
|
// int x = analogRead(A0);
|
||||||
|
|
||||||
|
int x = random(600) - 50; // below lower limit
|
||||||
|
|
||||||
|
hist[0].add(x);
|
||||||
|
hist[1].add(x);
|
||||||
|
|
||||||
|
// update output
|
||||||
|
uint32_t now = millis();
|
||||||
|
if (now - lastTime > threshold)
|
||||||
|
{
|
||||||
|
lastTime = now;
|
||||||
|
Serial.print(hist[0].count());
|
||||||
|
for (uint16_t i = 0; i < hist[0].size(); i++)
|
||||||
|
{
|
||||||
|
Serial.print("\t");
|
||||||
|
Serial.print(hist[0].frequency(i), 2);
|
||||||
|
}
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
Serial.print(hist[1].count());
|
||||||
|
for (uint16_t i = 0; i < hist[1].size(); i++)
|
||||||
|
{
|
||||||
|
Serial.print("\t");
|
||||||
|
Serial.print(hist[1].frequency(i), 2);
|
||||||
|
}
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
if (hist[0].count() > 10000UL) hist[0].clear();
|
||||||
|
if (hist[1].count() > 10000UL) hist[1].clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
59
libraries/Histogram/examples/hist_pointer/hist_pointer.ino
Normal file
59
libraries/Histogram/examples/hist_pointer/hist_pointer.ino
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
//
|
||||||
|
// FILE: hist_pointer.ino
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// PURPOSE: demo histogram pointer
|
||||||
|
// URL: https://github.com/RobTillaart/Histogram
|
||||||
|
|
||||||
|
|
||||||
|
#include "histogram.h"
|
||||||
|
|
||||||
|
// boundaries does not need to be equally distributed.
|
||||||
|
float a[] = {
|
||||||
|
0, 50, 125, 200, 250, 350, 500
|
||||||
|
};
|
||||||
|
float b[] = {
|
||||||
|
0, 100, 200, 300, 325, 350, 375, 400
|
||||||
|
};
|
||||||
|
|
||||||
|
Histogram histA(7, a);
|
||||||
|
Histogram histB(8, b);
|
||||||
|
Histogram *phist;
|
||||||
|
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("HISTOGRAM_LIB_VERSION: ");
|
||||||
|
Serial.println(HISTOGRAM_LIB_VERSION);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
phist = &histA;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void loop()
|
||||||
|
{
|
||||||
|
phist->clear();
|
||||||
|
for (int i = 0; i < 10000; i++)
|
||||||
|
{
|
||||||
|
int x = random(600) - 50;
|
||||||
|
phist->add(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.print(phist->count());
|
||||||
|
for (uint16_t i = 0; i < phist->size(); i++)
|
||||||
|
{
|
||||||
|
Serial.print("\t");
|
||||||
|
Serial.print(phist->frequency(i), 2);
|
||||||
|
}
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
// swap
|
||||||
|
if (phist == &histA) phist = &histB;
|
||||||
|
else phist = &histA;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
@ -2,7 +2,7 @@
|
|||||||
// FILE: Histogram.cpp
|
// FILE: Histogram.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2012-11-10
|
// DATE: 2012-11-10
|
||||||
// VERSION: 0.3.6
|
// VERSION: 0.3.7
|
||||||
// PURPOSE: Histogram library for Arduino
|
// PURPOSE: Histogram library for Arduino
|
||||||
// URL: https://github.com/RobTillaart/Histogram
|
// URL: https://github.com/RobTillaart/Histogram
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// FILE: Histogram.h
|
// FILE: Histogram.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// DATE: 2012-11-10
|
// DATE: 2012-11-10
|
||||||
// VERSION: 0.3.6
|
// VERSION: 0.3.7
|
||||||
// PURPOSE: Histogram library for Arduino
|
// PURPOSE: Histogram library for Arduino
|
||||||
// URL: https://github.com/RobTillaart/Histogram
|
// URL: https://github.com/RobTillaart/Histogram
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/Histogram.git"
|
"url": "https://github.com/RobTillaart/Histogram.git"
|
||||||
},
|
},
|
||||||
"version": "0.3.6",
|
"version": "0.3.7",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "*",
|
"frameworks": "*",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=Histogram
|
name=Histogram
|
||||||
version=0.3.6
|
version=0.3.7
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino library for creating histograms math.
|
sentence=Arduino library for creating histograms math.
|
||||||
|
@ -31,6 +31,7 @@ If you need more quantitative analysis, you might need the statistics library,
|
|||||||
- https://github.com/RobTillaart/Correlation
|
- https://github.com/RobTillaart/Correlation
|
||||||
- https://github.com/RobTillaart/GST - Golden standard test metrics
|
- https://github.com/RobTillaart/GST - Golden standard test metrics
|
||||||
- https://github.com/RobTillaart/Histogram
|
- https://github.com/RobTillaart/Histogram
|
||||||
|
- https://github.com/RobTillaart/Kurtosis
|
||||||
- https://github.com/RobTillaart/RunningAngle
|
- https://github.com/RobTillaart/RunningAngle
|
||||||
- https://github.com/RobTillaart/RunningAverage
|
- https://github.com/RobTillaart/RunningAverage
|
||||||
- https://github.com/RobTillaart/RunningMedian
|
- https://github.com/RobTillaart/RunningMedian
|
||||||
|
Loading…
Reference in New Issue
Block a user