MySensors 2.3.1 released


  • Mod

    As an early holiday gift, MySensors 2.3.1 has been released.

    Highlights
    RF24: Add delay after power-up
    RFM69 frequency band support for India
    Improve transport function & debug messages
    Allow flash strings in present() to save RAM

    Release notes and changelog: https://github.com/mysensors/MySensors/releases/tag/2.3.1

    Important information:

    • The NRF24 defines have been renamed to RF24 to use naming that's consistent with the other transport defines.
    • ESP8266 board definitions 2.4.2 or later are REQUIRED for use with this release. If you use ESP8266 board definitions 2.4.1 or earlier you will get an error saying fatal error: gdb_hooks.h: No such file or directory #include "gdb_hooks.h"

    Thanks to all GitHub users who contributed to this release:

    • freynder
    • Jeeva Kandasamy
    • Lee Nelson
    • tekka
    • Yveaux
    • Marcelo Aquino
    • Mikael Falkvidd
    • Patrick Fallberg


  • @mfalkvidd Thank you to all for this update!

    This bit confuses me - "The NRF24 defines have been renamed to RF24"
    I have the following from 2.3.0 and it still compiles using 2.3.1 with the 'nrf24' in the top line #define.

    #define MY_RADIO_NRF24
    #define MY_RF24_PA_LEVEL   RF24_PA_HIGH
    #define MY_RF24_CHANNEL (97)
    #define MY_NODE_ID 43
    

    Can you please clarify (maybe with an exmaple) about this change?


  • Mod

    @skywatch I don’t know but I’ll try to find out when I have access to a computer. (currently traveling)


  • Mod

    @skywatch As I understand it the remark points to the deprecation of MY_RADIO_NRF24 in favor of MY_RADIO_RF24.

    The define MY_RADIO_NRF24 is automatically 'converted' to MY_RADIO_RF24 by 2.3.1, but it will no longer be supported in 3.0.0.
    So, to prepare for 3.0.0. you should use MY_RADIO_RF24.


  • Mod

    @skywatch I beleive the change refers to https://github.com/mysensors/MySensors/issues/1123

    When you compiled, you should have gotten this warning:

    MY_RADIO_NRF24 is deprecated, use MY_RADIO_RF24 instead.
    

    Did you not get that?



  • @mfalkvidd I am using arduino 1.8.7 on win10 and I do not see any message like you illustrated. I just tested it with the gateway sketch and it just compiles with no error or warning.

    With 'nrf' in the define the text is in black, removing the 'n' at the front and it turns light blue as a recognised entity. But either way it just compilies fine. I'm not complaining, just curious now πŸ˜‰


  • Mod

    @skywatch very strange.

    Could you verify this sketch on your system and post the output?

    #define MY_RADIO_NRF24
    
    #include <MySensors.h>
    
    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    

    This is the output on my machine:

    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Micke\AppData\Local\Arduino15\packages -hardware R:\Documents\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Micke\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries R:\Documents\Arduino\libraries -fqbn=arduino:avr:pro:cpu=8MHzatmega328 -ide-version=10806 -build-path C:\Users\Micke\AppData\Local\Temp\ArduinoBuild -warnings=more -build-cache C:\Users\Micke\AppData\Local\Temp\arduino_cache_117559 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Micke\AppData\Local\Temp\arduino_modified_sketch_584498\sketch_dec18b.ino
    C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Micke\AppData\Local\Arduino15\packages -hardware R:\Documents\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Micke\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries R:\Documents\Arduino\libraries -fqbn=arduino:avr:pro:cpu=8MHzatmega328 -ide-version=10806 -build-path C:\Users\Micke\AppData\Local\Temp\ArduinoBuild -warnings=more -build-cache C:\Users\Micke\AppData\Local\Temp\arduino_cache_117559 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Micke\AppData\Local\Temp\arduino_modified_sketch_584498\sketch_dec18b.ino
    Using board 'pro' from platform in folder: C:\Users\Micke\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21
    Using core 'arduino' from platform in folder: C:\Users\Micke\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21
    WARNING: Spurious .ci folder in 'MySensors' library
    WARNING: Spurious .mystools folder in 'MySensors' library
    Detecting libraries used...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp" -o nul
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "-IR:\\Documents\\Arduino\\libraries\\MySensors" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp" -o nul
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "-IR:\\Documents\\Arduino\\libraries\\MySensors" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\SPI\\src" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp" -o nul
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "-IR:\\Documents\\Arduino\\libraries\\MySensors" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\SPI\\src" "R:\\Documents\\Arduino\\libraries\\MySensors\\MyASM.S" -o nul
    Using cached library dependencies for file: C:\Users\Micke\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\libraries\SPI\src\SPI.cpp
    Generating function prototypes...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "-IR:\\Documents\\Arduino\\libraries\\MySensors" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\SPI\\src" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp" -o "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\preproc\\ctags_target_for_gcc_minus_e.cpp"
    "C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\preproc\\ctags_target_for_gcc_minus_e.cpp"
    Compiling sketch...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -Wall -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "-IR:\\Documents\\Arduino\\libraries\\MySensors" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\SPI\\src" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp" -o "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp.o"
    In file included from R:\Documents\Arduino\libraries\MySensors/MySensors.h:42:0,
    
                     from C:\Users\Micke\AppData\Local\Temp\arduino_modified_sketch_584498\sketch_dec18b.ino:3:
    
    R:\Documents\Arduino\libraries\MySensors/MyConfig.h:283:2: warning: #warning MY_RADIO_NRF24 is deprecated, use MY_RADIO_RF24 instead. [-Wcpp]
    
     #warning MY_RADIO_NRF24 is deprecated, use MY_RADIO_RF24 instead.
    
      ^
    
    Compiling libraries...
    Compiling library "MySensors"
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=10806 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\variants\\eightanaloginputs" "-IR:\\Documents\\Arduino\\libraries\\MySensors" "-IC:\\Users\\Micke\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\libraries\\SPI\\src" "R:\\Documents\\Arduino\\libraries\\MySensors\\MyASM.S" -o "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\libraries\\MySensors\\MyASM.S.o"
    Compiling library "SPI"
    Using previously compiled file: C:\Users\Micke\AppData\Local\Temp\ArduinoBuild\libraries\SPI\SPI.cpp.o
    Compiling core...
    Using precompiled core: C:\Users\Micke\AppData\Local\Temp\arduino_cache_117559\core\core_arduino_avr_pro_cpu_8MHzatmega328_47930b75831420c5d089feca28695a81.a
    Linking everything together...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -Wall -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/sketch_dec18b.ino.elf" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\sketch\\sketch_dec18b.ino.cpp.o" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\libraries\\MySensors\\MyASM.S.o" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/..\\arduino_cache_117559\\core\\core_arduino_avr_pro_cpu_8MHzatmega328_47930b75831420c5d089feca28695a81.a" "-LC:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild" -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\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/sketch_dec18b.ino.elf" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/sketch_dec18b.ino.eep"
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/sketch_dec18b.ino.elf" "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/sketch_dec18b.ino.hex"
    Using library MySensors at version 2.3.1 in folder: R:\Documents\Arduino\libraries\MySensors 
    Using library SPI at version 1.0 in folder: C:\Users\Micke\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\libraries\SPI 
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\Micke\\AppData\\Local\\Temp\\ArduinoBuild/sketch_dec18b.ino.elf"
    Sketch uses 6080 bytes (19%) of program storage space. Maximum is 30720 bytes.
    Global variables use 322 bytes (15%) of dynamic memory, leaving 1726 bytes for local variables. Maximum is 2048 bytes.
    

    and without verbose output:

    WARNING: Spurious .ci folder in 'MySensors' library
    WARNING: Spurious .mystools folder in 'MySensors' library
    In file included from R:\Documents\Arduino\libraries\MySensors/MySensors.h:42:0,
    
                     from C:\Users\Micke\AppData\Local\Temp\arduino_modified_sketch_534392\sketch_dec18b.ino:3:
    
    R:\Documents\Arduino\libraries\MySensors/MyConfig.h:283:2: warning: #warning MY_RADIO_NRF24 is deprecated, use MY_RADIO_RF24 instead. [-Wcpp]
    
     #warning MY_RADIO_NRF24 is deprecated, use MY_RADIO_RF24 instead.
    
      ^
    
    Sketch uses 6080 bytes (19%) of program storage space. Maximum is 30720 bytes.
    Global variables use 322 bytes (15%) of dynamic memory, leaving 1726 bytes for local variables. Maximum is 2048 bytes.
    


  • Thanks so much for this! I'm very happy with the ability to present flash strings in present().

    It's like being able to stretch out after a long flight:

    // Register all child sensors with the gateway
    present(CHILD_ID_STATUS, S_INFO, F("Status")); wait(RADIO_DELAY);          // General status of the device, as well as the sleep phase
    present(CHILD_ID_MOTION_SENSOR, S_TEMP, F("Motion detected level")); wait(RADIO_DELAY);  // Total motion count for the past five minutes
    present(CHILD_ID_RINGING, S_DIMMER, F("Dimmer level")); wait(RADIO_DELAY);       // The level of the built-in wake-up LED is also mirrored to the controller. That way you could perhaps use some automation to set another lamp in the room to also slowly rise in brightness.
    present(CHILD_ID_SET_ALARM, S_BINARY, F("Alarm set")); wait(RADIO_DELAY);      // Allow the controller to turn the alarm on or off.
    present(CHILD_ID_SENSITIVITY, S_DIMMER, F("Motion sensitivity")); wait(RADIO_DELAY);      // Set the motion count threshold that will trigger alarm.
    }
    

    // edit: question: would it be possible to also allow the SIMPLE_SECURITY password to also be a flash string?



  • @skywatch said in MySensors 2.3.1 released:

    @mfalkvidd I am using arduino 1.8.7 on win10 and I do not see any message like you illustrated. I just tested it with the gateway sketch and it just compiles with no error or warning.

    With 'nrf' in the define the text is in black, removing the 'n' at the front and it turns light blue as a recognised entity. But either way it just compilies fine. I'm not complaining, just curious now πŸ˜‰

    Hi,

    same thing here: Win10, Arduino 1.8.7, updated to Mysensors 2.3.1 and no warning:

    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Christoph\AppData\Local\Arduino15\packages -hardware C:\Users\Christoph\Dropbox\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Christoph\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Christoph\Dropbox\Arduino\libraries -fqbn=arduino:avr:pro:cpu=16MHzatmega328 -ide-version=10807 -build-path C:\Users\CHRIST~1\AppData\Local\Temp\arduino_build_347589 -warnings=none -build-cache C:\Users\CHRIST~1\AppData\Local\Temp\arduino_cache_573993 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Christoph\Desktop\TestMe\TestMe.ino
    C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Christoph\AppData\Local\Arduino15\packages -hardware C:\Users\Christoph\Dropbox\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Christoph\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Christoph\Dropbox\Arduino\libraries -fqbn=arduino:avr:pro:cpu=16MHzatmega328 -ide-version=10807 -build-path C:\Users\CHRIST~1\AppData\Local\Temp\arduino_build_347589 -warnings=none -build-cache C:\Users\CHRIST~1\AppData\Local\Temp\arduino_cache_573993 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Christoph\Desktop\TestMe\TestMe.ino
    Using board 'pro' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
    Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
    Detecting libraries used...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_PRO -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\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp" -o nul
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Christoph\\Dropbox\\Arduino\\libraries\\MySensors" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp" -o nul
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Christoph\\Dropbox\\Arduino\\libraries\\MySensors" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp" -o nul
    Using cached library dependencies for file: C:\Users\Christoph\Dropbox\Arduino\libraries\MySensors\MyASM.S
    Using cached library dependencies for file: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src\SPI.cpp
    Generating function prototypes...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Christoph\\Dropbox\\Arduino\\libraries\\MySensors" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp" -o "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\preproc\\ctags_target_for_gcc_minus_e.cpp"
    "C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\preproc\\ctags_target_for_gcc_minus_e.cpp"
    Compiling sketch...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Christoph\\Dropbox\\Arduino\\libraries\\MySensors" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp" -o "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp.o"
    Compiling libraries...
    Compiling library "MySensors"
    Using previously compiled file: C:\Users\CHRIST~1\AppData\Local\Temp\arduino_build_347589\libraries\MySensors\MyASM.S.o
    Compiling library "SPI"
    Using previously compiled file: C:\Users\CHRIST~1\AppData\Local\Temp\arduino_build_347589\libraries\SPI\SPI.cpp.o
    Compiling core...
    Using precompiled core: C:\Users\CHRIST~1\AppData\Local\Temp\arduino_cache_573993\core\core_arduino_avr_pro_cpu_16MHzatmega328_0c812875ac70eb4a9b385d8fb077f54c.a
    Linking everything together...
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/TestMe.ino.elf" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\sketch\\TestMe.ino.cpp.o" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\libraries\\MySensors\\MyASM.S.o" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/..\\arduino_cache_573993\\core\\core_arduino_avr_pro_cpu_16MHzatmega328_0c812875ac70eb4a9b385d8fb077f54c.a" "-LC:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589" -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\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/TestMe.ino.elf" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/TestMe.ino.eep"
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/TestMe.ino.elf" "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/TestMe.ino.hex"
    Using library MySensors at version 2.3.1 in folder: C:\Users\Christoph\Dropbox\Arduino\libraries\MySensors 
    Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI 
    "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\CHRIST~1\\AppData\\Local\\Temp\\arduino_build_347589/TestMe.ino.elf"
    Sketch uses 6096 bytes (19%) of program storage space. Maximum is 30720 bytes.
    Global variables use 322 bytes (15%) of dynamic memory, leaving 1726 bytes for local variables. Maximum is 2048 bytes.
    

    I do find the warning line in MySensors.h:

    // legacy - remove for 3.0.0
    /**
    * @def MY_RADIO_NRF24
    * @brief Define this to use a RF24-based radio transport for sensor network communication.
    * @deprecated This flag is deprecated and replaced by @ref MY_RADIO_RF24
    */
    #ifdef MY_RADIO_NRF24
    #warning MY_RADIO_NRF24 is deprecated, use MY_RADIO_RF24 instead.
    #undef MY_RADIO_NRF24
    #define MY_RADIO_RF24
    #endif
    

    I've got my sketches folder on Dropbox so there are potential traps there like additional copies of the MySensors folder and such but I can't find any.

    Christoph



  • Hi,

    did some experiments: switched

    #define MY_RADIO_NRF24
    

    to

    #define MY_RADIO_RF24
    

    : no error. So my MySensors version seems to be okay.

    And then I changed the #warning in MyConfig.h into an #error and that actually did throw an error.

    So maybe it's got to do with warning levels? We are just not being displayed the warnings?
    And that's when I had a look at the settings for my Arduino IDE and found "none" for compiler warnings.
    And that was it πŸ˜‰

    "Your monkey's got it right"
    πŸ™‚

    Christoph



  • @hyla You got it right!

    I just tried and it works. So it seems that the default setting on arduino IDE is for no compilier warnings at all! - I set it to default and now it is working as expected.

    Good Job! πŸ™‚

    @mfalkvidd If MySensors is relying on these messages to inform/warn users, then it would be worth putting something in the 'getting started' area about how to enable compilier messages to the required level within the arduino IDE.


 

336
Online

8.1k
Users

9.0k
Topics

95.4k
Posts