commit
706e6fb0d1
10 changed files with 3265 additions and 0 deletions
@ -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 |
||||||
@ -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