diff --git a/bin/install-eink.sh b/bin/install-eink.sh index 5bfb6f1a..b1c3d87c 100755 --- a/bin/install-eink.sh +++ b/bin/install-eink.sh @@ -6,6 +6,8 @@ BOOTDIR=/home/kevinh/development/meshtastic/Adafruit_nRF52_Bootloader nrfjprog --eraseall -f nrf52 +# to get tool run "sudo apt-get install srecord" + # this generates an intel hex file that can be programmed into a NRF52 to tell the adafruit bootloader that the current app image is valid # Bootloader settings are at BOOTLOADER_SETTINGS (rw) : ORIGIN = 0xFF000, LENGTH = 0x1000 # first 4 bytes should be 0x01 to indicate valid app image @@ -14,7 +16,7 @@ echo "01 00 00 00 00 00 00 00" | xxd -r -p - >/tmp/bootconf.bin srec_cat /tmp/bootconf.bin -binary -offset 0xff000 -output /tmp/bootconf.hex -intel echo Generating merged hex file -mergehex -m $BOOTDIR/_build/build-ttgo_eink/ttgo_eink_bootloader-0.3.2-125-gf38f8f4-dirty_s140_6.1.1.hex .pio/build/eink/firmware.hex /tmp/bootconf.hex -o ttgo_eink_full.hex +mergehex -m $BOOTDIR/_build/build-ttgo_eink/ttgo_eink_bootloader-0.3.2-213-gf67f592-dirty_s140_6.1.1.hex .pio/build/eink/firmware.hex /tmp/bootconf.hex -o ttgo_eink_full.hex echo Telling bootloader app region is valid and telling CPU to run nrfjprog --program ttgo_eink_full.hex -f nrf52 --reset diff --git a/docs/software/TODO.md b/docs/software/TODO.md index 1649250d..eb34bbba 100644 --- a/docs/software/TODO.md +++ b/docs/software/TODO.md @@ -40,6 +40,8 @@ You probably don't care about this section - skip to the next one. * DONE warn in android app about unset regions * DONE use set-channel from android * DONE add gui in android app for setting region +* clean up python channel usage +* use bindToChannel to limit admin access for remote nodes * make python tests more exhaustive * pick default random admin key * exclude admin channels from URL? @@ -51,6 +53,7 @@ You probably don't care about this section - skip to the next one. * stress test multi channel * investigate @mc-hamster report of heap corruption * DONE use set-user from android +* generalize the concept of "shortstrings" use it for both PSKs and well known channel names. Possibly use a ShortString class. * use portuino TCP connection to debug with python API * 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) * DONE android should stop fetching channels once we've reached our first empty channel definition (hasSettings == true) @@ -80,6 +83,8 @@ You probably don't care about this section - skip to the next one. * DONE move setCrypto call into packet send and packet decode code * implement 'small location diffs' change * move battery level out of position? +* consider "A special exception (FIXME, not sure if this is a good idea) - packets that arrive on the local interface + are allowed on any channel (this lets the local user do anything)." * DOUBLE CHECK android app can still upgrade 1.1 and 1.0 loads eink: