diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 864add74d..896d5ccad 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -65,7 +65,7 @@ jobs:
- name: Integration test
run: |
.pio/build/native/program &
- sleep 5
+ sleep 30 # 5 seconds was not enough
echo "Simulator started, launching python test..."
python3 -c 'from meshtastic.test import testSimulator; testSimulator()'
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 102782696..982b81300 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -14,9 +14,9 @@
+
-
-
+
@@ -62,11 +62,6 @@
-
-
-
-
-
@@ -107,6 +102,7 @@
+
@@ -140,7 +136,7 @@
file://$PROJECT_DIR$/src/mqtt/MQTT.cpp
- 84
+ 166
@@ -148,11 +144,17 @@
468
+
+ file://$PROJECT_DIR$/src/mesh/mesh-pb-constants.cpp
+ 20
+
+
+
diff --git a/bin/readprops.py b/bin/readprops.py
index 047b567d6..7fc471774 100644
--- a/bin/readprops.py
+++ b/bin/readprops.py
@@ -21,7 +21,8 @@ def readProps(prefsLoc):
['git', 'diff', 'HEAD']).decode("utf-8").strip()
suffix = sha
if isDirty:
- suffix = sha + "-dirty"
+ # short for 'dirty', we want to keep our verstrings source for protobuf reasons
+ suffix = sha + "-d"
verStr = "{}.{}.{}.{}".format(
version["major"], version["minor"], version["build"], suffix)
except:
diff --git a/proto b/proto
index 6e05f72a1..157f9891d 160000
--- a/proto
+++ b/proto
@@ -1 +1 @@
-Subproject commit 6e05f72a1a75322bcbea21980386a61b2945fd4f
+Subproject commit 157f9891dd35d3087f51e32dc0b103fcb1f0ca7c
diff --git a/src/mesh/generated/deviceonly.pb.h b/src/mesh/generated/deviceonly.pb.h
index 432572825..76ab8d6aa 100644
--- a/src/mesh/generated/deviceonly.pb.h
+++ b/src/mesh/generated/deviceonly.pb.h
@@ -125,7 +125,7 @@ extern const pb_msgdesc_t ChannelFile_msg;
/* Maximum encoded size of messages (where known) */
#define LegacyRadioConfig_size 4
#define LegacyRadioConfig_LegacyPreferences_size 2
-#define DeviceState_size 5184
+#define DeviceState_size 5190
#define ChannelFile_size 832
#ifdef __cplusplus
diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h
index eb771ebab..faa915dbd 100644
--- a/src/mesh/generated/mesh.pb.h
+++ b/src/mesh/generated/mesh.pb.h
@@ -107,7 +107,7 @@ typedef struct _MyNodeInfo {
uint32_t num_bands;
char region[12];
char hw_model_deprecated[16];
- char firmware_version[12];
+ char firmware_version[18];
CriticalErrorCode error_code;
uint32_t error_address;
uint32_t error_count;
@@ -495,7 +495,7 @@ extern const pb_msgdesc_t ToRadio_PeerInfo_msg;
#define Data_size 260
#define MeshPacket_size 309
#define NodeInfo_size 133
-#define MyNodeInfo_size 95
+#define MyNodeInfo_size 101
#define LogRecord_size 81
#define FromRadio_size 318
#define ToRadio_size 312
diff --git a/src/mesh/mesh-pb-constants.cpp b/src/mesh/mesh-pb-constants.cpp
index fac31872c..eab15799a 100644
--- a/src/mesh/mesh-pb-constants.cpp
+++ b/src/mesh/mesh-pb-constants.cpp
@@ -18,7 +18,7 @@ size_t pb_encode_to_bytes(uint8_t *destbuf, size_t destbufsize, const pb_msgdesc
pb_ostream_t stream = pb_ostream_from_buffer(destbuf, destbufsize);
if (!pb_encode(&stream, fields, src_struct)) {
- DEBUG_MSG("Panic: can't encode protobuf %s, did you make a field too large?\n", PB_GET_ERROR(&stream));
+ DEBUG_MSG("Panic: can't encode protobuf reason='%s', reason=%s\n", PB_GET_ERROR(&stream));
assert(0); // If this asser fails it probably means you made a field too large for the max limits specified in mesh.options
} else {
return stream.bytes_written;
@@ -30,7 +30,7 @@ bool pb_decode_from_bytes(const uint8_t *srcbuf, size_t srcbufsize, const pb_msg
{
pb_istream_t stream = pb_istream_from_buffer(srcbuf, srcbufsize);
if (!pb_decode(&stream, fields, dest_struct)) {
- DEBUG_MSG("Error: can't decode protobuf %s, pb_msgdesc 0x%p\n", PB_GET_ERROR(&stream), fields);
+ DEBUG_MSG("Error: can't decode protobuf reason='%s', pb_msgdesc 0x%p, reason=%s\n", PB_GET_ERROR(&stream), fields);
return false;
} else {
return true;