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:
Fri Mar 29 14:22:04 2019 +0100
Revision:
50:28166f6fdaa2
Parent:
49:6c7d42d48672
Child:
52:c6f8d0db1334
Added SI7021 sensor

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
Helmut Tschemernjak 50:28166f6fdaa2 20 // #define FEATURE_SI7021
Helmut64 0:3b6c2ce051a6 21 #endif
Helmut64 0:3b6c2ce051a6 22
Helmut Tschemernjak 2:daf96c5f0d0e 23 #ifdef HELTECL432_REV1
Helmut Tschemernjak 2:daf96c5f0d0e 24 #define USER_BUTTON (PinName) 0x73 // PH_3 boot pin
Helmut Tschemernjak 2:daf96c5f0d0e 25 #define USER_BUTTON_RISE
Helmut Tschemernjak 2:daf96c5f0d0e 26 #define STATUS_LED PB_1 // green LED
Helmut Tschemernjak 2:daf96c5f0d0e 27 #define LED2 PB_0 // red LED
Helmut Tschemernjak 2:daf96c5f0d0e 28 #define LED STATUS_LED
Helmut Tschemernjak 2:daf96c5f0d0e 29 #define BATPOWER_EN PA_8 // high indicates power source is battery, removable bridge
Helmut Tschemernjak 2:daf96c5f0d0e 30 #define BATPOWER_EXT 1
Helmut64 0:3b6c2ce051a6 31
Helmut Tschemernjak 2:daf96c5f0d0e 32 #define SPI_LSM_MOSI PA_7
Helmut Tschemernjak 2:daf96c5f0d0e 33 #define SPI_LSM_MISO PA_6
Helmut Tschemernjak 2:daf96c5f0d0e 34 #define SPI_LSM_SCLK PA_5
Helmut Tschemernjak 2:daf96c5f0d0e 35 #define CS_FLASH NC
Helmut64 0:3b6c2ce051a6 36
Helmut Tschemernjak 2:daf96c5f0d0e 37 #define EXT_POWER_SW PA_3 // VEXT on/off
Helmut Tschemernjak 2:daf96c5f0d0e 38 #define EXT_POWER_ON 0
Helmut Tschemernjak 2:daf96c5f0d0e 39 #define EXT_POWER_OFF 1
Helmut64 0:3b6c2ce051a6 40
Helmut Tschemernjak 2:daf96c5f0d0e 41 #define LORA_SPI_MOSI SPI_LSM_MOSI
Helmut Tschemernjak 2:daf96c5f0d0e 42 #define LORA_SPI_MISO SPI_LSM_MISO
Helmut Tschemernjak 2:daf96c5f0d0e 43 #define LORA_SPI_SCLK SPI_LSM_SCLK
Helmut Tschemernjak 2:daf96c5f0d0e 44 #define LORA_CS PA_4
Helmut64 0:3b6c2ce051a6 45 #define LORA_RESET PA_1
Helmut Tschemernjak 2:daf96c5f0d0e 46 #define LORA_DIO0 PA_0 // used for Rx, Tx Interrupt
Helmut Tschemernjak 2:daf96c5f0d0e 47 #define LORA_DIO1 NC // PB_6Fifo Level/Full, RxTimeout/Cad Detection Interrupt, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 48 #define LORA_DIO2 NC // FhssChangeChannel when FreqHop is on, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 49 #define LORA_DIO3 NC // optionally Cad Detection in RS_Node_Offline/Checking mode
Helmut Tschemernjak 2:daf96c5f0d0e 50 #define LORA_DIO4 NC // FSK mode preamble detected, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 51 #define LORA_DIO5 NC // FSK mode ready / ClockOut, unused in RadioShuttle
Helmut Tschemernjak 2:daf96c5f0d0e 52 #define LORA_ANT_PWR EXT_POWER_SW // the analog switch is getting turned off go save energy
Helmut64 0:3b6c2ce051a6 53
Helmut Tschemernjak 2:daf96c5f0d0e 54 /* this following are available pins for custom use */
Helmut Tschemernjak 2:daf96c5f0d0e 55 #define P_SWLCK PA_14 // available only when no debugger is being used.
Helmut Tschemernjak 2:daf96c5f0d0e 56 #define P_SWDIO PA_13 // available only when no debugger is being used
Helmut Tschemernjak 2:daf96c5f0d0e 57 #define P_SWO PB_3 // available only when no SWO debugging output is being used
Helmut Tschemernjak 2:daf96c5f0d0e 58 #define P_PA_2_TX PA_2 // available only when no debug serial console is being used
Helmut Tschemernjak 2:daf96c5f0d0e 59 #define P_PA_15_RX PA_15 // available only when no debug serial console is being used
Helmut Tschemernjak 2:daf96c5f0d0e 60 #define P_PA_9_SCL PA_9 // SCL includes 10k removable hardware pullup
Helmut Tschemernjak 2:daf96c5f0d0e 61 #define P_PA_10_SCA PA_10 // SCL includes 10k removable hardware pullup
Helmut Tschemernjak 2:daf96c5f0d0e 62 #define P_PB_4 PB_4
Helmut Tschemernjak 2:daf96c5f0d0e 63 #define P_PB_5 PB_5
Helmut Tschemernjak 2:daf96c5f0d0e 64 #define P_PB_6 PB_6
Helmut Tschemernjak 2:daf96c5f0d0e 65 #define P_PB_7 PB_7
Helmut64 0:3b6c2ce051a6 66
Helmut Tschemernjak 50:28166f6fdaa2 67 #define SI7021_SCA P_PA_10_SCA
Helmut Tschemernjak 50:28166f6fdaa2 68 #define SI7021_SCL P_PA_9_SCL
Helmut Tschemernjak 50:28166f6fdaa2 69
Helmut Tschemernjak 2:daf96c5f0d0e 70 #define WatchDogUpdate() void()
Helmut64 0:3b6c2ce051a6 71
Helmut Tschemernjak 2:daf96c5f0d0e 72 #else
Helmut Tschemernjak 2:daf96c5f0d0e 73 #error "unknown board"
Helmut Tschemernjak 2:daf96c5f0d0e 74 #endif