example using mbed loramac with GPS in application layer

Dependencies:   lib_gps

This repository can work on NAmote72.

This main.cpp generates Cayenne LPP GPS payload.

See mbed documentation for provisioning instructions.

Committer:
Wayne Roberts
Date:
Thu Jan 03 16:18:09 2019 -0800
Revision:
0:2e040cc7f7b8
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wayne Roberts 0:2e040cc7f7b8 1 /**
Wayne Roberts 0:2e040cc7f7b8 2 * Copyright (c) 2017, Arm Limited and affiliates.
Wayne Roberts 0:2e040cc7f7b8 3 * SPDX-License-Identifier: Apache-2.0
Wayne Roberts 0:2e040cc7f7b8 4 *
Wayne Roberts 0:2e040cc7f7b8 5 * Licensed under the Apache License, Version 2.0 (the "License");
Wayne Roberts 0:2e040cc7f7b8 6 * you may not use this file except in compliance with the License.
Wayne Roberts 0:2e040cc7f7b8 7 * You may obtain a copy of the License at
Wayne Roberts 0:2e040cc7f7b8 8 *
Wayne Roberts 0:2e040cc7f7b8 9 * http://www.apache.org/licenses/LICENSE-2.0
Wayne Roberts 0:2e040cc7f7b8 10 *
Wayne Roberts 0:2e040cc7f7b8 11 * Unless required by applicable law or agreed to in writing, software
Wayne Roberts 0:2e040cc7f7b8 12 * distributed under the License is distributed on an "AS IS" BASIS,
Wayne Roberts 0:2e040cc7f7b8 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Wayne Roberts 0:2e040cc7f7b8 14 * See the License for the specific language governing permissions and
Wayne Roberts 0:2e040cc7f7b8 15 * limitations under the License.
Wayne Roberts 0:2e040cc7f7b8 16 */
Wayne Roberts 0:2e040cc7f7b8 17
Wayne Roberts 0:2e040cc7f7b8 18 #include "lorawan/LoRaRadio.h"
Wayne Roberts 0:2e040cc7f7b8 19
Wayne Roberts 0:2e040cc7f7b8 20 #ifndef APP_LORA_RADIO_HELPER_H_
Wayne Roberts 0:2e040cc7f7b8 21 #define APP_LORA_RADIO_HELPER_H_
Wayne Roberts 0:2e040cc7f7b8 22
Wayne Roberts 0:2e040cc7f7b8 23 #include "SX1272_LoRaRadio.h"
Wayne Roberts 0:2e040cc7f7b8 24 #include "SX1276_LoRaRadio.h"
Wayne Roberts 0:2e040cc7f7b8 25
Wayne Roberts 0:2e040cc7f7b8 26 #define SX1272 0xFF
Wayne Roberts 0:2e040cc7f7b8 27 #define SX1276 0xEE
Wayne Roberts 0:2e040cc7f7b8 28
Wayne Roberts 0:2e040cc7f7b8 29 #if (MBED_CONF_APP_LORA_RADIO == SX1272)
Wayne Roberts 0:2e040cc7f7b8 30
Wayne Roberts 0:2e040cc7f7b8 31 SX1272_LoRaRadio radio(MBED_CONF_APP_LORA_SPI_MOSI,
Wayne Roberts 0:2e040cc7f7b8 32 MBED_CONF_APP_LORA_SPI_MISO,
Wayne Roberts 0:2e040cc7f7b8 33 MBED_CONF_APP_LORA_SPI_SCLK,
Wayne Roberts 0:2e040cc7f7b8 34 MBED_CONF_APP_LORA_CS,
Wayne Roberts 0:2e040cc7f7b8 35 MBED_CONF_APP_LORA_RESET,
Wayne Roberts 0:2e040cc7f7b8 36 MBED_CONF_APP_LORA_DIO0,
Wayne Roberts 0:2e040cc7f7b8 37 MBED_CONF_APP_LORA_DIO1,
Wayne Roberts 0:2e040cc7f7b8 38 MBED_CONF_APP_LORA_DIO2,
Wayne Roberts 0:2e040cc7f7b8 39 MBED_CONF_APP_LORA_DIO3,
Wayne Roberts 0:2e040cc7f7b8 40 MBED_CONF_APP_LORA_DIO4,
Wayne Roberts 0:2e040cc7f7b8 41 MBED_CONF_APP_LORA_DIO5,
Wayne Roberts 0:2e040cc7f7b8 42 MBED_CONF_APP_LORA_RF_SWITCH_CTL1,
Wayne Roberts 0:2e040cc7f7b8 43 MBED_CONF_APP_LORA_RF_SWITCH_CTL2,
Wayne Roberts 0:2e040cc7f7b8 44 MBED_CONF_APP_LORA_TXCTL,
Wayne Roberts 0:2e040cc7f7b8 45 MBED_CONF_APP_LORA_RXCTL,
Wayne Roberts 0:2e040cc7f7b8 46 MBED_CONF_APP_LORA_ANT_SWITCH,
Wayne Roberts 0:2e040cc7f7b8 47 MBED_CONF_APP_LORA_PWR_AMP_CTL,
Wayne Roberts 0:2e040cc7f7b8 48 MBED_CONF_APP_LORA_TCXO);
Wayne Roberts 0:2e040cc7f7b8 49
Wayne Roberts 0:2e040cc7f7b8 50 #elif (MBED_CONF_APP_LORA_RADIO == SX1276)
Wayne Roberts 0:2e040cc7f7b8 51
Wayne Roberts 0:2e040cc7f7b8 52 SX1276_LoRaRadio radio(MBED_CONF_APP_LORA_SPI_MOSI,
Wayne Roberts 0:2e040cc7f7b8 53 MBED_CONF_APP_LORA_SPI_MISO,
Wayne Roberts 0:2e040cc7f7b8 54 MBED_CONF_APP_LORA_SPI_SCLK,
Wayne Roberts 0:2e040cc7f7b8 55 MBED_CONF_APP_LORA_CS,
Wayne Roberts 0:2e040cc7f7b8 56 MBED_CONF_APP_LORA_RESET,
Wayne Roberts 0:2e040cc7f7b8 57 MBED_CONF_APP_LORA_DIO0,
Wayne Roberts 0:2e040cc7f7b8 58 MBED_CONF_APP_LORA_DIO1,
Wayne Roberts 0:2e040cc7f7b8 59 MBED_CONF_APP_LORA_DIO2,
Wayne Roberts 0:2e040cc7f7b8 60 MBED_CONF_APP_LORA_DIO3,
Wayne Roberts 0:2e040cc7f7b8 61 MBED_CONF_APP_LORA_DIO4,
Wayne Roberts 0:2e040cc7f7b8 62 MBED_CONF_APP_LORA_DIO5,
Wayne Roberts 0:2e040cc7f7b8 63 MBED_CONF_APP_LORA_RF_SWITCH_CTL1,
Wayne Roberts 0:2e040cc7f7b8 64 MBED_CONF_APP_LORA_RF_SWITCH_CTL2,
Wayne Roberts 0:2e040cc7f7b8 65 MBED_CONF_APP_LORA_TXCTL,
Wayne Roberts 0:2e040cc7f7b8 66 MBED_CONF_APP_LORA_RXCTL,
Wayne Roberts 0:2e040cc7f7b8 67 MBED_CONF_APP_LORA_ANT_SWITCH,
Wayne Roberts 0:2e040cc7f7b8 68 MBED_CONF_APP_LORA_PWR_AMP_CTL,
Wayne Roberts 0:2e040cc7f7b8 69 MBED_CONF_APP_LORA_TCXO);
Wayne Roberts 0:2e040cc7f7b8 70
Wayne Roberts 0:2e040cc7f7b8 71 #else
Wayne Roberts 0:2e040cc7f7b8 72 #error "Unknown LoRa radio specified (SX1272,SX1276 are valid)"
Wayne Roberts 0:2e040cc7f7b8 73 #endif
Wayne Roberts 0:2e040cc7f7b8 74
Wayne Roberts 0:2e040cc7f7b8 75 #endif /* APP_LORA_RADIO_HELPER_H_ */