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:
Helmut64
Date:
Mon Feb 11 11:12:33 2019 +0000
Revision:
30:8bc655c9b224
Parent:
17:a3fc679456e8
Child:
32:e68143c56bf3
Moved dump to util.cpp

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