mbed library sources

Fork of mbed-src by mbed official

Revision:
552:a1b9575155a3
Parent:
496:543871686697
--- a/targets/hal/TARGET_STM/TARGET_STM32L1/spi_api.c	Wed May 27 09:30:08 2015 +0100
+++ b/targets/hal/TARGET_STM/TARGET_STM32L1/spi_api.c	Wed May 27 13:30:08 2015 +0100
@@ -103,13 +103,10 @@
     obj->pin_sclk = sclk;
     obj->pin_ssel = ssel;
 
-    if (ssel == NC) { // SW NSS Master mode
-        obj->mode = SPI_MODE_MASTER;
+    if (ssel != NC) {
+        pinmap_pinout(ssel, PinMap_SPI_SSEL);
+    } else {
         obj->nss = SPI_NSS_SOFT;
-    } else { // Slave
-        pinmap_pinout(ssel, PinMap_SPI_SSEL);
-        obj->mode = SPI_MODE_SLAVE;
-        obj->nss = SPI_NSS_HARD_INPUT;
     }
 
     init_spi(obj);
@@ -171,14 +168,12 @@
             break;
     }
 
-    if (slave == 0) {
-        obj->mode = SPI_MODE_MASTER;
-        obj->nss = SPI_NSS_SOFT;
-    } else {
-        obj->mode = SPI_MODE_SLAVE;
-        obj->nss = SPI_NSS_HARD_INPUT;
+    if (obj->nss != SPI_NSS_SOFT) {
+        obj->nss = (slave) ? SPI_NSS_HARD_INPUT : SPI_NSS_HARD_OUTPUT;
     }
 
+    obj->mode = (slave) ? SPI_MODE_SLAVE : SPI_MODE_MASTER;
+
     init_spi(obj);
 }