by providing an exception in the node wrapper if the low-level driver failed to initialize properly.
The low-level driver is untouched, because I think the node should handle the failed initialization, not the driver itself. There was already a bool return in the init function, but was not handled.
Respawn was made a parameter which defaults to true (backward compatible, and maybe to handle a working sensor but faling program). This option permits to not respawn in case the death of the node comes from initialization failure. Then it does not respawn constantly.
by providing an exception in the node wrapper if the low-level driver failed to initialize properly.
The low-level driver is untouched, because I think the node should handle the failed initialization, not the driver itself. There was already a bool return in the init function, but was not handled.
Respawn was made a parameter which defaults to true (backward compatible, and maybe to handle a working sensor but faling program). This option permits to not respawn in case the death of the node comes from initialization failure. Then it does not respawn constantly.