Skip to content

Commit 93d5c9e

Browse files
committed
drivers/cc3200: Update to work with new stm32 SPI API.
1 parent f892262 commit 93d5c9e

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

drivers/cc3000/src/ccspi.c

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
#endif
5151

5252
// these need to be set to valid values before anything in this file will work
53-
STATIC SPI_HandleTypeDef *SPI_HANDLE = NULL;
53+
STATIC const spi_t *SPI_HANDLE = NULL;
5454
STATIC const pin_obj_t *PIN_CS = NULL;
5555
STATIC const pin_obj_t *PIN_EN = NULL;
5656
STATIC const pin_obj_t *PIN_IRQ = NULL;
@@ -134,17 +134,18 @@ void SpiOpen(gcSpiHandleRx pfRxHandler)
134134
wlan_tx_buffer[CC3000_TX_BUFFER_SIZE - 1] = CC3000_BUFFER_MAGIC_NUMBER;
135135

136136
/* SPI configuration */
137-
SPI_HANDLE->Init.Mode = SPI_MODE_MASTER;
138-
SPI_HANDLE->Init.Direction = SPI_DIRECTION_2LINES;
139-
SPI_HANDLE->Init.DataSize = SPI_DATASIZE_8BIT;
140-
SPI_HANDLE->Init.CLKPolarity = SPI_POLARITY_LOW;
141-
SPI_HANDLE->Init.CLKPhase = SPI_PHASE_2EDGE;
142-
SPI_HANDLE->Init.NSS = SPI_NSS_SOFT;
143-
SPI_HANDLE->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
144-
SPI_HANDLE->Init.FirstBit = SPI_FIRSTBIT_MSB;
145-
SPI_HANDLE->Init.TIMode = SPI_TIMODE_DISABLED;
146-
SPI_HANDLE->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED;
147-
SPI_HANDLE->Init.CRCPolynomial = 7;
137+
SPI_InitTypeDef *init = &SPI_HANDLE->spi->Init;
138+
init->Mode = SPI_MODE_MASTER;
139+
init->Direction = SPI_DIRECTION_2LINES;
140+
init->DataSize = SPI_DATASIZE_8BIT;
141+
init->CLKPolarity = SPI_POLARITY_LOW;
142+
init->CLKPhase = SPI_PHASE_2EDGE;
143+
init->NSS = SPI_NSS_SOFT;
144+
init->BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
145+
init->FirstBit = SPI_FIRSTBIT_MSB;
146+
init->TIMode = SPI_TIMODE_DISABLED;
147+
init->CRCCalculation = SPI_CRCCALCULATION_DISABLED;
148+
init->CRCPolynomial = 7;
148149
spi_init(SPI_HANDLE, false);
149150

150151
// configure wlan CS and EN pins
@@ -167,7 +168,7 @@ void SpiOpen(gcSpiHandleRx pfRxHandler)
167168
actual communications start, it might be required */
168169
CS_LOW();
169170
uint8_t buf[1];
170-
HAL_SPI_Receive(SPI_HANDLE, buf, sizeof(buf), SPI_TIMEOUT);
171+
HAL_SPI_Receive(SPI_HANDLE->spi, buf, sizeof(buf), SPI_TIMEOUT);
171172
CS_HIGH();
172173

173174
// register EXTI
@@ -192,7 +193,7 @@ STATIC void SpiWriteDataSynchronous(unsigned char *data, unsigned short size)
192193
{
193194
DEBUG_printf("SpiWriteDataSynchronous(data=%p [%x %x %x %x], size=%u)\n", data, data[0], data[1], data[2], data[3], size);
194195
__disable_irq();
195-
if (HAL_SPI_TransmitReceive(SPI_HANDLE, data, data, size, SPI_TIMEOUT) != HAL_OK) {
196+
if (HAL_SPI_TransmitReceive(SPI_HANDLE->spi, data, data, size, SPI_TIMEOUT) != HAL_OK) {
196197
//BREAK();
197198
}
198199
__enable_irq();
@@ -203,7 +204,7 @@ STATIC void SpiReadDataSynchronous(unsigned char *data, unsigned short size)
203204
{
204205
memset(data, READ, size);
205206
__disable_irq();
206-
if (HAL_SPI_TransmitReceive(SPI_HANDLE, data, data, size, SPI_TIMEOUT) != HAL_OK) {
207+
if (HAL_SPI_TransmitReceive(SPI_HANDLE->spi, data, data, size, SPI_TIMEOUT) != HAL_OK) {
207208
//BREAK();
208209
}
209210
__enable_irq();

0 commit comments

Comments
 (0)