Node.js version of ROS 2.0 client
npm run generate-messages
manually to generate all the JavaScript messages.class MyNode extends Node {
constructor(
nodeName,
namespace = '',
context = Context.defaultContext(),
options = NodeOptions.defaultOptions
) {
super(nodeName, namespace, context, options);
this.init();
}
async init() {
await rclnodejs.init();
this._count = COUNTD_DOWN;
this._node = rclnodejs.createLifecycleNode(NODE_NAME);
this._node.registerOnConfigure((prevState)=>this.onConfigure(prevState));
this._node.registerOnActivate((prevState)=>this.onActivate(prevState));
this._node.registerOnDeactivate((prevState)=>this.onDeactivate(prevState));
this._node.registerOnShutdown((prevState)=>this.onShutdown(prevState));
this._StateInterface = rclnodejs.createMessage('lifecycle_msgs/msg/State').constructor;
rclnodejs.spin(this._node);
}
Note: v0.15.0 has been tested against ROS 2 Foxy Fitzroy Patch Release 1 by 3071feac8fab76191ba619cd0f6d29cd2beb80d1 (2020-7-21)
Note: v0.14.1 has been tested against ROS 2 Foxy Fitzroy by 142b97042d26a3d582964744052188ba5e07f2ce (2020-6-10)