Hello,
I'm porting the nRF8001 SDK to STM32 using HAL (CubeMX). Communication seems to run fine, however, the setup stops with CRC error. See abridged the logical output:
...
C 6 :0x06,0xf0,0x00,0x03,0xbf,0x40,
...84/06/01 is repeated 6 times.
E 3 :0x84,0x06,0x01,
cmd_status: 0x88e
Oscilloscope sees exact same messages as above. Here's my spi interface code:
uint8_t efm_spi_readwrite(const uint8_t aci_byte)
{
uint8_t send_byte = aci_byte;
uint8_t ret_byte;
HAL_SPI_TransmitReceive(&hspi1, &send_byte, &ret_byte, 1, 1000);
return ret_byte;
}
The rest of the code is a copy ble-sdk-efm32 with only slight adjustments to digital read and write. I have D revision of the chip. Echo test works OK.
I read in another question that after last setup packet, I should generate dummy SPI clock, but I don't see provision for that in the queue based SDK...