New firmware release v1.17.0.b1 (Completely new LTE class)
-
Hello,
The highlight is that the LTE class has been completely re-written, the functionality is complete and it also allows to send AT commands directly to the cellular radio. The API has changed a bit, so make sure to check the docs here: https://docs.pycom.io/chapter/firmwareapi/pycom/network/lte/cat-m1.html
Here's the complete change log:
-
esp32: New LTE class with comprehensive methods and an option to send AT commands directly. Fix high power consumption issues on the FiPy, GPy and G01 when entering deepsleep.
-
esp32: Fix power output problems for the FiPy and LoPy4 on Sigfox.
-
esp32: Correct LoRaWAN version number to 1.0.2.
-
esp32: Fix antenna selection API for the second generation modules.
Also add antenna selection option for Bluetooth. See: https://docs.pycom.io/chapter/firmwareapi/pycom/network/bluetooth/#bluetoothinitid0-modebluetoothble-antennanone
-
esp32: Fix LoRaWAN ADR behaviour. Enhance lora.stats(). See: https://docs.pycom.io/chapter/firmwareapi/pycom/network/lora.html#lorastats
-
esp32: Fix Sigfox lock-up on the SiPy.
-
esp32: Erase LoRA NVS area if the LoRaWAN region is different than before.
-
esp32: Adding RMT class to machine module
-
esp32: Raise specific exception if region in config block is 0xff.
-
esp32: Do not return a default region if value in flash is not set (0xff)
-
esp32: Take the LoRa region from the config block if not specified.
IMPORTANT: This release requires a a mandatory upgrade of the updater tool.
Cheers,
Daniel -
-
A few notes about the new updater tool:
It now supports re-setting the default LoRa region stored in flash memory. This is only supported when upgrading the firmware via the online software server.
It now supports flashing from a local file.
It also now supports offline mode that allows flashing from a local file when no online connection is available or the software server is unavailable. It is now also possible to "retry" to connect to the software server if the connection has failed. The initial timeout is 5 seconds and will be increased by 5 seconds on every attempt up to a maximum of 60 seconds.
@seb is working on the documentation for the CLI tool. It has a few new features which you might find helpful.
First off there are now some helpful messages being displayed by default. For scripting purposes, there is a new global option -q / --quiet to disable the messages.
One of the new messages being shown is the mode in which the updater is operating. If it shows PIC mode, it is trying to use the Pytrack / Pysense to automatically switch into firmware update mode. If it shows FTDI mode, this indicates an Expansion Board 2.0 (or 3rd party adapter). There are some rare cases where this detection could fail, and you can now force either mode by using the global --ftdi / --pic options. [Update:] These options can now also be used with the
updatecommand for the Linux dialog based updater.
Other notable changes are the sigfox command now functioning correctly and a new option in the lpwan command --erase_region which allows erasing the default LoRa region in flash memory. The other new commands lpwan --lora_region and write_remote are specifically to support the dialog based cli updater for Linux and especially write_remote is not intended for general use.As Daniel mentioned this is a mandatory update and you might see various types of error messages in earlier version.
If you have any issues with this new version please don't hesitate to contact me and I will try to help / fix it as quickly as possible.
-
@Xykon
It's great to see option to flash from local file implemented.Does it perform full flash erase prior to upgrading? If not, would it be possible to add such option?
-
@danielm May I ask what would be the purpose of that? Is it just to erase the flash file system or do you have any reason to erase the config, nvs and ota partitions?
-
@daniel I'm a little bit sad that you did not add a fix to deactivate Ctrl-F if wanted.
-
@Xykon
I currently use esptool.py to perform flash erase mainly because my application checks for a flag in the NVS when booting. If this flag is not present initialization routine is launched during first boot after the upgrade. Secondly I would like to be sure that no data from previous versions will stay in the file system. My application creates config file (during first boot) which may differ between versions of the firmware. -
@danielm I would not allow this in a general release.
Since you are using custom firmware, you can define the erase yourself in the script file. See below example from the LoPy archive:
[ ["e", "0x1000", "0x40000"], ["e", "0x41000", "0x40000"], ["e", "0x81000", "0x40000"], ["e", "0xC1000", "0x40000"], ["e", "0x101000", "0x40000"], ["e", "0x141000", "0x40000"], ["e", "0x181000", "0x40000"], ["e", "0x1C1000", "0x40000"], ["w", "0x1000", "bootloader.bin"], ["w", "0x8000", "partitions.bin"], ["w", "0x10000", "lopy.bin"] ]All lines starting with "e" are erase commands. Then you have the start block and the erase size (which is limited to 0x40000).
Please keep in mind that if you use a LoRa or Sigfox device then the LoRa MAC address and Sigfox credentials are stored in the config block (0x3FF000) and if you don't have an online connection while flashing, these details would not be restored. If a device is erased before being flashed for the first time with the online updater, the LoRa MAC address will be permanently lost.
P.S. Could you please send us an email at support@pycom.io with a reference to this discussion. I have a few ideas that might work really well for you and allow us to get some feedback at the same time.
-
@daniel using lora.stat() in lorawan mode is always getting 0 value in tx_power and tx_frequency. It's supposed to be like that??? All the other fields appear to be fine.
-
@neuromystix
tx_frequencyis incorrect and always returns 0.tx_powershould show correct values. Note that it represents the power setting as specified in the regions spec, so for instance in EU868 0 is max, 1 is 2 dBm below max, etc. -
@jcaron Iep, for tx_power it make sense, following the specification. Only now i read your last post that say the frequency problem.
Not that i need this values, however since i'm testing ADR (and checking if in this release it works better) i added a print of stats and found that 0 values strange. At least for the frequency.
-
@neuromystix It should work better, with the data rate no longer stuck at the default value forever.
I'm not 100% convinced by the approach chosen which is to ignore completely data rate set requests if ADR is enabled (I would still allow them and use them as a starting point until either the network says something or there are enough losses to change), let us know what you think.
Note that there are still at least 2 issues I'm aware of when using LoRaWAN with deep sleep:
- the channels mask is not saved/restored, so after deep sleep you go back to the default channel numbers.
- buffered MAC commands are not properly restored, so MAC command ACKs will never be sent and the network will continue to send the request again and again (if you sleep after each frame).
-
@jcaron Confirmed: If i manually change DR in Lorawan Server (with ADR disabled or enable on device), Lopy also change it. In old versions it wasn't working.
I'm not using deep sleep right now (don't have any shield yet) however i'm using lora_save/restore and after the first restart i loose all the additional 5 channels, being stuck at the default 3 (868.1, 868,.3, 868,5). In my project i need the devices to be restart tolerant, even if i don't use deep sleeps. I workaround it, re-initiating all the 8 channels after call nvram_restore(), when restarting and when already activated. If i don't do it, restore() get the three default channels. Maybe it's not the correct way to do it but worked here.
Not really sure what is being stored by lora.nvram_save(), it should be clarified in documentation. I know that FCnt and keys are stored but what else?@jcaron Is there any simple way to check what's going on at Lopy MAC layer? At server side i can check the log's, but in the devices i don't know how?
-
@neuromystix The issues with deep sleep would be the same if you use nvram_save/restore around a restart/power down.
The channels issue is due to the channels mask not being saved/restored, I suppose @daniel should be able to fix it soon along with the MAC command buffer issue.
nvram_savesaves a lot of things (this has grown significantly over the various firmware releases), but there's always one additional bit missing :-( The Semtech LoRaWAN stack has a tendency to have the state spread out over lots of different places which makes it a bit difficult at times.To know what's happening at the MAC layer, at the moment the only way I know of is to rebuild the firmware yourself and add traces. I have dozens of
printfsall over there right now :-) I agree that it would be really, really helpful if there was a way to activate some kind of debug/monitor mode which would show all the data being sent/received along with the different settings (frequency, data rate, power...), though given how the Semtech LoRa stack is structured, it's not necessarily easy. -
@jcaron Iep that was the MAC layer solution i was thinking about. Right now i don't have time to try it. But i'm following your feedback ;)
This evening i will continue my tests with ADR.
-
Can someone point me towards the URL of the new updater tool (OSX) and download link for v1.17.0.b1? I am having lots of problems with SigFox locking up, so I'd love to test this.
-
@losi
The links at the top of this page should always point to the latest version:
https://docs.pycom.io/chapter/gettingstarted/installation/firmwaretool.html -
@jcaron simple question: what is the default DR/power you get when starting a device with ADR enabled?
Yesterday i tried ADR, which appear to be working but always started at DR0. After the server send the LinkADRReq command Lopy change DR, so in a simple way it appears to be working. However server is configured to start with DR5, Lopy the same, but always start with DR0. Same code, with ADR disabled and Lopy start with DR5 without problem.
-
@neuromystix as I understand the changes as @daniel made them in this version:
- if ADR is enabled then it will start at DR0 (SF12), and change if the network says otherwise (LinkADRReq) or there's enough packet loss to increment the DR
- if ADR is not enabled, then each single frame will be sent with the data rate configured via
setsockopt, or DR5 (SF7) if nothing has been specifically set. Not sure if LinkADRReq requests are denied or accepted, but they will have no effect.
-
Board: L01
CRASH with flash erase. This is happening often after sending multiple Lora messages as request and receiving a Lora message as response in a simple Lora - Lora connection.
Can someone explain why ESP32 is flashed? - my scripts are erased and also main.py and boot.py are restored to default.
I checked also with uos.listdir() and there are a lot of junks (see below after crash uput)Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed) Register dump: PC : 0x400dbec8 PS : 0x00060034 A0 : 0x80084c68 A1 : 0x3ffc1390 A2 : 0x3ffc784c A3 : 0x00000001 A4 : 0x8008bf73 A5 : 0x3ffc13a0 A6 : 0x00000020 A7 : 0x00000020 A8 : 0x80084a58 A9 : 0x3ffc1370 A10 : 0x00000012 A11 : 0x3ffc1391 A12 : 0x3ffc1391 A13 : 0x3ffc7864 A14 : 0x3ffc7854 A15 : 0x00000402 SAR : 0x0000000e EXCCAUSE: 0x00000007 EXCVADDR: 0x00000000 LBEG : 0x4009a73c LEND : 0x4009a76a LCOUNT : 0x00000000 Backtrace: 0x400dbec8:0x3ffc1390 0x40084c65:0x3ffc13c0 0x40083f0b:0x3ffc13f0 0x40083585:0x3ffc1410 0x400621f9:0x00000000 ================= CORE DUMP START ================= LCgAAA0AAABsAQAA UDj9P+A2/T9IOP0/ 4Db9P+A3/T9UkePQ6FH8P+hR/D9QOP0/4FH8PwEAAADIav0/yGr9P1A4/T8AAAAA GAAAAEw0/T9pcGMwABVA5g5OoraPJm8AAAAAAEg4/T8AAAAAJQAGABgAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKi2sQ== NDMIQH5XCEA0DwYAmh0IgKA3/T8AAAAAAQAAAJBq/T8AAAAAAQAAAAAAAAAEpPw/ AAAAAAEAAABMAAASBBn8PwEAAAD+AAAAFwAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA AAAAAAQZ/D8BAAAAVDAIQHjm+D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAACGIAAA/gAAABcAAAAAAAAAwDf9P9hO/D/ITvw/ 6Gr9PwAAAACcav0/AAAAAAAAAADgN/0/AAAAAAAAAABAVwhAAAAAAAAAAAAAAAAA NRIIgEA8/j9kT/w/bE/8PwAAAAAAAAAA7Df9PwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA IFv9P6BZ/T8YW/0/ oFn9P7Ba/T+NvCD1nGD9PwhQ/D8gW/0/AFD8PxkAAABqGlDhXg+IxSBb/T8AAAAA AAAAABxX/T9JRExFAPOBHrhQ9qfnu4AAAAAAABhb/T8AAAAAIQAGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7VKQ== NDMIQMTmFEAwDwYA4L4IgGBa/T8gAAAAAQAAAAAAAACUpvw/9FH8P5xP/D+wpvw/ QFr9PwAAAAD4OAhAIA0GAGBR/T8DAAAAIwAGAAAAAABgWv0/OEL9PwAAAAAAAAAA AAAAAC01CEBgUf0/SM0IQEgJ+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAAAAAAAAgFr9PwAAAAAAAAAA AAAAAAQZ/D/0Ufw/nE/8PwAAAACwWv0/AAAAAAAAAAAEGfw/AAAAAAAAAAAAAAAA AQAAAAAAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALxa/T8AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== lGD9PxBf/T+MYP0/ EF/9PyBg/T9eWJqiCFD8Pyhb/T+UYP0/AFD8PxkAAACIFjsVs8Kan5Rg/T8AAAAA AAAAAJBc/T9JRExFACa9xXw2jMuuC8gAAQAAAIxg/T8AAAAAIwAGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBFug== NDMIQMTmFEAwCgYA4L4IgNBf/T8gAAAAAQAAACAAAACUpvw/+FH8P5xP/D/Qpvw/ sF/9PwAAAAAAAAAAAAAAAPCb/T8DAAAAIwAGAAwAAADQX/0/IAAAAPhvDkA0cA5A AAAAAC01CEDwm/0/SM0IQLgO+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAAAAAAAA8F/9PwAAAAABAAAA IAAAAJSm/D/4Ufw/nE/8PwAAAAAgYP0/AAAAAAAAAAAEGfw/AAAAAAAAAAAAAAAA AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxg/T8AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= BGL9P0B1/T+Ydv0/ QHX9PzB2/T+HIAAAWGv7P0RV/T8EYv0/7E/8Pw8AAADQa/0/0Gv9PwRi/T/Ia/0/ CgAAAJxs/T9UbXIgU3ZjAMBjrnOpEqcAAAAAAJh2/T8AAAAAIQAGAAoAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcGTw== NDMIQJnLCEAwAQYAAAAAAAB2/T8BAAAAhyAAAAAAAAAEUvw//FH8P4YgAACZywiA 4HX9PwAAAAAEGfw/AAAAAAAAAAAAAAAAAAAAACAAAADIJPk/AAAAADynCUBqpwlA AAAAAC01CEAAAAAASM0IQMgk+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAMHb9PwAAAAAAAAAA AAAAACgIAAB04/0/AAAAAAAAAAAEUvw//FH8P1ogAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA8dv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA= UGv7P1Bp+z9Ia/s/ UGn7P+Bq+z+HIAAAjGP9Pwxi/T9Qa/s/7E/8PxMAAACgFP306bsvWlBr+z8AAAAA BgAAAExh+z9Mb1JhAEACTFqOUf/RMYAAAQAAAEhr+z8AAAAAIQAGAAYAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOyiA== NDMIQFC+CEAwDgYAUhwQgBBq+z+HIAAA+FH8PwQZ/D8BAAAAAAAAAAAAAABQvgiA 8Gn7PwEAAACHIAAAUGv7PwEAAAD+AAAAEAAAAA4AAACDafs/ZHj8PyCpCUArqQlA AAAAAC01CEABAAAASM0IQHgZ9z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAMGr7P8hk/D8EAAAA B////0x4/D8BAAAAAAAAAAAAAADgavs/AAAAAAAAAAAIAAAAAAAAAAAAAAABAAAA AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4Gfc/AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAZvw/CwAAAGzhQj8BAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Gr7PwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA hGP9P1BL/T8wTf0/ UEv9P9BM/T/CIAAA9E/8P1hr+z+EY/0/7E/8PwcAAAD4rv0/+K79P4Rj/T/wrv0/ EgAAADQ//T90aVQAdACZ0es3LF7mEIQA////fzBN/T8AAAAAIQAGABIAAAABAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANrEAA== NDMIQAixCEAwDQYArYAWgBBM/T/Mrv0/oEz9Pxiv/T8AAAAAIK/9PwAAAAAIsQiA 8Ev9PwAAAABkAAAA9FH8PwAAAAAEGfw/AAAAAB8AAAAAAAAAAAAAAJFrFkCaaxZA AAAAAC01CEAAAAAASM0IQGj7+D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAACBM/T8ATP0/DAAAABSv/D/xBRaAUEz9P6Sp/D+gTP0/ AAAAAF4gAAAAAAAAAAAAAGQAAABgTP0/BgAAABSv/D/8BRaAYEz9PwAAAAD4OAhA v5AVgIBM/T+kqfw/oEz9P7+QFYCATP0/pKn8P6BM/T9kAAAAXiAAAPb///8BAAAA AAAAAKBM/T+krRVAAAAAAECw/D+8BBZAAAAAAPRR/D8AAAAA0Ez9PwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAADcTP0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA PFX9P9BT/T80Vf0/ 0FP9P9BU/T+HIAAADGL9P/RP/D88Vf0/7E/8PxQAAAAAAAAAAAAAADxV/T8AAAAA BQAAADhN/T9TZXJ2ZXJzAAAAAAAAAAAAAQAAADRV/T8AAAAAIQAGAAUAAAAAAAAA HNv7PwAAAABwNw1AAAAAAAsAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== NDMIQFC+CEAwAgYAT9ENgJBU/T+HIAAA+FH8PwQZ/D8BAAAAAAD/AAAAAP9QvgiA cFT9PwEAAACHIAAAPFX9PwEAAAD+AAAAIwAGAAAAAABoA/k/AAAAADynCUBqpwlA /////y01CEABAAAASM0IQGgD+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAAAAAAAAsFT9PwAAAAABAAAA BBn8PwEAAAAAAP8AAAAA/wAAAADQVP0/AAAAAAAAAAAAAAAAAQAAAKpX/D8AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3FT9PwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA= xD39PzA8/T+8Pf0/ MDz9P1A9/T80WTHQoFH7PzTJ/T/EPf0/fE/8PwEAAAAga/0/IGv9P8Q9/T8Ya/0/ GAAAAMA5/T9pcGMxALwC3EZYrlOeBN8AAQAAALw9/T8AAAAAIQAGABgAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5ygw== NDMIQAixCEAwBgYAbB0IgPA8/T/0av0/AAAAAEBr/T8AAAAA9Gr9PwAAAAAIsQiA 0Dz9PwEAAAD/////+FH8PwEAAAAEGfw/IAMGAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAC01CEABAAAASM0IQOjr+D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAMQ9/T8BAAAA/gAAACMABgAAAAAAMD39P9xO/D8AAAAA AAAAABMIAAAAAAAAIAMGAP////8AAAAA3E78P8hO/D+Qav0/AAAAAAEAAAAAAAAA AAAAAFA9/T8AAAAAAAAAAEBXCEABAAAAAAAAAAAAAADREgiAgH3+PwEAAAAAAAAA AAAAAAAAAABcPf0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA mFH7PwBQ+z+QUfs/ AFD7PzBR+z+Jm813/GT9P8w9/T+YUfs/fE/8PwQAAAAIR/s/CEf7P5hR+z8AR/s/ FQAAAJRH+z9wbVQAM3Pixyq2xIrxMIUA////f5BR+z8AAAAAIQAGABUAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEV9gw== NDMIQAixCEAwBAYAVeQSgMBQ+z/cRvs/AFH7PyhH+z8AAAAAMEf7PwAAAAAIsQiA oFD7PwEAAAD/////+FH8PwEAAAAEGfw/AAAAAAAAAADI//Y/AAAAADynCUBqpwlA /////y01CEABAAAASM0IQMj/9j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAADoAwABAAAABBn8PwAAAAAAAAAAAFH7PxCM/D+MN0M/ AAAAABUIAAAQjPw/jDdDP/////8tNQhAAAAAAEjNCEAoR/s/AAAAADBH+z8AAAAA AAAAADBR+z8AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABMjfw/EIz8PywBAAAAAAAg AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPFH7PwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAA== 9GT9P3DB/T8ow/0/ cMH9P8DC/T+UaaUxYNj7P6BR+z/0ZP0/fE/8PwUAAAAAsf0/ALH9P/Rk/T/4sP0/ FAAAACy3/T9ldmVudFRhc2sA7qT7rxsAAAAAACjD/T8AAAAAIQAGABQAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFN6A== NDMIQAixCEAwAwYA6OUUgDDC/T/UsP0/cML9PyCx/T8AAAAAKLH9PwAAAAAIsQiA EML9PwAAAAD/////9FH8PwAAAAAEGfw/hGP9PwAAAABY8BSA8MH9PzynCUBqpwlA /////y01CEAAAAAASM0IQFhx+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAACADBgCgwv0/AAAAAAAAAAAAAAAAcML9P0ym/D8AAAAA AAAAACUIAAD+AAAAhGP9P/////9wwv0/TKb8PwAAAAAgsf0/AAAAALix/T8BAAAA AAAAAMDC/T8AAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAADMwv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA= WNj7P7DW+z9Q2Ps/ sNb7P/DX+z9qsVforDL9P/xk/T9Y2Ps/fE/8PwIAAADowfs/6MH7P1jY+z/gwfs/ FwAAAFTI+z93aWZpAJ2ZNA3UZ72NvrgAAAAAAFDY+z8AAAAAIQAGABcAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOU9pA== NDMIQAixCEAwAwYAKBATgHDX+z+8wfs/wNf7PwjC+z8AAAAAEML7PwAAAAAIsQiA UNf7PwAAAAD/////9FH8PwAAAAAEGfw/AAAAAAUAAAAAAAAAAAAAADynCUBqpwlA /////y01CEAAAAAASM0IQIiG9z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAACADBgDI1/s/CgAAAIQAlD8AAAAAsNf7P6DN/D9gjfw/ AAAAACUIAAABAAAAAAAAAP////+w1/s/oM38P2CN/D9Y2Ps/AQAAAP4AAAABAAAA AAAAAPDX+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAhACUPwAAAAAAAAAA GgAAAFDrEUBgkfw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPzX+z8AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= pDL9PxAx/T+cMv0/ EDH9PzAy/T8nNaOGhE/8P2DY+z+kMv0/fE/8PwMAAAAEaf0/BGn9P6Qy/T/8aP0/ FgAAAKAm/T9lc3BfdGltZXIApG5THSgAAAAAAJwy/T8AAAAAIQAGABYAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABF2zw== NDMIQAixCEAwDwYANSYNgNAx/T/YaP0/AAAAACRp/T8AAAAA2Gj9PwAAAAAIsQiA sDH9PwAAAAD/////9FH8PwAAAAAEGfw/IAAGAAAAAAAAAAAAAAAAADynCUBqpwlA /////y01CEAAAAAASM0IQMjg+D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAPRR/D8AAAAABBn8PyAABgAAAAAAEDL9P4RO/D+MTvw/ AAAAAAoJAAAJAAAAIAAGAP////8QMv0/yFj7P4xO/D8kaf0/AAAAANho/T8AAAAA AAAAADAy/T8AAAAAAAAAAAAAAAAAAAAAjE78PwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA8Mv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA LMn9P4Dg/T+Y4v0/ gOD9PzDi/T9dOJVYzD39P4RP/D8syf0/fE/8Pw4AAABcw/0/XMP9PyzJ/T9Uw/0/ CwAAAJzK/T9JUlFzAEp92baI7hUgPNgAAQAAAJji/T8AAAAAIQAGAAsAAAAAAAAA AAAAAMzh/T8AAAAAAAAAAAAAAAA0Z/0/nGf9PwRo/T8AAAAAAAAAAAEAAAAAAAAA ullAPwAAAAAcrwlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg3VOA== NDMIQAixCEAwAQYAI4MOgEDh/T8ww/0/4OH9P3zD/T8AAAAAhMP9PwAAAAAIsQiA IOH9PwEAAAD/////+FH8PwEAAAAEGfw/AAAAAAAAAADIkPk/AAAAAAAAAAAAAAAA AAAAAC01CEABAAAASM0IQMiQ+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABjAAAApaWlpaWlpaXI0w2AgOH9P9hd/D/g4f0/ AAAAAGsAAAClpaWlpaWlpf////+A4f0/tGD8P+Dh/T8AAAAAAQAAAMxd/D+AM/w/ AAAAABDi/T/MXfw/AAAAADDi/T8AAAAAAAAAAAAAAAAAAAAAzF38PwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQX/w/ UF/8PwAAAADg4f0/ABQAAMiQ+T8AAAAAAAAAAAAAAABQX/w/AAAAAAoAAAD///9/ AAAAADDi/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA84v0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAA= ================= CORE DUMP END ================= E (10277) esp_core_dump: Skipped 1 tasks with bad TCB! E (10282) esp_core_dump: Crashed task has been skipped! Rebooting... ets Jun 8 2016 00:22:57 rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff9028,len:8 load:0x3fff9030,len:1060 load:0x4009fa00,len:0 ho 12 tail 0 room 4 load:0x4009fa00,len:14096 entry 0x400a05e0 MicroPython d0dc708-dirty on 2018-03-01; LoPy with ESP32 >>> uos.listdir() ['\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x 00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x0 0.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x0 0\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x0 0\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x0 0\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x0 0\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00 .\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00 \x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00 \x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00 \x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', ' \x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00', 'main.py', 'sys', 'lib', 'cert', 'boot.py'] -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login