Host GPIO¶
The emulator does not provide any low-level GPIO support, this is handled at a higher level
using DigitalHooks
.
API Documentation¶
-
class
DigitalHooks
¶ Class to customise behaviour for digital functions.
- Note
- By default, actions get output to console but this can get very busy. The easiest way to change the behaviour is by sub-classing DigitalHooks and passing the new class instance to
setDigitalHooks()
.
Public Functions
-
virtual void
badPin
(const char *function, uint16_t pin)¶ Report invalid pin number.
- Parameters
function
: Name of function which was calledpin
: The pin number
-
virtual bool
pinMode
(uint16_t pin, uint8_t mode)¶ Set pin mode.
- Parameters
pin
: Has already been range checkedmode
:
- Return Value
true
: if mode can be set for this pin, will be stored
-
virtual void
digitalWrite
(uint16_t pin, uint8_t val)¶ Change pin output.
- Parameters
pin
: Has already been range checkedval
: New pin value
-
virtual uint8_t
digitalRead
(uint16_t pin, uint8_t mode)¶ Read pin state.
- Parameters
pin
: Has already been range checkedmode
: The currently set mode for this pinval
: State for pin
-
virtual void
pullup
(uint16_t pin, bool enable)¶ Set or clear pullup state for a pin.
- Parameters
pin
: Has already been range checkedenable
: true for pullup, false for no pullup
-
virtual unsigned long
pulseIn
(uint16_t pin, uint8_t state, unsigned long timeout)¶ Measure duration of pulse on GPIO.
- Parameters
pin
: GPIO to measurestate
: State of pulse to measure [HIGH | LOW]timeout
: Maximum duration of pulse
- Return Value
unsigned
: long Pulse duration in microseconds