MySensors 1.5.2 Released
-
Hello,
I tried to compile with 1.5.2 and got these errors:
/Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp: In member function 'boolean MySensor::sendRoute(MyMessage&)': /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:27:25: error: '_doSign' was not declared in this scope #define DO_SIGN(node) (~_doSign[node>>3]&(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:356:6: note: in expansion of macro 'DO_SIGN' if (DO_SIGN(message.destination) && message.sender == nc.nodeId && !mGetAck(message) && mGetLength(message) && ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp: In member function 'boolean MySensor::process()': /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:28:25: error: '_doSign' was not declared in this scope #define SET_SIGN(node) (_doSign[node>>3]&=~(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:670:6: note: in expansion of macro 'SET_SIGN' SET_SIGN(msg.sender); ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:29:27: error: '_doSign' was not declared in this scope #define CLEAR_SIGN(node) (_doSign[node>>3]|=(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:673:6: note: in expansion of macro 'CLEAR_SIGN' CLEAR_SIGN(msg.sender); ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:27:25: error: '_doSign' was not declared in this scope #define DO_SIGN(node) (~_doSign[node>>3]&(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:682:40: note: in expansion of macro 'DO_SIGN' if (signer.requestSignatures() && DO_SIGN(msg.sender)) ^ Erreur lors de la compilation.No compilation issue with 1.5. And everything is working perfectly.
David.
-
Hello,
I tried to compile with 1.5.2 and got these errors:
/Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp: In member function 'boolean MySensor::sendRoute(MyMessage&)': /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:27:25: error: '_doSign' was not declared in this scope #define DO_SIGN(node) (~_doSign[node>>3]&(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:356:6: note: in expansion of macro 'DO_SIGN' if (DO_SIGN(message.destination) && message.sender == nc.nodeId && !mGetAck(message) && mGetLength(message) && ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp: In member function 'boolean MySensor::process()': /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:28:25: error: '_doSign' was not declared in this scope #define SET_SIGN(node) (_doSign[node>>3]&=~(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:670:6: note: in expansion of macro 'SET_SIGN' SET_SIGN(msg.sender); ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:29:27: error: '_doSign' was not declared in this scope #define CLEAR_SIGN(node) (_doSign[node>>3]|=(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:673:6: note: in expansion of macro 'CLEAR_SIGN' CLEAR_SIGN(msg.sender); ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:27:25: error: '_doSign' was not declared in this scope #define DO_SIGN(node) (~_doSign[node>>3]&(1<<(node%8))) ^ /Users/carlierd/Arduino/libraries/MySensors/MySensor.cpp:682:40: note: in expansion of macro 'DO_SIGN' if (signer.requestSignatures() && DO_SIGN(msg.sender)) ^ Erreur lors de la compilation.No compilation issue with 1.5. And everything is working perfectly.
David.
-
@carlierd I found a problem there. I have to make a new release. Sorry for the inconvenience!
@Anticimex No problem !! Thanks for the support :)
-
@Anticimex
Yes, I'll have to update the codebender library manually.@hek said:
@Anticimex
Yes, I'll have to update the codebender library manually.I have uploaded 1.5.2 library as a Personal Library in codebender. I have not had any trouble doing this before. Just tried 1.5.3 but I get the same error.
-
Is there "SOMETHING" missing like this??
MySensor gw(transport, SOMETHING);candidate constructor not viable: requires 2 arguments, but 1 was provided MySensor(MyTransport &radio =*new MyTransportNRF24(), MyHw &hw=*new MyHwDriver()How do I define "MyHwDriver"??
candidate constructor not viable: requires 2 arguments, but 1 was provided MySensor(MyTransport &radio =*new MyTransportNRF24(), MyHw &hw=*new MyHwDriver()Weird it finds the MySensors constructor, it has a default value (MyHwDriver) but doesn't use it. Darn compilers.
-
And you have selected a atmega328-based target when you build?
-
candidate constructor not viable: requires 2 arguments, but 1 was provided MySensor(MyTransport &radio =*new MyTransportNRF24(), MyHw &hw=*new MyHwDriver()Weird it finds the MySensors constructor, it has a default value (MyHwDriver) but doesn't use it. Darn compilers.
@hek said:
Weird it finds the MySensors constructor, it has a default value (MyHwDriver) but doesn't use it. Darn compilers.
I take it you have managed to reproduce the situation or do you need some more information from me?
@Anticimex said:
And you have selected a atmega328-based target when you build?
Yes, I have an "Arduino Pro Mini 5V 16MHz w/ ATmega328" selected when compiling.
-
Updated codebender lib to 1.5.3 and it fails with the same error you got.
Seems like codebender doesn't define ARDUINO_ARCH_AVR for the Uno board... which is used to select the correct hw-driver here:
https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/MySensor.h#L47I've tried to reach Vasilis over at codebender but I guess it's a bit late for a reply today.
-
I updated to 1.5.3 and I get 2 warnings just by opening arduino IDE
Warning: platform.txt from core 'MySensors AVR based boards' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Consider upgrading this core. WARNING: Category '' in library UIPEthernet is not valid. Setting to 'Uncategorized'I'm using IDE 1.6.6
It was working before with MySensors 1.5 -
Those warnings are no reason for concern. Everything works like before.
-
@Anticimex
Ok, but is there a way to remove them?I can confirm it compiles and uploads correctly.
Thanks
-
Should just be a matter of editing platform.txt I suppose. I have not worked with those aspects. The release only change signing related parts. Those warnings are probably relating to IDE and versions of board support packages.
-
1.5.3 in codebender compiles now.
They're only compatible with arduino IDE 1.0.5 currently. Which means they don't define ARDUINO_ARCH_AVR which MySensors relies on.
Patched the codebender library (manually defining this) as a workaround until they update their things.