microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
spi.hpp File Reference

Format simplex and full-duplex SPI transfer views. More...

#include "../microfmt.hpp"
#include <cstddef>
#include <cstdint>
#include <string_view>
Include dependency graph for spi.hpp:

Go to the source code of this file.

Classes

struct  microfmt::spi_transfer_view
 Non-owning simplex or full-duplex SPI transfer descriptor. More...
 
struct  microfmt::formatter< spi_transfer_view >
 

Namespaces

namespace  microfmt
 

Enumerations

enum class  microfmt::spi_mode : uint8_t { microfmt::mode0 = 0 , microfmt::mode1 = 1 , microfmt::mode2 = 2 , microfmt::mode3 = 3 }
 
enum class  microfmt::spi_status : uint8_t { microfmt::ok = 0 , microfmt::timeout , microfmt::crc_err , microfmt::overrun }
 

Functions

constexpr spi_transfer_view microfmt::spi_duplex (span< const uint8_t > mosi, span< const uint8_t > miso, uint8_t cs=0, spi_mode mode=spi_mode::mode0, spi_status status=spi_status::ok) noexcept
 Creates a full-duplex SPI transfer view.
 
template<size_t N1, size_t N2>
constexpr spi_transfer_view microfmt::spi_duplex (const uint8_t(&mosi)[N1], const uint8_t(&miso)[N2], uint8_t cs=0, spi_mode mode=spi_mode::mode0, spi_status status=spi_status::ok) noexcept
 
constexpr spi_transfer_view microfmt::spi_write (span< const uint8_t > mosi, uint8_t cs=0, spi_mode mode=spi_mode::mode0, spi_status status=spi_status::ok) noexcept
 Creates a write-only SPI transfer view.
 
template<size_t N>
constexpr spi_transfer_view microfmt::spi_write (const uint8_t(&mosi)[N], uint8_t cs=0, spi_mode mode=spi_mode::mode0, spi_status status=spi_status::ok) noexcept
 
constexpr spi_transfer_view microfmt::spi_read (span< const uint8_t > miso, uint8_t cs=0, spi_mode mode=spi_mode::mode0, spi_status status=spi_status::ok) noexcept
 Creates a read-only SPI transfer view.
 
template<size_t N>
constexpr spi_transfer_view microfmt::spi_read (const uint8_t(&miso)[N], uint8_t cs=0, spi_mode mode=spi_mode::mode0, spi_status status=spi_status::ok) noexcept
 

Detailed Description

Format simplex and full-duplex SPI transfer views.

Use spi_duplex, spi_write, or spi_read to create a transfer view, then format it with either the default diagnostic representation or the {:c} compact trace representation.