Arduino Helpers
pin-t-adl
Utility library for Arduino
src
AH
Hardware
ExtendedInputOutput
SPIShiftRegisterOut.hpp
Go to the documentation of this file.
1
/* ✔ */
2
3
#pragma once
4
5
#include <
AH/Settings/Warnings.hpp
>
6
AH_DIAGNOSTIC_WERROR
()
// Enable errors on warnings
7
8
#include "ShiftRegisterOutBase.hpp"
9
10
AH_DIAGNOSTIC_EXTERNAL_HEADER
()
11
#include <AH/Arduino-Wrapper.h>
// MSBFIRST, SS
12
#include <SPI.h>
13
AH_DIAGNOSTIC_POP
()
14
15
BEGIN_AH_NAMESPACE
16
30
template <uint16_t N, class SPIDriver = decltype(SPI) &>
31
class
SPIShiftRegisterOut
: public
ShiftRegisterOutBase
<N> {
32
public
:
59
SPIShiftRegisterOut
(SPIDriver spi,
pin_t
latchPin = SS,
60
BitOrder_t
bitOrder = MSBFIRST);
61
67
void
begin()
override
;
68
72
void
updateBufferedOutputs()
override
;
73
74
private
:
75
SPIDriver
spi
;
76
77
public
:
78
SPISettings settings{
SPI_MAX_SPEED
, this->bitOrder, SPI_MODE0};
79
};
80
81
END_AH_NAMESPACE
82
83
#include "
SPIShiftRegisterOut.ipp
"
84
85
AH_DIAGNOSTIC_POP
()
BitOrder_t
uint8_t BitOrder_t
Definition:
Arduino-Hardware-Types.hpp:31
END_AH_NAMESPACE
#define END_AH_NAMESPACE
Definition:
NamespaceSettings.hpp:10
BEGIN_AH_NAMESPACE
#define BEGIN_AH_NAMESPACE
Definition:
NamespaceSettings.hpp:9
SPIShiftRegisterOut.ipp
SPI_MAX_SPEED
static constexpr Frequency SPI_MAX_SPEED
Definition:
Settings.hpp:87
Warnings.hpp
AH_DIAGNOSTIC_EXTERNAL_HEADER
#define AH_DIAGNOSTIC_EXTERNAL_HEADER()
Definition:
Warnings.hpp:37
AH_DIAGNOSTIC_POP
#define AH_DIAGNOSTIC_POP()
Definition:
Warnings.hpp:36
AH_DIAGNOSTIC_WERROR
#define AH_DIAGNOSTIC_WERROR()
Definition:
Warnings.hpp:35
SPIShiftRegisterOut
A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bu...
Definition:
SPIShiftRegisterOut.hpp:31
SPIShiftRegisterOut::spi
SPIDriver spi
Definition:
SPIShiftRegisterOut.hpp:75
ShiftRegisterOutBase
A class for serial-in/parallel-out shift registers, like the 74HC595.
Definition:
ShiftRegisterOutBase.hpp:26
ExtIO::pin_t
Type for storing pin numbers of Extended Input/Output elements.
Definition:
Hardware-Types.hpp:21
Generated by
1.9.4