commit
706e6fb0d1
10 changed files with 3265 additions and 0 deletions
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
*.pyc |
||||
BUILD |
||||
mbed_settings.py |
||||
mbed_config.h |
||||
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
https://os.mbed.com/teams/myDevicesIoT/code/Cayenne-LPP/#5a9d65b33e85 |
||||
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
# RAK811 Tracker Board mbed test |
||||
|
||||
## Compilation |
||||
|
||||
Clone this repository, then : |
||||
|
||||
``` |
||||
mbed deploy |
||||
# modify lora.device-eui, lora.application-eui and lora.application-key in mbed_app.json |
||||
mbed compile --profile mbed-os/tools/profiles/release.json |
||||
``` |
||||
|
||||
Then you can use stm32flash or may be better a stlink interface to copy the generated .bin file onto the RAK811. |
||||
|
||||
## Notes |
||||
|
||||
### use STLink from a Nucleo board |
||||
|
||||
From STlink CN4 Connector to RAK811 "shortest" connector (pin 1 at the same side of antenna connectors) |
||||
|
||||
``` |
||||
2 -> 3 (CLK) |
||||
3 -> 1 (GND) |
||||
4 -> 4 (DATA) |
||||
5 -> 2 (RST) |
||||
``` |
||||
@ -0,0 +1,83 @@
@@ -0,0 +1,83 @@
|
||||
/**
|
||||
* Copyright (c) 2017, Arm Limited and affiliates. |
||||
* SPDX-License-Identifier: Apache-2.0 |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
#include "lorawan/LoRaRadio.h" |
||||
|
||||
#ifndef APP_LORA_RADIO_HELPER_H_ |
||||
#define APP_LORA_RADIO_HELPER_H_ |
||||
|
||||
#if MBED_CONF_APP_LORAWAN_ENABLED |
||||
|
||||
#ifdef DEVICE_SPI |
||||
|
||||
#include "SX1272_LoRaRadio.h" |
||||
#include "SX1276_LoRaRadio.h" |
||||
|
||||
#define SX1272 0xFF |
||||
#define SX1276 0xEE |
||||
|
||||
#if (MBED_CONF_APP_LORA_RADIO == SX1272) |
||||
|
||||
SX1272_LoRaRadio radio(MBED_CONF_APP_LORA_SPI_MOSI, |
||||
MBED_CONF_APP_LORA_SPI_MISO, |
||||
MBED_CONF_APP_LORA_SPI_SCLK, |
||||
MBED_CONF_APP_LORA_CS, |
||||
MBED_CONF_APP_LORA_RESET, |
||||
MBED_CONF_APP_LORA_DIO0, |
||||
MBED_CONF_APP_LORA_DIO1, |
||||
MBED_CONF_APP_LORA_DIO2, |
||||
MBED_CONF_APP_LORA_DIO3, |
||||
MBED_CONF_APP_LORA_DIO4, |
||||
MBED_CONF_APP_LORA_DIO5, |
||||
MBED_CONF_APP_LORA_RF_SWITCH_CTL1, |
||||
MBED_CONF_APP_LORA_RF_SWITCH_CTL2, |
||||
MBED_CONF_APP_LORA_TXCTL, |
||||
MBED_CONF_APP_LORA_RXCTL, |
||||
MBED_CONF_APP_LORA_ANT_SWITCH, |
||||
MBED_CONF_APP_LORA_PWR_AMP_CTL, |
||||
MBED_CONF_APP_LORA_TCXO); |
||||
|
||||
#elif (MBED_CONF_APP_LORA_RADIO == SX1276) |
||||
|
||||
SX1276_LoRaRadio radio(MBED_CONF_APP_LORA_SPI_MOSI, |
||||
MBED_CONF_APP_LORA_SPI_MISO, |
||||
MBED_CONF_APP_LORA_SPI_SCLK, |
||||
MBED_CONF_APP_LORA_CS, |
||||
MBED_CONF_APP_LORA_RESET, |
||||
MBED_CONF_APP_LORA_DIO0, |
||||
MBED_CONF_APP_LORA_DIO1, |
||||
MBED_CONF_APP_LORA_DIO2, |
||||
MBED_CONF_APP_LORA_DIO3, |
||||
MBED_CONF_APP_LORA_DIO4, |
||||
MBED_CONF_APP_LORA_DIO5, |
||||
MBED_CONF_APP_LORA_RF_SWITCH_CTL1, |
||||
MBED_CONF_APP_LORA_RF_SWITCH_CTL2, |
||||
MBED_CONF_APP_LORA_TXCTL, |
||||
MBED_CONF_APP_LORA_RXCTL, |
||||
MBED_CONF_APP_LORA_ANT_SWITCH, |
||||
MBED_CONF_APP_LORA_PWR_AMP_CTL, |
||||
MBED_CONF_APP_LORA_TCXO); |
||||
|
||||
#else |
||||
#error "Unknown LoRa radio specified (SX1272,SX1276 are valid)" |
||||
#endif |
||||
|
||||
#endif //DEVICE_SPI
|
||||
|
||||
#endif //MBED_CONF_APP_LORAWAN_ENABLED
|
||||
|
||||
#endif /* APP_LORA_RADIO_HELPER_H_ */ |
||||
@ -0,0 +1,195 @@
@@ -0,0 +1,195 @@
|
||||
#include "mbed.h" |
||||
#include "lorawan/LoRaWANInterface.h" |
||||
#include "lorawan/system/lorawan_data_structures.h" |
||||
#include "events/EventQueue.h" |
||||
#include "lora_radio_helper.h" |
||||
#include "CayenneLPP.h" |
||||
#include "DHT.h" |
||||
|
||||
using namespace events; |
||||
|
||||
uint8_t rx_buffer[LORAMAC_PHY_MAXPAYLOAD]; |
||||
|
||||
/*
|
||||
* Sets up an application dependent transmission timer in ms. Used only when Duty Cycling is off for testing |
||||
*/ |
||||
#define TX_TIMER 600000 |
||||
|
||||
/**
|
||||
* Maximum number of events for the event queue. |
||||
* 16 is the safe number for the stack events, however, if application |
||||
* also uses the queue for whatever purposes, this number should be increased.c |
||||
*/ |
||||
#define MAX_NUMBER_OF_EVENTS 16 |
||||
|
||||
/**
|
||||
* Maximum number of retries for CONFIRMED messages before giving up |
||||
*/ |
||||
#define CONFIRMED_MSG_RETRY_COUNTER 3 |
||||
|
||||
static EventQueue ev_queue(MAX_NUMBER_OF_EVENTS * EVENTS_EVENT_SIZE); |
||||
static void lora_event_handler(lorawan_event_t event); |
||||
static LoRaWANInterface lorawan(radio); |
||||
static lorawan_app_callbacks_t callbacks; |
||||
static CayenneLPP cayenne(51); |
||||
DHT dht(PA_1, DHT::DHT22); |
||||
|
||||
AnalogIn bat(PA_2); |
||||
DigitalOut led(LED1); |
||||
|
||||
int main(void) { |
||||
|
||||
lorawan_status_t retcode; |
||||
// Initialize LoRaWAN stack
|
||||
if (lorawan.initialize(&ev_queue) != LORAWAN_STATUS_OK) { |
||||
printf("\r\n LoRa initialization failed! \r\n"); |
||||
return -1; |
||||
} |
||||
|
||||
printf("\r\n Mbed LoRaWANStack initialized \r\n"); |
||||
|
||||
callbacks.events = mbed::callback(lora_event_handler); |
||||
lorawan.add_app_callbacks(&callbacks); |
||||
|
||||
// Set number of retries in case of CONFIRMED messages
|
||||
if (lorawan.set_confirmed_msg_retries(CONFIRMED_MSG_RETRY_COUNTER) |
||||
!= LORAWAN_STATUS_OK) { |
||||
printf("\r\n set_confirmed_msg_retries failed! \r\n\r\n"); |
||||
return -1; |
||||
} |
||||
|
||||
printf("\r\n CONFIRMED message retries : %d \r\n", |
||||
CONFIRMED_MSG_RETRY_COUNTER); |
||||
|
||||
// Enable adaptive data rate
|
||||
if (lorawan.enable_adaptive_datarate() != LORAWAN_STATUS_OK) { |
||||
printf("\r\n enable_adaptive_datarate failed! \r\n"); |
||||
return -1; |
||||
} |
||||
|
||||
printf("\r\n Adaptive data rate (ADR) - Enabled \r\n"); |
||||
|
||||
retcode = lorawan.connect(); |
||||
|
||||
if (retcode == LORAWAN_STATUS_OK || |
||||
retcode == LORAWAN_STATUS_CONNECT_IN_PROGRESS) { |
||||
} else { |
||||
printf("\r\n Connection error, code = %d \r\n", retcode); |
||||
return -1; |
||||
} |
||||
|
||||
printf("\r\n Connection - In Progress ...\r\n"); |
||||
|
||||
// make your event queue dispatching events forever
|
||||
ev_queue.dispatch_forever(); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
/**
|
||||
* Sends a message to the Network Server |
||||
*/ |
||||
static void send_message() |
||||
{ |
||||
int16_t retcode; |
||||
|
||||
// vbat
|
||||
float vbat = bat.read(); |
||||
vbat = vbat*5/3*3.3f; |
||||
cayenne.addAnalogInput(1, vbat); |
||||
|
||||
// dht
|
||||
int err = dht.read(); |
||||
if (err == DHT::SUCCESS) { |
||||
cayenne.addTemperature(1, dht.getTemperature()); |
||||
cayenne.addRelativeHumidity(2, dht.getHumidity()); |
||||
} else { |
||||
printf("Error code : %d\r\n", err); |
||||
} |
||||
|
||||
retcode = lorawan.send(MBED_CONF_LORA_APP_PORT, cayenne.getBuffer(), cayenne.getSize(), |
||||
MSG_UNCONFIRMED_FLAG); |
||||
|
||||
if (retcode < 0) { |
||||
retcode == LORAWAN_STATUS_WOULD_BLOCK ? printf("send - WOULD BLOCK\r\n") |
||||
: printf("\r\n send() - Error code %d \r\n", retcode); |
||||
return; |
||||
} |
||||
|
||||
printf("\r\n %d bytes scheduled for transmission \r\n", retcode); |
||||
cayenne.reset(); |
||||
} |
||||
|
||||
/**
|
||||
* Receive a message from the Network Server |
||||
*/ |
||||
static void receive_message() |
||||
{ |
||||
int16_t retcode; |
||||
retcode = lorawan.receive(MBED_CONF_LORA_APP_PORT, rx_buffer, |
||||
LORAMAC_PHY_MAXPAYLOAD, |
||||
MSG_CONFIRMED_FLAG|MSG_UNCONFIRMED_FLAG); |
||||
|
||||
if (retcode < 0) { |
||||
printf("\r\n receive() - Error code %d \r\n", retcode); |
||||
return; |
||||
} |
||||
|
||||
printf(" Data:"); |
||||
|
||||
for (uint8_t i = 0; i < retcode; i++) { |
||||
printf("%x", rx_buffer[i]); |
||||
} |
||||
|
||||
printf("\r\n Data Length: %d\r\n", retcode); |
||||
|
||||
memset(rx_buffer, 0, LORAMAC_PHY_MAXPAYLOAD); |
||||
} |
||||
|
||||
static void lora_event_handler(lorawan_event_t event) |
||||
{ |
||||
switch (event) { |
||||
case CONNECTED: |
||||
printf("\r\n Connection - Successful \r\n"); |
||||
if (MBED_CONF_LORA_DUTY_CYCLE_ON) { |
||||
send_message(); |
||||
} else { |
||||
ev_queue.call_every(TX_TIMER, send_message); |
||||
} |
||||
|
||||
break; |
||||
case DISCONNECTED: |
||||
ev_queue.break_dispatch(); |
||||
printf("\r\n Disconnected Successfully \r\n"); |
||||
break; |
||||
case TX_DONE: |
||||
printf("\r\n Message Sent to Network Server \r\n"); |
||||
if (MBED_CONF_LORA_DUTY_CYCLE_ON) { |
||||
send_message(); |
||||
} |
||||
break; |
||||
case TX_TIMEOUT: |
||||
case TX_ERROR: |
||||
case TX_CRYPTO_ERROR: |
||||
case TX_SCHEDULING_ERROR: |
||||
printf("\r\n Transmission Error - EventCode = %d \r\n", event); |
||||
// try again
|
||||
if (MBED_CONF_LORA_DUTY_CYCLE_ON) { |
||||
send_message(); |
||||
} |
||||
break; |
||||
case RX_DONE: |
||||
printf("\r\n Received message from Network Server \r\n"); |
||||
receive_message(); |
||||
break; |
||||
case RX_TIMEOUT: |
||||
case RX_ERROR: |
||||
printf("\r\n Error in reception - Code = %d \r\n", event); |
||||
break; |
||||
case JOIN_FAILURE: |
||||
printf("\r\n OTAA Failed - Check Keys \r\n"); |
||||
break; |
||||
default: |
||||
MBED_ASSERT("Unknown Event"); |
||||
} |
||||
} |
||||
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
https://github.com/ARMmbed/mbed-os/#367dbdf5145f4d6aa3e483c147fe7bda1ce23a36 |
||||
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
https://github.com/ARMmbed/mbed-semtech-lora-rf-drivers/#c5ee52293fee29aea3479d20e92ca2c1fc1ddaff |
||||
@ -0,0 +1,258 @@
@@ -0,0 +1,258 @@
|
||||
{ |
||||
"config": { |
||||
"lora-radio": { |
||||
"help": "Which radio to use (options: SX1272,SX1276)", |
||||
"value": "SX1276" |
||||
}, |
||||
"main_stack_size": { "value": 4096 }, |
||||
|
||||
"lorawan-enabled": { "value": false}, |
||||
|
||||
"lora-spi-mosi": { "value": "NC" }, |
||||
"lora-spi-miso": { "value": "NC" }, |
||||
"lora-spi-sclk": { "value": "NC" }, |
||||
"lora-cs": { "value": "NC" }, |
||||
"lora-reset": { "value": "NC" }, |
||||
"lora-dio0": { "value": "NC" }, |
||||
"lora-dio1": { "value": "NC" }, |
||||
"lora-dio2": { "value": "NC" }, |
||||
"lora-dio3": { "value": "NC" }, |
||||
"lora-dio4": { "value": "NC" }, |
||||
"lora-dio5": { "value": "NC" }, |
||||
"lora-rf-switch-ctl1": { "value": "NC" }, |
||||
"lora-rf-switch-ctl2": { "value": "NC" }, |
||||
"lora-txctl": { "value": "NC" }, |
||||
"lora-rxctl": { "value": "NC" }, |
||||
"lora-ant-switch": { "value": "NC" }, |
||||
"lora-pwr-amp-ctl": { "value": "NC" }, |
||||
"lora-tcxo": { "value": "NC" } |
||||
}, |
||||
"target_overrides": { |
||||
"*": { |
||||
"lora.app-port": 3, |
||||
"lora.over-the-air-activation": true, |
||||
"lora.duty-cycle-on": false, |
||||
"lora.phy": 0, |
||||
"lora.device-eui": "{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }", |
||||
"lora.application-eui": "{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }", |
||||
"lora.application-key": "{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }" |
||||
}, |
||||
|
||||
"K64F": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-spi-mosi": "D11", |
||||
"lora-spi-miso": "D12", |
||||
"lora-spi-sclk": "D13", |
||||
"lora-cs": "D10", |
||||
"lora-reset": "A0", |
||||
"lora-dio0": "D2", |
||||
"lora-dio1": "D3", |
||||
"lora-dio2": "D4", |
||||
"lora-dio3": "D5", |
||||
"lora-dio4": "D8", |
||||
"lora-dio5": "D9", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "NC", |
||||
"lora-rxctl": "NC", |
||||
"lora-ant-switch": "A4", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "NC" |
||||
}, |
||||
|
||||
"DISCO_L072CZ_LRWAN1": { |
||||
"main_stack_size": 3072, |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1276", |
||||
"lora-spi-mosi": "PA_7", |
||||
"lora-spi-miso": "PA_6", |
||||
"lora-spi-sclk": "PB_3", |
||||
"lora-cs": "PA_15", |
||||
"lora-reset": "PC_0", |
||||
"lora-dio0": "PB_4", |
||||
"lora-dio1": "PB_1", |
||||
"lora-dio2": "PB_0", |
||||
"lora-dio3": "PC_13", |
||||
"lora-dio4": "NC", |
||||
"lora-dio5": "NC", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "PC_2", |
||||
"lora-rxctl": "PA_1", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "PC_1", |
||||
"lora-tcxo": "PA_12" |
||||
}, |
||||
|
||||
"MTB_MURATA_ABZ": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1276", |
||||
"lora-spi-mosi": "PA_7", |
||||
"lora-spi-miso": "PA_6", |
||||
"lora-spi-sclk": "PB_3", |
||||
"lora-cs": "PA_15", |
||||
"lora-reset": "PC_0", |
||||
"lora-dio0": "PB_4", |
||||
"lora-dio1": "PB_1", |
||||
"lora-dio2": "PB_0", |
||||
"lora-dio3": "PC_13", |
||||
"lora-dio4": "NC", |
||||
"lora-dio5": "NC", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "PC_2", |
||||
"lora-rxctl": "PA_1", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "PC_1", |
||||
"lora-tcxo": "PA_12" |
||||
}, |
||||
|
||||
"XDOT_L151CC": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1272", |
||||
"lora-spi-mosi": "LORA_MOSI", |
||||
"lora-spi-miso": "LORA_MISO", |
||||
"lora-spi-sclk": "LORA_SCK", |
||||
"lora-cs": "LORA_NSS", |
||||
"lora-reset": "LORA_RESET", |
||||
"lora-dio0": "LORA_DIO0", |
||||
"lora-dio1": "LORA_DIO1", |
||||
"lora-dio2": "LORA_DIO2", |
||||
"lora-dio3": "LORA_DIO3", |
||||
"lora-dio4": "LORA_DIO4", |
||||
"lora-dio5": "NC", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "NC", |
||||
"lora-rxctl": "NC", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "NC" |
||||
}, |
||||
|
||||
"MTB_MTS_XDOT": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1272", |
||||
"lora-spi-mosi": "LORA_MOSI", |
||||
"lora-spi-miso": "LORA_MISO", |
||||
"lora-spi-sclk": "LORA_SCK", |
||||
"lora-cs": "LORA_NSS", |
||||
"lora-reset": "LORA_RESET", |
||||
"lora-dio0": "LORA_DIO0", |
||||
"lora-dio1": "LORA_DIO1", |
||||
"lora-dio2": "LORA_DIO2", |
||||
"lora-dio3": "LORA_DIO3", |
||||
"lora-dio4": "LORA_DIO4", |
||||
"lora-dio5": "NC", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "NC", |
||||
"lora-rxctl": "NC", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "NC" |
||||
}, |
||||
|
||||
"LTEK_FF1705": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1272", |
||||
"lora-spi-mosi": "LORA_MOSI", |
||||
"lora-spi-miso": "LORA_MISO", |
||||
"lora-spi-sclk": "LORA_SCK", |
||||
"lora-cs": "LORA_NSS", |
||||
"lora-reset": "LORA_RESET", |
||||
"lora-dio0": "LORA_DIO0", |
||||
"lora-dio1": "LORA_DIO1", |
||||
"lora-dio2": "LORA_DIO2", |
||||
"lora-dio3": "LORA_DIO3", |
||||
"lora-dio4": "LORA_DIO4", |
||||
"lora-dio5": "NC", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "NC", |
||||
"lora-rxctl": "NC", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "NC" |
||||
}, |
||||
|
||||
"MTS_MDOT_F411RE": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1272", |
||||
"lora-spi-mosi": "LORA_MOSI", |
||||
"lora-spi-miso": "LORA_MISO", |
||||
"lora-spi-sclk": "LORA_SCK", |
||||
"lora-cs": "LORA_NSS", |
||||
"lora-reset": "LORA_RESET", |
||||
"lora-dio0": "LORA_DIO0", |
||||
"lora-dio1": "LORA_DIO1", |
||||
"lora-dio2": "LORA_DIO2", |
||||
"lora-dio3": "LORA_DIO3", |
||||
"lora-dio4": "LORA_DIO4", |
||||
"lora-dio5": "LORA_DIO5", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "LORA_TXCTL", |
||||
"lora-rxctl": "LORA_RXCTL", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "NC" |
||||
}, |
||||
|
||||
"MTB_ADV_WISE_1510": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1276", |
||||
"lora-spi-mosi": "SPI_RF_MOSI", |
||||
"lora-spi-miso": "SPI_RF_MISO", |
||||
"lora-spi-sclk": "SPI_RF_SCK", |
||||
"lora-cs": "SPI_RF_CS", |
||||
"lora-reset": "SPI_RF_RESET", |
||||
"lora-dio0": "DIO0", |
||||
"lora-dio1": "DIO1", |
||||
"lora-dio2": "DIO2", |
||||
"lora-dio3": "DIO3", |
||||
"lora-dio4": "DIO4", |
||||
"lora-dio5": "DIO5", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "NC", |
||||
"lora-rxctl": "NC", |
||||
"lora-ant-switch": "ANT_SWITCH", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "NC" |
||||
}, |
||||
|
||||
"MTB_RAK811": { |
||||
"lorawan-enabled": true, |
||||
|
||||
"lora-radio": "SX1276", |
||||
"lora-spi-mosi": "SPI_RF_MOSI", |
||||
"lora-spi-miso": "SPI_RF_MISO", |
||||
"lora-spi-sclk": "SPI_RF_SCK", |
||||
"lora-cs": "SPI_RF_CS", |
||||
"lora-reset": "SPI_RF_RESET", |
||||
"lora-dio0": "DIO0", |
||||
"lora-dio1": "DIO1", |
||||
"lora-dio2": "DIO2", |
||||
"lora-dio3": "DIO3", |
||||
"lora-dio4": "DIO4", |
||||
"lora-dio5": "NC", |
||||
"lora-rf-switch-ctl1": "NC", |
||||
"lora-rf-switch-ctl2": "NC", |
||||
"lora-txctl": "ANT_CTX_PA", |
||||
"lora-rxctl": "ANT_CRX_RX", |
||||
"lora-ant-switch": "NC", |
||||
"lora-pwr-amp-ctl": "NC", |
||||
"lora-tcxo": "RF_TCXO_EN" |
||||
} |
||||
}, |
||||
"macros": ["MBEDTLS_USER_CONFIG_FILE=\"mbedtls_lora_config.h\""] |
||||
} |
||||
Loading…
Reference in new issue