This program is guided to help establish a connection between two RFM95 900MHz LoRa radio modules using Maxim Integrated's Feather MCUs (MAX32630FTHR Mbed and the MAX32620FTHR Mbed). Once the radios are configured after powering on and if the radios are wired correctly, the two radios will self identify as either a master or a slave, and will then proceed to PING and PONG back and forth. Information about what is happening between the radios can be seen if the two boards are hooked up to a USB COM port through the included DAPLINK modules.

Dependencies:   BufferedSerial SX1276GenericLib USBDeviceHT max32630fthr

Fork of MAX326xxFTHR_LoRa_PingPong by Devin Alexander

Committer:
dev_alexander
Date:
Thu Jun 21 16:59:46 2018 +0000
Revision:
21:1b92cabe8a3b
Parent:
19:9f035b9e65ec
Added Link to where to find wiring instructions for sx1276 enabled ;  (RFM95) LoRa Radios.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut64 0:c43b6919ae15 1 /*
Helmut64 17:98f2528e8399 2 * Copyright (c) 2018 HELIOS Software GmbH
Helmut64 0:c43b6919ae15 3 * 30826 Garbsen (Hannover) Germany
Helmut64 0:c43b6919ae15 4 * Licensed under the Apache License, Version 2.0);
Helmut64 0:c43b6919ae15 5 */
dev_alexander 21:1b92cabe8a3b 6
dev_alexander 21:1b92cabe8a3b 7 /*
dev_alexander 21:1b92cabe8a3b 8 * For Wiring Instructions, please visit the link below:
dev_alexander 21:1b92cabe8a3b 9 * https://www.hackster.io/DevinAlex64/getting-started-with-the-max32620fthr-and-lora-f9d8dd\
dev_alexander 21:1b92cabe8a3b 10 */
dev_alexander 21:1b92cabe8a3b 11
Helmut64 0:c43b6919ae15 12 #include "main.h"
Helmut64 0:c43b6919ae15 13
dev_alexander 19:9f035b9e65ec 14 #if defined(TARGET_MAX32630FTHR) // using the RFM95 board
dev_alexander 19:9f035b9e65ec 15 #include "max32630fthr.h"
dev_alexander 19:9f035b9e65ec 16 MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);
dev_alexander 19:9f035b9e65ec 17 #endif
Helmut64 0:c43b6919ae15 18
Helmut64 17:98f2528e8399 19 DigitalOut myled(LED);
Helmut64 0:c43b6919ae15 20
Helmut64 0:c43b6919ae15 21
Helmut64 17:98f2528e8399 22 int main() {
Helmut64 17:98f2528e8399 23 #ifdef HELTEC_STM32L4
Helmut64 17:98f2528e8399 24 DigitalOut vext(POWER_VEXT);
Helmut64 17:98f2528e8399 25 vext = POWER_VEXT_ON;
Helmut64 17:98f2528e8399 26 #endif
dev_alexander 19:9f035b9e65ec 27
dev_alexander 19:9f035b9e65ec 28
Helmut64 17:98f2528e8399 29 /*
Helmut64 17:98f2528e8399 30 * inits the Serial or USBSerial when available (230400 baud).
Helmut64 17:98f2528e8399 31 * If the serial uart is not is not connected it swiches to USB Serial
Helmut64 17:98f2528e8399 32 * blinking LED means USBSerial detected, waiting for a connect.
Helmut64 17:98f2528e8399 33 * It waits up to 30 seconds for a USB terminal connections
Helmut64 17:98f2528e8399 34 */
Helmut64 17:98f2528e8399 35 InitSerial(30*1000, &myled);
Helmut64 17:98f2528e8399 36 dprintf("Welcome to the SX1276GenericLib");
Helmut64 18:d5527ce82e6b 37
Helmut64 17:98f2528e8399 38 dprintf("Starting a simple LoRa PingPong");
Helmut64 17:98f2528e8399 39 SX1276PingPong();
Helmut64 0:c43b6919ae15 40 }