30 lines
529 B
C++
30 lines
529 B
C++
#pragma once
|
|
|
|
#ifndef TACTILE_H
|
|
#define TACTILE_H
|
|
|
|
#include "Arduino.h"
|
|
|
|
enum tactileStateFlags {
|
|
TACTILE_STATE_NONE,
|
|
TACTILE_STATE_SHORT_PRESS,
|
|
TACTILE_STATE_LONG_PRESS
|
|
};
|
|
|
|
#define TACTILE_MIN_PRESS_TIME 50
|
|
#define TACTILE_LONG_PRESS_TIME 1000
|
|
|
|
class Tactile {
|
|
public:
|
|
Tactile(uint8_t pin);
|
|
void loop(void);
|
|
void start(void);
|
|
uint8_t getState(void);
|
|
private:
|
|
uint8_t _pin;
|
|
uint8_t _previousPinState = HIGH;
|
|
uint32_t _pressMillis = 0;
|
|
uint8_t _state = TACTILE_STATE_NONE;
|
|
};
|
|
|
|
#endif |