summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libloragw/VERSION2
-rw-r--r--libloragw/doc/CHANGELOG.TXT5
-rw-r--r--libloragw/src/loragw_spi.ftdi.c10
3 files changed, 16 insertions, 1 deletions
diff --git a/libloragw/VERSION b/libloragw/VERSION
index fff109c..e7ee96c 100644
--- a/libloragw/VERSION
+++ b/libloragw/VERSION
@@ -1,5 +1,5 @@
/* Software library version: */
-#define VERSION_LIBRARY "1.2.1"
+#define VERSION_LIBRARY "1.2.2"
/* API version */
#define VERSION_API "1"
diff --git a/libloragw/doc/CHANGELOG.TXT b/libloragw/doc/CHANGELOG.TXT
index 9402573..a03e7e0 100644
--- a/libloragw/doc/CHANGELOG.TXT
+++ b/libloragw/doc/CHANGELOG.TXT
@@ -1,6 +1,11 @@
Lora Gateway HAL changelog
==========================
+ v1.2.2
+---------------------
+
+ * Added a GPIO toggle on the FTDI SPI module to reset the SX1301 board.
+
v1.2.1
---------------------
diff --git a/libloragw/src/loragw_spi.ftdi.c b/libloragw/src/loragw_spi.ftdi.c
index 35bc951..23b2a19 100644
--- a/libloragw/src/loragw_spi.ftdi.c
+++ b/libloragw/src/loragw_spi.ftdi.c
@@ -60,6 +60,7 @@ Maintainer: Sylvain Miermont
/* SPI initialization and configuration */
int lgw_spi_open(void **spi_target_ptr) {
struct mpsse_context *mpsse = NULL;
+ int a, b;
/* check input variables */
CHECK_NULL(spi_target_ptr); /* cannot be null, must point on a void pointer (*spi_target_ptr can be null) */
@@ -75,6 +76,15 @@ int lgw_spi_open(void **spi_target_ptr) {
return LGW_SPI_ERROR;
}
+ /* toggle pin ADBUS5 of the FT2232H */
+ /* On the Semtech reference board, it resets the SX1301 */
+ a = PinHigh(mpsse, GPIOL1);
+ b = PinLow(mpsse, GPIOL1);
+ if ((a != MPSSE_OK) || (b != MPSSE_OK)) {
+ DEBUG_MSG("ERROR: IMPOSSIBLE TO TOGGLE GPIOL1/ADBUS5\n");
+ return LGW_SPI_ERROR;
+ }
+
DEBUG_PRINTF("SPI port opened and configured ok\ndesc: %s\nPID: 0x%04X\nVID: 0x%04X\nclock: %d\nLibmpsse version: 0x%02X\n", GetDescription(mpsse), GetPid(mpsse), GetVid(mpsse), GetClock(mpsse), Version());
*spi_target_ptr = (void *)mpsse;
return LGW_SPI_SUCCESS;