PS_Fgen_FW  4da88f4073c1cc65ea45c3a652a2751e495e50db
Firmware for an Power Supply and Function Generator build from an ATX power supply
Loading...
Searching...
No Matches
spi.h
Go to the documentation of this file.
1
6
7#ifndef SPI_H_
8#define SPI_H_
9
10#include "../Pins/Pins.h"
11#include <SPI.h>
12
25
26#define SPI_DEFAULT_SETTINGS SPISettings(8000000, MSBFIRST, SPI_MODE0)
27
32void SPI_SelectDevice(SpiDevices_t spiDevice);
33
37void SPI_DeselectAll();
38
42inline void SPI_Init()
43{
44 SPI.begin();
46}
47
53inline uint8_t SPI_SendByte(uint8_t data)
54{
55 SPI.beginTransaction(SPI_DEFAULT_SETTINGS);
56 uint8_t dataReceived = SPI.transfer(data);
57 SPI.endTransaction();
58 return dataReceived;
59}
60
65inline uint8_t SPI_ReadByte()
66{
67 SPI.beginTransaction(SPI_DEFAULT_SETTINGS);
68 uint8_t dataReceived = SPI.transfer(0xFF);
69 SPI.endTransaction();
70 return dataReceived;
71}
72
73#endif /* SPI_H_ */
Containing defines and functions for basic pin initialization and handling.
Containing defines and functions for basic SPI initialization and handling.
void SPI_DeselectAll()
Deselect all SPI devices (pull the CS lines high).
Definition spi.cpp:24
uint8_t SPI_ReadByte()
Read a byte of data from the slave by sending a dummy byte (0xFF).
Definition spi.h:65
SpiDevices
Enumeration with all SPI devices.
Definition spi.h:17
@ SPI_DEV_IO_EXP
IO expander MCP23S08.
Definition spi.h:23
@ SPI_DEV_TFT
TFT controller ILI9341.
Definition spi.h:20
@ SPI_DEV_NONE
No SPI device.
Definition spi.h:18
@ SPI_DEV_PS
Power supply channel DAC MCP4921.
Definition spi.h:21
@ SPI_DEV_TOUCH
Touch controller XPT2046.
Definition spi.h:19
@ SPI_DEV_DDS
DDS channel DAC MCP4922.
Definition spi.h:22
void SPI_SelectDevice(SpiDevices_t spiDevice)
Deselect all SPI devices (pull the CS lines high) and select the given one (pull the CS line low).
Definition spi.cpp:8
void SPI_Init()
Initialize the SPI subsystem as master.
Definition spi.h:42
enum SpiDevices SpiDevices_t
Enumeration with all SPI devices.
uint8_t SPI_SendByte(uint8_t data)
Transfer a byte of data to the slave.
Definition spi.h:53
#define SPI_DEFAULT_SETTINGS
Default settings for the SPI.
Definition spi.h:26