From db048f22ad2134ff66a02713ebeb1f42e6441422 Mon Sep 17 00:00:00 2001 From: Hauke Petersen <hauke.petersen@fu-berlin.de> Date: Thu, 26 Jan 2017 09:56:28 +0100 Subject: [PATCH] drivers/pn532: enabled test app to select SPI mode --- tests/driver_pn532/Makefile | 17 ++++++++++++++++- tests/driver_pn532/main.c | 7 ++++++- tests/driver_pn532/pn532_params.h | 7 +++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/tests/driver_pn532/Makefile b/tests/driver_pn532/Makefile index a3d1995b8b..5411dd627d 100644 --- a/tests/driver_pn532/Makefile +++ b/tests/driver_pn532/Makefile @@ -11,11 +11,26 @@ TEST_PN532_I2C ?= I2C_DEV\(0\) TEST_PN532_RESET ?= GPIO_PIN\(0,0\) TEST_PN532_IRQ ?= GPIO_PIN\(0,1\) +# alternative SPI configuration +TEST_PN532_SPI ?= SPI_DEV\(0\) +TEST_PN532_NSS ?= GPIO_PIN\(0,2\) + # export parameters CFLAGS += -DTEST_PN532_I2C=$(TEST_PN532_I2C) CFLAGS += -DTEST_PN532_RESET=$(TEST_PN532_RESET) CFLAGS += -DTEST_PN532_IRQ=$(TEST_PN532_IRQ) -CFLAGS += -DPN532_SUPPORT_I2C +CFLAGS += -DTEST_PN532_SPI=$(TEST_PN532_SPI) +CFLAGS += -DTEST_PN532_NSS=$(TEST_PN532_NSS) + +# select if you want to build the SPI or the I2C version of the driver: +# set PN532_MODE to `i2c` or to `spi` +PN532_MODE ?= i2c +ifeq ($(PN532_MODE),i2c) + CFLAGS += -DPN532_SUPPORT_I2C +endif +ifeq ($(PN532_MODE),spi) + CFLAGS += -DPN532_SUPPORT_SPI +endif CFLAGS += -I$(CURDIR) diff --git a/tests/driver_pn532/main.c b/tests/driver_pn532/main.c index 4ca9862a76..3b501dd815 100644 --- a/tests/driver_pn532/main.c +++ b/tests/driver_pn532/main.c @@ -44,8 +44,13 @@ int main(void) static nfc_iso14443a_t card; static pn532_t pn532; unsigned len; + int ret; - int ret = pn532_init_i2c(&pn532, &pn532_conf[0]); +#if defined(PN532_SUPPORT_I2C) + ret = pn532_init_i2c(&pn532, &pn532_conf[0]); +#elif defined(PN532_SUPPORT_SPI) + ret = pn532_init_spi(&pn532, &pn532_conf[0]); +#endif if (ret != 0) { LOG_INFO("init error %d\n", ret); diff --git a/tests/driver_pn532/pn532_params.h b/tests/driver_pn532/pn532_params.h index 590a1683c3..dea2cab7de 100644 --- a/tests/driver_pn532/pn532_params.h +++ b/tests/driver_pn532/pn532_params.h @@ -25,9 +25,16 @@ extern "C" { static const pn532_params_t pn532_conf[] = { { +#if defined(PN532_SUPPORT_I2C) .i2c = TEST_PN532_I2C, +#elif defined(PN532_SUPPORT_SPI) + .spi = TEST_PN532_SPI, +#endif .reset = TEST_PN532_RESET, .irq = TEST_PN532_IRQ, +#if defined(PN532_SUPPORT_SPI) + .nss = TEST_PN532_NSS +#endif }, }; -- GitLab