inline function moved to .c file to avoid multiple definition

This commit is contained in:
Gunar Schorcht 2018-01-05 13:48:39 +01:00
parent a1b7960d73
commit 5b36ada729

View file

@ -76,36 +76,10 @@
#define spi_bus_init(bus,sck,miso,mosi) // not needed on ESP8266 #define spi_bus_init(bus,sck,miso,mosi) // not needed on ESP8266
static const spi_settings_t bus_settings = { extern bool spi_device_init (uint8_t bus, uint8_t cs);
.mode = SPI_MODE0, extern size_t spi_transfer_pf (uint8_t bus, uint8_t cs,
.freq_divider = SPI_FREQ_DIV_1M, const uint8_t *mosi, uint8_t *miso,
.msb = true, uint16_t len);
.minimal_pins = false,
.endianness = SPI_LITTLE_ENDIAN
};
inline static bool spi_device_init (uint8_t bus, uint8_t cs)
{
gpio_enable(cs, GPIO_OUTPUT);
gpio_write (cs, true);
return true;
}
inline static size_t spi_transfer_pf(uint8_t bus, uint8_t cs, const uint8_t *mosi, uint8_t *miso, uint16_t len)
{
spi_settings_t old_settings;
spi_get_settings(bus, &old_settings);
spi_set_settings(bus, &bus_settings);
gpio_write(cs, false);
size_t transfered = spi_transfer (bus, (const void*)mosi, (void*)miso, len, SPI_8BIT);
gpio_write(cs, true);
spi_set_settings(bus, &old_settings);
return transfered;
}
#endif // ESP_OPEN_RTOS #endif // ESP_OPEN_RTOS