Skip to content

Commit

Permalink
Merge branch 'master' into dev/lpc1768-fix-multibyte-spi
Browse files Browse the repository at this point in the history
  • Loading branch information
multiplemonomials authored May 7, 2024
2 parents b296209 + 94a7fbc commit 8d7536e
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
2 changes: 0 additions & 2 deletions targets/TARGET_NXP/TARGET_LPC176X/i2c_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
#if DEVICE_I2C

#include "cmsis.h"
#include "pinmap.h"

#include "PeripheralPinMaps.h"

// Change to 1 to enable debug prints.
Expand Down
26 changes: 26 additions & 0 deletions targets/TARGET_NXP/TARGET_LPC176X/spi_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,32 @@ void spi_init_direct(spi_t *obj, const spi_pinmap_t *pinmap) {
}
}

void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) {
spi_pinmap_t pinmap;
pinmap.mosi_pin = mosi;
pinmap.miso_pin = miso;
pinmap.sclk_pin = sclk;
pinmap.ssel_pin = ssel;

// determine the SPI to use
SPIName spi_mosi = (SPIName)pinmap_peripheral(mosi, PinMap_SPI_MOSI);
SPIName spi_miso = (SPIName)pinmap_peripheral(miso, PinMap_SPI_MISO);
SPIName spi_sclk = (SPIName)pinmap_peripheral(sclk, PinMap_SPI_SCLK);
SPIName spi_ssel = (SPIName)pinmap_peripheral(ssel, PinMap_SPI_SSEL);
SPIName spi_data = (SPIName)pinmap_merge(spi_mosi, spi_miso);
SPIName spi_cntl = (SPIName)pinmap_merge(spi_sclk, spi_ssel);
pinmap.peripheral = pinmap_merge(spi_data, spi_cntl);
MBED_ASSERT((int)obj->spi != NC);

// Get pin functions
pinmap.mosi_function = pinmap_find_function(mosi, PinMap_SPI_MOSI);
pinmap.miso_function = pinmap_find_function(miso, PinMap_SPI_MISO);
pinmap.sclk_function = pinmap_find_function(sclk, PinMap_SPI_SCLK);
pinmap.ssel_function = pinmap_find_function(ssel, PinMap_SPI_SSEL);

spi_init_direct(obj, &pinmap);
}

SPIName spi_get_peripheral_name(PinName mosi, PinName miso, PinName sclk)
{
SPIName spi_mosi = (SPIName)pinmap_peripheral(mosi, PinMap_SPI_MOSI);
Expand Down

0 comments on commit 8d7536e

Please # to comment.