DigitalHooks.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  * DigitalHooks.h - Support for hooking digital functions
8  *
9  ****/
10 
11 #pragma once
12 
13 #include <cstdint>
14 
21 {
22 public:
28  virtual void badPin(const char* function, uint16_t pin);
29 
36  virtual bool pinMode(uint16_t pin, uint8_t mode);
37 
43  virtual void digitalWrite(uint16_t pin, uint8_t val);
44 
51  virtual uint8_t digitalRead(uint16_t pin, uint8_t mode);
52 
58  virtual void pullup(uint16_t pin, bool enable);
59 
66  virtual unsigned long pulseIn(uint16_t pin, uint8_t state, unsigned long timeout);
67 
73  virtual uint16_t analogRead(uint16_t pin);
74 };
virtual void digitalWrite(uint16_t pin, uint8_t val)
Change pin output.
virtual void badPin(const char *function, uint16_t pin)
Report invalid pin number.
virtual bool pinMode(uint16_t pin, uint8_t mode)
Set pin mode.
virtual uint8_t digitalRead(uint16_t pin, uint8_t mode)
Read pin state.
virtual void pullup(uint16_t pin, bool enable)
Set or clear pullup state for a pin.
Class to customise behaviour for digital functions.
Definition: DigitalHooks.h:20
virtual unsigned long pulseIn(uint16_t pin, uint8_t state, unsigned long timeout)
Measure duration of pulse on GPIO.
virtual uint16_t analogRead(uint16_t pin)
Sample analogue input.