UNPKG

rclnodejs

Version:
37 lines (27 loc) 826 B
// Publisher for repro test - runs in separate process 'use strict'; const rclnodejs = require('./index.js'); const PUBLISH_HZ = parseInt(process.argv[2] || '100'); async function main() { await rclnodejs.init(); const node = new rclnodejs.Node('test_publisher_node'); const publisher = node.createPublisher( 'std_msgs/msg/Float64MultiArray', '/test_hz_topic' ); node.spin(); let pubCount = 0; console.log(`Publishing at ${PUBLISH_HZ} Hz...`); const pubInterval = setInterval(() => { publisher.publish({ data: [1.0, 2.0, 3.0] }); pubCount++; }, 1000 / PUBLISH_HZ); setTimeout(() => { clearInterval(pubInterval); console.log(`Published ${pubCount} messages total`); node.stop(); rclnodejs.shutdown(); process.exit(0); }, 15000); } main().catch(console.error);