24#ifndef __YASIMAVR_SPI_H__
25#define __YASIMAVR_SPI_H__
27#include "../core/sim_types.h"
51#define AVR_CTLREQ_SPI_TRANSFER (AVR_CTLREQ_BASE + 1)
117 void set_shift_data(uint8_t frame);
118 uint8_t shift_data()
const;
120 bool complete_frame()
const;
124 void set_active(
bool active);
127 virtual void frame_completed();
141 void set_shift_clock(
bool state);
142 bool shift_clock()
const;
155 void shift_and_sample();
161 return m_serial_mode;
185 return m_shift_clock;
An endpoint connected to a SPI bus. Represents a device connected to a SPI bus model and acting as a ...
Definition sim_spi.h:104
bool shift_clock() const
Definition sim_spi.h:183
SerialMode serial_mode() const
Definition sim_spi.h:159
virtual bool read_data_input()=0
uint8_t shift_data() const
Definition sim_spi.h:173
bool active() const
Definition sim_spi.h:178
bool complete_frame() const
Returns true when a complete byte has been transferred/received.
Definition sim_spi.h:189
BitOrder bit_order() const
Definition sim_spi.h:164
virtual void write_data_output(bool level)=0
virtual ~EndPoint()=default
Generic Serial Peripheral Interface definitions.
Definition sim_spi.h:67
BitOrder
Definition sim_spi.h:82
@ LSBFirst
Definition sim_spi.h:84
@ MSBFirst
Definition sim_spi.h:83
SerialMode
Definition sim_spi.h:72
@ Mode3
Definition sim_spi.h:76
@ Mode0
Definition sim_spi.h:73
@ Mode1
Definition sim_spi.h:74
@ Mode2
Definition sim_spi.h:75
Line
Definition sim_spi.h:90
@ MISO
Definition sim_spi.h:92
@ MOSI
Definition sim_spi.h:93
@ Clock
Definition sim_spi.h:91
@ Select
Definition sim_spi.h:94
#define YASIMAVR_BEGIN_NAMESPACE
Definition sim_globals.h:58
#define AVR_CORE_PUBLIC_API
Definition sim_globals.h:46
#define YASIMAVR_END_NAMESPACE
Definition sim_globals.h:59