Skip to content

Simple heap and running median (min/max heaps) implementation for small dev. boards like Arduino.

License

Notifications You must be signed in to change notification settings

rpetrasch/ArduinoRunningMedian

Repository files navigation

ArduinoRunningMedian


A Running / Sliding Median Library for Arduino

A simple heap and running median (min/max heaps) implementation that can be used on small development boards like Arduino UNO.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

If you want to test the library and the main program locally on your desktion machine, you will need the a C++17 development environment like IntelliJ CLion. More info on C++17 ia available on isocpp.org website

Installing

Compile, build, and run the main program (test)

Use the zip file for the Arduino and check out the examples.

  • Download Arduino zip file
  • Open your Arduino IDE: Sketch->Include Library-> Add .ZIP Library
  • Select the file ArduinoRunningMedian.zip
  • Open the simple example: File->Examples->ArduinoRunningMedian->simpleMedian
  • Upload the sketch on your target and open the serial monitor. You should see something like this:
--------------------------------
Running Median - Test
--------------------------------
Element:    5 	 Median:    5
Element:   15 	 Median:   10
Element:    1 	 Median:    5
...

More infos coming soon...

Running the tests

Compile, build, and run the main program. That's all for now. There will be proper Catch2 tests very soon. For more infos visit catch2 website

Deployment

Here we will describe the Arduino scenarios in detail.

Known Bugs

  • toString() is not working properly
  • updateElement and getMedian() lead to overflow

Built With

  • g++ (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008 - Free Software Foundation C++ compiler

Versioning

We use git 2.20.

Authors

License

This project is licensed under the GPL3 License - see the LICENSE file for details

Acknowledgments

About

Simple heap and running median (min/max heaps) implementation for small dev. boards like Arduino.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages