Control Surface  1.2.0
MIDI Control Surface library for Arduino
ShiftRegisterOut.hpp
Go to the documentation of this file.
1 /* ✔ */
2 
3 #pragma once
4 
6 AH_DIAGNOSTIC_WERROR() // Enable errors on warnings
7 
8 #include "ShiftRegisterOutBase.hpp"
9 
11 #include <AH/Arduino-Wrapper.h> // MSBFIRST
13 
15 
22 template <uint8_t N>
24  public:
55  ShiftRegisterOut(pin_t dataPin, pin_t clockPin, pin_t latchPin,
56  BitOrder_t bitOrder = MSBFIRST);
57 
63  void begin() override;
64 
68  void updateBufferedOutputs() override;
69 
70  private:
71  const pin_t dataPin;
72  const pin_t clockPin;
73 };
74 
76 
77 #include "ShiftRegisterOut.ipp"
78 
AH::ShiftRegisterOut::clockPin
const pin_t clockPin
Definition: ShiftRegisterOut.hpp:72
Warnings.hpp
AH::ShiftRegisterOutBase
A class for serial-in/parallel-out shift registers, like the 74HC595.
Definition: ShiftRegisterOutBase.hpp:26
AH::ShiftRegisterOut
A class for serial-in/parallel-out shift registers, like the 74HC595.
Definition: ShiftRegisterOut.hpp:23
AH::pin_t
uint16_t pin_t
The type for Arduino pins (and ExtendedIOElement pins).
Definition: Hardware-Types.hpp:17
AH::ShiftRegisterOut::dataPin
const pin_t dataPin
Definition: ShiftRegisterOut.hpp:71
ShiftRegisterOut.ipp
AH_DIAGNOSTIC_POP
#define AH_DIAGNOSTIC_POP()
Definition: Warnings.hpp:36
AH_DIAGNOSTIC_EXTERNAL_HEADER
#define AH_DIAGNOSTIC_EXTERNAL_HEADER()
Definition: Warnings.hpp:37
BitOrder_t
uint8_t BitOrder_t
Definition: ExtendedInputOutput.hpp:53
AH_DIAGNOSTIC_WERROR
#define AH_DIAGNOSTIC_WERROR()
Definition: Warnings.hpp:35
BEGIN_AH_NAMESPACE
#define BEGIN_AH_NAMESPACE
Definition: AH/Settings/NamespaceSettings.hpp:9
END_AH_NAMESPACE
#define END_AH_NAMESPACE
Definition: AH/Settings/NamespaceSettings.hpp:10