![](/media/cache/profiles/profile_pic_for_github_less_than_1MB.jpg.50x50_q85.jpg)
This is example code that can get you started with building your own IR vision robot that communicates over LoRa
Dependencies: Adafruit-MotorShield Adafruit-PWM-Servo-Driver Adafruit_GFX BufferedSerial MAX17055_EZconfig NEO-6m-GPS SX1276GenericLib USBDeviceHT max32630fthr max77650_charger_sample
Fork of MAX326xxFTHR_LoRa_Example_test by
PinMap.h@34:f31a6b53d4ea, 2018-07-31 (annotated)
- Committer:
- dev_alexander
- Date:
- Tue Jul 31 15:51:43 2018 +0000
- Revision:
- 34:f31a6b53d4ea
- Parent:
- 32:b108ed6096b0
This revisions seems to work fine with the MAX32630FTHR when putc-ing buffer in correct format for processing to do it's thing
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Helmut64 | 0:c43b6919ae15 | 1 | /* |
Helmut64 | 17:98f2528e8399 | 2 | * Copyright (c) 2018 Helmut Tschemernjak |
Helmut64 | 0:c43b6919ae15 | 3 | * 30826 Garbsen (Hannover) Germany |
Helmut64 | 0:c43b6919ae15 | 4 | * Licensed under the Apache License, Version 2.0); |
Helmut64 | 0:c43b6919ae15 | 5 | */ |
Helmut64 | 0:c43b6919ae15 | 6 | |
Helmut64 | 0:c43b6919ae15 | 7 | |
Helmut64 | 0:c43b6919ae15 | 8 | |
Helmut64 | 0:c43b6919ae15 | 9 | #ifdef TARGET_NUCLEO_L476RG |
Helmut64 | 16:675f4d0ee9e9 | 10 | #define FEATURE_LORA |
Helmut64 | 16:675f4d0ee9e9 | 11 | |
Helmut64 | 9:2f9e4be4d046 | 12 | #elif TARGET_DISCO_L072CZ_LRWAN1 |
Helmut64 | 16:675f4d0ee9e9 | 13 | #define FEATURE_LORA |
Helmut64 | 16:675f4d0ee9e9 | 14 | |
Helmut64 | 16:675f4d0ee9e9 | 15 | #elif TARGET_STM32L432KC |
Helmut64 | 16:675f4d0ee9e9 | 16 | #define HELTEC_STM32L4 |
Helmut64 | 16:675f4d0ee9e9 | 17 | #define FEATURE_LORA |
Helmut64 | 16:675f4d0ee9e9 | 18 | #define FEATURE_USBSERIAL |
Helmut64 | 0:c43b6919ae15 | 19 | #endif |
Helmut64 | 0:c43b6919ae15 | 20 | |
Helmut64 | 0:c43b6919ae15 | 21 | |
Helmut64 | 0:c43b6919ae15 | 22 | |
Helmut64 | 13:5a32a1922fbc | 23 | #if defined(TARGET_DISCO_L072CZ_LRWAN1) |
Helmut64 | 17:98f2528e8399 | 24 | #define LED LED2 |
Helmut64 | 0:c43b6919ae15 | 25 | |
Helmut64 | 0:c43b6919ae15 | 26 | #define LORA_SPI_MOSI PA_7 |
Helmut64 | 0:c43b6919ae15 | 27 | #define LORA_SPI_MISO PA_6 |
Helmut64 | 0:c43b6919ae15 | 28 | #define LORA_SPI_SCLK PB_3 |
Helmut64 | 0:c43b6919ae15 | 29 | #define LORA_CS PA_15 |
Helmut64 | 0:c43b6919ae15 | 30 | #define LORA_RESET PC_0 |
Helmut64 | 0:c43b6919ae15 | 31 | #define LORA_DIO0 PB_4 |
Helmut64 | 0:c43b6919ae15 | 32 | #define LORA_DIO1 PB_1 |
Helmut64 | 0:c43b6919ae15 | 33 | #define LORA_DIO2 PB_0 |
Helmut64 | 13:5a32a1922fbc | 34 | #define LORA_DIO3 PC_13 |
Helmut64 | 0:c43b6919ae15 | 35 | #define LORA_DIO4 PA_5 |
Helmut64 | 0:c43b6919ae15 | 36 | #define LORA_DIO5 PA_4 |
Helmut64 | 0:c43b6919ae15 | 37 | #define LORA_ANT_RX PA_1 |
Helmut64 | 0:c43b6919ae15 | 38 | #define LORA_ANT_TX PC_2 |
Helmut64 | 0:c43b6919ae15 | 39 | #define LORA_ANT_BOOST PC_1 |
Helmut64 | 0:c43b6919ae15 | 40 | #define LORA_TCXO PA_12 // 32 MHz |
Helmut64 | 0:c43b6919ae15 | 41 | |
Helmut64 | 0:c43b6919ae15 | 42 | |
Helmut64 | 0:c43b6919ae15 | 43 | |
Helmut64 | 0:c43b6919ae15 | 44 | #elif defined(TARGET_NUCLEO_L476RG) // using the RFM95 board |
Helmut64 | 0:c43b6919ae15 | 45 | |
Helmut64 | 0:c43b6919ae15 | 46 | #define LORA_SPI_MOSI PC_12 |
Helmut64 | 0:c43b6919ae15 | 47 | #define LORA_SPI_MISO PC_11 |
Helmut64 | 0:c43b6919ae15 | 48 | #define LORA_SPI_SCLK PC_10 |
Helmut64 | 0:c43b6919ae15 | 49 | #define LORA_CS PA_0 |
Helmut64 | 0:c43b6919ae15 | 50 | #define LORA_RESET PA_1 |
Helmut64 | 0:c43b6919ae15 | 51 | #define LORA_DIO0 PD_2 // DIO0=TxDone/RXDone |
Helmut64 | 0:c43b6919ae15 | 52 | #define LORA_DIO1 PB_7 // |
Helmut64 | 0:c43b6919ae15 | 53 | #define LORA_DIO2 PC_14 // DIO2=FhssChangeChannel |
Helmut64 | 0:c43b6919ae15 | 54 | #define LORA_DIO3 PC_15 // DIO3=CADDone |
Helmut64 | 0:c43b6919ae15 | 55 | #define LORA_DIO4 PH_0 // ???? |
Helmut64 | 0:c43b6919ae15 | 56 | #define LORA_DIO5 NC // unused? |
Helmut64 | 0:c43b6919ae15 | 57 | |
Helmut64 | 16:675f4d0ee9e9 | 58 | #elif defined (HELTEC_STM32L4) |
Helmut64 | 16:675f4d0ee9e9 | 59 | |
Helmut64 | 17:98f2528e8399 | 60 | #define USER_BUTTON PH_3 // boot pin |
Helmut64 | 17:98f2528e8399 | 61 | #define LED PB_0 // red |
Helmut64 | 17:98f2528e8399 | 62 | #define LED2 PB_1 // green |
Helmut64 | 18:d5527ce82e6b | 63 | #define LED1 LED |
Helmut64 | 17:98f2528e8399 | 64 | |
Helmut64 | 16:675f4d0ee9e9 | 65 | #define POWER_VEXT PA_3 |
Helmut64 | 16:675f4d0ee9e9 | 66 | #define POWER_VEXT_ON 0 |
Helmut64 | 16:675f4d0ee9e9 | 67 | #define POWER_VEXT_OFF 1 |
Helmut64 | 16:675f4d0ee9e9 | 68 | |
Helmut64 | 17:98f2528e8399 | 69 | |
Helmut64 | 16:675f4d0ee9e9 | 70 | #define LORA_SPI_MOSI PA_7 |
Helmut64 | 16:675f4d0ee9e9 | 71 | #define LORA_SPI_MISO PA_6 |
Helmut64 | 18:d5527ce82e6b | 72 | #define LORA_SPI_SCLK PA_5 |
Helmut64 | 16:675f4d0ee9e9 | 73 | #define LORA_CS PA_4 |
Helmut64 | 16:675f4d0ee9e9 | 74 | #define LORA_RESET PA_1 |
Helmut64 | 16:675f4d0ee9e9 | 75 | #define LORA_DIO0 PA_0 // DIO0=TxDone/RXDone/CADDone |
Helmut64 | 16:675f4d0ee9e9 | 76 | #define LORA_DIO1 NC // |
Helmut64 | 16:675f4d0ee9e9 | 77 | #define LORA_DIO2 NC // |
Helmut64 | 16:675f4d0ee9e9 | 78 | #define LORA_DIO3 NC // |
Helmut64 | 16:675f4d0ee9e9 | 79 | #define LORA_DIO4 NC // |
Helmut64 | 16:675f4d0ee9e9 | 80 | #define LORA_DIO5 NC // |
Helmut64 | 16:675f4d0ee9e9 | 81 | |
Helmut64 | 15:c70f65d606c4 | 82 | #elif defined(TARGET_NUCLEO_L432KC) // using the RFM95 board |
Helmut64 | 15:c70f65d606c4 | 83 | |
Helmut64 | 17:98f2528e8399 | 84 | // #define LED PB_3 // green |
Helmut64 | 17:98f2528e8399 | 85 | #define LED PB_5 // green |
Helmut64 | 15:c70f65d606c4 | 86 | |
Helmut64 | 17:98f2528e8399 | 87 | #define LORA_SPI_MOSI PA_7 |
Helmut64 | 17:98f2528e8399 | 88 | #define LORA_SPI_MISO PA_6 |
Helmut64 | 17:98f2528e8399 | 89 | #define LORA_SPI_SCLK PB_5 |
Helmut64 | 17:98f2528e8399 | 90 | #define LORA_CS PA_4 |
Helmut64 | 15:c70f65d606c4 | 91 | #define LORA_RESET PA_1 |
Helmut64 | 17:98f2528e8399 | 92 | #define LORA_DIO0 PA_0 // DIO0=TxDone/RXDone/CADDone |
Helmut64 | 15:c70f65d606c4 | 93 | #define LORA_DIO1 NC // |
Helmut64 | 15:c70f65d606c4 | 94 | #define LORA_DIO2 NC // |
Helmut64 | 15:c70f65d606c4 | 95 | #define LORA_DIO3 NC // |
Helmut64 | 15:c70f65d606c4 | 96 | #define LORA_DIO4 NC // |
Helmut64 | 16:675f4d0ee9e9 | 97 | #define LORA_DIO5 NC // |
Helmut64 | 16:675f4d0ee9e9 | 98 | |
Helmut64 | 17:98f2528e8399 | 99 | |
dev_alexander | 19:9f035b9e65ec | 100 | #elif defined(TARGET_NUCLEO_F411RE) // using the RFM95 board |
dev_alexander | 19:9f035b9e65ec | 101 | |
dev_alexander | 19:9f035b9e65ec | 102 | #define LED LED1 // green |
dev_alexander | 19:9f035b9e65ec | 103 | |
dev_alexander | 19:9f035b9e65ec | 104 | #define LORA_SPI_MOSI PC_12 |
dev_alexander | 19:9f035b9e65ec | 105 | #define LORA_SPI_MISO PC_11 |
dev_alexander | 19:9f035b9e65ec | 106 | #define LORA_SPI_SCLK PC_10 |
dev_alexander | 19:9f035b9e65ec | 107 | #define LORA_CS PA_0 |
dev_alexander | 19:9f035b9e65ec | 108 | #define LORA_RESET PA_1 |
dev_alexander | 19:9f035b9e65ec | 109 | #define LORA_DIO0 PD_2 // DIO0=TxDone/RXDone |
dev_alexander | 19:9f035b9e65ec | 110 | #define LORA_DIO1 PB_7 // |
dev_alexander | 19:9f035b9e65ec | 111 | #define LORA_DIO2 PC_14 // DIO2=FhssChangeChannel |
dev_alexander | 19:9f035b9e65ec | 112 | #define LORA_DIO3 PC_15 // DIO3=CADDone |
dev_alexander | 19:9f035b9e65ec | 113 | #define LORA_DIO4 PH_0 // ???? |
dev_alexander | 19:9f035b9e65ec | 114 | #define LORA_DIO5 NC // unused? |
dev_alexander | 19:9f035b9e65ec | 115 | |
dev_alexander | 19:9f035b9e65ec | 116 | |
dev_alexander | 19:9f035b9e65ec | 117 | #elif defined(TARGET_MAX32630FTHR) // using the RFM95 board |
dev_alexander | 19:9f035b9e65ec | 118 | |
dev_alexander | 19:9f035b9e65ec | 119 | // #define LED PB_3 // green |
dev_alexander | 19:9f035b9e65ec | 120 | #define LED LED2 // green |
dev_alexander | 19:9f035b9e65ec | 121 | |
dev_alexander | 19:9f035b9e65ec | 122 | #define LORA_SPI_MOSI P5_1 |
dev_alexander | 19:9f035b9e65ec | 123 | #define LORA_SPI_MISO P5_2 |
dev_alexander | 19:9f035b9e65ec | 124 | #define LORA_SPI_SCLK P5_0 |
dev_alexander | 22:abca9d17d13d | 125 | // This is because the Server uses different pins |
dev_alexander | 25:1a031add188a | 126 | // #define LORA_CS P5_3 |
dev_alexander | 25:1a031add188a | 127 | // #define LORA_RESET P5_4 |
dev_alexander | 25:1a031add188a | 128 | // #define LORA_DIO0 P5_5 // DIO0=TxDone/RXDone/CADDone |
dev_alexander | 29:f7a0e49b826b | 129 | #define LORA_CS P4_7 |
dev_alexander | 29:f7a0e49b826b | 130 | #define LORA_RESET P3_3 |
dev_alexander | 25:1a031add188a | 131 | #define LORA_DIO0 P3_2 // DIO0=TxDone/RXDone/CADDone |
dev_alexander | 19:9f035b9e65ec | 132 | #define LORA_DIO1 NC // |
dev_alexander | 19:9f035b9e65ec | 133 | #define LORA_DIO2 NC // |
dev_alexander | 19:9f035b9e65ec | 134 | #define LORA_DIO3 NC // |
dev_alexander | 19:9f035b9e65ec | 135 | #define LORA_DIO4 NC // |
dev_alexander | 19:9f035b9e65ec | 136 | #define LORA_DIO5 NC // |
dev_alexander | 19:9f035b9e65ec | 137 | |
dev_alexander | 19:9f035b9e65ec | 138 | #elif defined(TARGET_MAX32620FTHR) // using the RFM95 board |
dev_alexander | 19:9f035b9e65ec | 139 | |
dev_alexander | 19:9f035b9e65ec | 140 | // #define LED PB_3 // green |
dev_alexander | 19:9f035b9e65ec | 141 | #define LED LED2 // green |
dev_alexander | 19:9f035b9e65ec | 142 | |
dev_alexander | 19:9f035b9e65ec | 143 | #define LORA_SPI_MOSI P5_1 |
dev_alexander | 19:9f035b9e65ec | 144 | #define LORA_SPI_MISO P5_2 |
dev_alexander | 19:9f035b9e65ec | 145 | #define LORA_SPI_SCLK P5_0 |
dev_alexander | 22:abca9d17d13d | 146 | //This is because the Client uses different pins |
dev_alexander | 34:f31a6b53d4ea | 147 | #define LORA_CS P3_0 |
dev_alexander | 34:f31a6b53d4ea | 148 | #define LORA_RESET P3_1 |
dev_alexander | 34:f31a6b53d4ea | 149 | #define LORA_DIO0 P3_2 // DIO0=TxDone/RXDone/CADDone |
dev_alexander | 19:9f035b9e65ec | 150 | #define LORA_DIO1 NC // |
dev_alexander | 19:9f035b9e65ec | 151 | #define LORA_DIO2 NC // |
dev_alexander | 19:9f035b9e65ec | 152 | #define LORA_DIO3 NC // |
dev_alexander | 19:9f035b9e65ec | 153 | #define LORA_DIO4 NC // |
dev_alexander | 19:9f035b9e65ec | 154 | #define LORA_DIO5 NC // |
dev_alexander | 19:9f035b9e65ec | 155 | |
dev_alexander | 19:9f035b9e65ec | 156 | |
dev_alexander | 19:9f035b9e65ec | 157 | |
dev_alexander | 22:abca9d17d13d | 158 | |
Helmut64 | 16:675f4d0ee9e9 | 159 | #else |
Helmut64 | 16:675f4d0ee9e9 | 160 | |
Helmut64 | 16:675f4d0ee9e9 | 161 | #error "unknown board" |
Helmut64 | 16:675f4d0ee9e9 | 162 | |
Helmut64 | 0:c43b6919ae15 | 163 | #endif |