+ remove fastmap to get naming right (CamelCase)

This commit is contained in:
rob tillaart 2014-11-02 17:23:40 +01:00
parent 520cd5c269
commit e81fca5089
4 changed files with 0 additions and 218 deletions

View File

@ -1,49 +0,0 @@
//
// FILE: constrainedMap.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.00
// PURPOSE:
// DATE: 2014-11-02
// URL:
//
// Released to the public domain
//
#include "fastMap.h"
fastmap mapper;
void setup()
{
Serial.begin(115200);
Serial.print("Start constrainedMap demo\nlib version: ");
Serial.println(FASTMAP_LIB_VERSION);
Serial.println();
mapper.init(0, 10, 0, 300);
Serial.println("I\tMAP\tLCM\tUCM\tCM");
for (int i = -5; i < 20; i++)
{
float a = map(i, 0, 10, 0, 300);
float b = mapper.lowerConstrainedMap(i);
float c = mapper.upperConstrainedMap(i);
float d = mapper.constrainedMap(i);
Serial.print(i);
Serial.print("\t");
Serial.print(a);
Serial.print("\t");
Serial.print(b);
Serial.print("\t");
Serial.print(c);
Serial.print("\t");
Serial.println(d);
}
Serial.println("\ndone...");
}
void loop()
{
}

View File

@ -1,70 +0,0 @@
//
// FILE: fastMapDemo.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.01
// PURPOSE: demo of a faster mapper function
// DATE: 2014-11-02
// URL:
//
// Released to the public domain
//
#include "fastMap.h"
uint32_t start;
uint32_t stop;
uint32_t reference;
volatile long zz = 3000, yy = 20000;
volatile float x;
fastmap mapper;
void setup()
{
Serial.begin(115200);
Serial.print("Start fastMapDemo\nlib version: ");
Serial.println(FASTMAP_LIB_VERSION);
Serial.println();
// Get a non optimizable value;
int z = analogRead(A0);
// REFERENCE
start = micros();
for (int i = 0; i < 10000; i++)
{
x = map(z, 0, 1023, yy, zz);
}
stop = micros();
reference = stop-start;
Serial.println(reference);
Serial.print(z);
Serial.print(" -> ");
Serial.println(x);
Serial.println();
// FASTMAP
mapper.init(0, 1023, yy, zz);
start = micros();
for (int i = 0; i < 10000; i++)
{
x = mapper.map(z);
}
stop = micros();
Serial.println(stop-start);
Serial.print(z);
Serial.print(" -> ");
Serial.println(x);
// GAIN
Serial.print("Performance factor: ");
Serial.println(reference/(stop-start));
}
void loop()
{
}
//
// END OF FILE
//

View File

@ -1,56 +0,0 @@
//
// FILE: fastMap.cpp
// AUTHOR: Rob Tillaart
// VERSION: 0.1.02
// PURPOSE: class implementation of map function - library for Arduino
// URL: http://forum.arduino.cc/index.php?topic=276194
//
// HISTORY:
// 0.1.02 squized the code (first public version)
// 0.1.01 refactor
// 0.1.00 initial version
//
#include "fastMap.h"
/////////////////////////////////////////////////////
//
// PUBLIC
//
void fastmap::init(float in_min, float in_max, float out_min, float out_max)
{
_in_min = in_min;
_in_max = in_max;
_out_min = out_min;
_out_max = out_max;
_factor = (out_max - out_min)/(in_max - in_min);
_base = out_min - in_min * _factor;
// Serial.println(_in_min);
// Serial.println(_in_max);
// Serial.println(_out_min);
// Serial.println(_out_max);
// Serial.println(_factor);
}
float fastmap::constrainedMap(float value)
{
if (value <= _in_min) return _out_min;
if (value >= _in_max) return _out_max;
return this->map(value);
}
float fastmap::lowerConstrainedMap(float value)
{
if (value <= _in_min) return _out_min;
return this->map(value);
}
float fastmap::upperConstrainedMap(float value)
{
if (value >= _in_max) return _out_max;
return this->map(value);
}
//
// END OF FILE
//

View File

@ -1,43 +0,0 @@
//
// FILE: fastMap.h
// AUTHOR: Rob Tillaart
// VERSION: 0.1.02
// PURPOSE: class implementation of map function - library for Arduino
// URL: http://forum.arduino.cc/index.php?topic=276194
//
// HISTORY:
// see fastMap.cpp file
//
#ifndef fastMap_h
#define fastMap_h
#if ARDUINO < 100
#include <WProgram.h>
#else
#include <Arduino.h>
#endif
#define FASTMAP_LIB_VERSION "0.1.02"
#define USE_CONSTRAINED_MAP
class fastmap
{
public:
void init(float in_min, float in_max, float out_min, float out_max);
float inline map(float value) { return _base + value * _factor; }
float constrainedMap(float value);
float lowerConstrainedMap(float value);
float upperConstrainedMap(float value);
private:
float _in_min, _in_max, _out_min, _out_max;
float _factor, _base;
};
#endif
//
// END OF FILE
//