mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-06-12 01:25: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
|
||||
* @return ArduinoSPI
|
||||
*/
|
||||
static ArduinoSPI getHSPI(
|
||||
static ArduinoSPI* getHSPI(
|
||||
const SPISettings & settings,
|
||||
Mutex * mutex = sta::Mutex::ALWAYS_FREE,
|
||||
uint8_t mosi = STA_ESP32_HSPI_MOSI_DEFAULT,
|
||||
@ -54,7 +54,7 @@ namespace sta
|
||||
* @param clk
|
||||
* @return ArduinoSPI
|
||||
*/
|
||||
static ArduinoSPI getFSPI(
|
||||
static ArduinoSPI* getFSPI(
|
||||
const SPISettings & settings,
|
||||
Mutex * mutex = sta::Mutex::ALWAYS_FREE,
|
||||
uint8_t mosi = STA_ESP32_HSPI_MOSI_DEFAULT,
|
||||
@ -100,6 +100,8 @@ namespace sta
|
||||
{
|
||||
public:
|
||||
ArduinoSPIDevice(ArduinoSPI * intf, ArduinoGpioPin * csPin);
|
||||
|
||||
ArduinoSPIDevice(ArduinoSPI * intf, uint8_t csPin);
|
||||
};
|
||||
} // namespace sta
|
||||
|
||||
|
@ -10,6 +10,8 @@ namespace sta
|
||||
{
|
||||
STA_ASSERT(intf != nullptr);
|
||||
STA_ASSERT(csPin != nullptr);
|
||||
|
||||
csPin_->setState(GpioPinState::GPIO_HIGH);
|
||||
}
|
||||
|
||||
void SPIDevice::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||
|
@ -6,26 +6,24 @@
|
||||
namespace sta
|
||||
{
|
||||
#ifdef STA_PLATFORM_ARDUINO_DEVICE_ESP32
|
||||
ArduinoSPI ArduinoSPI::getHSPI(
|
||||
ArduinoSPI* ArduinoSPI::getHSPI(
|
||||
const SPISettings & settings,
|
||||
Mutex * mutex /* = sta::Mutex::ALWAYS_FREE */,
|
||||
uint8_t mosi /* = STA_ESP32_HSPI_MOSI_DEFAULT */,
|
||||
uint8_t miso /* = STA_ESP32_HSPI_MISO_DEFAULT */,
|
||||
uint8_t clk /* = STA_ESP32_HSPI_CLK_DEFAULT */)
|
||||
{
|
||||
ArduinoSPI spi(settings, SPIBus::BUS_HSPI, mosi, miso, clk, mutex);
|
||||
return spi;
|
||||
return new ArduinoSPI(settings, SPIBus::BUS_HSPI, mosi, miso, clk, mutex);
|
||||
}
|
||||
|
||||
ArduinoSPI ArduinoSPI::getFSPI(
|
||||
ArduinoSPI* ArduinoSPI::getFSPI(
|
||||
const SPISettings & settings,
|
||||
Mutex * mutex /*= sta::Mutex::ALWAYS_FREE */,
|
||||
uint8_t mosi /* = STA_ESP32_FSPI_MOSI_DEFAULT */,
|
||||
uint8_t miso /* = STA_ESP32_FSPI_MISO_DEFAULT */,
|
||||
uint8_t clk /* = STA_ESP32_FSPI_CLK_DEFAULT */)
|
||||
{
|
||||
ArduinoSPI spi(settings, SPIBus::BUS_FSPI, mosi, miso, clk, mutex);
|
||||
return spi;
|
||||
return new ArduinoSPI(settings, SPIBus::BUS_FSPI, mosi, miso, clk, mutex);
|
||||
}
|
||||
|
||||
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)
|
||||
: 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user