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) {
|
void __timerCallback(void *data) {
|
||||||
|
Serial.printf("%s\n", __func__);
|
||||||
HIB *hib = static_cast<HIB *>(data);
|
HIB *hib = static_cast<HIB *>(data);
|
||||||
hib->debouncing = false;
|
hib->debouncing = false;
|
||||||
hib->invertState();
|
hib->invertState();
|
||||||
|
Serial.printf("New State %d \n", hib->state);
|
||||||
if (hib->state != digitalRead(hib->pin)){
|
if (hib->state != digitalRead(hib->pin)){
|
||||||
hib->state = !hib->state;
|
hib->state = !hib->state;
|
||||||
|
Serial.printf("%s. Debounce failed\n", __func__);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(hib->state != hib->initialState)
|
if(hib->state != hib->initialState){
|
||||||
|
Serial.printf("Button Pressed\n");
|
||||||
hib->onInternalButtonPressed();
|
hib->onInternalButtonPressed();
|
||||||
else
|
}
|
||||||
|
else{
|
||||||
|
Serial.printf("Button Released\n");
|
||||||
hib->onInternalButtonReleased();
|
hib->onInternalButtonReleased();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,6 +75,7 @@ HIB::HIB(uint8_t p, uint8_t initState,
|
||||||
}
|
}
|
||||||
|
|
||||||
void HIB::IRQ_handler(){
|
void HIB::IRQ_handler(){
|
||||||
|
Serial.printf("IRQ_handler on pin %d, debouncing %d\n", pin, debouncing);
|
||||||
if(!debouncing){
|
if(!debouncing){
|
||||||
debouncing = true;
|
debouncing = true;
|
||||||
os_timer_arm(&timer, shortPressMsec, 0);
|
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
|
This library is intended to interact with button pluged on a ESP8266 using the Arduino SDK
|
||||||
|
|
||||||
Code Example
|
Code Example
|
||||||
```c++
|
```Arduino
|
||||||
#include <HIB.h>
|
#include <HIB.h>
|
||||||
|
|
||||||
HIB *button;
|
HIB *button ;
|
||||||
HIB *button2;
|
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