An example project for the Heltec Turtle LoRa board (STM32L4 and SX1276 chips). The projects is only supported for the Nucleo-L432KC board platform in the mbed online and offline compiler environment. Visit www.radioshuttle.de (choose Turtle board) for instructions. Note that most source files and libraries are open source, however some files especially the RadioShuttle core protocol is copyrighted work. Check header for details.

Dependencies:   mbed BufferedSerial SX1276GenericLib OLED_SSD1306 HELIOS_Si7021 NVProperty RadioShuttle-STM32L4 USBDeviceHT

Committer:
Helmut Tschemernjak
Date:
Thu Jun 06 09:31:08 2019 +0200
Revision:
62:86aaaf9fa55d
Parent:
55:41c3d465d048
Updated OLED lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut64 0:3b6c2ce051a6 1 /*
Helmut Tschemernjak 2:daf96c5f0d0e 2 * Copyright (c) 2019 Helmut Tschemernjak
Helmut64 0:3b6c2ce051a6 3 * 30826 Garbsen (Hannover) Germany
Helmut64 0:3b6c2ce051a6 4 * Licensed under the Apache License, Version 2.0);
Helmut64 0:3b6c2ce051a6 5 */
Helmut64 0:3b6c2ce051a6 6
Helmut Tschemernjak 2:daf96c5f0d0e 7 #define RS_MAJOR 3
Helmut Tschemernjak 49:6c7d42d48672 8 #define RS_MINOR 3
Helmut Tschemernjak 37:77fa81e4ad79 9 #define MAJOR_VERSION 1
Helmut Tschemernjak 37:77fa81e4ad79 10 #define MINOR_VERSION 1
Helmut64 0:3b6c2ce051a6 11
Helmut Tschemernjak 2:daf96c5f0d0e 12 #ifdef TARGET_STM32L432KC
Helmut Tschemernjak 32:e68143c56bf3 13 #define HELTECL432_REV1
Helmut Tschemernjak 32:e68143c56bf3 14 #define FEATURE_LORA
Helmut Tschemernjak 37:77fa81e4ad79 15 #define FEATURE_RADIOTESTSAMPLE
Helmut Tschemernjak 32:e68143c56bf3 16 #define FEATURE_LORA_PING_PONG
Helmut Tschemernjak 32:e68143c56bf3 17 #define FEATURE_USBSERIAL
Helmut Tschemernjak 32:e68143c56bf3 18 #define FEATURE_NVPROPERTY
Helmut Tschemernjak 32:e68143c56bf3 19 #define FEATURE_NVPROPERTYEDITOR
Helmut64 52:c6f8d0db1334 20 #define FEATURE_SI7021
Helmut Tschemernjak 55:41c3d465d048 21 #define FEATURE_SSD1306
Helmut64 0:3b6c2ce051a6 22 #endif
Helmut64 0:3b6c2ce051a6 23
Helmut Tschemernjak 2:daf96c5f0d0e 24 #ifdef HELTECL432_REV1
Helmut Tschemernjak 2:daf96c5f0d0e 25 #define USER_BUTTON (PinName) 0x73 // PH_3 boot pin
Helmut Tschemernjak 2:daf96c5f0d0e 26 #define USER_BUTTON_RISE
Helmut Tschemernjak 2:daf96c5f0d0e 27 #define STATUS_LED PB_1 // green LED
Helmut Tschemernjak 2:daf96c5f0d0e 28 #define LED2 PB_0 // red LED
Helmut Tschemernjak 2:daf96c5f0d0e 29 #define LED STATUS_LED
Helmut Tschemernjak 2:daf96c5f0d0e 30 #define BATPOWER_EN PA_8 // high indicates power source is battery, removable bridge
Helmut Tschemernjak 2:daf96c5f0d0e 31 #define BATPOWER_EXT 1
Helmut64 0:3b6c2ce051a6 32
Helmut Tschemernjak 2:daf96c5f0d0e 33 #define SPI_LSM_MOSI PA_7
Helmut Tschemernjak 2:daf96c5f0d0e 34 #define SPI_LSM_MISO PA_6
Helmut Tschemernjak 2:daf96c5f0d0e 35 #define SPI_LSM_SCLK PA_5
Helmut Tschemernjak 2:daf96c5f0d0e 36 #define CS_FLASH NC
Helmut64 0:3b6c2ce051a6 37
Helmut Tschemernjak 2:daf96c5f0d0e 38 #define EXT_POWER_SW PA_3 // VEXT on/off
Helmut Tschemernjak 2:daf96c5f0d0e 39 #define EXT_POWER_ON 0
Helmut Tschemernjak 2:daf96c5f0d0e 40 #define EXT_POWER_OFF 1
Helmut64 0:3b6c2ce051a6 41
Helmut Tschemernjak 2:daf96c5f0d0e 42 #define LORA_SPI_MOSI SPI_LSM_MOSI
Helmut Tschemernjak 2:daf96c5f0d0e 43 #define LORA_SPI_MISO SPI_LSM_MISO
Helmut Tschemernjak 2:daf96c5f0d0e 44 #define LORA_SPI_SCLK SPI_LSM_SCLK
Helmut Tschemernjak 2:daf96c5f0d0e 45 #define LORA_CS PA_4
Helmut64 0:3b6c2ce051a6 46 #define LORA_RESET PA_1
Helmut Tschemernjak 2:daf96c5f0d0e 47 #define LORA_DIO0 PA_0 // used for Rx, Tx Interrupt
Helmut Tschemernjak 2:daf96c5f0d0e 48 #define LORA_DIO1 NC // PB_6Fifo Level/Full, RxTimeout/Cad Detection Interrupt, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 49 #define LORA_DIO2 NC // FhssChangeChannel when FreqHop is on, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 50 #define LORA_DIO3 NC // optionally Cad Detection in RS_Node_Offline/Checking mode
Helmut Tschemernjak 2:daf96c5f0d0e 51 #define LORA_DIO4 NC // FSK mode preamble detected, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 52 #define LORA_DIO5 NC // FSK mode ready / ClockOut, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 53 #define LORA_ANT_PWR EXT_POWER_SW // the analog switch is getting turned off go save energy
Helmut64 0:3b6c2ce051a6 54
Helmut Tschemernjak 2:daf96c5f0d0e 55 /* this following are available pins for custom use */
Helmut Tschemernjak 2:daf96c5f0d0e 56 #define P_SWLCK PA_14 // available only when no debugger is being used.
Helmut Tschemernjak 2:daf96c5f0d0e 57 #define P_SWDIO PA_13 // available only when no debugger is being used
Helmut Tschemernjak 2:daf96c5f0d0e 58 #define P_SWO PB_3 // available only when no SWO debugging output is being used
Helmut Tschemernjak 2:daf96c5f0d0e 59 #define P_PA_2_TX PA_2 // available only when no debug serial console is being used
Helmut Tschemernjak 2:daf96c5f0d0e 60 #define P_PA_15_RX PA_15 // available only when no debug serial console is being used
Helmut Tschemernjak 2:daf96c5f0d0e 61 #define P_PA_9_SCL PA_9 // SCL includes 10k removable hardware pullup
Helmut Tschemernjak 53:f84c9283eb05 62 #define P_PA_10_SDA PA_10 // SCL includes 10k removable hardware pullup
Helmut Tschemernjak 2:daf96c5f0d0e 63 #define P_PB_4 PB_4
Helmut Tschemernjak 2:daf96c5f0d0e 64 #define P_PB_5 PB_5
Helmut Tschemernjak 2:daf96c5f0d0e 65 #define P_PB_6 PB_6
Helmut Tschemernjak 2:daf96c5f0d0e 66 #define P_PB_7 PB_7
Helmut64 0:3b6c2ce051a6 67
Helmut Tschemernjak 53:f84c9283eb05 68 #define SI7021_SDA P_PA_10_SDA
Helmut Tschemernjak 50:28166f6fdaa2 69 #define SI7021_SCL P_PA_9_SCL
Helmut Tschemernjak 55:41c3d465d048 70 #define DISPLAY_ADDRESS 0x3c
Helmut Tschemernjak 55:41c3d465d048 71 #define DISPLAY_SDA P_PA_10_SDA
Helmut Tschemernjak 55:41c3d465d048 72 #define DISPLAY_SCL P_PA_9_SCL
Helmut Tschemernjak 50:28166f6fdaa2 73
Helmut Tschemernjak 2:daf96c5f0d0e 74 #define WatchDogUpdate() void()
Helmut64 0:3b6c2ce051a6 75
Helmut Tschemernjak 2:daf96c5f0d0e 76 #else
Helmut Tschemernjak 2:daf96c5f0d0e 77 #error "unknown board"
Helmut Tschemernjak 2:daf96c5f0d0e 78 #endif