Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
AH
Hardware
ExtendedInputOutput
SPIShiftRegisterOut.hpp
Go to the documentation of this file.
1
/* ✔ */
2
3
#pragma once
4
5
#include "
ShiftRegisterOutBase.hpp
"
6
7
#include <
AH/Arduino-Wrapper.h
>
// MSBFIRST, SS
8
AH_DIAGNOSTIC_EXTERNAL_HEADER
()
9
#include <SPI.h>
10
AH_DIAGNOSTIC_POP
()
11
12
BEGIN_AH_NAMESPACE
13
27
template <uint16_t N, class SPIDriver = decltype(SPI) &>
28
class
SPIShiftRegisterOut
: public
ShiftRegisterOutBase
<N> {
29
public
:
56
SPIShiftRegisterOut
(SPIDriver
spi
,
pin_t
latchPin
= SS,
57
BitOrder_t
bitOrder
= MSBFIRST);
58
64
void
begin
()
override
;
65
69
void
updateBufferedOutputs
()
override
;
70
71
private
:
72
SPIDriver
spi
;
73
74
public
:
75
SPISettings
settings
{
SPI_MAX_SPEED
, this->
bitOrder
, SPI_MODE0};
76
};
77
78
END_AH_NAMESPACE
79
80
#include "SPIShiftRegisterOut.ipp"
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
BitOrder_t
uint8_t BitOrder_t
Definition
Arduino-Hardware-Types.hpp:32
Arduino-Wrapper.h
ShiftRegisterOutBase.hpp
AH_DIAGNOSTIC_EXTERNAL_HEADER
#define AH_DIAGNOSTIC_EXTERNAL_HEADER()
Definition
Warnings.hpp:51
AH_DIAGNOSTIC_POP
#define AH_DIAGNOSTIC_POP()
Definition
Warnings.hpp:50
::SPIShiftRegisterOut
A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bu...
Definition
SPIShiftRegisterOut.hpp:28
AH::SPIShiftRegisterOut::spi
SPIDriver spi
Definition
SPIShiftRegisterOut.hpp:72
AH::SPIShiftRegisterOut::updateBufferedOutputs
void updateBufferedOutputs() override
Write the state buffer to the physical outputs.
AH::SPIShiftRegisterOut::begin
void begin() override
Initialize the shift register.
AH::SPIShiftRegisterOut::SPIShiftRegisterOut
SPIShiftRegisterOut(SPIDriver spi, pin_t latchPin=SS, BitOrder_t bitOrder=MSBFIRST)
Create a new SPIShiftRegisterOut object with a given bit order, and a given number of outputs.
AH::SPIShiftRegisterOut::settings
SPISettings settings
Definition
SPIShiftRegisterOut.hpp:75
AH::ShiftRegisterOutBase::bitOrder
const BitOrder_t bitOrder
Definition
ShiftRegisterOutBase.hpp:187
AH::ShiftRegisterOutBase::ShiftRegisterOutBase
ShiftRegisterOutBase(pin_t latchPin, BitOrder_t bitOrder)
Create a new ShiftRegisterOutBase object with a given bit order, and a given number of outputs.
AH::ShiftRegisterOutBase::latchPin
const pin_t latchPin
Definition
ShiftRegisterOutBase.hpp:186
AH::SPI_MAX_SPEED
static constexpr Frequency SPI_MAX_SPEED
Definition
AH/Settings/Settings.hpp:92
AH::ExtIO::pin_t
Type for storing pin numbers of Extended Input/Output elements.
Definition
Hardware-Types.hpp:25
Generated by
1.17.0