NAOqi Changes ¶
autolaunch.py is no longer used ¶
The functionnality (running autodiagnostic, switching leds on during boot up), is now implemented in C++ in naoqi-bin executable.
Loading modules ¶
To have your module loaded at
startup, the syntax
The file is still located in
The systen ‘autoload.ini’ is now in
your are strongly advised to
[core] .... [extra] .... mymodule
This way you can put your module where you want, and you do not
have to copy/paste the
from the system anymore.
You can also start programs (or remote’s modules) using the [program] tag:
[program] /full/path/to/mymodule # or /full/path/to/myfolder/whatever/mymodule
You have the same process to work with python script using [python] tag:
[python] /full/path/to/mypythonscript.py # or /full/path/to/myfolder/whatever/mypythonscript.py
Note for C++ developpers: on linux, the module libraries used to be loaded with RTLD_LAZY , now the modules are loaded with RTLD_NOW .
Thus, if on 1.10 you had unresolved symbols in your module you could crash naoqi, and on 1.12 your module will simply not load, giving an error message looking like:
[ERROR] Could not load library: /home/nao/naoqi/lib/naoqi/libmymodule.so [ERROR] Error was: Launcher::loadLibrary Could not load library: "/home/nao/naoqi/lib/naoqi/libmymodule.so" Error was: /home/nao/naoqi/lib/naoqi/libmymodule.so: undefined symbol: ...
If you don’t know what this means, don’t worry, most of the time you will not be impacted by this change.
Using custom Python libraries in your behaviors ¶
Please put your modules in:
This way there is
or messing up
ALPreferences module ¶
Previously, we had a very confusing situation:
writePrefFile("foo")would write in
writePrefFile("foo.xml")would write in
writePrefFile("foo")will create a file in