Skip to content

Commit d4ca186

Browse files
author
Minggang Wang
authored
Merge pull request #160 from minggangw/fix-issue-53
Add debug log for the JavaScript code
2 parents 5037348 + ef2f6d9 commit d4ca186

File tree

6 files changed

+23
-2
lines changed

6 files changed

+23
-2
lines changed

index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const packages = require('./rosidl_gen/packages.js');
2121
const loader = require('./lib/interface_loader.js');
2222
const QoS = require('./lib/qos.js');
2323
const validator = require('./lib/validator.js');
24+
const debug = require('debug')('rclnodejs');
2425

2526
function inherits(target, source) {
2627
let properties = Object.getOwnPropertyNames(source.prototype);
@@ -59,6 +60,7 @@ let rcl = {
5960
let node = new rclnodejs.ShadowNode();
6061

6162
node.init(nodeName, namespace);
63+
debug('Finish initializing node, name = %s and namespace = %s.', nodeName, namespace);
6264
node.handle = handle;
6365
this._nodes.push(node);
6466
return node;
@@ -72,9 +74,12 @@ let rcl = {
7274
init(...args) {
7375
return new Promise((resolve, reject) => {
7476
if (!this._initialized) {
77+
debug('Begin to generate JavaScript code from ROS IDL files.');
7578
// TODO(Kenny): introduce other policy to save the amout of time of doing message generation
7679
generator.generateAll(false).then(() => {
80+
debug('Finish generating.');
7781
rclnodejs.init(args);
82+
debug('Finish initializing rcl with args = %o.', args);
7883
this._initialized = true;
7984
resolve();
8085
}).catch((e) => {
@@ -147,8 +152,10 @@ let rcl = {
147152
regenerateAll() {
148153
// This will trigger to regererate all the JS structs used for messages and services,
149154
// to overwrite the existing ones although they have been created.
155+
debug('Begin to regenerate JavaScript code from ROS IDL files.');
150156
return new Promise((resolve, reject) => {
151157
generator.generateAll(true).then(() => {
158+
debug('Finish regenerating.');
152159
resolve();
153160
}).catch((e) => {
154161
reject(e);

lib/client.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
const rclnodejs = require('bindings')('rclnodejs');
1818
const Entity = require('./entity.js');
19+
const debug = require('debug')('rclnodejs:client');
1920

2021
/**
2122
* @class - Class representing a Client in ROS
@@ -59,6 +60,7 @@ class Client extends Entity {
5960

6061
let rawROSRequest = rclRequest.serialize();
6162
this._sequenceNumber = rclnodejs.sendRequest(this._handle, rawROSRequest);
63+
debug('Client has sent a request.');
6264
this._callback = callback;
6365
}
6466

@@ -68,6 +70,7 @@ class Client extends Entity {
6870

6971
processResponse(response) {
7072
this._response.deserialize(response);
73+
debug('Client has received response from service.');
7174
this._callback(this._response);
7275
}
7376

lib/node.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const Subscription = require('./subscription.js');
2121
const Client = require('./client.js');
2222
const Service = require('./service.js');
2323
const QoS = require('./qos.js');
24+
const debug = require('debug')('rclnodejs:node');
2425

2526
/**
2627
* @class - Class representing a Node in ROS
@@ -115,8 +116,8 @@ class Node {
115116

116117
let timerHandle = rclnodejs.createTimer(period);
117118
let timer = new Timer(timerHandle, period, callback);
119+
debug('Finish creating timer, period = %d.', period);
118120
this._timers.push(timer);
119-
120121
return timer;
121122
}
122123

@@ -134,6 +135,7 @@ class Node {
134135
}
135136

136137
let publisher = Publisher.createPublisher(this.handle, typeClass, topic, qos);
138+
debug('Finish creating publisher, topic = %s.', topic);
137139
this._publishers.push(publisher);
138140
return publisher;
139141
}
@@ -164,6 +166,7 @@ class Node {
164166
}
165167

166168
let subscription = Subscription.createSubscription(this.handle, typeClass, topic, callback, qos);
169+
debug('Finish creating subscription, topic = %s.', topic);
167170
this._subscriptions.push(subscription);
168171
return subscription;
169172
}
@@ -182,6 +185,7 @@ class Node {
182185
}
183186

184187
let client = Client.createClient(this.handle, serviceName, typeClass, qos);
188+
debug('Finish creating client, service = %s.', serviceName);
185189
this._clients.push(client);
186190
return client;
187191
}
@@ -212,6 +216,7 @@ class Node {
212216
}
213217

214218
let service = Service.createService(this.handle, serviceName, typeClass, callback, qos);
219+
debug('Finish creating service, service = %s.', serviceName);
215220
this._services.push(service);
216221
return service;
217222
}

lib/publisher.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
'use strict';
1616

1717
const rclnodejs = require('bindings')('rclnodejs');
18-
const debug = require('debug')('rcl_publisher');
18+
const debug = require('debug')('rclnodejs:publisher');
1919
const Entity = require('./entity.js');
2020

2121
/**
@@ -53,6 +53,7 @@ class Publisher extends Entity {
5353
let rawRosMessage = rclMessage.serialize();
5454
if (rawRosMessage) {
5555
rclnodejs.publish(this._handle, rawRosMessage);
56+
debug('Message has been published.');
5657
} else {
5758
debug('Message was not published:', rclMessage);
5859
}

lib/service.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
const rclnodejs = require('bindings')('rclnodejs');
1818
const Entity = require('./entity.js');
19+
const debug = require('debug')('rclnodejs:service');
1920

2021
/**
2122
* @class - Class representing a Service in ROS
@@ -32,10 +33,12 @@ class Service extends Entity {
3233

3334
processRequest(headerHandle, request) {
3435
this._request.deserialize(request);
36+
debug('Service has received a request from client.');
3537
let response = this._callback(this._request, new this._typeClass.Response());
3638

3739
let rawROSResponse = response.serialize();
3840
rclnodejs.sendResponse(this._handle, rawROSResponse, headerHandle);
41+
debug('Service has processed the request and sent the response.');
3942
}
4043

4144
static createService(nodeHandle, serviceName, typeClass, callback, qos) {

lib/subscription.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
const rclnodejs = require('bindings')('rclnodejs');
1818
const Entity = require('./entity.js');
19+
const debug = require('debug')('rclnodejs:subscription');
1920

2021
/**
2122
* @class - Class representing a Subscription in ROS
@@ -32,6 +33,7 @@ class Subscription extends Entity {
3233

3334
processResponse(msg) {
3435
this._message.deserialize(msg);
36+
debug('Message received.');
3537
this._callback(this._message);
3638
}
3739

0 commit comments

Comments
 (0)