Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
AH
Hardware
ExtendedInputOutput
ExtendedInputOutput.hpp
Go to the documentation of this file.
1
/* ✔ */
2
3
#pragma once
4
5
#include <
AH/Hardware/Arduino-Hardware-Types.hpp
>
6
#include <AH/STL/climits>
7
#include <
AH/Settings/NamespaceSettings.hpp
>
8
9
BEGIN_AH_NAMESPACE
10
11
class
ExtendedIOElement
;
12
17
namespace
ExtIO
{
18
21
24
inline
bool
isNativePin
(
pin_t
pin) {
25
return
pin.
pin
< NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS;
26
}
27
35
ExtendedIOElement
*getIOElementOfPinOrNull(
pin_t
pin);
38
ExtendedIOElement
*getIOElementOfPin(
pin_t
pin);
39
42
void
pinMode(
pin_t
pin,
PinMode_t
mode);
45
void
digitalWrite(
pin_t
pin,
PinStatus_t
val);
48
PinStatus_t
digitalRead(
pin_t
pin);
49
52
analog_t
analogRead(
pin_t
pin);
55
void
analogWrite(
pin_t
pin,
analog_t
val);
58
void
analogWrite(
pin_t
pin,
int
val);
59
61
void
shiftOut(
pin_t
dataPin,
pin_t
clockPin,
BitOrder_t
bitOrder, uint8_t val);
62
65
void
pinModeBuffered(
pin_t
pin,
PinMode_t
mode);
68
void
digitalWriteBuffered(
pin_t
pin,
PinStatus_t
val);
71
PinStatus_t
digitalReadBuffered(
pin_t
pin);
72
75
analog_t
analogReadBuffered(
pin_t
pin);
78
void
analogWriteBuffered(
pin_t
pin,
analog_t
val);
81
void
analogWriteBuffered(
pin_t
pin,
int
val);
82
84
85
}
// namespace ExtIO
86
87
END_AH_NAMESPACE
NamespaceSettings.hpp
END_AH_NAMESPACE
#define END_AH_NAMESPACE
Definition
AH/Settings/NamespaceSettings.hpp:14
BEGIN_AH_NAMESPACE
#define BEGIN_AH_NAMESPACE
Definition
AH/Settings/NamespaceSettings.hpp:11
Arduino-Hardware-Types.hpp
BitOrder_t
uint8_t BitOrder_t
Definition
Arduino-Hardware-Types.hpp:32
PinMode_t
AH::function_traits< decltype(::pinMode)>::argument_t< 1 > PinMode_t
Definition
Arduino-Hardware-Types.hpp:27
PinStatus_t
AH::function_traits< decltype(::digitalWrite)>::argument_t< 1 > PinStatus_t
Definition
Arduino-Hardware-Types.hpp:25
::ExtendedIOElement
An abstract base class for Extended Input/Output elements.
Definition
ExtendedIOElement.hpp:58
AH::ExtIO::isNativePin
bool isNativePin(pin_t pin)
Check if the given pin number is a real Arduino pin number, and not an ExtIO pin number.
Definition
ExtendedInputOutput.hpp:24
::ExtIO
A namespace with alternatives to the standard Arduino IO functions that can be used with extended IO ...
Definition
ExtendedInputOutput.cpp:7
AH::analog_t
uint16_t analog_t
The type returned from analogRead and similar functions.
Definition
Hardware-Types.hpp:14
AH::ExtIO::pin_t
Type for storing pin numbers of Extended Input/Output elements.
Definition
Hardware-Types.hpp:25
AH::ExtIO::pin_t::pin
pin_int_t pin
The actual underlying pin number.
Definition
Hardware-Types.hpp:32
Generated by
1.17.0