diff options
author | Harsh Sharma <92harshsharma@gmail.com> | 2018-06-13 13:38:58 -0500 |
---|---|---|
committer | Harsh Sharma <92harshsharma@gmail.com> | 2018-06-13 13:38:58 -0500 |
commit | c3dc80e46b2f8a3c811321b2b3f8fb1b023c9b04 (patch) | |
tree | 636563c46cdcaa4ff66cd68bf30fa249e3671565 | |
parent | 3273fcf3a2588ec97e27341acd31a9f1c249b017 (diff) | |
download | lora_gateway_mtac_full-c3dc80e46b2f8a3c811321b2b3f8fb1b023c9b04.tar.gz lora_gateway_mtac_full-c3dc80e46b2f8a3c811321b2b3f8fb1b023c9b04.tar.bz2 lora_gateway_mtac_full-c3dc80e46b2f8a3c811321b2b3f8fb1b023c9b04.zip |
Applied patch: lora-gateway-add-spi-path-function
-rw-r--r-- | libloragw/inc/loragw_spi.h | 8 | ||||
-rw-r--r-- | libloragw/src/loragw_spi.native.c | 16 |
2 files changed, 23 insertions, 1 deletions
diff --git a/libloragw/inc/loragw_spi.h b/libloragw/inc/loragw_spi.h index fef1f48..74ef251 100644 --- a/libloragw/inc/loragw_spi.h +++ b/libloragw/inc/loragw_spi.h @@ -46,6 +46,14 @@ Maintainer: Sylvain Miermont /* -------------------------------------------------------------------------- */ /* --- PUBLIC FUNCTIONS PROTOTYPES ------------------------------------------ */ +/* set SPI device */ +/** +@brief LoRa concentrator SPI path configuration for spidev +@param path pointer to spidev device +@return LGW_SPI_SUCCESS if path is valid, LGW_SPI_ERROR if not +*/ +int lgw_spi_set_path(const char *path); + /** @brief LoRa concentrator SPI setup (configure I/O and peripherals) @param spi_target_ptr pointer on a generic pointer to SPI target (implementation dependant) diff --git a/libloragw/src/loragw_spi.native.c b/libloragw/src/loragw_spi.native.c index c01ed1c..a146e8b 100644 --- a/libloragw/src/loragw_spi.native.c +++ b/libloragw/src/loragw_spi.native.c @@ -56,10 +56,24 @@ Maintainer: Sylvain Miermont #define SPI_SPEED 8000000 #define SPI_DEV_PATH "/dev/spidev0.0" //#define SPI_DEV_PATH "/dev/spidev32766.0" +char* spi_dev_path = SPI_DEV_PATH; /* -------------------------------------------------------------------------- */ /* --- PUBLIC FUNCTIONS DEFINITION ------------------------------------------ */ +/* set SPI device */ +int lgw_spi_set_path(const char *path) { + if (path) { + spi_dev_path = path; + return LGW_SPI_SUCCESS; + } + else { + return LGW_SPI_ERROR; + } +} + + + /* SPI initialization and configuration */ int lgw_spi_open(void **spi_target_ptr) { int *spi_device = NULL; @@ -78,7 +92,7 @@ int lgw_spi_open(void **spi_target_ptr) { } /* open SPI device */ - dev = open(SPI_DEV_PATH, O_RDWR); + dev = open(spi_dev_path, O_RDWR); if (dev < 0) { DEBUG_PRINTF("ERROR: failed to open SPI device %s\n", SPI_DEV_PATH); return LGW_SPI_ERROR; |