MYSBootloader 1.3pre2 testing
-
hi tekka
I had to change the channel of the NRF from 76 to 0 here because of massive disturbances . Unfortunately, no OTA works now. Is it possible to create a modified bootloader that works with 0 instead of 76? Sorry for the bad english it is translated with google. -
This post is deleted!
-
Hi,
I just start to test this bootloader...
I use an ATmega328p on breadboard with no external clock, with nRF24 and somes sensors.
Firmware Upload (by usbasp) and Run is ok, Send/Receive Data is ok too , but when I ask a reboot (with MYSController 1.0.0beta), my node enter in sort of strange start loop...
My Fuse settings :bootloader.unlock_bits=0x3F bootloader.lock_bits=0x0F bootloader.low_fuses=0x62 bootloader.high_fuses=0xDA bootloader.extended_fuses=0x07Node debug Trace :
..... TSP:MSG:READ 0-0-4 s=2,c=1,t=0,pt=7,l=5,sg=0:28.18 TSP:MSG:READ 0-0-4 s=1,c=1,t=1,pt=7,l=5,sg=0:38.28 TSP:MSG:READ 0-0-4 s=0,c=3,t=13,pt=0,l=1,sg=0:0 StartiStartiStartiStartiþStartiþStartiþStartiStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþ ....The "Startiþ" text is the first char of the first text printed by bootloader at start : "Starting sensor....."
Have you an idea ?Thanks
-
Please provide additional information such as library version, full debug log of your GW and node. Which bootloader/version are you using?
@tekka Thanks for you response
For gateway :
Raspberrry PI Gateway in Ethernet mode
Protocol version : 2.0.1-betaFor Node :
I use bootloader : MYSBL13pre_atmega328_1Mhz.hex
Inital Sketch do nothing :) :#define MY_DEBUG #define MY_BAUD_RATE 9600 #define MY_RADIO_NRF24 #define MY_OTA_FIRMWARE_FEATURE #define MY_NODE_ID 1 #include <MySensors.h> void presentation(){ sendSketchInfo("MyFirstBoard", "0.0.2", true); } void setup() { } void loop() { wait(5000); }Test Case: Start Gateway, Connect MYSController 1.0.0beta, then start my sensor, after init complete, click reboot in MYSController
Gateway Log :mysgw: Starting gateway... mysgw: Protocol version - 2.0.1-beta mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.0.1-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY mysgw: Listening for connections on 0.0.0.0:5003 mysgw: MCO:REG:NOT NEEDED mysgw: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,ID=0,PAR=0,DIS=0,REG=1 mysgw: New connection from 10.31.10.59 mysgw: Client 0 connected mysgw: TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0: mysgw: TSF:MSG:BC mysgw: TSF:MSG:FPAR REQ,ID=1 mysgw: TSF:PNG:SEND,TO=0 mysgw: TSF:CKU:OK mysgw: TSF:MSG:GWL OK mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 mysgw: TSF:MSG:PINGED,ID=1,HP=1 mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1 mysgw: TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFFFFF0300 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100 mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100 mysgw: TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.0.0 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0 mysgw: Client 0: 1;255;3;0;6;M mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=OK:MyFirstBoard mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=OK:0.0.2 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2 mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1 mysgw: Client 0: 1;0;3;0;13;0 mysgw: TSF:MSG:SEND,0-0-1-1,s=0,c=3,t=13,pt=0,l=1,sg=0,ft=0,st=OK:0NodeLog :
Starting sensor (RNONA-, 2.0.0) TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=1) TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSP:MSG:READ 0-0-1 s=255,c=3,t=8,pt=1,l=1,sg=0:0 TSP:MSG:FPAR RES (ID=0, dist=0) TSP:MSG:PAR OK (ID=0, dist=1) TSM:FPAR:OK TSM:ID TSM:CHKID:OK (ID=1) TSM:UPL TSP:PING:SEND (dest=0) TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1 TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1 TSP:MSG:PONG RECV (hops=1) TSP:CHKUPL:OK TSM:UPL:OK TSM:READY TSP:MSG:SEND 1-1-0-0 s=255,c=4,t=0,pt=6,l=10,sg=0,ft=0,st=ok:FFFFFFFFFFFFFFFF0300 TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100 TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0 TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0 TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100 TSP:MSG:READ 0-0-1 s=255,c=3,t=6,pt=0,l=1,sg=0:M TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=ok:MyFirstBoard TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=ok:0.0.2 Request registration... TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2 TSP:MSG:READ 0-0-1 s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard TSP:MSG:READ 0-0-1 s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2 TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1 Node registration=1 Init complete, id=1, parent=0, distance=1, registration=1 TSP:MSG:READ 0-0-1 s=0,c=3,t=13,pt=0,l=1,sg=0:0 StartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiþStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiNeed others infos ?
Thanks for your time -
@tekka Thanks for you response
For gateway :
Raspberrry PI Gateway in Ethernet mode
Protocol version : 2.0.1-betaFor Node :
I use bootloader : MYSBL13pre_atmega328_1Mhz.hex
Inital Sketch do nothing :) :#define MY_DEBUG #define MY_BAUD_RATE 9600 #define MY_RADIO_NRF24 #define MY_OTA_FIRMWARE_FEATURE #define MY_NODE_ID 1 #include <MySensors.h> void presentation(){ sendSketchInfo("MyFirstBoard", "0.0.2", true); } void setup() { } void loop() { wait(5000); }Test Case: Start Gateway, Connect MYSController 1.0.0beta, then start my sensor, after init complete, click reboot in MYSController
Gateway Log :mysgw: Starting gateway... mysgw: Protocol version - 2.0.1-beta mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.0.1-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY mysgw: Listening for connections on 0.0.0.0:5003 mysgw: MCO:REG:NOT NEEDED mysgw: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,ID=0,PAR=0,DIS=0,REG=1 mysgw: New connection from 10.31.10.59 mysgw: Client 0 connected mysgw: TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0: mysgw: TSF:MSG:BC mysgw: TSF:MSG:FPAR REQ,ID=1 mysgw: TSF:PNG:SEND,TO=0 mysgw: TSF:CKU:OK mysgw: TSF:MSG:GWL OK mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 mysgw: TSF:MSG:PINGED,ID=1,HP=1 mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1 mysgw: TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFFFFF0300 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100 mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100 mysgw: TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.0.0 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0 mysgw: Client 0: 1;255;3;0;6;M mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=OK:MyFirstBoard mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=OK:0.0.2 mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2 mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1 mysgw: Client 0: 1;0;3;0;13;0 mysgw: TSF:MSG:SEND,0-0-1-1,s=0,c=3,t=13,pt=0,l=1,sg=0,ft=0,st=OK:0NodeLog :
Starting sensor (RNONA-, 2.0.0) TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=1) TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSP:MSG:READ 0-0-1 s=255,c=3,t=8,pt=1,l=1,sg=0:0 TSP:MSG:FPAR RES (ID=0, dist=0) TSP:MSG:PAR OK (ID=0, dist=1) TSM:FPAR:OK TSM:ID TSM:CHKID:OK (ID=1) TSM:UPL TSP:PING:SEND (dest=0) TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1 TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1 TSP:MSG:PONG RECV (hops=1) TSP:CHKUPL:OK TSM:UPL:OK TSM:READY TSP:MSG:SEND 1-1-0-0 s=255,c=4,t=0,pt=6,l=10,sg=0,ft=0,st=ok:FFFFFFFFFFFFFFFF0300 TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100 TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0 TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0 TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100 TSP:MSG:READ 0-0-1 s=255,c=3,t=6,pt=0,l=1,sg=0:M TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=ok:MyFirstBoard TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=ok:0.0.2 Request registration... TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2 TSP:MSG:READ 0-0-1 s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard TSP:MSG:READ 0-0-1 s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2 TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1 Node registration=1 Init complete, id=1, parent=0, distance=1, registration=1 TSP:MSG:READ 0-0-1 s=0,c=3,t=13,pt=0,l=1,sg=0:0 StartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiþStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiNeed others infos ?
Thanks for your timeStarting sensor (RNONA-, 2.0.0)Your node is running MySensors 2.0.0 (your GW is at 2.0.1, please consider updating), also, there is no sign of MYSBootloader in your GW log - please double-check if you followed the correct procedure.
One more thing: the startup message indicates that you enabled OTA firmware features (RNONA-) - this is not required with MYSBootloader.Please have a look at @scalz's OTA guide for additional information.
-
Starting sensor (RNONA-, 2.0.0)Your node is running MySensors 2.0.0 (your GW is at 2.0.1, please consider updating), also, there is no sign of MYSBootloader in your GW log - please double-check if you followed the correct procedure.
One more thing: the startup message indicates that you enabled OTA firmware features (RNONA-) - this is not required with MYSBootloader.Please have a look at @scalz's OTA guide for additional information.
@tekka Thanks for your response
What are the sign of MYSBootloader in GW log ?
Can I also see any sign of MYSBootloader in Node Log ?I remove OTA firmware features, I now have :
Starting sensor (RNNNA-, 2.0.0)but same problem, after receive reboot message I have a "StartiStartiStartiStartiS...." loop :(:(
-
@tekka Thanks for your response
What are the sign of MYSBootloader in GW log ?
Can I also see any sign of MYSBootloader in Node Log ?I remove OTA firmware features, I now have :
Starting sensor (RNNNA-, 2.0.0)but same problem, after receive reboot message I have a "StartiStartiStartiStartiS...." loop :(:(
-
@Tetnobic No, you won't see anything in the node log - but in the GW log you should see somehting like:
1;255;4;0;0;64000200C803948D0105@tekka Hi, I found my mistake ! You were absolutely right when you said there is no sign of MYSBootloader in my GW log...
But now I know why :) :
I use an USBasp Programmer with Arduino IDE for upload my bootloader and my sketch..., and I mistakenly thought that when I upload bootloader then sketch, it keep bootloader.....but NOT, it overwrite bootloader :(
I fix it by uploading the xxx.with_bootloader.hex file generated by Arduino IDE when compile.Sorry for the inconvenience and thank you for your help
-
@tekka Hi, I found my mistake ! You were absolutely right when you said there is no sign of MYSBootloader in my GW log...
But now I know why :) :
I use an USBasp Programmer with Arduino IDE for upload my bootloader and my sketch..., and I mistakenly thought that when I upload bootloader then sketch, it keep bootloader.....but NOT, it overwrite bootloader :(
I fix it by uploading the xxx.with_bootloader.hex file generated by Arduino IDE when compile.Sorry for the inconvenience and thank you for your help
-
@Tetnobic can this be done within the IDE? I have some nodes where I have to upload with ISP and thought to still have the bootloader, but this explains why OTA didn't work afterwards...
@Anduril I think you can do this without Arduino IDE...
but how compile you code for generate sketch+bootloader ( the xxx.with_bootloader.hex file) in command line I don't know....
For upload this file on my ATMega, I use avrdude, the same command line that ardunio IDE use, but change the .hex file... -
Tried this bootloader.
Have two nodes 8MHz internal, two nodes 1MHz. All run beautifully, the OTA firmware update around a minute with binaryButton sketch. But the node startup is around 7-8 seconds. And no problems uploading the sketch via serial.
I use an UNO as an ASP to burn the bootloader and a simple USB_TTL FTDI converter to upload sketches. -
This may be a stupid question, but I'm using the mysgateway on a Raspberry Pi as my controller which is described here:
Building a Raspberry Pi Gateway
The Raspberry pi runs headless and I do everything through ssh. Is there any way to use MYSBootloader using the mysgateway and initiating the OTA update using the command line?
-
Shall we all join hands and give a warm applause to @tekka for his work and pray that he'll find the time to give us a lovely christmas present. The MYSBootloader 1.3+ pushed to github 😃
-
It's been asked that the source is uploaded multiple times over the last year +, I guess it will not happen anytime soon... :disappointed: