Initial commit
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
*.pyc
|
||||
BUILD
|
||||
mbed_settings.py
|
||||
mbed_config.h
|
||||
@@ -0,0 +1 @@
|
||||
https://os.mbed.com/teams/myDevicesIoT/code/Cayenne-LPP/#5a9d65b33e85
|
||||
@@ -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 @@
|
||||
/**
|
||||
* 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 @@
|
||||
#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 @@
|
||||
https://github.com/ARMmbed/mbed-os/#367dbdf5145f4d6aa3e483c147fe7bda1ce23a36
|
||||
@@ -0,0 +1 @@
|
||||
https://github.com/ARMmbed/mbed-semtech-lora-rf-drivers/#c5ee52293fee29aea3479d20e92ca2c1fc1ddaff
|
||||
+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\""]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
https://github.com/atoy40/mbed-dht/#0aa899f3a68e02eec69e74a6f68c35249530d89d
|
||||
Reference in New Issue
Block a user