From da80e8bf651072cfc844ad9f119888ce366e0c74 Mon Sep 17 00:00:00 2001 From: universam1 <gh@lang-sam.de> Date: Mon, 18 Dec 2017 02:16:41 +0100 Subject: [PATCH] saving reset pin (#60) * releasing pins ss and reset * only make reset optional * style and description * Update API doc --- API.md | 6 ++++++ src/LoRa.cpp | 18 ++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/API.md b/API.md index d5b0abc..07c808e 100644 --- a/API.md +++ b/API.md @@ -32,6 +32,12 @@ LoRa.setPins(ss, reset, dio0); This call is optional and only needs to be used if you need to change the default pins used. +#### No MCU controlled reset pin + +To save further pins one could connect the reset pin of the MCU with reset pin of the radio thus resetting only during startup. + +* `reset` - set to `-1` to omit this pin + ### Set SPI Frequency Override the default SPI frequency of 10 MHz used by the library. **Must** be called before `LoRa.begin()`. diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 9a55046..1f75d15 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -66,17 +66,19 @@ int LoRaClass::begin(long frequency) { // setup pins pinMode(_ss, OUTPUT); - pinMode(_reset, OUTPUT); - - // perform reset - digitalWrite(_reset, LOW); - delay(10); - digitalWrite(_reset, HIGH); - delay(10); - // set SS high digitalWrite(_ss, HIGH); + if (_reset != -1) { + pinMode(_reset, OUTPUT); + + // perform reset + digitalWrite(_reset, LOW); + delay(10); + digitalWrite(_reset, HIGH); + delay(10); + } + // start SPI SPI.begin();