Mutila: Mouse's Utilities for Arduino
Oft-used utilities: debouncing buttons, averaging samples, and so on.
DiscretePot.h
1 #pragma once
2 
3 #include <stdint.h>
4 #include "AbstractDebouncedButton.h"
5 
12 class DiscretePot {
13 public:
18  DiscretePot(const uint8_t pin);
19 
28  void begin(int8_t min=0, int8_t max=11, bool reversed=false, uint8_t threshold=AbstractDebouncedButton::DefaultThreshold, uint8_t delay=AbstractDebouncedButton::DefaultButtonDelay);
29 
34  void update();
35 
40  int8_t value();
41 
42 private:
43  const uint8_t _pin;
44  int8_t _min;
45  int8_t _max;
46  bool _reversed;
47  uint8_t _threshold;
48  uint8_t _delay;
49  uint32_t _lastUpdate;
50  uint8_t _counter;
51  int8_t _state;
52  uint32_t _lastStateChange;
53 
58  int8_t _value();
59  void setState(int8_t newState);
60 
61 };
62 
int8_t value()
Definition: DiscretePot.cpp:35
DiscretePot(const uint8_t pin)
Definition: DiscretePot.cpp:5
void update()
Definition: DiscretePot.cpp:20
void begin(int8_t min=0, int8_t max=11, bool reversed=false, uint8_t threshold=AbstractDebouncedButton::DefaultThreshold, uint8_t delay=AbstractDebouncedButton::DefaultButtonDelay)
Definition: DiscretePot.cpp:10