/*
- * spi.h
+ * (C) Copyright 2009,2014 Leo C. <erbl259-lmu@yahoo.de>
*
- * Created on: 17.04.2009
- * Author: leo
+ * SPDX-License-Identifier: GPL-2.0+
*/
#ifndef SPI_H_
#define SPI_SET_SPEED_F_128 do {SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR1) | (1<<SPR0); SPSR = (0<<SPI2X); } while(0)
/** switch to fast SPI Clock */
-#define SPISetFastClock() SPI_SET_SPEED_F_2
-#define SPISetSlowClock() SPI_SET_SPEED_F_8
-#define SPISetMMCInitClock() SPI_SET_SPEED_F_64
+#define SPISetFastClock() SPI_SET_SPEED_F_2
+#define SPISetSlowClock() SPI_SET_SPEED_F_8
+#define SPISetMMCInitClock() SPI_SET_SPEED_F_64
+#define SPI_OFF() do { SPCR = 0; } while(0)
-static inline void spi_wait() {
+static inline __attribute__((always_inline)) void spi_wait() {
loop_until_bit_is_set(SPSR,SPIF);
}
-static inline void spi_write(uint8_t a) {
+static inline __attribute__((always_inline)) void spi_write(uint8_t a) {
SPDR = a;
}