REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
SR74HCT595.h
Go to the documentation of this file.
1// Copyright (c) 2024 anabrid GmbH
2// Contact: https://www.anabrid.com/licensing/
3// SPDX-License-Identifier: MIT OR GPL-2.0-or-later
4
5#pragma once
6
8
9namespace functions {
13
15class SR74HCT595 : public DataFunction {
16public:
17 static const SPISettings DEFAULT_SPI_SETTINGS;
18 static const SPISettings DEFAULT_SPI_SETTINGS_SHIFTED_CLOCK;
19
21
22 SR74HCT595(bus::addr_t address, uint8_t alt_function_idx, bool shift_clock);
23
24 bool transfer(const void *mosi_buf, void *miso_buf, size_t count) const;
25 bool transfer8(uint8_t data_in, uint8_t *data_out = nullptr) const;
26 bool transfer16(uint16_t data_in, uint16_t *data_out = nullptr) const;
27 bool transfer32(uint32_t data_in, uint32_t *data_out = nullptr) const;
28};
29
30} // namespace functions
DataFunction(bus::addr_t address, uint8_t alt_function_idx, const SPISettings &spiSettings)
Definition functions.cpp:24
const bus::addr_t address
Definition functions.h:23
bool transfer(const void *mosi_buf, void *miso_buf, size_t count) const
SR74HCT595(bus::addr_t address, uint8_t alt_function_idx, bool shift_clock)
static const SPISettings DEFAULT_SPI_SETTINGS
Definition SR74HCT595.h:7
bool transfer8(uint8_t data_in, uint8_t *data_out=nullptr) const
bool transfer32(uint32_t data_in, uint32_t *data_out=nullptr) const
bool transfer16(uint16_t data_in, uint16_t *data_out=nullptr) const
static const SPISettings DEFAULT_SPI_SETTINGS_SHIFTED_CLOCK
Definition SR74HCT595.h:10
DataFunction(bus::addr_t address, uint8_t alt_function_idx, const SPISettings &spiSettings)
Definition functions.cpp:24
uint32_t
Definition flasher.cpp:195
namespace for internal helpers
Definition icmd.h:6