mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-06-13 01:55:59 +00:00
Updated and working SPI for ESP32
This commit is contained in:
parent
f29cd6eff2
commit
68a6733dac
@ -37,7 +37,7 @@ namespace sta
|
|||||||
* @param clk
|
* @param clk
|
||||||
* @return ArduinoSPI
|
* @return ArduinoSPI
|
||||||
*/
|
*/
|
||||||
static ArduinoSPI getHSPI(
|
static ArduinoSPI* getHSPI(
|
||||||
const SPISettings & settings,
|
const SPISettings & settings,
|
||||||
Mutex * mutex = sta::Mutex::ALWAYS_FREE,
|
Mutex * mutex = sta::Mutex::ALWAYS_FREE,
|
||||||
uint8_t mosi = STA_ESP32_HSPI_MOSI_DEFAULT,
|
uint8_t mosi = STA_ESP32_HSPI_MOSI_DEFAULT,
|
||||||
@ -54,7 +54,7 @@ namespace sta
|
|||||||
* @param clk
|
* @param clk
|
||||||
* @return ArduinoSPI
|
* @return ArduinoSPI
|
||||||
*/
|
*/
|
||||||
static ArduinoSPI getFSPI(
|
static ArduinoSPI* getFSPI(
|
||||||
const SPISettings & settings,
|
const SPISettings & settings,
|
||||||
Mutex * mutex = sta::Mutex::ALWAYS_FREE,
|
Mutex * mutex = sta::Mutex::ALWAYS_FREE,
|
||||||
uint8_t mosi = STA_ESP32_HSPI_MOSI_DEFAULT,
|
uint8_t mosi = STA_ESP32_HSPI_MOSI_DEFAULT,
|
||||||
@ -100,6 +100,8 @@ namespace sta
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ArduinoSPIDevice(ArduinoSPI * intf, ArduinoGpioPin * csPin);
|
ArduinoSPIDevice(ArduinoSPI * intf, ArduinoGpioPin * csPin);
|
||||||
|
|
||||||
|
ArduinoSPIDevice(ArduinoSPI * intf, uint8_t csPin);
|
||||||
};
|
};
|
||||||
} // namespace sta
|
} // namespace sta
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@ namespace sta
|
|||||||
{
|
{
|
||||||
STA_ASSERT(intf != nullptr);
|
STA_ASSERT(intf != nullptr);
|
||||||
STA_ASSERT(csPin != nullptr);
|
STA_ASSERT(csPin != nullptr);
|
||||||
|
|
||||||
|
csPin_->setState(GpioPinState::GPIO_HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SPIDevice::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
void SPIDevice::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||||
|
@ -6,26 +6,24 @@
|
|||||||
namespace sta
|
namespace sta
|
||||||
{
|
{
|
||||||
#ifdef STA_PLATFORM_ARDUINO_DEVICE_ESP32
|
#ifdef STA_PLATFORM_ARDUINO_DEVICE_ESP32
|
||||||
ArduinoSPI ArduinoSPI::getHSPI(
|
ArduinoSPI* ArduinoSPI::getHSPI(
|
||||||
const SPISettings & settings,
|
const SPISettings & settings,
|
||||||
Mutex * mutex /* = sta::Mutex::ALWAYS_FREE */,
|
Mutex * mutex /* = sta::Mutex::ALWAYS_FREE */,
|
||||||
uint8_t mosi /* = STA_ESP32_HSPI_MOSI_DEFAULT */,
|
uint8_t mosi /* = STA_ESP32_HSPI_MOSI_DEFAULT */,
|
||||||
uint8_t miso /* = STA_ESP32_HSPI_MISO_DEFAULT */,
|
uint8_t miso /* = STA_ESP32_HSPI_MISO_DEFAULT */,
|
||||||
uint8_t clk /* = STA_ESP32_HSPI_CLK_DEFAULT */)
|
uint8_t clk /* = STA_ESP32_HSPI_CLK_DEFAULT */)
|
||||||
{
|
{
|
||||||
ArduinoSPI spi(settings, SPIBus::BUS_HSPI, mosi, miso, clk, mutex);
|
return new ArduinoSPI(settings, SPIBus::BUS_HSPI, mosi, miso, clk, mutex);
|
||||||
return spi;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ArduinoSPI ArduinoSPI::getFSPI(
|
ArduinoSPI* ArduinoSPI::getFSPI(
|
||||||
const SPISettings & settings,
|
const SPISettings & settings,
|
||||||
Mutex * mutex /*= sta::Mutex::ALWAYS_FREE */,
|
Mutex * mutex /*= sta::Mutex::ALWAYS_FREE */,
|
||||||
uint8_t mosi /* = STA_ESP32_FSPI_MOSI_DEFAULT */,
|
uint8_t mosi /* = STA_ESP32_FSPI_MOSI_DEFAULT */,
|
||||||
uint8_t miso /* = STA_ESP32_FSPI_MISO_DEFAULT */,
|
uint8_t miso /* = STA_ESP32_FSPI_MISO_DEFAULT */,
|
||||||
uint8_t clk /* = STA_ESP32_FSPI_CLK_DEFAULT */)
|
uint8_t clk /* = STA_ESP32_FSPI_CLK_DEFAULT */)
|
||||||
{
|
{
|
||||||
ArduinoSPI spi(settings, SPIBus::BUS_FSPI, mosi, miso, clk, mutex);
|
return new ArduinoSPI(settings, SPIBus::BUS_FSPI, mosi, miso, clk, mutex);
|
||||||
return spi;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ArduinoSPI::ArduinoSPI(const SPISettings & settings, SPIBus bus, uint8_t mosi, uint8_t miso, uint8_t clk, Mutex * mutex /* = sta::Mutex::ALWAYS_FREE */)
|
ArduinoSPI::ArduinoSPI(const SPISettings & settings, SPIBus bus, uint8_t mosi, uint8_t miso, uint8_t clk, Mutex * mutex /* = sta::Mutex::ALWAYS_FREE */)
|
||||||
@ -141,6 +139,12 @@ namespace sta
|
|||||||
ArduinoSPIDevice::ArduinoSPIDevice(ArduinoSPI * intf, ArduinoGpioPin * csPin)
|
ArduinoSPIDevice::ArduinoSPIDevice(ArduinoSPI * intf, ArduinoGpioPin * csPin)
|
||||||
: SPIDevice{intf, csPin}
|
: SPIDevice{intf, csPin}
|
||||||
{
|
{
|
||||||
csPin->setState(GpioPinState::GPIO_HIGH);
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ArduinoSPIDevice::ArduinoSPIDevice(ArduinoSPI * intf, uint8_t csPin)
|
||||||
|
: SPIDevice{intf, new ArduinoGpioPin(csPin, PinMode::GPIO_OUTPUT)}
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
} // namespace sta
|
} // namespace sta
|
||||||
|
Loading…
x
Reference in New Issue
Block a user