Update todo list

1.2-legacy
geeksville 2020-02-02 19:20:17 -08:00
rodzic f08e210e8d
commit 83b2a2f180
2 zmienionych plików z 23 dodań i 23 usunięć

30
TODO.md
Wyświetl plik

@ -1,8 +1,7 @@
# High priority
* watch for ntofies of numread changing
* implement android side of mesh radio bluetooth link
* watch for notfies of numread changing
* investigate the Signal SMS message flow path, see if I could just make Mesh a third peer to signal & sms?
* make signal work when there is no internet up
* make Signal rx path work
@ -11,27 +10,16 @@
public static final int SENDERKEY_TYPE = 4;
public static final int SENDERKEY_DISTRIBUTION_TYPE = 5;"
* don't do mesh based algoritm for node id assignment (initially) - instead just store in flash - possibly even in the initial alpha release do this hack
* use the lora net code on my current protoboard
* investigate a 16 bit node number. If possible it would make collisions super rare. Much easier to just pick a nodenum and go.
* add large packet reassembly?
* optionally turn off crypto in signal
* change signal package ID
* optionally turn off crypto in signal - preferably though see if there is a nice way to be a peer of signal/sms and now mesh.
* change signal package ID - if distributing modified binary
* good tips on which bands might be more free https://github.com/TheThingsNetwork/ttn/issues/119
* make my android app show mesh state
* use https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/#4 to show service state
* connect to bluetooth device automatically using minimum power
* fix BT device scanning
* connect to bluetooth device automatically using minimum power, start looking at phone boot
* fix BT device scanning
* call crashlytics from exceptionReporter!!! currently not logging failures caught there
protobuf notes
protoc -I=. --java_out /tmp mesh.proto
to generate nanopb c code
/home/kevinh/packages/nanopb-0.4.0-linux-x86/generator-bin/protoc --nanopb_out=/tmp -I=app/src/main/proto mesh.proto
https://jpa.kapsi.fi/nanopb/docs/
nanopb binaries available here: https://jpa.kapsi.fi/nanopb/download/ use nanopb 0.4.0
# Medium priority
* change info() log strings to debug()
@ -46,8 +34,7 @@ Don't leave device discoverable. Don't let unpaired users do things with device
# Low priority
* make analytics optional
* possibly use finotes for analytics https://finotes.com/
* also add a receiver that fires after a new update was installed from the play stoe
* also add a receiver that fires after a new update was installed from the play store
# Done
@ -70,10 +57,11 @@ Don't leave device discoverable. Don't let unpaired users do things with device
* undo base64
* use android service from Signal
* send signal message type over wire
* DONE add broadcasters for use by signal (node changes and packet received)
* DONE have signal declare receivers: https://developer.android.com/guide/components/broadcasts#manifest-declared-receivers
* fix // FIXME hack for now - throw IdNotFoundException(id) in MeshService
* clean up sw update code in device side
* add real messaging code/protobufs
* implement android side of mesh radio bluetooth link
* use the lora net code on my current protoboard
* investigate a 16 bit node number. If possible it would make collisions super rare. Much easier to just pick a nodenum and go.

Wyświetl plik

@ -41,6 +41,18 @@ If user wants to send a text they can SEND_TEXT(dest user, short text message).
node number, or 0xff for broadcast.
*/
/*
Protobuf build instructions:
protoc -I=. --java_out /tmp mesh.proto
To generate Nanopb c code
/home/kevinh/packages/nanopb-0.4.0-linux-x86/generator-bin/protoc --nanopb_out=/tmp -I=app/src/main/proto mesh.proto
Nanopb binaries available here: https://jpa.kapsi.fi/nanopb/download/ use nanopb 0.4.0
*/
// a gps position
message Position {
double latitude = 1;
@ -49,7 +61,7 @@ message Position {
int32 battery_level = 4; // 0-100
/// true if this position came from the GPS inside the esp32 board, false if it was from a helper app on the phone
bool from_hardware = 5;
bool from_hardware = 5;
}
// Times are typically not sent over the mesh, but they will be added to any Packet (chain of SubPacket)
@ -128,7 +140,7 @@ message SubPacket {
message MeshPacket {
int32 from = 1;
int32 to = 2;
// See note above:
// MeshPayload payloads = 4;
SubPacket payload = 3;