Digital.h
Go to the documentation of this file.
1 /****
2  * Sming Framework Project - Open Source framework for high efficiency native ESP8266 development.
3  * Created 2015 by Skurydin Alexey
4  * http://github.com/SmingHub/Sming
5  * All files of the Sming Core are provided under the LGPL v3 license.
6  *
7  * Digital.h
8  *
9  ****/
10 
17 #pragma once
18 
19 #include <WConstants.h>
20 #include <esp_attr.h>
21 #include <pins_arduino.h>
22 
23 #ifdef ARCH_HOST
24 #include <DigitalHooks.h>
30 #endif
31 
37 void pinMode(uint16_t pin, uint8_t mode);
38 
43 void IRAM_ATTR digitalWrite(uint16_t pin, uint8_t val);
44 
49 uint8_t IRAM_ATTR digitalRead(uint16_t pin);
50 
54 void IRAM_ATTR pullup(uint16_t pin);
55 
59 void IRAM_ATTR noPullup(uint16_t pin);
60 
65 bool IRAM_ATTR isInputPin(uint16_t pin);
66 
75 unsigned long pulseIn(uint16_t pin, uint8_t state, unsigned long timeout = 1000000L);
76 
77 uint16_t analogRead(uint16_t pin);
78 
Class to customise behaviour for digital functions.
Definition: DigitalHooks.h:21
void pullup(uint16_t pin)
Enable pull-up on digital input.
uint8_t digitalRead(uint16_t pin)
Get the value of a digital input.
DigitalHooks * setDigitalHooks(DigitalHooks *hooks)
Replace (or remove) existing hooks.
uint16_t analogRead(uint16_t pin)
void pinMode(uint16_t pin, uint8_t mode)
Set the mode of a GPIO pin.
void noPullup(uint16_t pin)
Disable pull-up on digital input.
bool isInputPin(uint16_t pin)
Check if GPIO is an input.
void digitalWrite(uint16_t pin, uint8_t val)
Set a digital output.
unsigned long pulseIn(uint16_t pin, uint8_t state, unsigned long timeout=1000000L)
Measures duration of pulse on GPIO.