snickerdoodle Platform Controller
firmware for STM32F0 platform controller
sd_spi.h
Go to the documentation of this file.
1 
33 #ifndef __SD_SPI_H
34 #define __SD_SPI_H
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 
44 extern SPI_HandleTypeDef hspi2;
45 extern struct sd_spi_dev spi2_dev;
46 
57  SD_SPI_SUCCESS = 0x4A0D,
62 };
63 
69  SD_SPI_INITIALIZED = 0x0E60,
70  SD_SPI_READY,
71  SD_SPI_BUSY,
73 };
74 
75 
84 };
85 
90 struct sd_spi_packet {
91  uint8_t hdr;
92  uint8_t len;
93  uint8_t *pload;
94 };
95 
96 
101 struct sd_spi_dev {
102  SPI_HandleTypeDef *spi;
103  struct sd_cbuf *rx_buff;
105  struct sd_spi_packet *pkt;
106  enum sd_spi_state state;
107  uint8_t error;
108 };
117 void sd_spi2_init(void);
118 enum sd_spi_error sd_spi_dev_init (struct sd_spi_dev *dev,
119  SPI_HandleTypeDef *spi);
120 enum sd_spi_error sd_spi_rx_init (struct sd_spi_dev *dev,
121  struct sd_cbuf *rx_buff);
122 void sd_spi_irqhandler (struct sd_spi_dev *dev);
131 #ifdef __cplusplus
132 }
133 #endif
134 #else
135 #error "Multiple inclusion of sd_spi.h"
136 #endif /* __SD_SPI_H */
137 
138 /*
139  * END OF FILE [sd_spi.h]
140  */
sd_spi_state
SPI state enumeration.
Definition: sd_spi.h:65
uint8_t len
Definition: sd_spi.h:89
SPI device structure.
Definition: sd_spi.h:98
Definition: sd_spi.h:80
Definition: sd_spi.h:66
SPI packet structure.
Definition: sd_spi.h:87
Character buffer structure.
Definition: sd_buffer.h:102
enum sd_spi_error sd_spi_rx_init(struct sd_spi_dev *dev, struct sd_cbuf *rx_buff)
SPI Receive Interrupt Initialization Enable and prepare the SPI to receive on interrupt.
Definition: sd_spi.c:197
enum sd_spi_error sd_spi_dev_init(struct sd_spi_dev *dev, SPI_HandleTypeDef *spi)
SPI Device Initialization Initialize SPI device structure.
Definition: sd_spi.c:173
void sd_spi_irqhandler(struct sd_spi_dev *dev)
SPI Interrupt Handler Handle interrupt events on the spi peripheral.
Definition: sd_spi.c:261
Definition: sd_spi.h:54
struct sd_spi_dev spi2_dev
Definition: sd_spi.c:71
SPI_HandleTypeDef * spi
Definition: sd_spi.h:99
Definition: sd_spi.h:57
sd_spi_error
SPI error enumeration.
Definition: sd_spi.h:53
Definition: sd_spi.h:79
enum sd_spi_state state
Definition: sd_spi.h:103
uint8_t * pload
Definition: sd_spi.h:90
Definition: sd_spi.h:68
Definition: sd_spi.h:67
uint8_t hdr
Definition: sd_spi.h:88
Definition: sd_spi.h:78
struct sd_cbuf * rx_buff
Definition: sd_spi.h:100
Definition: sd_spi.h:58
uint8_t error
Definition: sd_spi.h:104
Definition: sd_spi.h:55
struct sd_spi_packet * pkt
Definition: sd_spi.h:102
sd_spi_rx_state
SPI receive state enumeration.
Definition: sd_spi.h:77
enum sd_spi_rx_state rx_state
Definition: sd_spi.h:101
Definition: sd_spi.h:69
Definition: sd_spi.h:56