Merge pull request #725 from geeksville/dev1.2

release to devs
pull/727/head^2
Kevin Hester 2021-03-03 11:47:17 +08:00 zatwierdzone przez GitHub
commit fdb3cee3f2
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
5 zmienionych plików z 33 dodań i 16 usunięć

Wyświetl plik

@ -2,6 +2,7 @@
set -e
VERSION=`bin/buildinfo.py`
FILENAME=release/latest/bins/universal/firmware-tbeam-$VERSION.bin
echo Installing release/latest/bins/firmware-tbeam-US-$VERSION.bin
esptool.py --baud 921600 write_flash 0x10000 release/latest/bins/firmware-tbeam-US-$VERSION.bin
echo Installing $FILENAME
esptool.py --baud 921600 write_flash 0x10000 $FILENAME

Wyświetl plik

@ -20,21 +20,35 @@ You probably don't care about this section - skip to the next one.
* DONE fix python data packet receiving (nothing showing in log?)
* DONE implement 'get channels' Admin plugin operation
* DONE use get-channels from python
* use get channels & get settings from android
* DONE use get channels & get settings from android
* use set-channel from python
* DONE make settings changes from python work
* DONE pthon should stop fetching channels once we've reached our first empty channel definition (hasSettings == true)
* DONE add check for old devices with new API library
* DONE release python api
* DONE release protobufs
* DONE release to developers
* fix 1.1.50 android debug panel display
* add gui in android app for setting region
* stress test channel download from python, sometimes it seems like we don't get all replies
* investigate @mc-hamster report of heap corruption
* use set-channel from android
* DONE use set-user from android
* combine acks and responses in a single message if possible (do routing plugin LAST and drop ACK if someone else has already replied)
* don't send packets we received from the phone BACK TOWARDS THE PHONE (possibly use fromnode 0 for packets the phone sends?)
* use portuino TCP connection to debug with python API
* make python tests more exhaustive
* document the relationship between want_response (indicating remote node received it) and want_ack (indicating that this message should be sent reliably - and also get acks from the first rx node and naks if it is never delivered)
* test multi channel
* stress test multi channel
* pick default random admin key
* DONE android should stop fetching channels once we've reached our first empty channel definition (hasSettings == true)
* add channel restrictions for plugins (and restrict routing plugin to the "control" channel)
* restrict gpio & serial & settings operations to the admin channel (unless local to the current node)
* add gui in android app for setting region
* warn in python api if we are too new to talk to the device code
* make a post warning about 1.2, telling how to stay on old android & python clients. link to this from the android dialog message and python version warning.
* DONE "FIXME - move the radioconfig/user/channel READ operations into SettingsMessage as well"
* DONE scrub protobufs to make sure they are absoloute minimum wiresize (in particular Data, ChannelSets and positions)
* change syncword
* DONE change syncword (now ox2b)
* allow chaning packets in single transmission - to increase airtime efficiency and amortize packet overhead
* DONE 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 as a WirePayload. In the low level send/rx code expand that into multiple MeshPackets as needed (thus 'hiding' from MeshPacket that over the wire we send multiple datapackets
@ -45,15 +59,14 @@ You probably don't care about this section - skip to the next one.
* DONE move acks into routing
* DONE make all subpackets different versions of data
* DONE move routing control into a data packet
* have phoneapi done via plugin
* have phoneapi done via plugin (will allow multiple simultaneous API clients - stop disabling BLE while using phone API)
* DONE figure out how to add micro_delta to position, make it so that phone apps don't need to understand it?
* only send battery updates a max of once a minute
* add python channel selection for sending
* DONE record recevied channel in meshpacket
* test remote settings operations (confirm it works 3 hops away)
* add channel restrictions for plugins (and restrict routing plugin to the "control" channel)
* make a primaryChannel global and properly maintain it when the phone sends setChannel
* move setCrypto call into packet send and packet decode code
* DONE make a primaryChannel global and properly maintain it when the phone sends setChannel
* DONE move setCrypto call into packet send and packet decode code
* implement 'small location diffs' change
* move battery level out of position?
* DOUBLE CHECK android app can still upgrade 1.1 and 1.0 loads

2
proto

@ -1 +1 @@
Subproject commit 7de496ffe941f88e9d99c2ef2c7bc01f79efe11e
Subproject commit 94bd0aae44e2c16c7776289225c804100c856cd4

Wyświetl plik

@ -80,10 +80,13 @@ class RadioLibInterface : public RadioInterface, protected concurrency::Notified
protected:
/**
* FIXME, use a meshtastic sync word, but hashed with the Channel name. Currently picking the same default
* the RF95 used (0x14). Note: do not use 0x34 - that is reserved for lorawan
* We use a meshtastic sync word, but hashed with the Channel name. For releases before 1.2 we used 0x12 (or for very old loads 0x14)
* Note: do not use 0x34 - that is reserved for lorawan
*
* We now use 0x2b (so that someday we can possibly use NOT 2b - because that would be funny pun). We will be staying with this code
* for a long time.
*/
uint8_t syncWord = SX126X_SYNC_WORD_PRIVATE;
const uint8_t syncWord = 0x2b;
float currentLimit = 100; // FIXME

Wyświetl plik

@ -52,7 +52,7 @@ extern "C" {
#define DeviceState_version_tag 8
#define DeviceState_no_save_tag 9
#define DeviceState_did_gps_reset_tag 11
#define DeviceState_channels_tag 12
#define DeviceState_channels_tag 13
/* Struct field encoding specification for nanopb */
#define DeviceState_FIELDLIST(X, a) \
@ -65,7 +65,7 @@ X(a, STATIC, OPTIONAL, MESSAGE, rx_text_message, 7) \
X(a, STATIC, SINGULAR, UINT32, version, 8) \
X(a, STATIC, SINGULAR, BOOL, no_save, 9) \
X(a, STATIC, SINGULAR, BOOL, did_gps_reset, 11) \
X(a, STATIC, REPEATED, MESSAGE, channels, 12)
X(a, STATIC, REPEATED, MESSAGE, channels, 13)
#define DeviceState_CALLBACK NULL
#define DeviceState_DEFAULT NULL
#define DeviceState_radio_MSGTYPE RadioConfig