[LLCC68] module support

1.2-legacy
Vladislav Osmanov 2021-11-17 13:28:08 +03:00
rodzic eee6ef018c
commit 8eb0d685ac
5 zmienionych plików z 39 dodań i 1 usunięć

Wyświetl plik

@ -256,6 +256,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// supported modules list // supported modules list
#define USE_SX1262 #define USE_SX1262
#define USE_SX1268 #define USE_SX1268
#define USE_LLCC68
// common pinouts for SX126X modules // common pinouts for SX126X modules
#define SX126X_CS 18 // NSS for SX126X #define SX126X_CS 18 // NSS for SX126X

Wyświetl plik

@ -40,6 +40,7 @@
#include "RF95Interface.h" #include "RF95Interface.h"
#include "SX1262Interface.h" #include "SX1262Interface.h"
#include "SX1268Interface.h" #include "SX1268Interface.h"
#include "LLCC68Interface.h"
#ifdef NRF52_SERIES #ifdef NRF52_SERIES
#include "variant.h" #include "variant.h"
@ -539,6 +540,19 @@ void setup()
} }
#endif #endif
#if defined(USE_LLCC68)
if (!rIf) {
rIf = new LLCC68Interface(SX126X_CS, SX126X_DIO1, SX126X_RESET, SX126X_BUSY, SPI);
if (!rIf->init()) {
DEBUG_MSG("Warning: Failed to find LLCC68 radio\n");
delete rIf;
rIf = NULL;
} else {
DEBUG_MSG("LLCC68 Radio init succeeded, using LLCC68 radio\n");
}
}
#endif
#ifdef USE_SIM_RADIO #ifdef USE_SIM_RADIO
if (!rIf) { if (!rIf) {
rIf = new SimRadio; rIf = new SimRadio;

Wyświetl plik

@ -3,4 +3,5 @@
// We need this declaration for proper linking in derived classes // We need this declaration for proper linking in derived classes
template class SX126xInterface<SX1262>; template class SX126xInterface<SX1262>;
template class SX126xInterface<SX1268>; template class SX126xInterface<SX1268>;
template class SX126xInterface<LLCC68>;

Wyświetl plik

@ -0,0 +1,9 @@
#include "configuration.h"
#include "LLCC68Interface.h"
#include "error.h"
LLCC68Interface::LLCC68Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy,
SPIClass &spi)
: SX126xInterface(cs, irq, rst, busy, spi)
{
}

Wyświetl plik

@ -0,0 +1,13 @@
#pragma once
#include "SX126xInterface.h"
/**
* Our adapter for LLCC68 radios
* https://www.semtech.com/products/wireless-rf/lora-core/llcc68
*/
class LLCC68Interface : public SX126xInterface<LLCC68>
{
public:
LLCC68Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy, SPIClass &spi);
};