Releases: RobotWebTools/rclnodejs
Releases · RobotWebTools/rclnodejs
rclnodejs v0.11.0
This release has been verified with ROS 2 Eloquent Elusor by #539.
Feature Added
- TypeScript support, #537
- Type declaration files (*.d.ts), see types/ folder
- dts generation script creates interfaces.d.ts, a collection of type aliases for all ROS msg and srv interfaces, including custom msg and srv files
- Updated README with notes for working with TypeScript.
import * as rclnodejs from 'rclnodejs';
import {std_msgs} from 'rclnodejs';
async function main() {
await rclnodejs.init();
const node = rclnodejs.createNode('messager');
const pub = node.createPublisher('std_msgs/msg/String', 'message');
const timer = node.createTimer(1000, () => {
const msg = 'hello world: ' + Date.now();
//alternatively using type aliased messages
// const msg: std_msgs.msg.String = {
// data: 'hello world (std_msg)'
// }
pub.publish(msg);
});
rclnodejs.spin(node);
}
main();
Other
- Removed message generation for deprecated actions
rclnodejs v0.10.3
This release is a bug fix edition and has been verified with ROS 2 Dashing Diademata Patch Release 4 by #525
Bug fix
- Fix build in cases where AMENT_PREFIX_PATH has more than two items #521
- Fix time.seconds and nanoseconds #531
- Replace the deprecated methods used in the tests written in C++ #515
- Replace the deprecated rclpy interfaces used in the unit tests #518
Others
- Add a note explaining a possible error that can happen when using jest #514
- Use AMENT_PREFIX_PATH as env var #508
- Minimum node version #528
Meanwhile, many individual developers contributed their effort to the project, I'd like to thanks them all!
rclnodejs v0.10.2
This version has been verified with ROS 2 Dashing Diademata Patch Release 3 on #507.
Feature Added
- Two functions were added to the Client class #509
- waitForService
- isServiceServerAvailable
client.waitForService(1000).then(result => {
if (!result) {
console.log('Error: service not available');
rclnodejs.shutdown();
return;
}
});
Others
rclnodejs v0.10.1
This version has been verified with ROS 2 Dashing Diademata Patch Release 2.
Feature Added
- Support to pass the timeout parameter when starting to spin, which may reduce the CPU overhead potentially. #472 e.g.
rclnodejs.spin(node, -1); // Waits until something happens.
- Support to define the default value of wstring, e.g.
wstring wstring_value_default1 "Hello world!"
Others
- Update the CI configurations and dependencies.
rclnodejs v0.10.0
This is the very first version which starts to support - ROS 2 Dashing Diademata verified on #494, and there is still some issue which fails the AppVeyor on Windows 10 and I have submitted an issue to track it. Hopefully, all bots will pass when it gets resolved.
Feature Added
- Some API updates to make the module can work properly on Dashing
- Support default value in .msg file, e.g. here
- Support wstring (https://design.ros2.org/articles/idl_interface_definition.html)
- Update test case
Others
- Update README file to add Dashing information
rclnodejs v0.9.0
rclnodejs v0.8.0
Feature Added
- Add the support of Context #442
rclnodejs v0.7.1
Bug Fix
- Fix the build error due to the changes of rcl_wait_set_add_* #433
rclnodejs v0.7.0
Feature Added
- Add Clock/ROSClock class support.
- Add TimeSource class support, which enables you to attach
Clock
s to it and update them by receiving the topic ofbuiltin_interfaces/msg/Time
.
Improvements
- As the maximum safe integer in JavaScript is (2^53 - 1) due to double-precision floating-point format numbers specified in IEEE_754, the
int64_t
cannot be represented in JavaScript. We are going to use the string format of the integer forTime
andDuration
when exceeding the limitation, e.g.
let time = new Time(0, '9007199254740992'); // time.nanoseconds equals '9007199254740992'
let duration = new Duration(0, '9007199254740992'); // duration.nanoseconds equals '9007199254740992'
rclnodejs v0.6.1
Release Note
- This patch release fixed a problem which caused by the new error handling API #429