important bugfix
This commit is contained in:
parent
f7f6e4d520
commit
be88bf1d50
@ -99,7 +99,7 @@ ReturnValue_t SpiComIF::initializeInterface(CookieIF *cookie) {
|
||||
auto gpioPort = spiCookie->getChipSelectGpioPort();
|
||||
|
||||
GPIO_InitTypeDef chipSelect = {};
|
||||
chipSelect.Pin = GPIO_PIN_14;
|
||||
chipSelect.Pin = gpioPin;
|
||||
chipSelect.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
HAL_GPIO_Init(gpioPort, &chipSelect);
|
||||
HAL_GPIO_WritePin(gpioPort, gpioPin, GPIO_PIN_SET);
|
||||
@ -121,13 +121,16 @@ ReturnValue_t SpiComIF::sendMessage(CookieIF *cookie, const uint8_t *sendData, s
|
||||
}
|
||||
switch(transferMode) {
|
||||
case(spi::TransferModes::POLLING): {
|
||||
return handlePollingSendOperation(iter, spiCookie, sendData, sendLen);
|
||||
return handlePollingSendOperation(iter->second.replyBuffer.data(), spiCookie, sendData,
|
||||
sendLen);
|
||||
}
|
||||
case(spi::TransferModes::INTERRUPT): {
|
||||
break;
|
||||
return handleInterruptSendOperation(iter->second.replyBuffer.data(), spiCookie, sendData,
|
||||
sendLen);
|
||||
}
|
||||
case(spi::TransferModes::DMA): {
|
||||
break;
|
||||
return handleDmaSendOperation(iter->second.replyBuffer.data(), spiCookie, sendData,
|
||||
sendLen);
|
||||
}
|
||||
}
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
@ -149,15 +152,14 @@ ReturnValue_t SpiComIF::readReceivedMessage(CookieIF *cookie, uint8_t **buffer,
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
ReturnValue_t SpiComIF::handlePollingSendOperation(SpiDeviceMapIter iter, SpiCookie *spiCookie,
|
||||
ReturnValue_t SpiComIF::handlePollingSendOperation(uint8_t* recvPtr, SpiCookie *spiCookie,
|
||||
const uint8_t *sendData, size_t sendLen) {
|
||||
auto gpioPort = spiCookie->getChipSelectGpioPort();
|
||||
auto gpioPin = spiCookie->getChipSelectGpioPin();
|
||||
spiMutex->lockMutex(timeoutType, timeoutMs);
|
||||
HAL_GPIO_WritePin(gpioPort, gpioPin, GPIO_PIN_RESET);
|
||||
auto result = HAL_SPI_TransmitReceive(spiHandle, const_cast<uint8_t*>(sendData),
|
||||
iter->second.replyBuffer.data(),
|
||||
sendLen, defaultPollingTimeout);
|
||||
recvPtr, sendLen, defaultPollingTimeout);
|
||||
HAL_GPIO_WritePin(gpioPort, gpioPin, GPIO_PIN_SET);
|
||||
spiMutex->unlockMutex();
|
||||
switch(result) {
|
||||
@ -192,3 +194,13 @@ ReturnValue_t SpiComIF::handlePollingSendOperation(SpiDeviceMapIter iter, SpiCoo
|
||||
}
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
ReturnValue_t SpiComIF::handleInterruptSendOperation(uint8_t* recvPtr, SpiCookie* spiCookie,
|
||||
const uint8_t * sendData, size_t sendLen) {
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
||||
ReturnValue_t SpiComIF::handleDmaSendOperation(uint8_t* recvPtr, SpiCookie* spiCookie,
|
||||
const uint8_t * sendData, size_t sendLen) {
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
@ -81,7 +81,11 @@ private:
|
||||
|
||||
SpiDeviceMap spiDeviceMap;
|
||||
|
||||
ReturnValue_t handlePollingSendOperation(SpiDeviceMapIter iter, SpiCookie* spiCookie,
|
||||
ReturnValue_t handlePollingSendOperation(uint8_t* recvPtr, SpiCookie* spiCookie,
|
||||
const uint8_t * sendData, size_t sendLen);
|
||||
ReturnValue_t handleInterruptSendOperation(uint8_t* recvPtr, SpiCookie* spiCookie,
|
||||
const uint8_t * sendData, size_t sendLen);
|
||||
ReturnValue_t handleDmaSendOperation(uint8_t* recvPtr, SpiCookie* spiCookie,
|
||||
const uint8_t * sendData, size_t sendLen);
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user