216a496010c42b3f5e639033fe4e5a0d9a654261
[goodfet] / firmware / include / ccspi.h
1 /*! \file ccspi.h
2   \author Travis Goodspeed
3   \brief Constants for CCSPI Driver
4 */
5
6 #ifndef CCSPI_H
7 #define CCSPI_H
8
9 #include "app.h"
10
11 #define CCSPI 0x51
12
13 //Chipcon SPI Commands
14
15 //Grab a packet, if one is available.
16 #define CCSPI_RX 0x80
17 //Grab and decrypt a packet, if one is available.
18 #define CCSPI_RXDEC 0x90
19 //Send a packet.
20 #define CCSPI_TX 0x81
21 //Flush RX
22 #define CCSPI_RX_FLUSH 0x82
23 //Flush TX
24 #define CCSPI_TX_FLUSH 0x83
25 //Reflexive jam.
26 #define CCSPI_REFLEX 0xA0
27 //Reflexive jam that sends a forged ACK frame if one was requested
28 #define CCSPI_REFLEX_AUTOACK 0xA1
29
30
31 //Bit fields for command word.
32 #define CCSPI_R_REGISTER 0
33 #define CCSPI_W_REGISTER BIT7
34 #define CCSPI_R_RAM BIT6
35 #define CCSPI_W_RAM (BIT6|BIT7)
36
37
38
39 //Register definitions might go here, at least for buffers.
40 #define CCSPI_MANFIDL 0x1E
41 #define CCSPI_MANFIDH 0x1F
42 #define CCSPI_TXFIFO  0x3E
43 #define CCSPI_RXFIFO  0x3F
44 #define CCSPI_SFLUSHRX 0x08
45 #define CCSPI_SFLUSHTX 0x09
46 #define CCSPI_SRXDEC 0x0C
47 #define CCSPI_STXENC 0x0D
48
49 extern app_t const ccspi_app;
50
51 #endif // CCSPI_H
52