snickerdoodle Platform Controller
firmware for STM32F0 platform controller
sd_spi.h File Reference

SPI Slave Control. More...

Go to the source code of this file.

Data Structures

struct  sd_spi_packet
 SPI packet structure. More...
 
struct  sd_spi_dev
 SPI device structure. More...
 

Enumerations

enum  sd_spi_error {
  SD_SPI_SUCCESS = 0x4A0D, SD_SPI_NULL_ERROR, SD_SPI_LOCKED, SD_SPI_TIMEOUT,
  SD_SPI_ERROR
}
 SPI error enumeration. More...
 
enum  sd_spi_state { SD_SPI_INITIALIZED = 0x0E60, SD_SPI_READY, SD_SPI_BUSY, SD_SPI_OVERFLOW }
 SPI state enumeration. More...
 
enum  sd_spi_rx_state { SD_SPI_RX_WAITING, SD_SPI_RX_LENGTH, SD_SPI_RX_PACKET }
 SPI receive state enumeration. More...
 

Functions

void sd_spi2_init (void)
 
enum sd_spi_error sd_spi_dev_init (struct sd_spi_dev *dev, SPI_HandleTypeDef *spi)
 SPI Device Initialization Initialize SPI device structure. More...
 
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. More...
 
void sd_spi_irqhandler (struct sd_spi_dev *dev)
 SPI Interrupt Handler Handle interrupt events on the spi peripheral. More...
 

Detailed Description

SPI Slave Control.

Author
R. Bush bush@.nosp@m.krtk.nosp@m.l.com
Version
v1.0
Date
2016 March 28

Copyright (c) krtkl inc., 2016

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.