Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Mathieu Maret | b30bcb6674 |
12
HIB.cpp
12
HIB.cpp
|
@ -34,17 +34,24 @@ static void (*ISRList[MAX_PIN+1])() = {
|
|||
};
|
||||
|
||||
void __timerCallback(void *data) {
|
||||
Serial.printf("%s\n", __func__);
|
||||
HIB *hib = static_cast<HIB *>(data);
|
||||
hib->debouncing = false;
|
||||
hib->invertState();
|
||||
Serial.printf("New State %d \n", hib->state);
|
||||
if (hib->state != digitalRead(hib->pin)){
|
||||
hib->state = !hib->state;
|
||||
Serial.printf("%s. Debounce failed\n", __func__);
|
||||
return;
|
||||
}
|
||||
if(hib->state != hib->initialState)
|
||||
if(hib->state != hib->initialState){
|
||||
Serial.printf("Button Pressed\n");
|
||||
hib->onInternalButtonPressed();
|
||||
else
|
||||
}
|
||||
else{
|
||||
Serial.printf("Button Released\n");
|
||||
hib->onInternalButtonReleased();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -68,6 +75,7 @@ HIB::HIB(uint8_t p, uint8_t initState,
|
|||
}
|
||||
|
||||
void HIB::IRQ_handler(){
|
||||
Serial.printf("IRQ_handler on pin %d, debouncing %d\n", pin, debouncing);
|
||||
if(!debouncing){
|
||||
debouncing = true;
|
||||
os_timer_arm(&timer, shortPressMsec, 0);
|
||||
|
|
26
README.md
26
README.md
|
@ -1,22 +1,24 @@
|
|||
This library is intended to interact with button pluged on a ESP8266 using the Arduino SDK
|
||||
|
||||
Code Example
|
||||
```c++
|
||||
```Arduino
|
||||
#include <HIB.h>
|
||||
|
||||
HIB *button;
|
||||
HIB *button2;
|
||||
HIB *button ;
|
||||
HIB *button2 ;
|
||||
|
||||
void onButtonPressed(uint8_t pin) { Serial.printf("Button %d pressed \n", pin); }
|
||||
void onButtonPressed(uint8_t pin){
|
||||
Serial.printf("Sketch on button %d pressed \n", pin);
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
// put your setup code here, to run once:
|
||||
button = new HIB(0, HIGH, onButtonPressed);
|
||||
button2 = new HIB(4, HIGH, onButtonPressed);
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
// put your setup code here, to run once:
|
||||
button = new HIB(0, HIGH, onButtonPressed);
|
||||
button2 = new HIB(4, HIGH, onButtonPressed);
|
||||
}
|
||||
|
||||
void loop() {}
|
||||
|
||||
void loop() {
|
||||
}
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue