firmware  v0.1.2
Chromation Spectrometer Dev-Kit
test_SpiSlave.h
1 #ifndef _TEST_SPISLAVE_H
2 #define _TEST_SPISLAVE_H
3 
4 /* =====[ Check_SpiSlave_plumbing_for_fakes ]===== */
5 void SpiSlave_faked_calls_are_still_available_for_testing(void);
6 
7 /* =====[ _SignalDataReady ]===== */
8 void SignalDataReady_drives_DataReady_LOW(void);
9 
10 /* =====[ DisableSpiInterrupt ]===== */
11 void DisableSpiInterrupt_clears_the_SPI_Interrupt_Enable_bit(void);
12 
13 /* =====[ SpiSlaveInit ]===== */
14 void SpiSlaveInit_makes_DataReady_an_output_pin(void);
15 void SpiSlaveInit_idles_DataReady_high(void);
16 void SpiSlaveInit_makes_Miso_an_output_pin(void);
17 void SpiSlaveInit_enables_SPI(void);
18 void SpiSlaveInit_enables_SPI_interrupt(void);
19 
20 /* =====[ SpiSlaveTx ]===== */
21 void SpiSlaveTx_sends_nbytes_of_input_buffer_to_SpiMaster(void);
22 
23 /* =====[ SpiSlaveTxByte ]===== */
24 void SpiSlaveTxByte_loads_SPI_data_register_with_input_byte(void);
25 void SpiSlaveTxByte_disables_SPI_ISR_before_signaling_data_ready(void);
26 void SpiSlaveTxByte_drives_DataReady_LOW_to_signal_data_is_ready(void);
27 void SpiSlaveTxByte_waits_until_SPI_transfer_is_done(void);
28 void SpiSlaveTxByte_drives_DataReady_HIGH_immediately_after_SPI_transfer_finishes(void);
29 void SpiSlaveTxByte_enables_SPI_ISR_after_transfer(void);
30 void EnableSpiInterrupt_clears_SPI_interrupt_flag(void);
31 void EnableSpiInterrupt_enables_interrupt_SPI_Transfer_Complete(void);
32 void EnableSpiInterrupt_consumes_6_cycles(void);
33 
34 #endif // _TEST_SPISLAVE_H