Phyduino Board Support
v0.1.1-rc.1
Physics
›
Electronic Support Services
›
Introduction to Electronics
›
Phyduino Board Support
›
API reference
Toggle main menu visibility
Loading...
Searching...
No Matches
SPI.h
Go to the documentation of this file.
1
9
#pragma once
10
11
#include "
Arduino.h
"
12
#include "api/HardwareSPI.h"
13
#include "hardware/spi.h"
14
20
class
PhyduinoSPI
:
public
arduino::HardwareSPI {
21
public
:
29
PhyduinoSPI
(spi_inst_t* spi,
pin_size_t
sck,
pin_size_t
mosi,
pin_size_t
miso)
30
: spi_(spi), sck_(sck), mosi_(mosi), miso_(miso) {}
31
38
void
begin
()
override
;
39
43
void
end
()
override
;
44
49
void
beginTransaction
(arduino::SPISettings settings)
override
;
50
54
void
endTransaction
()
override
{}
55
61
uint8_t
transfer
(uint8_t data)
override
;
62
68
uint16_t
transfer16
(uint16_t data)
override
;
69
75
void
transfer
(
void
* buffer,
size_t
count)
override
;
76
80
void
usingInterrupt
(
int
)
override
{}
81
void
notUsingInterrupt
(
int
)
override
{}
82
void
attachInterrupt
()
override
{}
83
void
detachInterrupt
()
override
{}
85
86
private
:
87
spi_inst_t* spi_;
88
pin_size_t
sck_, mosi_, miso_;
89
arduino::SPISettings settings_;
90
bool
lsb_first_ =
false
;
91
};
92
94
extern
PhyduinoSPI
SPI
;
Arduino.h
Entry header for sketches: Arduino API + board pin map + Phyduino extras.
SPI
PhyduinoSPI SPI
SPI on the header: SCK D13, MOSI D11, MISO D12.
PhyduinoSPI
SPI controller on one RP2040 SPI peripheral; sketches use SPI.
Definition
SPI.h:20
PhyduinoSPI::notUsingInterrupt
void notUsingInterrupt(int) override
Does nothing.
Definition
SPI.h:81
PhyduinoSPI::beginTransaction
void beginTransaction(arduino::SPISettings settings) override
Applies the clock, bit order and mode for the next transfers.
PhyduinoSPI::usingInterrupt
void usingInterrupt(int) override
Does nothing.
Definition
SPI.h:80
PhyduinoSPI::begin
void begin() override
Starts the controller and connects SCK, MOSI and MISO.
PhyduinoSPI::transfer
void transfer(void *buffer, size_t count) override
Sends a buffer and replaces its contents with the bytes received.
PhyduinoSPI::PhyduinoSPI
PhyduinoSPI(spi_inst_t *spi, pin_size_t sck, pin_size_t mosi, pin_size_t miso)
Binds the controller to an SPI peripheral and its pins; nothing is set up until begin().
Definition
SPI.h:29
PhyduinoSPI::attachInterrupt
void attachInterrupt() override
Does nothing.
Definition
SPI.h:82
PhyduinoSPI::transfer16
uint16_t transfer16(uint16_t data) override
Sends 16 bits as two bytes, in the bit order of the transaction.
PhyduinoSPI::detachInterrupt
void detachInterrupt() override
Does nothing.
Definition
SPI.h:83
PhyduinoSPI::endTransaction
void endTransaction() override
Ends a transaction. Does nothing; kept for Arduino compatibility.
Definition
SPI.h:54
PhyduinoSPI::transfer
uint8_t transfer(uint8_t data) override
Sends one byte and returns the byte received at the same time.
PhyduinoSPI::end
void end() override
Stops the controller and frees its pins.
pin_size_t
uint8_t pin_size_t
Type for Arduino pin numbers (uint8_t).
Definition
Common.h:112
platform
libraries
SPI
src
SPI.h
Generated by
1.17.0