MYSBootloader 1.3 pre-release & MYSController 1.0.0beta


  • Admin

    To summarize recent discussions and open questions:

    MySensors offers two OTA FW update solutions:

    Dualoptiboot requires external flash: OTA FW updates are transmitted online, i.e. while the node is active. Once all FW packets are transmitted and CRC verified, the node reboots, dualoptiboot copies FW from external flash to MCU and hands over to the new sketch/FW.

    Pro: Radio agnostic, online (while node processes sensor data)
    Cons: Faulty FW (e.g. freezing sketch) cannot be recovered OTA => recovery via serial port necessary, external flash required

    MYSBootloader does not require external flash: OTA FW updates are transmitted offline, i.e. MYSBootloader communicates with the controller and receives new FW which is directly written to MCU, once FW is transmitted and CRC verified, MYSBootloader hands over to the new sketch/FW.

    Pro: recovery OTA possible, also with a faulty/buggy sketch (if sketch freezes, watchdog resets and MYSBootloader takes over), no external flash required
    Cons: Radio specific, i.e. different bootloader for RF24 and RFM69 radio (work in progess) necessary, offline (no sensor data processing possible)



  • @tekka Please post this important info in the main thread. This really makes things clear for me.



  • Actually I thought that DualOptiboot can be recovered over the air since it copies in the external flash. Thus if a faulty FW occurred because of CRC is not verified for example, then the bootloader won't copy the faulty FW to the MCU.


  • Hardware Contributor

    @tekka oh sorry I didn't see your post!! It seems you have done very nice improvements 🙂 I think I have missed things...I will update the topic I started with your details.
    Wow 4k bootloader with signing!
    Very nice catch! I didn't thought about the faulty fw for dualoptiboot!!
    So your preference goes to your little baby bootloader 🙂 At first I choosed dualopt because I use rfm69...and because with mysbootldr if the upload fails, it would stay in bootloader and offline mode..
    In other hand the faulty fw case... so to be sure I have to check carefully my sketch on breadboard before uploading!!

    So for the moment, I stay with dualopt for my rfm69 but will keep an eye on your rfm69 improvements 😉 That said do you think dualopt will become "useless"...and I should stop to use eeprom for bootloading??? I am feeling this now..
    And with 4k bootloadr, atsam becomes interesting..

    @ahmedadelhosni : if I understand right, faulty fw means if your code is not nice and make freeze your node, and you uploaded it, crc ok, reboot node and your bad code freeze the node..not nice usecase....


  • Admin

    @scalz If the OTA FW upload fails for whatever reason with MYSBootloader, it will reset and re-request a new FW, hence recovery is anytime possible.


  • Hardware Contributor

    @tekka : oki ...so lot of chance I will move to your bootloader, so no need to add eeprom footprint each time, that will give more space on pcb, cool! just for curiosity/knowledge I will look at your new code and try this very sexy bootloader 🙂
    can't wait to see your rfm69 progress! same size? and what your thought about atsam bootloadr in future? (4k can limit a little bit 328p..)
    really interesting, it's an awesome work you have done. great thx for this share 🙂


  • Admin

    @scalz I think it's always a benefit to have additional eeprom or flash on your pcb for data storage. In terms of bootloader choice it totally depends on your case and preferences. MYSBootloader has some advantages over dualoptiboot, however, dualoptiboot offers more flexibility in an evolving system with e.g. changes of transmissions protocols. On top it is radio agnostic. In my current setup and during prototyping I prefer MYSBootloader over Dualoptiboot since many of my deployed nodes do not have additional external storage.


  • Hardware Contributor

    @tekka yep thx, I know but for some nodes I don't always need a datastorage and had the habits to add eeprom each time mainly for ota. And eeprom footprint is pretty big to place sometimes..but yes for datastorage it's cool. for the pros and cons, I agree with you, it depends of personal needs..
    Have you already tried atsam boards with mysensors? I say this because I will assemble soon few atsam boards (atsamd but L family is picopower) I have designed, I will see if I'm able to port things in bootloadr but for the moment no time, too much things already in progress..in other hand, for nonpico, I'm waiting for esp32....


  • Admin

    @scalz yes, just started working with atsam and bootloader development, although with limited bandwidth at the moment. More to come soon...


  • Hardware Contributor

    wow impressively cool 😆
    thx for your kindness, now I have homeworks to do!
    see you soon 🙂



  • Sorry but I dont really get what you mean by freezy ?
    You mean a code is compiled but it enters an infinite loop for example ?


  • Hardware Contributor

    yes that's it. a bug in your code, like infinite loop, ram troubles... that should be rare depending of your code. plus generally you/I test on breadboard before sending it in prod, but that can happen and is good to know 😉



  • @scalz great.
    This means that MYSBootloader can handle this problem and enter the bootloader mode even if the MCU freezes.

    @tekka you state that the current version can handle a freeze SW. Also if the new code is corrupted during programming by unverified CRC or whatever, it will also handle that problem and resets and wait for a new flashing order.
    Is this new in this version ? I am some how sure that MYSBootloader previously had a problem handling thoses types of failures, and that's why I was going to use DualOptiboot as I read before that it can handle those failures

    Sorry for lots of questions but I am trying to reorganise my info.



  • @mannkind @tekka

    So its working with a GatewayW5100MQTTClient aswell? That would be fantastic, I thought its only for serial and ethernet gateways. Do I also have to use port 5003?



  • @tekka If this can help for an RFM69 version :
    https://github.com/vvvlc/Funky-FOTA



  • @rollercontainer confirmed working with W5100mqtt here!



  • I have to ask again: GatewayW5100MQTTClient or the old Broker Gateway?
    I am not able to connect to my GatewayW5100MQTTClient on port 1883 or 5003 with MYSController 1.0.0beta.
    The gateway is in working condition with openHAB.



  • This post is deleted!


  • @mannkind

    THX! What difference a single letter makes... ^^

    @cdr What do you use exactly?



  • Hello @ all 🙂
    first thx to tekka for the great job 🙂
    as the release notes say with the mysbootloader 1.3pre one can use the serial upload.
    is its usable via the arduino ide? Because i can upload a sketch but it seems not to start.

    also as rollercontainer asked is the myscontroller application usable via the old broker or with the new clientmqtt gateway?
    Would be nice if there are some instructions how to use 😉


  • Admin

    @n1ck1355 @rollercontainer MYSController does not support MQTT (at the moment), but have a look at MyController.org. Please provide more details regarding your issue with MYSBootloader 1.3pre.



  • thx tekka for clearing this 🙂
    for my bootloader problem:
    i burned the 1.3mysbootloader with the 8mhz config successfully from the arduino dev ide.
    then i uploaded a little test sketch like this without errors:

    void setup() {
      Serial.begin(57600);
      Serial.println("Setup Start");
    }
    
    void loop() {
    }
    
    

    but there is no output on the serial monitor. it lookes like the bootloader didn't start the sketch.



  • I try to add new hex file in MYSController 1.0 but after clicking "reload repo", it tells me 2107-15-31 is not a valid date specification. I don't have the ability to select firmware after this. And after a reboot the "reload repo" is garyed.
    Arduino ide 1.6.7
    csv :

    Type,Name,Version,File,Comments
    10,Blink,1,Blink.ino.hex,blinking example
    20,TimeReporter,1,TimeReporter.ino.hex,TimeReporter demo
    30,SenseBender,1,SensebenderMicro.ino.hex,Sensebender micro
    

    Another 'bug". It always ask me to download a "new" version ... I install it but ask me again (1.0 beta)
    I think this issue is related to the last arduino IDE version.


  • Admin

    @Fabien Are you running MYSController on WINE? I updated a few things, please update to the most recent version of MYSController (build 3312, here or via update button) and post the log. Thanks.


  • Admin

    @n1ck1355 Please enable logging in MYSController, reboot the node and post the log here after a few mins of recording.


  • Hardware Contributor

    Hi, i like OTA Update 🙂

    How it is possible to change the Cannel from 76 to 105?




  • Hardware Contributor

    @rollercontainer said:

    @Takero https://github.com/mysensors/Arduino/blob/development/libraries/MySensors/MyConfig.h#L387

    Yes, i know what, but this is not there I am looking for.

    The Autor wrote:
    Attached bootloader file, compiled with these settings:

    nRF24 (Channel 76, base address 0xA8A8E1FC00, data rate 250kbs)
    115200 baud (16Mhz) or 57600 (8Mhz)

    I want a Bootloader file with Channel 105.



  • sorry, you are right. Since the source isnt yet available, you cant compile your custom bootloader. So, thats a no.



  • @tekka here is the log output:

    05.04.16 21:51:34	STARTUP	Initialize message logging
    05.04.16 21:51:34	STARTUP	1.0.0 (build 3312)
    05.04.16 21:51:34	STARTUP	FPC 3.0.0 / Lazarus 1.6
    05.04.16 21:51:34	STARTUP	still under development :) tekka 2016
    05.04.16 21:51:34	STARTUP	Load INI file...
    05.04.16 21:51:34	STARTUP	INI version NA
    05.04.16 21:52:08	INFO	Connected to 192.168.0.101:5003
    05.04.16 21:52:23	RX	2;255;3;0;15;0100
    05.04.16 21:52:23	NODE	New node discovered, node id=2
    05.04.16 21:52:23	CHILD	New child discovered, node id=2, child id=internal
    05.04.16 21:52:30	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:52:30	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:52:30	INFO	BL version=258
    05.04.16 21:52:30	INFO	No FW assigned
    05.04.16 21:52:36	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:52:36	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:52:36	INFO	BL version=258
    05.04.16 21:52:36	INFO	No FW assigned
    05.04.16 21:52:43	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:52:43	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:52:43	INFO	BL version=258
    05.04.16 21:52:43	INFO	No FW assigned
    05.04.16 21:53:00	RX	2;255;3;0;15;0100
    05.04.16 21:53:07	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:53:07	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:53:07	INFO	BL version=258
    05.04.16 21:53:07	INFO	No FW assigned
    05.04.16 21:53:14	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:53:14	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:53:14	INFO	BL version=258
    05.04.16 21:53:14	INFO	No FW assigned
    05.04.16 21:53:21	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:53:21	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:53:21	INFO	BL version=258
    05.04.16 21:53:21	INFO	No FW assigned
    05.04.16 21:53:38	RX	2;255;3;0;15;0100
    05.04.16 21:53:45	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:53:45	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:53:45	INFO	BL version=258
    05.04.16 21:53:45	INFO	No FW assigned
    05.04.16 21:53:52	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:53:52	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:53:52	INFO	BL version=258
    05.04.16 21:53:52	INFO	No FW assigned
    05.04.16 21:53:58	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:53:58	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:53:58	INFO	BL version=258
    05.04.16 21:53:58	INFO	No FW assigned
    05.04.16 21:54:16	RX	2;255;3;0;15;0100
    05.04.16 21:54:23	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:54:23	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:54:23	INFO	BL version=258
    05.04.16 21:54:23	INFO	No FW assigned
    05.04.16 21:54:29	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:54:29	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:54:29	INFO	BL version=258
    05.04.16 21:54:29	INFO	No FW assigned
    05.04.16 21:54:36	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:54:36	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:54:36	INFO	BL version=258
    05.04.16 21:54:36	INFO	No FW assigned
    05.04.16 21:54:54	RX	2;255;3;0;15;0100
    05.04.16 21:55:01	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:55:01	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:55:01	INFO	BL version=258
    05.04.16 21:55:01	INFO	No FW assigned
    05.04.16 21:55:07	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:55:07	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:55:07	INFO	BL version=258
    05.04.16 21:55:07	INFO	No FW assigned
    05.04.16 21:55:14	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:55:14	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:55:14	INFO	BL version=258
    05.04.16 21:55:14	INFO	No FW assigned
    05.04.16 21:55:32	RX	2;255;3;0;15;0100
    05.04.16 21:55:38	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:55:38	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:55:38	INFO	BL version=258
    05.04.16 21:55:38	INFO	No FW assigned
    05.04.16 21:55:45	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:55:45	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:55:45	INFO	BL version=258
    05.04.16 21:55:45	INFO	No FW assigned
    05.04.16 21:55:52	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:55:52	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:55:52	INFO	BL version=258
    05.04.16 21:55:52	INFO	No FW assigned
    05.04.16 21:56:10	RX	2;255;3;0;15;0100
    05.04.16 21:56:16	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:56:16	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:56:16	INFO	BL version=258
    05.04.16 21:56:16	INFO	No FW assigned
    05.04.16 21:56:23	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:56:23	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:56:23	INFO	BL version=258
    05.04.16 21:56:23	INFO	No FW assigned
    05.04.16 21:56:30	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:56:30	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:56:30	INFO	BL version=258
    05.04.16 21:56:30	INFO	No FW assigned
    05.04.16 21:56:47	RX	2;255;3;0;15;0100
    05.04.16 21:56:54	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:56:54	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:56:54	INFO	BL version=258
    05.04.16 21:56:54	INFO	No FW assigned
    05.04.16 21:57:01	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:57:01	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:57:01	INFO	BL version=258
    05.04.16 21:57:01	INFO	No FW assigned
    05.04.16 21:57:07	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:57:07	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:57:07	INFO	BL version=258
    05.04.16 21:57:07	INFO	No FW assigned
    05.04.16 21:57:25	RX	2;255;3;0;15;0100
    05.04.16 21:57:32	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:57:32	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:57:32	INFO	BL version=258
    05.04.16 21:57:32	INFO	No FW assigned
    05.04.16 21:57:39	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:57:39	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:57:39	INFO	BL version=258
    05.04.16 21:57:39	INFO	No FW assigned
    05.04.16 21:57:45	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:57:45	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:57:45	INFO	BL version=258
    05.04.16 21:57:45	INFO	No FW assigned
    05.04.16 21:58:03	RX	2;255;3;0;15;0100
    05.04.16 21:58:10	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:58:10	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:58:10	INFO	BL version=258
    05.04.16 21:58:10	INFO	No FW assigned
    05.04.16 21:58:16	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:58:16	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:58:16	INFO	BL version=258
    05.04.16 21:58:16	INFO	No FW assigned
    05.04.16 21:58:23	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:58:23	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:58:23	INFO	BL version=258
    05.04.16 21:58:23	INFO	No FW assigned
    05.04.16 21:58:41	RX	2;255;3;0;15;0100
    05.04.16 21:58:45	USER	Debug=FALSE
    05.04.16 21:58:45	INFO	*** Logging STOP ***
    05.04.16 21:58:47	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:58:47	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:58:47	INFO	BL version=258
    05.04.16 21:58:47	INFO	No FW assigned
    05.04.16 21:58:54	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:58:54	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:58:54	INFO	BL version=258
    05.04.16 21:58:54	INFO	No FW assigned
    05.04.16 21:59:01	RX	2;255;4;0;0;FFFFFFFF0800077E0102
    05.04.16 21:59:01	DEBUG	Undefined firmware/type for node=2
    05.04.16 21:59:01	INFO	BL version=258
    05.04.16 21:59:01	INFO	No FW assigned
    

    hope it helps finding out whats wrong 😉



  • @tekka I try with build 3312 and working fine with wine
    Now I'm looking for I_PRESENTATION. With 2.0 beta it doesn't seem to work. May I use smartSleep ?



  • So after few test, wrks fine with I_PRESENTATION request and using smartSleep (with interrupts too).



  • @tekka : do you have any clue whats wrong with my setup?



  • Does the gateway need the OTA firmware (flashed) written to it as well as the Nodes?


  • Admin

    @n1ck1355 yes, probably there is a timing issue with serial uploads. Need to review the STK500 code. Can you confirm that OTA FW updates work fine?


  • Admin

    @DrJeff No, only the nodes



  • @tekka Cool thanks, can I use Arduino as ISP to program bootloader?


  • Admin

    @DrJeff Yep 🙂



  • @tekka , Time to try Thanks! 🙂



  • @tekka yes ota fw updates works. Tried it with the Time fw



  • @tekka i musst revert my previous post...
    I've OTA uploaded the sketch from my first post:

    void setup() {
      Serial.begin(57600);
      Serial.println("Setup Start");
    }
    
    void loop() {
    }
    

    and i connected the board over Serial with my computer. After uploading the sketch i did not noticed any output on the serial monitor in the Arduino IDE. Also checked the transfer rate.

    However the time reporter firmware works fine.



  • Is there a way to send ota firmware to node using some cli (python or...) script? I'm using MySensors with domoticz on RPi and when flashing new firmware I usually disconnect gw from rpi plug it into notebook and send fw using MYSController. If I could just disable gw in domoticz and send fw using some script it would be great until (if) domoticz gets support for ota fw.



  • I've just tried two 3,3V Pro Minis. Flashed the 8MHz MYSBootloader without problems (Nano as ISP). After that I connected the FTDI Adapter and programmed Blink and ReadAnalogVoltage examples without error. Both didn't worked on both Pro Minis. With original Bootloaders, they work.

    Where is my fault?


  • Admin

    @rollercontainer You have to provide additional information such as logs, etc. for troubleshooting



  • @tekka Serial not working after uploading MYSbootloader v1.3pre. ArduinoProMini 5v16Mhz. Is it normal?


  • Admin

    @Алексей-Гусаров please provide additional information such as config and logs.



  • @tekka
    boards.txt:

    ######## settings for ext XTAL 16Mhz, EESAVE, BOD1V8, no lock
    proMYSBL16.name=ATmega328 external 16Mhz with MYSBootloader
    proMYSBL16.upload.tool=avrdude
    proMYSBL16.upload.protocol=arduino
    proMYSBL16.upload.maximum_size=30720
    proMYSBL16.upload.maximum_data_size=2048
    proMYSBL16.upload.speed=115200
    proMYSBL16.bootloader.tool=avrdude
    proMYSBL16.bootloader.low_fuses=0xFF
    proMYSBL16.bootloader.high_fuses=0xD2
    proMYSBL16.bootloader.extended_fuses=0x06
    proMYSBL16.bootloader.unlock_bits=0x3F
    proMYSBL16.bootloader.lock_bits=0x3F
    proMYSBL16.bootloader.file=MySensors/MYSBootloaderV13pre.hex
    proMYSBL16.build.mcu=atmega328p
    proMYSBL16.build.f_cpu=16000000L
    proMYSBL16.build.board=AVR_UNO
    proMYSBL16.build.core=arduino
    proMYSBL16.build.variant=standard
    
    ######## settings for 8Mhz internal clock, EESAVE, BOD1V8, no lock
    proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
    proMYSBL8.upload.tool=avrdude
    proMYSBL8.upload.protocol=arduino
    proMYSBL8.upload.maximum_size=30720
    proMYSBL8.upload.maximum_data_size=2048
    proMYSBL8.upload.speed=57600
    proMYSBL8.bootloader.tool=avrdude
    proMYSBL8.bootloader.low_fuses=0xE2
    proMYSBL8.bootloader.high_fuses=0xD2
    proMYSBL8.bootloader.extended_fuses=0x06
    proMYSBL8.bootloader.unlock_bits=0x3F
    proMYSBL8.bootloader.lock_bits=0x3F
    proMYSBL8.bootloader.file=MySensors/MYSBootloaderV13pre.hex
    proMYSBL8.build.mcu=atmega328p
    proMYSBL8.build.f_cpu=8000000L
    proMYSBL8.build.board=AVR_UNO
    proMYSBL8.build.core=arduino
    proMYSBL8.build.variant=standard
    

    MyConfig.h:

    #ifdef MY_DISABLED_SERIAL
    #undef MY_DEBUG
    #endif
    
    #ifndef MY_BAUD_RATE
    #define MY_BAUD_RATE 115200
    #endif
    
    //#define MY_DISABLE_REMOTE_RESET
    
    //#define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    //#define MY_RS485
    
    #ifndef MY_NODE_ID
    #define MY_NODE_ID AUTO
    #endif
    
    #ifndef MY_PARENT_NODE_ID
    #define MY_PARENT_NODE_ID AUTO
    #endif
    
    // #define MY_REPEATER_FEATURE
    
    #ifndef MY_SMART_SLEEP_WAIT_DURATION
    #define MY_SMART_SLEEP_WAIT_DURATION 500
    #endif
    
    //#define MY_OTA_FIRMWARE_FEATURE
    
    #ifndef MY_OTA_FLASH_SS
    #define MY_OTA_FLASH_SS 8
    #endif
    
    #ifndef MY_OTA_FLASH_JDECID
    #define MY_OTA_FLASH_JDECID 0x1F65
    #endif
    
    #ifndef MY_GATEWAY_MAX_RECEIVE_LENGTH
    #define MY_GATEWAY_MAX_RECEIVE_LENGTH 100
    #endif
    
    #ifndef MY_GATEWAY_MAX_SEND_LENGTH
    #define MY_GATEWAY_MAX_SEND_LENGTH 120
    #endif
    
    #ifndef MY_GATEWAY_MAX_CLIENTS
    #define MY_GATEWAY_MAX_CLIENTS 1
    #endif
    
    //#define MY_LEDS_BLINKING_FEATURE
    
    //#define MY_WITH_LEDS_BLINKING_INVERSE
    
    //#define MY_DEFAULT_ERR_LED x
    //#define MY_DEFAULT_TX_LED x
    //#define MY_DEFAULT_RX_LED x
    
    //#define MY_INCLUSION_MODE_FEATURE
    
    //#define MY_INCLUSION_BUTTON_FEATURE
    
    #ifndef MY_INCLUSION_MODE_FEATURE
    #undef MY_INCLUSION_BUTTON_FEATURE
    #endif
    
    #ifndef MY_INCLUSION_MODE_BUTTON_PIN
    	#if defined(ARDUINO_ARCH_ESP8266)
    		#define MY_INCLUSION_MODE_BUTTON_PIN 5
    	#else
    		#define MY_INCLUSION_MODE_BUTTON_PIN 3
    	#endif
    #endif
    
    #ifndef MY_INCLUSION_MODE_DURATION
    #define MY_INCLUSION_MODE_DURATION 60
    #endif
    
    #if defined(MY_INCLUSION_BUTTON_EXTERNAL_PULLUP)
    #define MY_INCLUSION_BUTTON_PRESSED HIGH
    #else
    #define MY_INCLUSION_BUTTON_PRESSED LOW
    #endif
    
    //#define MY_SIGNING_ATSHA204
    
    //#define MY_SIGNING_SOFT
    
    //#define MY_SIGNING_REQUEST_SIGNATURES
    
    #ifndef MY_VERIFICATION_TIMEOUT_MS
    #define MY_VERIFICATION_TIMEOUT_MS 5000
    #endif
    
    //#define MY_SIGNING_NODE_WHITELISTING {{.nodeId = GATEWAY_ADDRESS,.serial = {0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01}}}
    
    #ifndef MY_SIGNING_ATSHA204_PIN
    #define MY_SIGNING_ATSHA204_PIN 17
    #endif
    
    #ifndef MY_SIGNING_SOFT_RANDOMSEED_PIN
    #define MY_SIGNING_SOFT_RANDOMSEED_PIN 7
    #endif
    
    #ifndef MY_RS485_BAUD_RATE
    #define MY_RS485_BAUD_RATE 9600
    #endif
    
    #ifndef MY_RS485_MAX_MESSAGE_LENGTH
    #define MY_RS485_MAX_MESSAGE_LENGTH 40
    #endif
    
    //#define MY_RF24_ENABLE_ENCRYPTION
    
    #ifndef MY_RF24_CE_PIN
    	#if defined(ARDUINO_ARCH_ESP8266)
    		#define MY_RF24_CE_PIN 4
    	#elif defined(ARDUINO_ARCH_SAMD)
    		#define MY_RF24_CE_PIN 27
    	#else
    		#define MY_RF24_CE_PIN 9
    	#endif
    #endif
    
    #ifndef MY_RF24_CS_PIN
    	#if defined(ARDUINO_ARCH_ESP8266)
    		#define MY_RF24_CS_PIN 15
    	#elif defined(ARDUINO_ARCH_SAMD)
    		#define MY_RF24_CS_PIN 3
    	#else
    		#define MY_RF24_CS_PIN 10
    	#endif
    #endif
    
    #ifndef MY_RF24_PA_LEVEL
    #define MY_RF24_PA_LEVEL RF24_PA_MAX
    #endif
    
    #ifndef MY_RF24_CHANNEL
    #define MY_RF24_CHANNEL	76
    #endif
    
    #ifndef MY_RF24_DATARATE
    #define MY_RF24_DATARATE RF24_250KBPS
    #endif
    
    #ifndef MY_RF24_BASE_RADIO_ID
    #define MY_RF24_BASE_RADIO_ID ((uint64_t)0xA8A8E1FC00LL)
    #endif
    
    //#define MY_SOFTSPI
    
    #ifndef MY_SOFT_SPI_SCK_PIN
    #define MY_SOFT_SPI_SCK_PIN 14
    #endif
    
    #ifndef MY_SOFT_SPI_MISO_PIN
    #define MY_SOFT_SPI_MISO_PIN 16
    #endif
    
    #ifndef MY_SOFT_SPI_MOSI_PIN
    #define MY_SOFT_SPI_MOSI_PIN 15
    #endif
    
    #ifndef MY_RFM69_FREQUENCY
    #define MY_RFM69_FREQUENCY   RF69_868MHZ
    #endif
    
    //#define MY_IS_RFM69HW
    
    #ifdef MY_IS_RFM69HW
    	#define MY_RFM69HW true
    #else
    	#define MY_RFM69HW false
    #endif
    
    #ifndef MY_RFM69_NETWORKID
    #define MY_RFM69_NETWORKID     100
    #endif
    
    #ifndef MY_RF69_IRQ_PIN
    #define MY_RF69_IRQ_PIN RF69_IRQ_PIN
    #endif
    
    #ifndef MY_RF69_SPI_CS
    #define MY_RF69_SPI_CS RF69_SPI_CS
    #endif
    
    #ifndef MY_RF69_IRQ_NUM
    	#if defined(ARDUINO_ARCH_ESP8266)
    		#define MY_RF69_IRQ_NUM MY_RF69_IRQ_PIN
    	#else
    		#define MY_RF69_IRQ_NUM RF69_IRQ_NUM
    	#endif
    #endif
    
    //#define MY_RFM69_ENABLE_ENCRYPTION
    
    //#define MY_GATEWAY_W5100
    //#define MY_GATEWAY_ENC28J60
    //#define MY_GATEWAY_ESP8266
    
    #ifndef MY_PORT
    #define MY_PORT 5003
    #endif
    
    //#define MY_USE_UDP
    
    #ifndef MY_IP_RENEWAL_INTERVAL
    #define MY_IP_RENEWAL_INTERVAL 60000
    #endif
    
    #ifndef MY_MAC_ADDRESS
    #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    #endif
    
    //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 254
    
    //#define MY_NODE_LOCK_FEATURE
    
    #ifndef MY_NODE_UNLOCK_PIN
    #define MY_NODE_UNLOCK_PIN 14
    #endif
    
    #ifndef MY_NODE_LOCK_COUNTER_MAX
    #define MY_NODE_LOCK_COUNTER_MAX 5
    #endif
    
    

    In node scetch:

    #define MY_DEBUG
    

    I have no logs from node because serial isn't working at all. Which logs should I attach?


  • Admin

    @Алексей-Гусаров I'll look into that. Seems like bootloader is not handing over to the sketch (corroborates previous reports). Can you post the OTA log (from e.g. MYSController)?



  • @tekka I'm using mycotroller.org instead of myscontroller. It writes that "firmware update initiated" and nothing happens.


  • Admin

    @Алексей-Гусаров Then I highly suggest to run MYSController to log OTA traffic for troubleshooting...



  • @tekka OK, I'll try to do it tomorrow.


  • Admin

    @Алексей-Гусаров 👍


  • Plugin Developer

    @Алексей-Гусаров in mycontroller.org you can get log under Status >> Resources logs. Change items per page to 500 to display more number of logs.


  • Plugin Developer

    @tekka I work for MyController.org and it supports firmware upload. Do I need to change anything to support MYSbootloader v1.3pre ?
    Currently MyController.org supports for MYSbootloader1.1


  • Plugin Developer

    @Алексей-Гусаров If you use MYSbootloader you should Reboot your node. AFAIK, MYSbootloader requires Reboot to get active.
    You should configure firmware in node edit page and reboot the node.
    Upload firmware works only for DualOptiboot



  • @jkandasa I've tried to reboot and have such rsponce:

    Apr 28, 2016 02:49:44 PM	serial   0:GatewayNode Received Internal [Log message] send: 0-0-1-1 s=255,c=3,t=13,pt=0,l=0,sg=0,st=fail:
    Apr 28, 2016 02:49:44 PM	serial   1:SensorNode	Sent Internal	[Reboot]
    

  • Plugin Developer

    @Алексей-Гусаров It looks like your node is not in the range!



  • @jkandasa said:

    @Алексей-Гусаров It looks like your node is not in the range!

    It sends messages it really in is 0.5 meters from gw.


  • Plugin Developer

    @Алексей-Гусаров can you reboot the node manually?



  • @jkandasa
    I have this:

    [Log message] read: 1-1-0 s=255,c=4,t=2,pt=6,l=6,sg=0:010002006202
    [Log message] send: 0-0-1-1 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:010002006302801481E090E00F90DF91CF910895FC01
    [Log message] read: 1-1-0 s=255,c=4,t=2,pt=6,l=6,sg=0:010002006302
    [Log message] send: 0-0-1-1 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:0100020064021382128248EE53E060E070E044835583
    [Log message] read: 1-1-0 s=255,c=4,t=2,pt=6,l=6,sg=0:010002006402
    [Log message] send: 0-0-1-1 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:0100020065026683778385ED91E09183808308951092
    [Log message] read: 1-1-0 s=255,c=4,t=2,pt=6,l=6,sg=0:010002006502
    

    And yes, it has been updated.
    Thanks, OTA works now, allthought remote reboot doesn working.


  • Plugin Developer

    @Алексей-Гусаров I could not guess why remote reboot is not working! (Gateway says "Failed to send reboot command to node"). After OTA update completion, try reboot from MyController.org GUI. It may work with new software.



  • @jkandasa I've tried and it didn't help.


  • Admin

    @Алексей-Гусаров rebooting is only working if node is actively processing incoming msgs. Use wait() instead of sleep() within your loop()



  • @tekka @jkandasa
    Thank you.
    I've added

    #define MY_REPEATER_FEATURE
    

    line in Node code, and it is working now.



  • Guys,

    I'm trying to get this working on my ESP8266 gateway (using the latest development branch).

    I've uploaded the 16mhz boot loader to an Arduino Nano clone but don't seem to see anything in MYScontroller. I realised that my gateway sketch had channel 125 specified, so took that out for testing as I believe the boot loader uses channel 76...

    Do I need to change any fuse settings etc, what am I missing?

    Many thanks in advance...

    Mark

    Edit: Got it working, fantastic!



  • Is there a way I can change the channel from the default 76?

    Also am I correct in thinking that for my Nano's I copy the bits (high, low, extended, lock, unlock) from the Arduino section at the top and replace the pasted lines from the tutorial as it seems to be for the UNO?





  • This post is deleted!


  • I have same problem as @n1ck1355. Shetch upload works, data are send, but serial output doesn't work.



  • I also have the same issues with no node serial output within the Arduino IDE....


  • Admin

    @Mark-Swift @novas do you see any traffic over the air from that node? If yes, please post the log, specifically, I'm interested in bootloader messages.



  • @tekka I apologise, in my case it was the bootloader delay I wasn't allowing for. Opening the serial monitor and being patient, it appears all is well. Apologies for the mistake!



  • @tekka In my case there were two problems. First same as @Mark-Swift, bootloader deley. I didn't expect that it takes about 30 seconds. Second one was that my gateway didn't run. In this case bootloader is still running and serial output isn't provided.



  • @tekka I tried to upload a sketch after flashing the new bootloader to an nano. I got te this:

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x4b
    

    What is going on?
    OTA update still testing. Updating for several minutes now (I thought the old bootloader and OTA update did not take that long).


  • Admin

    @Anduril without additional information it's hard to troubleshoot - looks like a baud rate problem: please post logs from flashing (output when flashing bootlader), fuse settings, mysontroller log during node reboot, and other helpful information.



  • OK, I will post that information as soon as possible, today or tomorow.
    Another thing, is it possible that OTA is much faster with the old BL? It took me few 10 minutes still sending firmware updates when I decided to flash the old one and try again. With the old one it was finished in about 5min. (times are only an estimation) Also frequency of new firmware requests in MYS Controller seemed much faster with old BL than with v1.3 pre. Is that normal or bug?



  • (had to split because of too long posts not allowed)

    here the infos for troubleshooting:
    board.txt:

    ## -------------------------
    nano.menu.cpu.atmega328=ATmega328
    
    nano.menu.cpu.atmega328.upload.maximum_size=30720
    nano.menu.cpu.atmega328.upload.maximum_data_size=2048
    nano.menu.cpu.atmega328.upload.speed=57600
    
    nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
    nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
    nano.menu.cpu.atmega328.bootloader.extended_fuses=0x05
    nano.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
    
    nano.menu.cpu.atmega328.build.mcu=atmega328p
    
    ## Arduino Nano w/ ATmega328 MYSBootloader
    ## -------------------------
    nano.menu.cpu.MYSBLatmega328=ATmega328 MYSBootloader
    
    nano.menu.cpu.MYSBLatmega328.upload.maximum_size=30720
    nano.menu.cpu.MYSBLatmega328.upload.maximum_data_size=2048
    nano.menu.cpu.MYSBLatmega328.upload.speed=57600
    
    nano.menu.cpu.MYSBLatmega328.bootloader.low_fuses=0xFF
    nano.menu.cpu.MYSBLatmega328.bootloader.high_fuses=0xDA
    nano.menu.cpu.MYSBLatmega328.bootloader.extended_fuses=0x05
    nano.menu.cpu.MYSBLatmega328.bootloader.file=MySensors/MYSBootloaderV13pre.hex
    
    nano.menu.cpu.MYSBLatmega328.build.mcu=atmega328p
    
    ## Arduino Nano w/ ATmega328 MYSBootloaderold
    ## -------------------------
    nano.menu.cpu.MYSBLoldatmega328=ATmega328 MYSBootloader old
    
    nano.menu.cpu.MYSBLoldatmega328.upload.maximum_size=30720
    nano.menu.cpu.MYSBLoldatmega328.upload.maximum_data_size=2048
    nano.menu.cpu.MYSBLoldatmega328.upload.speed=57600
    
    nano.menu.cpu.MYSBLoldatmega328.bootloader.low_fuses=0xFF
    nano.menu.cpu.MYSBLoldatmega328.bootloader.high_fuses=0xDA
    nano.menu.cpu.MYSBLoldatmega328.bootloader.extended_fuses=0x05
    nano.menu.cpu.MYSBLoldatmega328.bootloader.file=MySensors/MYSBootloader.hex
    
    nano.menu.cpu.MYSBLoldatmega328.build.mcu=atmega328p
    

    I copied the original entry for the Nano 328p and only changed bootloader files to old and new MYS Bootloader.

    During flashing there is no debug output, only "Der Bootloader wurde gebrannt" ("burning bootloader finished) when done.
    When powering node up I get these messages:

    1	10.05.2016 21:00:36	RX	0 - Gateway	INTERNAL	C_INTERNAL	NO	I_GATEWAY_READY	Gateway startup complete.
    2	10.05.2016 21:00:37	RX	0 - Gateway	INTERNAL	C_INTERNAL	NO	I_VERSION	2.0.0-beta
    3	10.05.2016 21:00:51	RX	BROADCAST	INTERNAL	C_INTERNAL	NO	I_ID_REQUEST	
    4	10.05.2016 21:00:51	TX	BROADCAST	INTERNAL	C_INTERNAL	NO	I_ID_RESPONSE	3
    5	10.05.2016 21:00:55	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    6	10.05.2016 21:00:58	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    7	10.05.2016 21:01:01	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    8	10.05.2016 21:01:09	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    9	10.05.2016 21:01:13	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    10	10.05.2016 21:01:16	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    11	10.05.2016 21:01:20	TX	3	N/A	C_INTERNAL	NO	I_REBOOT	0
    12	10.05.2016 21:01:27	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFF2CC30102
    13	10.05.2016 21:01:27	TX	3	N/A	C_STREAM	NO	ST_FIRMWARE_CONFIG_RESPONSE	0A0001005000D446
    14	10.05.2016 21:01:28	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004F00
    15	10.05.2016 21:01:28	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    16	10.05.2016 21:01:28	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004E00
    17	10.05.2016 21:01:28	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    18	10.05.2016 21:01:31	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004D00
    19	10.05.2016 21:01:31	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    20	10.05.2016 21:01:35	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004C00
    21	10.05.2016 21:01:35	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004C00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    22	10.05.2016 21:01:35	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004B00
    23	10.05.2016 21:01:35	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004B00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    24	10.05.2016 21:01:36	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004A00
    25	10.05.2016 21:01:36	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004A00FFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    26	10.05.2016 21:01:39	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004900
    27	10.05.2016 21:01:39	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010049008B002097E1F30E940000F9CF0895F894
    28	10.05.2016 21:01:43	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004800
    29	10.05.2016 21:01:43	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010048006B010E943E020E947000C0E0D0E00E94
    30	10.05.2016 21:01:43	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004700
    31	10.05.2016 21:01:43	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010047000F90DF91CF911F910F91089508950E94
    32	10.05.2016 21:01:47	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004600
    33	10.05.2016 21:01:47	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004600611103C01095812301C0812B8C939FBF
    34	10.05.2016 21:01:50	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004500
    35	10.05.2016 21:01:50	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004500FF1FEC55FF4FA591B4919FB7F8948C91
    36	10.05.2016 21:01:50	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004400
    37	10.05.2016 21:01:50	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A000100440021F069830E94A6016981E02FF0E0EE0F
    38	10.05.2016 21:01:54	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004300
    39	10.05.2016 21:01:54	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010043001491F901E057FF4F04910023C9F08823
    40	10.05.2016 21:01:57	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004200
    41	10.05.2016 21:01:57	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A000100420030E0F901E859FF4F8491F901E458FF4F
    42	10.05.2016 21:02:01	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004100
    43	10.05.2016 21:02:01	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010041000F931F93CF93DF931F92CDB7DEB7282F
    44	10.05.2016 21:02:05	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004000
    45	10.05.2016 21:02:05	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004000F8948C91822B8C939FBFDF91CF910895
    46	10.05.2016 21:02:05	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003F00
    47	10.05.2016 21:02:05	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003F00322F309583238C938881822B888304C0
    48	10.05.2016 21:02:08	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003E00
    49	10.05.2016 21:02:08	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003E008C93888182230AC0623051F4F8948C91
    50	10.05.2016 21:02:12	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003D00
    51	10.05.2016 21:02:12	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003D00D4919FB7611108C0F8948C9120958223
    52	10.05.2016 21:02:12	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003C00
    53	10.05.2016 21:02:12	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003C00E255FF4FA591B4918C559F4FFC01C591
    54	10.05.2016 21:02:13	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003B00
    55	10.05.2016 21:02:13	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003B00FF4F8491882349F190E0880F991FFC01
    56	10.05.2016 21:02:16	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003A00
    57	10.05.2016 21:02:16	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003A00DF9390E0FC01E458FF4F2491FC01E057
    58	10.05.2016 21:02:16	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003900
    59	10.05.2016 21:02:16	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A000100390003C08091B0008F7D8093B0000895CF93
    60	10.05.2016 21:02:17	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003800
    61	10.05.2016 21:02:17	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A000100380002C084B58F7D84BD08958091B0008F77
    62	10.05.2016 21:02:17	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003700
    63	10.05.2016 21:02:17	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003700809180008F7780938000089584B58F77
    64	10.05.2016 21:02:21	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003600
    65	10.05.2016 21:02:21	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010036008830B9F08430D1F4809180008F7D03C0
    66	10.05.2016 21:02:24	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003500
    67	10.05.2016 21:02:24	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A000100350028F4813099F08230A1F008958730A9F0
    68	10.05.2016 21:02:24	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003400
    69	10.05.2016 21:02:24	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010034008081806880831092C1000895833081F0
    70	10.05.2016 21:02:28	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003300
    71	10.05.2016 21:02:28	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010033008460808380818260808380818E7F8083
    72	10.05.2016 21:02:29	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003200
    73	10.05.2016 21:02:29	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003200E0EBF0E0808181608083EAE7F0E08081
    74	10.05.2016 21:02:30	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003100
    75	10.05.2016 21:02:30	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003100808181608083E1EBF0E0808184608083
    76	10.05.2016 21:02:31	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001003000
    77	10.05.2016 21:02:31	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001003000808182608083808181608083E0E8F0E0
    78	10.05.2016 21:02:31	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001002F00
    79	10.05.2016 21:02:31	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001002F00EEE6F0E0808181608083E1E8F0E01082
    80	10.05.2016 21:02:35	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001002E00
    81	10.05.2016 21:02:35	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001002E00816084BD85B5826085BD85B5816085BD
    

    which seem to be working OTA update, but not very fast (about 75 messages in 1 minute). Here to MYSController debug of that period:

    10.05.2016 21:01:16	RX	3;255;4;0;0;FFFFFFFFFFFF2CC30102
    10.05.2016 21:01:16	DEBUG	Undefined firmware/type for node=3
    10.05.2016 21:01:16	INFO	BL version=258
    10.05.2016 21:01:16	INFO	No FW assigned
    10.05.2016 21:01:20	TX	3;0;3;0;13;0
    10.05.2016 21:01:20	INFO	FW "Blink" assigned to node 3
    10.05.2016 21:01:27	RX	3;255;4;0;0;FFFFFFFFFFFF2CC30102
    10.05.2016 21:01:27	CHILD	New child discovered, node id=3, child id=internal
    10.05.2016 21:01:27	DEBUG	Undefined firmware/type for node=3
    10.05.2016 21:01:27	INFO	BL version=258
    10.05.2016 21:01:27	INFO	Send FW info to node 3: type=A, version=1, blocks=0x0050, CRC=0x46D4
    10.05.2016 21:01:27	TX	3;0;4;0;1;0A0001005000D446
    10.05.2016 21:01:28	RX	3;255;4;0;2;0A0001004F00
    10.05.2016 21:01:28	DEBUG	FW update started, node id = 3
    10.05.2016 21:01:28	TX	3;255;4;0;3;0A0001004F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    10.05.2016 21:01:28	RX	3;255;4;0;2;0A0001004E00
    10.05.2016 21:01:28	TX	3;255;4;0;3;0A0001004E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    10.05.2016 21:01:31	RX	3;255;4;0;2;0A0001004D00
    10.05.2016 21:01:31	TX	3;255;4;0;3;0A0001004D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    10.05.2016 21:01:35	RX	3;255;4;0;2;0A0001004C00
    10.05.2016 21:01:35	TX	3;255;4;0;3;0A0001004C00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    10.05.2016 21:01:35	RX	3;255;4;0;2;0A0001004B00
    10.05.2016 21:01:35	TX	3;255;4;0;3;0A0001004B00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    10.05.2016 21:01:36	RX	3;255;4;0;2;0A0001004A00
    10.05.2016 21:01:36	TX	3;255;4;0;3;0A0001004A00FFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    10.05.2016 21:01:39	RX	3;255;4;0;2;0A0001004900
    10.05.2016 21:01:39	TX	3;255;4;0;3;0A00010049008B002097E1F30E940000F9CF0895F894
    10.05.2016 21:01:43	RX	3;255;4;0;2;0A0001004800
    10.05.2016 21:01:43	TX	3;255;4;0;3;0A00010048006B010E943E020E947000C0E0D0E00E94
    10.05.2016 21:01:43	RX	3;255;4;0;2;0A0001004700
    10.05.2016 21:01:43	TX	3;255;4;0;3;0A00010047000F90DF91CF911F910F91089508950E94
    10.05.2016 21:01:47	RX	3;255;4;0;2;0A0001004600
    10.05.2016 21:01:47	TX	3;255;4;0;3;0A0001004600611103C01095812301C0812B8C939FBF
    10.05.2016 21:01:50	RX	3;255;4;0;2;0A0001004500
    10.05.2016 21:01:50	TX	3;255;4;0;3;0A0001004500FF1FEC55FF4FA591B4919FB7F8948C91
    10.05.2016 21:01:50	RX	3;255;4;0;2;0A0001004400
    10.05.2016 21:01:50	TX	3;255;4;0;3;0A000100440021F069830E94A6016981E02FF0E0EE0F
    10.05.2016 21:01:54	RX	3;255;4;0;2;0A0001004300
    10.05.2016 21:01:54	TX	3;255;4;0;3;0A00010043001491F901E057FF4F04910023C9F08823
    10.05.2016 21:01:57	RX	3;255;4;0;2;0A0001004200
    10.05.2016 21:01:57	TX	3;255;4;0;3;0A000100420030E0F901E859FF4F8491F901E458FF4F
    10.05.2016 21:02:01	RX	3;255;4;0;2;0A0001004100
    10.05.2016 21:02:01	TX	3;255;4;0;3;0A00010041000F931F93CF93DF931F92CDB7DEB7282F
    10.05.2016 21:02:05	RX	3;255;4;0;2;0A0001004000
    10.05.2016 21:02:05	TX	3;255;4;0;3;0A0001004000F8948C91822B8C939FBFDF91CF910895
    10.05.2016 21:02:05	RX	3;255;4;0;2;0A0001003F00
    10.05.2016 21:02:05	TX	3;255;4;0;3;0A0001003F00322F309583238C938881822B888304C0
    10.05.2016 21:02:08	RX	3;255;4;0;2;0A0001003E00
    10.05.2016 21:02:08	TX	3;255;4;0;3;0A0001003E008C93888182230AC0623051F4F8948C91
    10.05.2016 21:02:12	RX	3;255;4;0;2;0A0001003D00
    10.05.2016 21:02:12	TX	3;255;4;0;3;0A0001003D00D4919FB7611108C0F8948C9120958223
    10.05.2016 21:02:12	RX	3;255;4;0;2;0A0001003C00
    10.05.2016 21:02:12	TX	3;255;4;0;3;0A0001003C00E255FF4FA591B4918C559F4FFC01C591
    10.05.2016 21:02:13	RX	3;255;4;0;2;0A0001003B00
    10.05.2016 21:02:13	TX	3;255;4;0;3;0A0001003B00FF4F8491882349F190E0880F991FFC01
    10.05.2016 21:02:16	RX	3;255;4;0;2;0A0001003A00
    10.05.2016 21:02:16	TX	3;255;4;0;3;0A0001003A00DF9390E0FC01E458FF4F2491FC01E057
    10.05.2016 21:02:16	RX	3;255;4;0;2;0A0001003900
    10.05.2016 21:02:16	TX	3;255;4;0;3;0A000100390003C08091B0008F7D8093B0000895CF93
    10.05.2016 21:02:17	RX	3;255;4;0;2;0A0001003800
    10.05.2016 21:02:17	TX	3;255;4;0;3;0A000100380002C084B58F7D84BD08958091B0008F77
    10.05.2016 21:02:17	RX	3;255;4;0;2;0A0001003700
    10.05.2016 21:02:17	TX	3;255;4;0;3;0A0001003700809180008F7780938000089584B58F77
    10.05.2016 21:02:21	RX	3;255;4;0;2;0A0001003600
    10.05.2016 21:02:21	TX	3;255;4;0;3;0A00010036008830B9F08430D1F4809180008F7D03C0
    10.05.2016 21:02:24	RX	3;255;4;0;2;0A0001003500
    10.05.2016 21:02:24	TX	3;255;4;0;3;0A000100350028F4813099F08230A1F008958730A9F0
    10.05.2016 21:02:24	RX	3;255;4;0;2;0A0001003400
    10.05.2016 21:02:24	TX	3;255;4;0;3;0A00010034008081806880831092C1000895833081F0
    10.05.2016 21:02:28	RX	3;255;4;0;2;0A0001003300
    10.05.2016 21:02:28	TX	3;255;4;0;3;0A00010033008460808380818260808380818E7F8083
    10.05.2016 21:02:29	RX	3;255;4;0;2;0A0001003200
    10.05.2016 21:02:29	TX	3;255;4;0;3;0A0001003200E0EBF0E0808181608083EAE7F0E08081
    10.05.2016 21:02:30	RX	3;255;4;0;2;0A0001003100
    10.05.2016 21:02:30	TX	3;255;4;0;3;0A0001003100808181608083E1EBF0E0808184608083
    10.05.2016 21:02:31	RX	3;255;4;0;2;0A0001003000
    10.05.2016 21:02:31	TX	3;255;4;0;3;0A0001003000808182608083808181608083E0E8F0E0
    10.05.2016 21:02:31	RX	3;255;4;0;2;0A0001002F00
    10.05.2016 21:02:31	TX	3;255;4;0;3;0A0001002F00EEE6F0E0808181608083E1E8F0E01082
    10.05.2016 21:02:35	RX	3;255;4;0;2;0A0001002E00
    10.05.2016 21:02:35	TX	3;255;4;0;3;0A0001002E00816084BD85B5826085BD85B5816085BD
    


  • When uploading standard BlinkWithoutDelay sketch I get this:

    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\Mat\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\Mat\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\Mat\Documents\Arduino\libraries" -fqbn=arduino:avr:nano:cpu=MYSBLatmega328 -ide-version=10607 -build-path "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Program Files (x86)\Arduino\examples\02.Digital\BlinkWithoutDelay\BlinkWithoutDelay.ino"
    C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\Mat\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\Mat\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\Mat\Documents\Arduino\libraries" -fqbn=arduino:avr:nano:cpu=MYSBLatmega328 -ide-version=10607 -build-path "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Program Files (x86)\Arduino\examples\02.Digital\BlinkWithoutDelay\BlinkWithoutDelay.ino"
    WARNUNG: Kategorie '' in der Bibliothek UIPEthernet ist ungültig und wird auf 'Uncategorized' festgelegt
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\sketch\BlinkWithoutDelay.ino.cpp" -o "nul"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\sketch\BlinkWithoutDelay.ino.cpp" -o "nul"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\sketch\BlinkWithoutDelay.ino.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
    "C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino5/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\sketch\BlinkWithoutDelay.ino.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\sketch\BlinkWithoutDelay.ino.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -x assembler-with-cpp -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring_pulse.S" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_pulse.S.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\WInterrupts.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\WInterrupts.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\hooks.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\hooks.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring_analog.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_analog.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring_digital.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_digital.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring_pulse.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_pulse.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring_shift.c" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_shift.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\CDC.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\CDC.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial0.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial0.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial1.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial1.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial2.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial2.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial3.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial3.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\IPAddress.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\IPAddress.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\PluggableUSB.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\PluggableUSB.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\Print.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\Print.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\Stream.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\Stream.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\Tone.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\Tone.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\USBCore.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\USBCore.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\WMath.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\WMath.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\WString.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\WString.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\abi.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\abi.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\main.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\main.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\new.cpp" -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\new.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_pulse.S.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\WInterrupts.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\hooks.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_analog.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_digital.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_pulse.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\wiring_shift.c.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\CDC.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial0.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial1.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial2.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\HardwareSerial3.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\IPAddress.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\PluggableUSB.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\Print.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\Stream.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\Tone.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\USBCore.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\WMath.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\WString.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\abi.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\main.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-ar" rcs  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\core.a" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\core\new.cpp.o"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -w -Os -Wl,--gc-sections -mmcu=atmega328p  -o "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp/BlinkWithoutDelay.ino.elf" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp\sketch\BlinkWithoutDelay.ino.cpp.o" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp/core\core.a" "-LC:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp" -lm
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp/BlinkWithoutDelay.ino.elf" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp/BlinkWithoutDelay.ino.eep"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -R .eeprom  "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp/BlinkWithoutDelay.ino.elf" "C:\Users\Mat\AppData\Local\Temp\build85fe9d593c6c3a472b2a54cc5e88b608.tmp/BlinkWithoutDelay.ino.hex"
    
    Der Sketch verwendet 1.006 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes.
    Globale Variablen verwenden 15 Bytes (0%) des dynamischen Speichers, 2.033 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x4b
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x4b
    

    I noticed that the baudrate in my boards.txt was not set to 115200 as in your guide. I changed this and reburned the bootloader, still the same result.

    With the old bootloader flashing works the same way. When powered up the log is as normal:

    82	10.05.2016 21:11:11	RX	0 - Gateway	INTERNAL	C_INTERNAL	NO	I_GATEWAY_READY	Gateway startup complete.
    83	10.05.2016 21:11:12	RX	0 - Gateway	INTERNAL	C_INTERNAL	NO	I_VERSION	2.0.0-beta
    84	10.05.2016 21:11:28	RX	BROADCAST	INTERNAL	C_INTERNAL	NO	I_ID_REQUEST	
    85	10.05.2016 21:11:28	TX	BROADCAST	INTERNAL	C_INTERNAL	NO	I_ID_RESPONSE	3
    86	10.05.2016 21:11:28	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFFFFFF0101
    87	10.05.2016 21:11:30	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFFFFFF0101
    88	10.05.2016 21:11:32	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFFFFFF0101
    89	10.05.2016 21:11:34	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFFFFFF0101
    90	10.05.2016 21:11:36	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFFFFFF0101
    91	10.05.2016 21:11:37	TX	3	N/A	C_INTERNAL	NO	I_REBOOT	0
    92	10.05.2016 21:11:41	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	FFFFFFFFFFFFFFFF0101
    93	10.05.2016 21:11:41	TX	3	N/A	C_STREAM	NO	ST_FIRMWARE_CONFIG_RESPONSE	0A0001005000D446
    94	10.05.2016 21:11:42	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004F00
    95	10.05.2016 21:11:42	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    96	10.05.2016 21:11:42	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004E00
    97	10.05.2016 21:11:42	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    98	10.05.2016 21:11:42	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001004D00
    99	10.05.2016 21:11:42	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A0001004D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    
    [.....]
    
    250	10.05.2016 21:12:21	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001000200
    251	10.05.2016 21:12:21	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010002000C946E000C946E000C946E000C946E00
    252	10.05.2016 21:12:21	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001000100
    253	10.05.2016 21:12:21	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010001000C946E000C946E000C946E000C946E00
    254	10.05.2016 21:12:22	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_REQUEST	0A0001000000
    255	10.05.2016 21:12:22	TX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_RESPONSE	0A00010000000C945C000C946E000C946E000C946E00
    256	10.05.2016 21:12:23	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	0A0001005000D4460101
    257	10.05.2016 21:12:23	TX	3	N/A	C_STREAM	NO	ST_FIRMWARE_CONFIG_RESPONSE	0A0001005000D446
    258	10.05.2016 21:12:43	RX	3	INTERNAL	C_STREAM	NO	ST_FIRMWARE_CONFIG_REQUEST	0A0001005000D4460101
    259	10.05.2016 21:12:43	TX	3	N/A	C_STREAM	NO	ST_FIRMWARE_CONFIG_RESPONSE	0A0001005000D446
    

    with all messages transfered in about 40s (about 150 messages, ~3 times faster)

    Hope this helps to find the problem. If you need more information just let me know.


  • Admin

    @Anduril Is your nano running at 16 or 8Mhz? Also, is the node next to the GW or is a repeater in between?



  • @tekka I only copied the standard fuses (no 1/8 divider) and I think it is running on 16Mhz. Might be good to try with different baudrate for the 8Mhz version.
    But still, do you know why the OTA transfer is slower by a factor of 3?
    The sketch for my current project is quite big and needs several minutes to transfer. With serial upload working this would be much faster, but I have to unplug the nano from the circuit to reach the usb port. So fast OTA upload would be best.


  • Contest Winner

    @Anduril I had problems with 8MHz with 3,3V and 115200kBPS. I only use 38400kBPS with my 8MHz nodes. (Of cause your Bootloader must also be set to the same Baudrate as specified in the board.txt, they must match, i.e. you cannot just change the Boards.txt and have another Baudrate for programming.)

    I'm not sure if @tekka is providing a Bootloader hex file with 38400kBPS and 8MHz. From his first post I'm assuming he ueses a 57600kBPS with 8MHz. This might also work, however 57600kBPS with 8MHz introduces a baud rate error of 3.5% which sometimes causes problems with my PC/FTDI Dongle. So I personally use 38400kBPS which only has 0.2% Error: http://wormfood.net/avrbaudcalc.php (fosc=8MHz)



  • Hi. @tekka thanks for your works, OTA fw updates works very well (using MYSBootloader 1.3pre), but i've one question, after OTA updates successful and node running the sketch without error, how to update the fw using new ones? e.g an updated version of the sketch.
    I'm using MyController.org for controller by @jkandasa . So I ask to both of you.

    thanks.


  • Admin

    @Anduril a factor 3 slower is a bit surprizing, in my hands the new bootloader performs even better than the old one. Do you have a repeater in between or are GW and the node close together? As @Dirk_H pointed out, the current .hex was compiled for 16Mhz (and is also compatible with 8Mhz) but I
    will prepare a separate 8Mhz version and 38.4kBaud for testing.


  • Plugin Developer

    Hi,
    I have just started to update all my nodes to 2.0.0 dev.
    Started to update my serial gateway then update MYSController to 1.0.0beta and use the bootloader MYSBootloaderV13pre.hex
    First i could't burn the bootloader to my Arduino Pro Mini 5v, needed to changed the values in board.txt:
    From this:

    proMYSBL16.bootloader.low_fuses=0xFF
    proMYSBL16.bootloader.high_fuses=0xD2
    proMYSBL16.bootloader.lock_bits=0x3F
    

    To this:

    proMYSBL16.bootloader.low_fuses=0xF7
    proMYSBL16.bootloader.high_fuses=0xDA
    proMYSBL16.bootloader.lock_bits=0x0F
    

    It took about 50min to use OTA to upload a simple sketch for a humidity sensor with MYSController.
    I have the gateway and the sensor very close (about 10cm from each other).


  • Admin

    @ErrK Fuses have to be adjusted according to HW specifications, e.g. crystal vs. internal RC oscillator settings etc. Your new high fuse (clearing EESAVE) cleared the node settings in the eeprom after flashing the new bootloader (did you use your node as GW before?). 10cm between node and GW is far too close causing radio interferences - you may get better results by moving them further away.


  • Plugin Developer

    @tekka Thanks. It's working when i move them further away.



  • @tekka did some testing again. I don't have a repeater inbetween, but maybe they were to close to each other (~30cm).
    I repeated the tests a few times:
    when on my desk the new bootloader is significantly slower than the old one.
    When 2m away I don't see many messages arriving. Maybe my power suply used when not at my pc was not stable enough to give the current for sending with pa-lna. I will repeat the tests with a improved setup the next days.
    Can I give you specific information where the problem is? Maybe a special log or anything else to help find the problem?


  • Admin

    @Anduril hmm...I'm not experiencing any speed issues with the new bootloader. Can you activate debug on your GW and post the log while running OTA updates?



  • @tekka here the serial monitor while OTA upload with #define MY_DEBUG

    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=15,pt=0,l=2,sg=0,st=ok:
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=ok:0
    0;255;3;0;9;read: 3-3-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=15,pt=0,l=2,sg=0,st=fail:
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=15,pt=0,l=2,sg=0,st=fail:
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E0001005706
    0;255;3;0;9;Client 0: 3;255;4;0;3;6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;send: 0-0-3-3 s=255,c=4,t=3,pt=6,l=22,sg=0,st=fail:6E0001005706FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    0;255;3;0;9;read: 3-3-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=15,pt=0,l=2,sg=0,st=fail:
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read and forward: 3-3-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=fail:0
    0;255;3;0;9;read: 3-3-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-3-3 s=255,c=3,t=15,pt=0,l=2,sg=0,st=fail:
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    0;255;3;0;9;read: 3-3-0 s=255,c=4,t=0,pt=6,l=10,sg=0:6E000100580648930102
    0;255;3;0;9;Client 0: 3;0;4;0;1;6E00010058068FD5
    0;255;3;0;9;send: 0-0-3-3 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E00010058068FD5
    

  • Admin

    @Anduril There are some communication issues here, i.e. the node radio doesn't not appear to receive msgs. If you put GW and node further away, different position, away from interference sources (wifi, speaker, monitor, etc.) do you see any improvements? Also you should try with different radios, larger caps, decoupling caps, stable PSU or batteries. What type of nRF24 are you using? Genuine, Clones (blob-version?).



  • @tekka I tried a few combinations: different positions (nearest ~20cm, farest ~5m with walls), radios (probably clones, but no blobs, nRF from mysensors store and others, also pa+lna for gateway) and different caps with no success. Still quite a lot of packages lost during transmision.
    I then reflashed the old bootloader again and it worked flawless for 5m and 20cm.


  • Admin

    @Anduril Can you re-test this version of MYSBootloader (16Mhz, CH76, 250kbp) with the most recent dev 2.0.0 version (i.e. GW), clearing EEPROM before flashing is advisable. In my setup, I get pretty decent data rates for OTA updates...



  • @tekka I will test this asap (hopefully this weekend). One point for clearing EEPROM: do you know if the sketch also works on the ESP8266? Because I thought to have cleared the EEPROM and uploaded a sketch without wifi config, but it still connected to my wifi.



  • @tekka I did test your new bootloader, with no success. I also tried to use the nano with 8Mhz internal clock, but same result.
    Here again the serial debug of my ESP8266 gateway:
    With the new bootloader:

    0;255;3;0;9;read: 5-5-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=15,pt=0,l=2,sg=0,st=ok:
    0;255;3;0;9;read: 5-5-0 s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFAA160102
    0;255;3;0;9;Client 0: 5;0;4;0;1;6E000100000819CC
    0;255;3;0;9;send: 0-0-5-5 s=0,c=4,t=1,pt=6,l=8,sg=0,st=ok:6E000100000819CC
    0;255;3;0;9;read and forward: 5-5-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=8,pt=1,l=1,sg=0,st=ok:0
    0;255;3;0;9;read: 5-5-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=15,pt=0,l=2,sg=0,st=ok:
    0;255;3;0;9;read: 5-5-0 s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFAA160102
    0;255;3;0;9;Client 0: 5;0;4;0;1;6E000100000819CC
    0;255;3;0;9;send: 0-0-5-5 s=0,c=4,t=1,pt=6,l=8,sg=0,st=fail:6E000100000819CC
    0;255;3;0;9;read: 5-5-0 s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFAA160102
    0;255;3;0;9;Client 0: 5;0;4;0;1;6E000100000819CC
    0;255;3;0;9;send: 0-0-5-5 s=0,c=4,t=1,pt=6,l=8,sg=0,st=ok:6E000100000819CC
    0;255;3;0;9;read and forward: 5-5-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=8,pt=1,l=1,sg=0,st=ok:0
    0;255;3;0;9;read: 5-5-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=15,pt=0,l=2,sg=0,st=ok:
    0;255;3;0;9;read: 5-5-0 s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFAA160102
    0;255;3;0;9;Client 0: 5;0;4;0;1;6E000100000819CC
    0;255;3;0;9;send: 0-0-5-5 s=0,c=4,t=1,pt=6,l=8,sg=0,st=ok:6E000100000819CC
    0;255;3;0;9;read and forward: 5-5-255 s=255,c=3,t=7,pt=1,l=0,sg=0
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=8,pt=1,l=1,sg=0,st=ok:0
    0;255;3;0;9;read: 5-5-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;send: 0-0-5-5 s=255,c=3,t=15,pt=0,l=2,sg=0,st=ok:
    0;255;3;0;9;read: 5-5-0 s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFAA160102
    0;255;3;0;9;Client 0: 5;0;4;0;1;6E000100000819CC
    0;255;3;0;9;send: 0-0-5-5 s=0,c=4,t=1,pt=6,l=8,sg=0,st=ok:6E000100000819CC
    

    with the old bootloader:

    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100FD07
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100FD070895262FF999FECF92BD81BDF89A0197
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100FD070895262FF999FECF92BD81BDF89A0197
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100FC07
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100FC07CB01840F951F2E9105D041505040D8F7
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100FC07CB01840F951F2E9105D041505040D8F7
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100FB07
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100FB07B8F70895DC01A40FB51F4150504040F0
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100FB07B8F70895DC01A40FB51F4150504040F0
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100FA07
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100FA07F2BDE1BDF89A319600B40D9241505040
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100FA07F2BDE1BDF89A319600B40D9241505040
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F907
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F90711240895DC01CB01FC01F999FECF06C0
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F90711240895DC01CB01FC01F999FECF06C0
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F807
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F807990B08957AE0979F902D879F802D910D
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F807990B08957AE0979F902D879F802D910D
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F707
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F7078D910190801921F441505040C8F7881B
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F7078D910190801921F441505040C8F7881B
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F607
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F6071EF4909581959F4F0895FB01DC0104C0
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F6071EF4909581959F4F0895FB01DC0104C0
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F507
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F50703C018D0820F911D219120532A30C8F3
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F50703C018D0820F911D219120532A30C8F3
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F407
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F40710F02E30C8F32B3239F02D3231F46894
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F40710F02E30C8F32B3239F02D3231F46894
    0;255;3;0;9;read: 6-6-0 s=255,c=4,t=2,pt=6,l=6,sg=0:6E000100F307
    0;255;3;0;9;Client 0: 6;255;4;0;3;6E000100F307FC0188279927E89421912032E9F32930
    0;255;3;0;9;send: 0-0-6-6 s=255,c=4,t=3,pt=6,l=22,sg=0,st=ok:6E000100F307FC0188279927E89421912032E9F32930
    

    just for completeness my settings for burning the old bootloader:

    nano.name=Arduino Nano
    nano.upload.tool=avrdude
    nano.upload.protocol=arduino
    nano.bootloader.tool=avrdude
    nano.bootloader.unlock_bits=0x3F
    nano.bootloader.lock_bits=0x0F
    nano.build.f_cpu=16000000L
    nano.build.board=AVR_NANO
    nano.build.core=arduino
    nano.build.variant=eightanaloginputs
    nano.menu.cpu.MYSBLoldatmega328=ATmega328 MYSBootloader old
    nano.menu.cpu.MYSBLoldatmega328.upload.maximum_size=30720
    nano.menu.cpu.MYSBLoldatmega328.upload.maximum_data_size=2048
    nano.menu.cpu.MYSBLoldatmega328.upload.speed=115200
    nano.menu.cpu.MYSBLoldatmega328.bootloader.low_fuses=0xFF
    nano.menu.cpu.MYSBLoldatmega328.bootloader.high_fuses=0xDA
    nano.menu.cpu.MYSBLoldatmega328.bootloader.extended_fuses=0x05
    nano.menu.cpu.MYSBLoldatmega328.bootloader.file=MySensors/MYSBootloader.hex
    

    And to note something I noticed (but don't know if it's related): sometimes the MYSController loses it's connection to the gateway. Serial monitor is still printing values but nothing in MYSController. When I reconnect the Controller it is working again.

    edit: and is it normal that a sketch needs more than 20 min to upload? I mean the sketch is quite big (>70% of max), but it seems to be to long even with the old (for me faster) bootloader.

    edit2: one hour and about 24k messages (MsgID in MYSController) later my node is still updating...



  • Did any one able to make this work with atmega328p-PU 28 DIP 8MHz internal clock? or is it just me having problems with this boot loader?

    I was able to load the boot loader successfully and able to upload a sketch but then nothing happen, i see nothing in the serial port (default 115200) and the gateway does not find any node.

    I am using latest dev branch of 2.0 and the boot loader from this thread.

    Just for compression i loaded another boot loader for 8MHz internal clock (Arduino on breadboard) and uploaded a sketch to it and it worked perfectly communicating with the gateway.

    I want to be able to upload OTA.

    AM i doing something wrong? does this boot loader even supports this MCU?



  • I have a node with the NRF already soldered. Since Arduino as ISP uses some of the pins used by the NRF, is there anything I can do to flash the bootloader without unsoldering the NRF? Thanks!



  • This post is deleted!


  • @abmantis You can just solder ISP wires to arduino without disconneting NRF. It's programming well (I've already tested this solution with my network)



  • @Алексей-Гусаров Thank you! Will try that soon 🙂
    Any updates regarding the bootloader?



  • I managed to use the bootloader with version 2.0, thanks.



Suggested Topics

2
Online

11.4k
Users

11.1k
Topics

112.7k
Posts