Skip to content

Commit

Permalink
+ 0.1.02
Browse files Browse the repository at this point in the history
+ readPrevious()
+ changed signatures
+ added comments
+ fix typo in sample
RobTillaart committed Dec 7, 2014
1 parent 9d58c16 commit baa7e04
Showing 3 changed files with 37 additions and 24 deletions.
24 changes: 17 additions & 7 deletions libraries/AnalogPin/AnalogPin.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
//
// FILE: AnalogPin.cpp
// AUTHOR: Rob Tillaart
// VERSION: 0.1.00
// VERSION: 0.1.02
// DATE: 2014-10-05
// PURPOSE: wrapper class for analogRead
// URL:
//
// HISTORY:
// 0.1.00 - 2013-09-09 initial version
// 0.1.01 - 2013-11-09 added some comments
// 0.1.02 - 2014-10-05 changed signatures datatypes
//
// Released to the public domain
//
@@ -16,22 +21,27 @@ AnalogPin::AnalogPin(uint8_t pin)
_prevValue = analogRead(pin);
}

uint16_t AnalogPin::read(uint8_t noise)
int AnalogPin::read(uint8_t noise)
{
uint16_t value = analogRead(_pin);
int value = analogRead(_pin);
if (noise == 0 || abs(value - _prevValue) > noise)
{
_prevValue = value;
}
return _prevValue;
}

uint16_t AnalogPin::readSmoothed(uint8_t alpha)
int AnalogPin::readSmoothed(uint8_t alpha)
{
alpha = constrain(alpha, 0, 32);
uint16_t value = analogRead(_pin);
alpha = constrain(alpha, 0, 31);
int value = analogRead(_pin);
value = (alpha*_prevValue + (32-alpha)*value)/32;
_prevValue = value;
return value;
}

int AnalogPin::readPrevious()
{
return _prevValue;
}
// -- END OF FILE --
33 changes: 18 additions & 15 deletions libraries/AnalogPin/AnalogPin.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
//
// FILE: AnalogPin.h
// AUTHOR: Rob Tillaart
// VERSION: 0.1.00
// VERSION: 0.1.02
// DATE: 2014-10-05
// PURPOSE: wrapper class for analogRead
// URL:
//
@@ -12,27 +13,29 @@
#define AnalogPin_h

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#include "Arduino.h"
#else
#include "WProgram.h"
#include "WProgram.h"
#endif

#define ANALOGPIN_LIB_VERSION "0.1.00"
#define ANALOGPIN_LIB_VERSION "0.1.02"

class AnalogPin
{
public:
AnalogPin(uint8_t);

// noise 0..256; in practice 0..4
uint16_t read(uint8_t noise = 0);

// alpha 0..32;
uint16_t readSmoothed(uint8_t alpha = 0);

private:
public:
AnalogPin(uint8_t);

// noise 0..255; in practice 0..4
int read(uint8_t noise = 0);

// alpha 0..31;
int readSmoothed(uint8_t alpha = 0);

int readPrevious();

private:
uint8_t _pin;
uint16_t _prevValue;
int _prevValue;
};

#endif
4 changes: 2 additions & 2 deletions libraries/AnalogPin/examples/AnalogPin/AnalogPin.ino
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// FILE: AnalogPin.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.01
// VERSION: 0.1.02
// PURPOSE: example sketch
// URL:
//
@@ -32,7 +32,7 @@ void loop()
Serial.print(INA.readSmoothed(16));
Serial.print('\t');

Serial.print(INA.readPrevious();
Serial.print(INA.readPrevious());

Serial.println();
delay(100);

0 comments on commit baa7e04

Please sign in to comment.