Project

General

Profile

Statistics
| Revision:

root / trunk / code / lib / include / libdragonfly / spi.h @ 1496

History | View | Annotate | Download (836 Bytes)

1 888 justin
/**
2
 * @file spi.h
3
 * @brief Definitions for SPI
4
 * @author Colony Project, CMU Robotics Club
5
 **/
6
7
/**
8
 * @addtogroup spi
9
 * @{
10
 **/
11
12
#ifndef __SPI_H__
13
#define __SPI_H__
14
15
#define DOUBLE_SCK 1
16
#define SPR0_BIT 1
17
18
#define MASTER 1
19
#define SLAVE 0
20
21
#define MOSI _BV(PB2)
22
#define MISO _BV(PB3)
23
#define SS   _BV(PB0)
24
#define SCLK _BV(PB1)
25
26 1496 jsexton
typedef void (*spi_fun_recv_t)(char);
27 888 justin
typedef void (*spi_fun_recv_complete_t)(void);
28
29
/**
30
* @brief Initialize SPI
31
*
32
* @param spi_fun_recv_t The function that handles SPI data, byte for byte.
33
* @param spi_fun_recv_complete_t  Called on a completed transmission - typically for cleaning up.
34
*/
35 1496 jsexton
void spi_init (spi_fun_recv_t, spi_fun_recv_complete_t);
36 888 justin
37
/**
38
* @brief Initialize SPI transfer.
39
*
40
* @param char The number of bytes to transfer.
41
*/
42 1496 jsexton
void spi_transfer (char);
43 888 justin
44
/**@}**/ //end group
45
46
#endif