Some corrections
This commit is contained in:
parent
7a52f91975
commit
1f262d4446
|
@ -80,10 +80,9 @@ void spiInitDevice(SPIDevice device)
|
||||||
IOInit(IOGetByTag(spi->mosi), OWNER_SPI_MOSI, RESOURCE_INDEX(device));
|
IOInit(IOGetByTag(spi->mosi), OWNER_SPI_MOSI, RESOURCE_INDEX(device));
|
||||||
|
|
||||||
#if defined(STM32F3) || defined(STM32F4)
|
#if defined(STM32F3) || defined(STM32F4)
|
||||||
IOConfigGPIOAF(IOGetByTag(spi->sck), SPI_IO_AF_CFG, spi->sckAF);
|
IOConfigGPIOAF(IOGetByTag(spi->sck), SPI_IO_AF_CFG, spi->af);
|
||||||
IOConfigGPIOAF(IOGetByTag(spi->miso), SPI_IO_AF_CFG, spi->misoAF);
|
IOConfigGPIOAF(IOGetByTag(spi->miso), SPI_IO_AF_CFG, spi->af);
|
||||||
IOConfigGPIOAF(IOGetByTag(spi->mosi), SPI_IO_AF_CFG, spi->mosiAF);
|
IOConfigGPIOAF(IOGetByTag(spi->mosi), SPI_IO_AF_CFG, spi->af);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(STM32F10X)
|
#if defined(STM32F10X)
|
||||||
IOConfigGPIO(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG);
|
IOConfigGPIO(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG);
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include <platform.h>
|
#include <platform.h>
|
||||||
|
|
||||||
|
@ -113,7 +114,7 @@ void spiInitDevice(SPIDevice device)
|
||||||
IOInit(IOGetByTag(spi->miso), OWNER_SPI_MISO, RESOURCE_INDEX(device));
|
IOInit(IOGetByTag(spi->miso), OWNER_SPI_MISO, RESOURCE_INDEX(device));
|
||||||
IOInit(IOGetByTag(spi->mosi), OWNER_SPI_MOSI, RESOURCE_INDEX(device));
|
IOInit(IOGetByTag(spi->mosi), OWNER_SPI_MOSI, RESOURCE_INDEX(device));
|
||||||
|
|
||||||
#if defined(STM32F3) || defined(STM32F4) || defined(STM32F7)
|
#if defined(STM32F7)
|
||||||
if(spi->leadingEdge == true)
|
if(spi->leadingEdge == true)
|
||||||
IOConfigGPIOAF(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG_LOW, spi->sckAF);
|
IOConfigGPIOAF(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG_LOW, spi->sckAF);
|
||||||
else
|
else
|
||||||
|
@ -121,6 +122,14 @@ void spiInitDevice(SPIDevice device)
|
||||||
IOConfigGPIOAF(IOGetByTag(spi->miso), SPI_IO_AF_MISO_CFG, spi->misoAF);
|
IOConfigGPIOAF(IOGetByTag(spi->miso), SPI_IO_AF_MISO_CFG, spi->misoAF);
|
||||||
IOConfigGPIOAF(IOGetByTag(spi->mosi), SPI_IO_AF_CFG, spi->mosiAF);
|
IOConfigGPIOAF(IOGetByTag(spi->mosi), SPI_IO_AF_CFG, spi->mosiAF);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(STM32F3) || defined(STM32F4)
|
||||||
|
if(spi->leadingEdge == true)
|
||||||
|
IOConfigGPIOAF(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG_LOW, spi->af);
|
||||||
|
else
|
||||||
|
IOConfigGPIOAF(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG_HIGH, spi->af);
|
||||||
|
IOConfigGPIOAF(IOGetByTag(spi->miso), SPI_IO_AF_MISO_CFG, spi->af);
|
||||||
|
IOConfigGPIOAF(IOGetByTag(spi->mosi), SPI_IO_AF_CFG, spi->af);
|
||||||
|
#endif
|
||||||
#if defined(STM32F10X)
|
#if defined(STM32F10X)
|
||||||
IOConfigGPIO(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG);
|
IOConfigGPIO(IOGetByTag(spi->sck), SPI_IO_AF_SCK_CFG);
|
||||||
IOConfigGPIO(IOGetByTag(spi->miso), SPI_IO_AF_MISO_CFG);
|
IOConfigGPIO(IOGetByTag(spi->miso), SPI_IO_AF_MISO_CFG);
|
||||||
|
@ -246,7 +255,6 @@ bool spiTransfer(SPI_TypeDef *instance, uint8_t *out, const uint8_t *in, int len
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void spiSetDivisor(SPI_TypeDef *instance, uint16_t divisor)
|
void spiSetDivisor(SPI_TypeDef *instance, uint16_t divisor)
|
||||||
{
|
{
|
||||||
SPIDevice device = spiDeviceByInstance(instance);
|
SPIDevice device = spiDeviceByInstance(instance);
|
||||||
|
@ -254,39 +262,11 @@ void spiSetDivisor(SPI_TypeDef *instance, uint16_t divisor)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (divisor) {
|
spiDevice[device].hspi.Init.BaudRatePrescaler = (uint8_t []) {
|
||||||
case 2:
|
SPI_BAUDRATEPRESCALER_2, SPI_BAUDRATEPRESCALER_4,
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
|
SPI_BAUDRATEPRESCALER_8, SPI_BAUDRATEPRESCALER_16,
|
||||||
break;
|
SPI_BAUDRATEPRESCALER_32, SPI_BAUDRATEPRESCALER_64,
|
||||||
|
SPI_BAUDRATEPRESCALER_128, SPI_BAUDRATEPRESCALER_256}[ffs(divisor) - 1];
|
||||||
case 4:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 8:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 16:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 32:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 64:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 128:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 256:
|
|
||||||
spiDevice[device].hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_256;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (HAL_SPI_Init(&spiDevice[device].hspi) == HAL_OK)
|
if (HAL_SPI_Init(&spiDevice[device].hspi) == HAL_OK)
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,7 +25,9 @@
|
||||||
|
|
||||||
typedef struct spiPinDef_s {
|
typedef struct spiPinDef_s {
|
||||||
ioTag_t pin;
|
ioTag_t pin;
|
||||||
|
#ifdef STM32F7
|
||||||
uint8_t af;
|
uint8_t af;
|
||||||
|
#endif
|
||||||
} spiPinDef_t;
|
} spiPinDef_t;
|
||||||
|
|
||||||
typedef struct spiHardware_s {
|
typedef struct spiHardware_s {
|
||||||
|
@ -34,6 +36,9 @@ typedef struct spiHardware_s {
|
||||||
spiPinDef_t sckPins[MAX_SPI_PIN_SEL];
|
spiPinDef_t sckPins[MAX_SPI_PIN_SEL];
|
||||||
spiPinDef_t misoPins[MAX_SPI_PIN_SEL];
|
spiPinDef_t misoPins[MAX_SPI_PIN_SEL];
|
||||||
spiPinDef_t mosiPins[MAX_SPI_PIN_SEL];
|
spiPinDef_t mosiPins[MAX_SPI_PIN_SEL];
|
||||||
|
#ifndef STM32F7
|
||||||
|
uint8_t af;
|
||||||
|
#endif
|
||||||
rccPeriphTag_t rcc;
|
rccPeriphTag_t rcc;
|
||||||
#if defined(USE_HAL_DRIVER)
|
#if defined(USE_HAL_DRIVER)
|
||||||
uint8_t dmaIrqHandler;
|
uint8_t dmaIrqHandler;
|
||||||
|
@ -47,9 +52,13 @@ typedef struct SPIDevice_s {
|
||||||
ioTag_t sck;
|
ioTag_t sck;
|
||||||
ioTag_t miso;
|
ioTag_t miso;
|
||||||
ioTag_t mosi;
|
ioTag_t mosi;
|
||||||
|
#ifdef STM32F7
|
||||||
uint8_t sckAF;
|
uint8_t sckAF;
|
||||||
uint8_t misoAF;
|
uint8_t misoAF;
|
||||||
uint8_t mosiAF;
|
uint8_t mosiAF;
|
||||||
|
#else
|
||||||
|
uint8_t af;
|
||||||
|
#endif
|
||||||
rccPeriphTag_t rcc;
|
rccPeriphTag_t rcc;
|
||||||
volatile uint16_t errorCount;
|
volatile uint16_t errorCount;
|
||||||
bool leadingEdge;
|
bool leadingEdge;
|
||||||
|
|
|
@ -160,51 +160,54 @@ const spiHardware_t spiHardware[] = {
|
||||||
.device = SPIDEV_1,
|
.device = SPIDEV_1,
|
||||||
.reg = SPI1,
|
.reg = SPI1,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PA5), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PA5) },
|
||||||
{ DEFIO_TAG_E(PB3), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PB3) },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PA6), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PA6) },
|
||||||
{ DEFIO_TAG_E(PB4), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PB4) },
|
||||||
},
|
},
|
||||||
.mosiPins = {
|
.mosiPins = {
|
||||||
{ DEFIO_TAG_E(PA7), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PA7) },
|
||||||
{ DEFIO_TAG_E(PB5), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PB5), GPIO_AF_SPI1 },
|
||||||
},
|
},
|
||||||
|
.af = GPIO_AF_SPI1,
|
||||||
.rcc = RCC_APB2(SPI1),
|
.rcc = RCC_APB2(SPI1),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.device = SPIDEV_2,
|
.device = SPIDEV_2,
|
||||||
.reg = SPI2,
|
.reg = SPI2,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PB13), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB13) },
|
||||||
{ DEFIO_TAG_E(PB3), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB3) },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PB14), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB14) },
|
||||||
{ DEFIO_TAG_E(PB4), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB4) },
|
||||||
},
|
},
|
||||||
.mosiPins = {
|
.mosiPins = {
|
||||||
{ DEFIO_TAG_E(PB15), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB15) },
|
||||||
{ DEFIO_TAG_E(PB5), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB5) },
|
||||||
},
|
},
|
||||||
|
.af = GPIO_AF_SPI2,
|
||||||
.rcc = RCC_APB1(SPI2),
|
.rcc = RCC_APB1(SPI2),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.device = SPIDEV_3,
|
.device = SPIDEV_3,
|
||||||
.reg = SPI3,
|
.reg = SPI3,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PB3), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PB3) },
|
||||||
{ DEFIO_TAG_E(PC10), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PC10) },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PB4), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PB4) },
|
||||||
{ DEFIO_TAG_E(PC11), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PC11) },
|
||||||
},
|
},
|
||||||
.mosiPins = {
|
.mosiPins = {
|
||||||
{ DEFIO_TAG_E(PB5), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PB5) },
|
||||||
{ DEFIO_TAG_E(PC12), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PC12) },
|
||||||
},
|
},
|
||||||
|
.af = GPIO_AF_SPI3,
|
||||||
.rcc = RCC_APB1(SPI3),
|
.rcc = RCC_APB1(SPI3),
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
@ -213,51 +216,54 @@ const spiHardware_t spiHardware[] = {
|
||||||
.device = SPIDEV_1,
|
.device = SPIDEV_1,
|
||||||
.reg = SPI1,
|
.reg = SPI1,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PA5), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PA5) },
|
||||||
{ DEFIO_TAG_E(PB3), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PB3) },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PA6), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PA6) },
|
||||||
{ DEFIO_TAG_E(PB4), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PB4) },
|
||||||
},
|
},
|
||||||
.mosiPins = {
|
.mosiPins = {
|
||||||
{ DEFIO_TAG_E(PA7), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PA7) },
|
||||||
{ DEFIO_TAG_E(PB5), GPIO_AF_SPI1 },
|
{ DEFIO_TAG_E(PB5) },
|
||||||
},
|
},
|
||||||
|
.af = GPIO_AF_SPI1,
|
||||||
.rcc = RCC_APB2(SPI1),
|
.rcc = RCC_APB2(SPI1),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.device = SPIDEV_2,
|
.device = SPIDEV_2,
|
||||||
.reg = SPI2,
|
.reg = SPI2,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PB10), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB10) },
|
||||||
{ DEFIO_TAG_E(PB13), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB13) },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PB14), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB14) },
|
||||||
{ DEFIO_TAG_E(PC2), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PC2) },
|
||||||
},
|
},
|
||||||
.mosiPins = {
|
.mosiPins = {
|
||||||
{ DEFIO_TAG_E(PB15), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PB15) },
|
||||||
{ DEFIO_TAG_E(PC3), GPIO_AF_SPI2 },
|
{ DEFIO_TAG_E(PC3) },
|
||||||
},
|
},
|
||||||
|
.af = GPIO_AF_SPI2,
|
||||||
.rcc = RCC_APB1(SPI2),
|
.rcc = RCC_APB1(SPI2),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.device = SPIDEV_3,
|
.device = SPIDEV_3,
|
||||||
.reg = SPI3,
|
.reg = SPI3,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PB3), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PB3) },
|
||||||
{ DEFIO_TAG_E(PC10), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PC10) },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PB4), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PB4) },
|
||||||
{ DEFIO_TAG_E(PC11), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PC11) },
|
||||||
},
|
},
|
||||||
.mosiPins = {
|
.mosiPins = {
|
||||||
{ DEFIO_TAG_E(PB5), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PB5) },
|
||||||
{ DEFIO_TAG_E(PC12), GPIO_AF_SPI3 },
|
{ DEFIO_TAG_E(PC12) },
|
||||||
},
|
},
|
||||||
|
.af = GPIO_AF_SPI3,
|
||||||
.rcc = RCC_APB1(SPI3),
|
.rcc = RCC_APB1(SPI3),
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
@ -326,7 +332,7 @@ const spiHardware_t spiHardware[] = {
|
||||||
.reg = SPI4,
|
.reg = SPI4,
|
||||||
.sckPins = {
|
.sckPins = {
|
||||||
{ DEFIO_TAG_E(PE2), GPIO_AF5_SPI4 },
|
{ DEFIO_TAG_E(PE2), GPIO_AF5_SPI4 },
|
||||||
{ DEFIO_TAG_E(PE12), GPIO_AF6_SPI3 },
|
{ DEFIO_TAG_E(PE12), GPIO_AF5_SPI4 },
|
||||||
},
|
},
|
||||||
.misoPins = {
|
.misoPins = {
|
||||||
{ DEFIO_TAG_E(PE5), GPIO_AF5_SPI4 },
|
{ DEFIO_TAG_E(PE5), GPIO_AF5_SPI4 },
|
||||||
|
@ -346,33 +352,42 @@ void spiPinConfigure(void)
|
||||||
{
|
{
|
||||||
const spiPinConfig_t *pConfig = spiPinConfig();
|
const spiPinConfig_t *pConfig = spiPinConfig();
|
||||||
|
|
||||||
for (size_t hwindex = 0 ; hwindex < ARRAYLEN(spiDefaultConfig) ; hwindex++) {
|
for (size_t hwindex = 0 ; hwindex < ARRAYLEN(spiHardware) ; hwindex++) {
|
||||||
const spiHardware_t *hw = &spiHardware[hwindex];
|
const spiHardware_t *hw = &spiHardware[hwindex];
|
||||||
|
|
||||||
if (!hw->reg) {
|
if (!hw->reg) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int device = hw->device;
|
SPIDevice device = hw->device;
|
||||||
spiDevice_t *pDev = &spiDevice[device];
|
spiDevice_t *pDev = &spiDevice[device];
|
||||||
|
|
||||||
for (int pindex = 0 ; pindex < MAX_SPI_PIN_SEL ; pindex++) {
|
for (int pindex = 0 ; pindex < MAX_SPI_PIN_SEL ; pindex++) {
|
||||||
if (pConfig->ioTagSck[device] == hw->sckPins[pindex].pin) {
|
if (pConfig->ioTagSck[device] == hw->sckPins[pindex].pin) {
|
||||||
pDev->sck = hw->sckPins[pindex].pin;
|
pDev->sck = hw->sckPins[pindex].pin;
|
||||||
|
#ifdef STM32F7
|
||||||
pDev->sckAF = hw->sckPins[pindex].af;
|
pDev->sckAF = hw->sckPins[pindex].af;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (pConfig->ioTagMiso[device] == hw->misoPins[pindex].pin) {
|
if (pConfig->ioTagMiso[device] == hw->misoPins[pindex].pin) {
|
||||||
pDev->miso = hw->misoPins[pindex].pin;
|
pDev->miso = hw->misoPins[pindex].pin;
|
||||||
|
#ifdef STM32F7
|
||||||
pDev->misoAF = hw->misoPins[pindex].af;
|
pDev->misoAF = hw->misoPins[pindex].af;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (pConfig->ioTagMosi[device] == hw->mosiPins[pindex].pin) {
|
if (pConfig->ioTagMosi[device] == hw->mosiPins[pindex].pin) {
|
||||||
pDev->mosi = hw->mosiPins[pindex].pin;
|
pDev->mosi = hw->mosiPins[pindex].pin;
|
||||||
|
#ifdef STM32F7
|
||||||
pDev->mosiAF = hw->mosiPins[pindex].af;
|
pDev->mosiAF = hw->mosiPins[pindex].af;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pDev->sck && pDev->miso && pDev->mosi) {
|
if (pDev->sck && pDev->miso && pDev->mosi) {
|
||||||
pDev->dev = hw->reg;
|
pDev->dev = hw->reg;
|
||||||
|
#ifndef STM32F7
|
||||||
|
pDev->af = hw->af;
|
||||||
|
#endif
|
||||||
pDev->rcc = hw->rcc;
|
pDev->rcc = hw->rcc;
|
||||||
pDev->leadingEdge = false; // XXX Should be part of transfer context
|
pDev->leadingEdge = false; // XXX Should be part of transfer context
|
||||||
#ifdef USE_HAL_DRIVER
|
#ifdef USE_HAL_DRIVER
|
||||||
|
|
Loading…
Reference in New Issue