Fixes SPI mode setting (Issue #1094) (#1096)

Fixes #1094
This commit is contained in:
Bernardo Ramos 2018-03-04 19:56:33 +00:00 committed by Me No Dev
parent e3a5ae439b
commit 0f9595e31e

View File

@ -309,9 +309,9 @@ uint8_t spiGetDataMode(spi_t * spi)
bool outEdge = spi->dev->user.ck_out_edge; bool outEdge = spi->dev->user.ck_out_edge;
if(idleEdge) { if(idleEdge) {
if(outEdge) { if(outEdge) {
return SPI_MODE3; return SPI_MODE2;
} }
return SPI_MODE2; return SPI_MODE3;
} }
if(outEdge) { if(outEdge) {
return SPI_MODE1; return SPI_MODE1;
@ -713,11 +713,11 @@ void spiTransaction(spi_t * spi, uint32_t clockDiv, uint8_t dataMode, uint8_t bi
break; break;
case SPI_MODE2: case SPI_MODE2:
spi->dev->pin.ck_idle_edge = 1; spi->dev->pin.ck_idle_edge = 1;
spi->dev->user.ck_out_edge = 0; spi->dev->user.ck_out_edge = 1;
break; break;
case SPI_MODE3: case SPI_MODE3:
spi->dev->pin.ck_idle_edge = 1; spi->dev->pin.ck_idle_edge = 1;
spi->dev->user.ck_out_edge = 1; spi->dev->user.ck_out_edge = 0;
break; break;
case SPI_MODE0: case SPI_MODE0:
default: default: