diff --git a/docs/software/TODO.md b/docs/software/TODO.md index c4569cbda..c15c837f3 100644 --- a/docs/software/TODO.md +++ b/docs/software/TODO.md @@ -4,16 +4,21 @@ You probably don't care about this section - skip to the next one. 1.2 cleanup & multichannel: +* clear priority before sending (to keep wire size small) +* generate channel hash from the name of the channel+the psk (not just one or the other) * DONE remove deprecated -* allow chaning packets in single transmission * DONE fix setchannel in phoneapi.cpp * DONE set mynodeinfo.max_channels * DONE set mynodeinfo.num_bands (formerly num_channels) * fix sniffing of non Routing packets -* move portnum up? +* DONE move portnum up? * scrub protobufs to make sure they are absoloute minimum wiresize (in particular packets, ChannelSets and positions) * send a hint that can be used to select which channel to try and hash against with each message * change syncword +* allow chaning packets in single transmission - to increase airtime efficiency and amortize packet overhead +* move #define PACKET_FLAGS_HOP_MASK PACKET_FLAGS_WANT_ACK_MASK out of wire header, instead include keyHint. shrink header len to 14 bytes. +* move most parts of meshpacket into the Data packet, so that we can chain multiple Data for sending when they all have a common destination and key. +when selecting a MeshPacket for transmit, scan the TX queue for any Data packets we can merge together. * DONE move acks into routing * DONE make all subpackets different versions of data * DONE move routing control into a data packet diff --git a/platformio.ini b/platformio.ini index 4b91317d9..c29fe0e0f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -15,6 +15,7 @@ default_envs = tbeam ;default_envs = tlora-v1 ;default_envs = tlora-v2 ;default_envs = lora-relay-v1 # nrf board +;default_envs = eink ;default_envs = linux # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here [common] diff --git a/proto b/proto index 65914b84f..527b0fdc3 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 65914b84f1ee8f25807187d60b43ad29dfbaedc3 +Subproject commit 527b0fdc343f89843158977a1c1a7c14db854565 diff --git a/src/plugins/ExternalNotificationPlugin.cpp b/src/plugins/ExternalNotificationPlugin.cpp index 505eff7d1..84822f1d9 100644 --- a/src/plugins/ExternalNotificationPlugin.cpp +++ b/src/plugins/ExternalNotificationPlugin.cpp @@ -145,7 +145,7 @@ bool ExternalNotificationPluginRadio::handleReceived(const MeshPacket &mp) if (radioConfig.preferences.ext_notification_plugin_enabled) { - auto &p = mp.decoded.data; + auto &p = mp.decoded; if (mp.from != nodeDB.getNodeNum()) { diff --git a/src/plugins/RangeTestPlugin.cpp b/src/plugins/RangeTestPlugin.cpp index dc5f30048..e277f70e9 100644 --- a/src/plugins/RangeTestPlugin.cpp +++ b/src/plugins/RangeTestPlugin.cpp @@ -120,7 +120,7 @@ bool RangeTestPluginRadio::handleReceived(const MeshPacket &mp) if (radioConfig.preferences.range_test_plugin_enabled) { - auto &p = mp.decoded.data; + auto &p = mp.decoded; // DEBUG_MSG("Received text msg self=0x%0x, from=0x%0x, to=0x%0x, id=%d, msg=%.*s\n", // nodeDB.getNodeNum(), mp.from, mp.to, mp.id, p.payload.size, p.payload.bytes); diff --git a/src/plugins/SerialPlugin.cpp b/src/plugins/SerialPlugin.cpp index a3493c880..060f05ba1 100644 --- a/src/plugins/SerialPlugin.cpp +++ b/src/plugins/SerialPlugin.cpp @@ -156,7 +156,7 @@ bool SerialPluginRadio::handleReceived(const MeshPacket &mp) if (radioConfig.preferences.serialplugin_enabled) { - auto &p = mp.decoded.data; + auto &p = mp.decoded; // DEBUG_MSG("Received text msg self=0x%0x, from=0x%0x, to=0x%0x, id=%d, msg=%.*s\n", // nodeDB.getNodeNum(), mp.from, mp.to, mp.id, p.payload.size, p.payload.bytes); diff --git a/src/plugins/StoreForwardPlugin.cpp b/src/plugins/StoreForwardPlugin.cpp index f71fb965b..73df054e8 100644 --- a/src/plugins/StoreForwardPlugin.cpp +++ b/src/plugins/StoreForwardPlugin.cpp @@ -118,7 +118,7 @@ bool StoreForwardPluginRadio::handleReceived(const MeshPacket &mp) if (STOREFORWARDPLUGIN_ENABLED) { - auto &p = mp.decoded.data; + auto &p = mp.decoded; // DEBUG_MSG("Received text msg self=0x%0x, from=0x%0x, to=0x%0x, id=%d, msg=%.*s\n", // nodeDB.getNodeNum(), mp.from, mp.to, mp.id, p.payload.size, p.payload.bytes);