mirror of
https://github.com/meshtastic/firmware.git
synced 2025-12-23 11:10:52 +00:00
Compare commits
16 Commits
0.7.11
...
0.8.1-fixe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d248c6be4b | ||
|
|
39b0a89821 | ||
|
|
d9f43d3e2f | ||
|
|
08c77caaa9 | ||
|
|
cfedc97cd0 | ||
|
|
cfad226b2b | ||
|
|
4ee35a0612 | ||
|
|
44749470a4 | ||
|
|
8fe714d8b1 | ||
|
|
22137ff1bd | ||
|
|
da3b6d1958 | ||
|
|
637960edde | ||
|
|
d9209ffaea | ||
|
|
9fb94796c8 | ||
|
|
f060f7faad | ||
|
|
55673fcd66 |
@@ -8,7 +8,7 @@ COUNTRIES="US EU433 EU865 CN JP"
|
|||||||
#COUNTRIES=US
|
#COUNTRIES=US
|
||||||
#COUNTRIES=CN
|
#COUNTRIES=CN
|
||||||
|
|
||||||
BOARDS="ttgo-lora32-v2 ttgo-lora32-v1 tbeam heltec tbeam0.7"
|
BOARDS="tlora-v2 tlora-v1 tlora-v2-1-1.6 tbeam heltec tbeam0.7"
|
||||||
#BOARDS=tbeam
|
#BOARDS=tbeam
|
||||||
|
|
||||||
OUTDIR=release/latest
|
OUTDIR=release/latest
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
export VERSION=0.7.11
|
export VERSION=0.8.1
|
||||||
@@ -35,6 +35,10 @@ This project is currently in beta testing but it is fairly stable and feature co
|
|||||||
|
|
||||||
This software is 100% open source and developed by a group of hobbyist experimenters. No warranty is provided, if you'd like to improve it - we'd love your help. Please post in the [forum](https://meshtastic.discourse.group/).
|
This software is 100% open source and developed by a group of hobbyist experimenters. No warranty is provided, if you'd like to improve it - we'd love your help. Please post in the [forum](https://meshtastic.discourse.group/).
|
||||||
|
|
||||||
|
### Beginner's Guide
|
||||||
|
|
||||||
|
For an detailed walk-through aimed at beginners, we recommend [meshtastic.letstalkthis.com](https://meshtastic.letstalkthis.com/).
|
||||||
|
|
||||||
# Updates
|
# Updates
|
||||||
|
|
||||||
Note: Updates are happening almost daily, only major updates are listed below. For more details see our forum.
|
Note: Updates are happening almost daily, only major updates are listed below. For more details see our forum.
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ build_flags =
|
|||||||
# board_build.ldscript = linker/esp32.extram.bss.ld
|
# board_build.ldscript = linker/esp32.extram.bss.ld
|
||||||
lib_ignore = segger_rtt
|
lib_ignore = segger_rtt
|
||||||
platform_packages =
|
platform_packages =
|
||||||
framework-arduinoespressif32 @ https://github.com/meshtastic/arduino-esp32.git#71ed4002c953d8c87f44ed27e34fe0735f99013e
|
framework-arduinoespressif32 @ https://github.com/meshtastic/arduino-esp32.git#7a78d82f1b5cf64715a14d2f096b8dd775948ac1
|
||||||
|
|
||||||
; The 1.0 release of the TBEAM board
|
; The 1.0 release of the TBEAM board
|
||||||
[env:tbeam]
|
[env:tbeam]
|
||||||
@@ -115,18 +115,24 @@ build_flags =
|
|||||||
extends = esp32_base
|
extends = esp32_base
|
||||||
board = heltec_wifi_lora_32_V2
|
board = heltec_wifi_lora_32_V2
|
||||||
|
|
||||||
[env:ttgo-lora32-v1]
|
[env:tlora-v1]
|
||||||
extends = esp32_base
|
extends = esp32_base
|
||||||
board = ttgo-lora32-v1
|
board = ttgo-lora32-v1
|
||||||
build_flags =
|
build_flags =
|
||||||
${esp32_base.build_flags} -D TTGO_LORA_V1
|
${esp32_base.build_flags} -D TLORA_V1
|
||||||
|
|
||||||
; note: the platformio definition for lora32-v2 seems stale, it is missing a pins_arduino.h file, therefore I don't think it works
|
; note: the platformio definition for lora32-v2 seems stale, it is missing a pins_arduino.h file, therefore I don't think it works
|
||||||
[env:ttgo-lora32-v2]
|
[env:tlora-v2]
|
||||||
extends = esp32_base
|
extends = esp32_base
|
||||||
board = ttgo-lora32-v1
|
board = ttgo-lora32-v1
|
||||||
build_flags =
|
build_flags =
|
||||||
${esp32_base.build_flags} -D TTGO_LORA_V2
|
${esp32_base.build_flags} -D TLORA_V2
|
||||||
|
|
||||||
|
[env:tlora-v2-1-1.6]
|
||||||
|
extends = esp32_base
|
||||||
|
board = ttgo-lora32-v1
|
||||||
|
build_flags =
|
||||||
|
${esp32_base.build_flags} -D TLORA_V2_1_16
|
||||||
|
|
||||||
; The Heltec Cubecell plus
|
; The Heltec Cubecell plus
|
||||||
; IMPORTANT NOTE: This target doesn't yet work and probably won't ever work. I'm keeping it around for now.
|
; IMPORTANT NOTE: This target doesn't yet work and probably won't ever work. I'm keeping it around for now.
|
||||||
|
|||||||
2
proto
2
proto
Submodule proto updated: ab281311c4...0523977d1f
@@ -211,9 +211,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define RF95_IRQ_GPIO 26
|
#define RF95_IRQ_GPIO 26
|
||||||
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#elif defined(TTGO_LORA_V1)
|
#elif defined(TLORA_V1)
|
||||||
// This string must exactly match the case used in release file names or the android updater won't work
|
// This string must exactly match the case used in release file names or the android updater won't work
|
||||||
#define HW_VENDOR "ttgo-lora32-v1"
|
#define HW_VENDOR "tlora-v1"
|
||||||
#undef GPS_RX_PIN
|
#undef GPS_RX_PIN
|
||||||
#undef GPS_TX_PIN
|
#undef GPS_TX_PIN
|
||||||
#define GPS_RX_PIN 36
|
#define GPS_RX_PIN 36
|
||||||
@@ -232,9 +232,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
||||||
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#elif defined(TTGO_LORA_V2)
|
#elif defined(TLORA_V2)
|
||||||
// This string must exactly match the case used in release file names or the android updater won't work
|
// This string must exactly match the case used in release file names or the android updater won't work
|
||||||
#define HW_VENDOR "ttgo-lora32-v2"
|
#define HW_VENDOR "tlora-v2"
|
||||||
|
|
||||||
#undef GPS_RX_PIN
|
#undef GPS_RX_PIN
|
||||||
#undef GPS_TX_PIN
|
#undef GPS_TX_PIN
|
||||||
@@ -248,14 +248,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost
|
#define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost
|
||||||
#define LED_PIN 25 // If defined we will blink this LED
|
#define LED_PIN 25 // If defined we will blink this LED
|
||||||
#define BUTTON_PIN \
|
#define BUTTON_PIN 0 // If defined, this will be used for user button presses, if your board doesn't have a physical switch, you can wire one between this pin and ground
|
||||||
0 // If defined, this will be used for user button presses, if your board doesn't have a physical switch, you can wire one
|
|
||||||
// between this pin and ground
|
|
||||||
|
|
||||||
#define RESET_GPIO 14 // If defined, this pin will be used to reset the LORA radio
|
#define RESET_GPIO 14 // If defined, this pin will be used to reset the LORA radio
|
||||||
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
||||||
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
|
|
||||||
|
#elif defined(TLORA_V2_1_16)
|
||||||
|
// This string must exactly match the case used in release file names or the android updater won't work
|
||||||
|
#define HW_VENDOR "tlora-v2-1-1.6"
|
||||||
|
|
||||||
|
#undef GPS_RX_PIN
|
||||||
|
#undef GPS_TX_PIN
|
||||||
|
#define GPS_RX_PIN 36
|
||||||
|
#define GPS_TX_PIN 39
|
||||||
|
|
||||||
|
#define I2C_SDA 21 // I2C pins for this board
|
||||||
|
#define I2C_SCL 22
|
||||||
|
|
||||||
|
#define RESET_OLED 16 // If defined, this pin will be used to reset the display controller
|
||||||
|
|
||||||
|
#define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost
|
||||||
|
#define LED_PIN 25 // If defined we will blink this LED
|
||||||
|
#define BUTTON_PIN 12 // If defined, this will be used for user button presses, if your board doesn't have a physical switch, you can wire one between this pin and ground
|
||||||
|
|
||||||
|
#define RESET_GPIO 23 // If defined, this pin will be used to reset the LORA radio
|
||||||
|
#define RF95_IRQ_GPIO 26 // IRQ line for the LORA radio
|
||||||
|
#define DIO1_GPIO 35 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
|
#define DIO2_GPIO 34 // DIO1 & DIO2 are not currently used, but they must be assigned to a pin number
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ARDUINO_NRF52840_PCA10056
|
#ifdef ARDUINO_NRF52840_PCA10056
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
#include "sleep.h"
|
#include "sleep.h"
|
||||||
#include "target_specific.h"
|
#include "target_specific.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
#include <nvs.h>
|
||||||
|
#include <nvs_flash.h>
|
||||||
|
|
||||||
bool bluetoothOn;
|
bool bluetoothOn;
|
||||||
|
|
||||||
@@ -83,13 +85,19 @@ void esp32Setup()
|
|||||||
DEBUG_MSG("Total PSRAM: %d\n", ESP.getPsramSize());
|
DEBUG_MSG("Total PSRAM: %d\n", ESP.getPsramSize());
|
||||||
DEBUG_MSG("Free PSRAM: %d\n", ESP.getFreePsram());
|
DEBUG_MSG("Free PSRAM: %d\n", ESP.getFreePsram());
|
||||||
|
|
||||||
|
nvs_stats_t nvs_stats;
|
||||||
|
auto res = nvs_get_stats(NULL, &nvs_stats);
|
||||||
|
assert(res == ESP_OK);
|
||||||
|
DEBUG_MSG("NVS: UsedEntries %d, FreeEntries %d, AllEntries %d\n", nvs_stats.used_entries, nvs_stats.free_entries,
|
||||||
|
nvs_stats.total_entries);
|
||||||
|
|
||||||
// enableModemSleep();
|
// enableModemSleep();
|
||||||
|
|
||||||
// Since we are turning on watchdogs rather late in the release schedule, we really don't want to catch any
|
// Since we are turning on watchdogs rather late in the release schedule, we really don't want to catch any
|
||||||
// false positives. The wait-to-sleep timeout for shutting down radios is 30 secs, so pick 45 for now.
|
// false positives. The wait-to-sleep timeout for shutting down radios is 30 secs, so pick 45 for now.
|
||||||
#define APP_WATCHDOG_SECS 45
|
#define APP_WATCHDOG_SECS 45
|
||||||
|
|
||||||
auto res = esp_task_wdt_init(APP_WATCHDOG_SECS, true);
|
res = esp_task_wdt_init(APP_WATCHDOG_SECS, true);
|
||||||
assert(res == ESP_OK);
|
assert(res == ESP_OK);
|
||||||
|
|
||||||
res = esp_task_wdt_add(NULL);
|
res = esp_task_wdt_add(NULL);
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ typedef struct _ChannelSettings {
|
|||||||
ChannelSettings_ModemConfig modem_config;
|
ChannelSettings_ModemConfig modem_config;
|
||||||
ChannelSettings_psk_t psk;
|
ChannelSettings_psk_t psk;
|
||||||
char name[12];
|
char name[12];
|
||||||
|
uint32_t bandwidth;
|
||||||
|
uint32_t spread_factor;
|
||||||
|
uint32_t coding_rate;
|
||||||
|
uint32_t channel_num;
|
||||||
} ChannelSettings;
|
} ChannelSettings;
|
||||||
|
|
||||||
typedef PB_BYTES_ARRAY_T(240) Data_payload_t;
|
typedef PB_BYTES_ARRAY_T(240) Data_payload_t;
|
||||||
@@ -241,7 +245,7 @@ typedef struct _ToRadio {
|
|||||||
#define RouteDiscovery_init_default {0, {0, 0, 0, 0, 0, 0, 0, 0}}
|
#define RouteDiscovery_init_default {0, {0, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
#define SubPacket_init_default {0, {Position_init_default}, 0, 0, 0, 0, {0}, 0}
|
#define SubPacket_init_default {0, {Position_init_default}, 0, 0, 0, 0, {0}, 0}
|
||||||
#define MeshPacket_init_default {0, 0, 0, {SubPacket_init_default}, 0, 0, 0, 0, 0}
|
#define MeshPacket_init_default {0, 0, 0, {SubPacket_init_default}, 0, 0, 0, 0, 0}
|
||||||
#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, ""}
|
#define ChannelSettings_init_default {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0}
|
||||||
#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default, false, ChannelSettings_init_default}
|
#define RadioConfig_init_default {false, RadioConfig_UserPreferences_init_default, false, ChannelSettings_init_default}
|
||||||
#define RadioConfig_UserPreferences_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, 0, {0, 0, 0}}
|
#define RadioConfig_UserPreferences_init_default {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, 0, {0, 0, 0}}
|
||||||
#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0}
|
#define NodeInfo_init_default {0, false, User_init_default, false, Position_init_default, 0, 0}
|
||||||
@@ -257,7 +261,7 @@ typedef struct _ToRadio {
|
|||||||
#define RouteDiscovery_init_zero {0, {0, 0, 0, 0, 0, 0, 0, 0}}
|
#define RouteDiscovery_init_zero {0, {0, 0, 0, 0, 0, 0, 0, 0}}
|
||||||
#define SubPacket_init_zero {0, {Position_init_zero}, 0, 0, 0, 0, {0}, 0}
|
#define SubPacket_init_zero {0, {Position_init_zero}, 0, 0, 0, 0, {0}, 0}
|
||||||
#define MeshPacket_init_zero {0, 0, 0, {SubPacket_init_zero}, 0, 0, 0, 0, 0}
|
#define MeshPacket_init_zero {0, 0, 0, {SubPacket_init_zero}, 0, 0, 0, 0, 0}
|
||||||
#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, ""}
|
#define ChannelSettings_init_zero {0, _ChannelSettings_ModemConfig_MIN, {0, {0}}, "", 0, 0, 0, 0}
|
||||||
#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero, false, ChannelSettings_init_zero}
|
#define RadioConfig_init_zero {false, RadioConfig_UserPreferences_init_zero, false, ChannelSettings_init_zero}
|
||||||
#define RadioConfig_UserPreferences_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, 0, {0, 0, 0}}
|
#define RadioConfig_UserPreferences_init_zero {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", 0, 0, {0, 0, 0}}
|
||||||
#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0}
|
#define NodeInfo_init_zero {0, false, User_init_zero, false, Position_init_zero, 0, 0}
|
||||||
@@ -271,6 +275,10 @@ typedef struct _ToRadio {
|
|||||||
/* Field tags (for use in manual encoding/decoding) */
|
/* Field tags (for use in manual encoding/decoding) */
|
||||||
#define ChannelSettings_tx_power_tag 1
|
#define ChannelSettings_tx_power_tag 1
|
||||||
#define ChannelSettings_modem_config_tag 3
|
#define ChannelSettings_modem_config_tag 3
|
||||||
|
#define ChannelSettings_bandwidth_tag 6
|
||||||
|
#define ChannelSettings_spread_factor_tag 7
|
||||||
|
#define ChannelSettings_coding_rate_tag 8
|
||||||
|
#define ChannelSettings_channel_num_tag 9
|
||||||
#define ChannelSettings_psk_tag 4
|
#define ChannelSettings_psk_tag 4
|
||||||
#define ChannelSettings_name_tag 5
|
#define ChannelSettings_name_tag 5
|
||||||
#define Data_typ_tag 1
|
#define Data_typ_tag 1
|
||||||
@@ -436,7 +444,11 @@ X(a, STATIC, SINGULAR, BOOL, want_ack, 11)
|
|||||||
X(a, STATIC, SINGULAR, INT32, tx_power, 1) \
|
X(a, STATIC, SINGULAR, INT32, tx_power, 1) \
|
||||||
X(a, STATIC, SINGULAR, UENUM, modem_config, 3) \
|
X(a, STATIC, SINGULAR, UENUM, modem_config, 3) \
|
||||||
X(a, STATIC, SINGULAR, BYTES, psk, 4) \
|
X(a, STATIC, SINGULAR, BYTES, psk, 4) \
|
||||||
X(a, STATIC, SINGULAR, STRING, name, 5)
|
X(a, STATIC, SINGULAR, STRING, name, 5) \
|
||||||
|
X(a, STATIC, SINGULAR, UINT32, bandwidth, 6) \
|
||||||
|
X(a, STATIC, SINGULAR, UINT32, spread_factor, 7) \
|
||||||
|
X(a, STATIC, SINGULAR, UINT32, coding_rate, 8) \
|
||||||
|
X(a, STATIC, SINGULAR, UINT32, channel_num, 9)
|
||||||
#define ChannelSettings_CALLBACK NULL
|
#define ChannelSettings_CALLBACK NULL
|
||||||
#define ChannelSettings_DEFAULT NULL
|
#define ChannelSettings_DEFAULT NULL
|
||||||
|
|
||||||
@@ -597,12 +609,12 @@ extern const pb_msgdesc_t ManufacturingData_msg;
|
|||||||
#define RouteDiscovery_size 88
|
#define RouteDiscovery_size 88
|
||||||
#define SubPacket_size 274
|
#define SubPacket_size 274
|
||||||
#define MeshPacket_size 313
|
#define MeshPacket_size 313
|
||||||
#define ChannelSettings_size 60
|
#define ChannelSettings_size 84
|
||||||
#define RadioConfig_size 253
|
#define RadioConfig_size 277
|
||||||
#define RadioConfig_UserPreferences_size 188
|
#define RadioConfig_UserPreferences_size 188
|
||||||
#define NodeInfo_size 132
|
#define NodeInfo_size 132
|
||||||
#define MyNodeInfo_size 110
|
#define MyNodeInfo_size 110
|
||||||
#define DeviceState_size 5403
|
#define DeviceState_size 5427
|
||||||
#define DebugString_size 258
|
#define DebugString_size 258
|
||||||
#define FromRadio_size 322
|
#define FromRadio_size 322
|
||||||
#define ToRadio_size 316
|
#define ToRadio_size 316
|
||||||
|
|||||||
Reference in New Issue
Block a user