https://github.com/pilotak/movingaverage
Arduino & Mbed Library for averaging fixed-point numbers
https://github.com/pilotak/movingaverage
arduino arduino-library averaging-filter filter mbed mbed-os moving-average
Last synced: 11 months ago
JSON representation
Arduino & Mbed Library for averaging fixed-point numbers
- Host: GitHub
- URL: https://github.com/pilotak/movingaverage
- Owner: pilotak
- License: mit
- Created: 2017-12-22T15:59:58.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-11T07:42:25.000Z (over 1 year ago)
- Last Synced: 2025-04-14T14:57:20.175Z (about 1 year ago)
- Topics: arduino, arduino-library, averaging-filter, filter, mbed, mbed-os, moving-average
- Language: C++
- Homepage:
- Size: 36.1 KB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Moving average filter
[](https://github.com/pilotak/MovingAverage/actions)
[](https://arduino.cc)
[](https://os.mbed.com/)
**_Buffer_** type can be:
- `uint8_t` or `int8_t` with maximum buffer length of **16843009**
- `uint16_t` or `int16_t` with maximum buffer length of **65537**
- `uint32_t` or `int32_t` but added number can be as long as 30 bits which eaquals to maximum buffer length of **2**, 29 bits number = max buffer length of **4**, etc.
**_Buffer length_**:
- power of 2 only: 2, 4, 8, 16, 32, 64, 128, etc.
## Arduino example
Please see `examples` folder
## Mbed example
```cpp
#include "mbed.h"
#include "MovingAverage.h"
// Buffer (and added samples) will be initialised as uint8_t, total 16 samples
MovingAverage filter;
int main() {
printf("result: %u\n", filter.add(255)); // insert new number and get result
printf("result: %u\n", filter.add(6)); // insert new number and get result
printf("result: %u\n", filter.add(9)); // insert new number and get result
printf("result: %u\n", filter.get()); // get last result, without adding a newone
return 0;
}
```
### Output
> result: 255
>
> result: 239
>
> result: 224
>
> result: 224