firmware  v0.1.2
Chromation Spectrometer Dev-Kit
Spi-HardwareFake.h
1 #ifndef _SPI_HARDWAREFAKE_H
2 #define _SPI_HARDWAREFAKE_H
3 
4 #include <stdint.h>
5 #include "Spi.h"
6 
7 // ---Fake hardware registers as PC memory for unit tests---
8 static uint8_t volatile fake_Spi_PortDirection;
9 static uint8_t volatile fake_Spi_PortInput;
10 static uint8_t volatile fake_Spi_PortOutput;
11 static uint8_t volatile fake_Spi_PortPullup;
12 static uint8_t volatile fake_Spi_SPCR;
13 static uint8_t volatile fake_Spi_SPSR;
14 static uint8_t volatile fake_Spi_SPDR;
15 
16 // ---Registers---
17 spi_reg Spi_PortDirection = &fake_Spi_PortDirection;
18 spi_reg Spi_PortInput = &fake_Spi_PortInput;
19 spi_reg Spi_PortOutput = &fake_Spi_PortOutput;
20 spi_reg Spi_SPCR = &fake_Spi_SPCR;
21 spi_reg Spi_SPSR = &fake_Spi_SPSR;
22 spi_reg Spi_SPDR = &fake_Spi_SPDR;
23 
24 // ---Pins---
25 spi_bit Spi_DataReady = 1;
26 spi_bit Spi_Ss = 2;
27 spi_bit Spi_Mosi = 3;
28 spi_bit Spi_Miso = 4;
29 spi_bit Spi_Sck = 5;
30 // ---Bits---
31 spi_bit Spi_MasterSlaveSelect = 4;
32 spi_bit Spi_ClockBit0 = 0;
33 spi_bit Spi_ClockBit1 = 1;
34 spi_bit Spi_DoubleClock = 0;
35 spi_bit Spi_Enable = 6;
36 spi_bit Spi_InterruptEnable = 7;
37 spi_bit Spi_InterruptFlag = 7;
38 
39 #endif // _SPI_HARDWAREFAKE_H
spi_ptr Spi_SPSR
SPI Status Register.
spi_ptr Spi_SPCR
SPI Control Register.
spi_ptr Spi_SPDR
SPI Data Register.
Spi.h declares SPI hardware types and variables common to the SPI Master and SPI Slave.
spi_reg Spi_PortOutput
Atmel PORT.
spi_reg Spi_PortDirection
Atmel DDR.
spi_reg Spi_PortInput
Atmel PIN.