@canboat/canboatjs 3.15.0 → 3.16.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +10 -0
- package/build/Makefile +347 -0
- package/build/binding.Makefile +6 -0
- package/build/canSocket.target.mk +189 -0
- package/build/gyp-mac-tool +772 -0
- package/dist/bin/candumpjs.js +2 -3
- package/dist/bin/candumpjs.js.map +1 -1
- package/dist/bin/cansendjs.js +3 -4
- package/dist/bin/cansendjs.js.map +1 -1
- package/dist/canSocket.d.ts +39 -0
- package/dist/canSocket.d.ts.map +1 -0
- package/dist/canSocket.js +101 -0
- package/dist/canSocket.js.map +1 -0
- package/dist/canbus.d.ts.map +1 -1
- package/dist/canbus.js +4 -19
- package/dist/canbus.js.map +1 -1
- package/dist/simpleCan.d.ts.map +1 -1
- package/dist/simpleCan.js +2 -3
- package/dist/simpleCan.js.map +1 -1
- package/native/canSocket.cpp +64 -0
- package/package.json +6 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/vscode-profile-2025-07-21-12-04-28.cpuprofile +1 -0
- package/dist/actisense-serial.d.ts +0 -17
- package/dist/bin/actisense-file.d.ts +0 -3
- package/dist/bin/actisense-n2k-tcp.d.ts +0 -3
- package/dist/bin/actisense-serialjs.d.ts +0 -3
- package/dist/bin/analyzerjs.d.ts +0 -3
- package/dist/bin/candumpjs.d.ts +0 -3
- package/dist/bin/cansendjs.d.ts +0 -3
- package/dist/bin/ikonvert-serial.d.ts +0 -3
- package/dist/bin/to-pgn.d.ts +0 -3
- package/dist/bin/utils.d.ts +0 -4
- package/dist/bin/ydvr-file.d.ts +0 -3
- package/dist/browser.d.ts +0 -25
- package/dist/canId.d.ts +0 -21
- package/dist/canId.test.d.ts +0 -2
- package/dist/canbus.d.ts +0 -17
- package/dist/candevice.d.ts +0 -23
- package/dist/codes.d.ts +0 -2
- package/dist/discovery.d.ts +0 -17
- package/dist/fromPgnStream.d.ts +0 -17
- package/dist/ikonvert.d.ts +0 -17
- package/dist/index.d.ts +0 -40
- package/dist/maretron.d.ts +0 -74
- package/dist/maretron.test.d.ts +0 -2
- package/dist/n2k-actisense.test.d.ts +0 -2
- package/dist/n2kDevice.d.ts +0 -44
- package/dist/persist.d.ts +0 -18
- package/dist/pgns.d.ts +0 -5
- package/dist/pgns.test.d.ts +0 -2
- package/dist/simpleCan.d.ts +0 -17
- package/dist/stringMsg.test.d.ts +0 -2
- package/dist/utilities.test.d.ts +0 -2
- package/dist/venus-mqtt.d.ts +0 -11
- package/dist/w2k01.d.ts +0 -17
- package/dist/yddevice.d.ts +0 -25
- package/dist/ydgw02.d.ts +0 -17
package/dist/bin/candumpjs.js
CHANGED
|
@@ -11,8 +11,7 @@ const utilities_1 = require("../utilities");
|
|
|
11
11
|
const stringMsg_1 = require("../stringMsg");
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
13
|
const util_1 = __importDefault(require("util"));
|
|
14
|
-
|
|
15
|
-
const socketcan = require('socketcan');
|
|
14
|
+
const canSocket_1 = require("../canSocket");
|
|
16
15
|
const argv = (0, minimist_1.default)(process.argv.slice(2), {
|
|
17
16
|
alias: {
|
|
18
17
|
h: 'help'
|
|
@@ -98,7 +97,7 @@ parser.on('pgn', (pgn) => {
|
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
99
|
});
|
|
101
|
-
const channel =
|
|
100
|
+
const channel = new canSocket_1.CanChannel(canDevice);
|
|
102
101
|
channel.addListener('onStopped', (msg) => {
|
|
103
102
|
console.error(`socketcan stopped ${msg}`);
|
|
104
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":";;;;;;AAEA,oCAAkC;AAClC,oCAAqC;AACrC,wDAA+B;AAC/B,4CAAqE;AACrE,4CAA6C;AAC7C,mCAAsC;AACtC,gDAAuB;
|
|
1
|
+
{"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/cansendjs.js
CHANGED
|
@@ -11,6 +11,7 @@ const canId_1 = require("../canId");
|
|
|
11
11
|
const readline_1 = __importDefault(require("readline"));
|
|
12
12
|
const minimist_1 = __importDefault(require("minimist"));
|
|
13
13
|
const utils_1 = require("./utils");
|
|
14
|
+
const canSocket_1 = require("../canSocket");
|
|
14
15
|
const argv = (0, minimist_1.default)(process.argv.slice(2), {
|
|
15
16
|
boolean: ['test', 'log-output'],
|
|
16
17
|
string: ['src'],
|
|
@@ -37,11 +38,9 @@ const logOut = argv['log-output'];
|
|
|
37
38
|
const test = argv.test;
|
|
38
39
|
let channel;
|
|
39
40
|
if (!test) {
|
|
40
|
-
|
|
41
|
-
const socketcan = require('socketcan');
|
|
42
|
-
channel = socketcan.createRawChannel(canDevice);
|
|
41
|
+
channel = new canSocket_1.CanChannel(canDevice);
|
|
43
42
|
channel.addListener('onStopped', (msg) => {
|
|
44
|
-
console.error(`
|
|
43
|
+
console.error(`CAN channel stopped ${msg}`);
|
|
45
44
|
});
|
|
46
45
|
channel.start();
|
|
47
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cansendjs.js","sourceRoot":"","sources":["../../lib/bin/cansendjs.ts"],"names":[],"mappings":";;;;;;AAEA,4CAA6C;AAC7C,oCAAgC;AAChC,4CAA2D;AAC3D,oCAAsC;AACtC,wDAA+B;AAC/B,wDAA+B;AAC/B,mCAAsC;
|
|
1
|
+
{"version":3,"file":"cansendjs.js","sourceRoot":"","sources":["../../lib/bin/cansendjs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal CAN socket wrapper using fs streams instead of uv_poll_t.
|
|
3
|
+
*
|
|
4
|
+
* The native addon (native/canSocket.cpp) opens a PF_CAN socket, binds it
|
|
5
|
+
* to the interface, sets O_NONBLOCK, and returns the raw fd.
|
|
6
|
+
*
|
|
7
|
+
* Node.js's net.Socket cannot wrap CAN fds (uv_guess_handle returns
|
|
8
|
+
* UV_UNKNOWN_HANDLE). Instead we use fs.createReadStream which uses libuv's
|
|
9
|
+
* threadpool-based uv_fs_read — works on any fd, never stalls, and does not
|
|
10
|
+
* use uv_poll_t. Writes use fs.write() directly on the fd.
|
|
11
|
+
*
|
|
12
|
+
* Copyright 2025 Signal K contributors
|
|
13
|
+
* Licensed under the Apache License, Version 2.0
|
|
14
|
+
*/
|
|
15
|
+
import { EventEmitter } from 'events';
|
|
16
|
+
export interface CanMessage {
|
|
17
|
+
id: number;
|
|
18
|
+
data: Buffer;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Drop-in replacement for socketcan's channel object.
|
|
22
|
+
* Same API: addListener('onMessage'), addListener('onStopped'),
|
|
23
|
+
* start(), stop(), send(), removeAllListeners().
|
|
24
|
+
*/
|
|
25
|
+
export declare class CanChannel extends EventEmitter {
|
|
26
|
+
private readStream;
|
|
27
|
+
private fd;
|
|
28
|
+
private remainder;
|
|
29
|
+
private stopped;
|
|
30
|
+
constructor(ifname: string);
|
|
31
|
+
start(): void;
|
|
32
|
+
stop(): void;
|
|
33
|
+
send(msg: {
|
|
34
|
+
id: number;
|
|
35
|
+
ext?: boolean;
|
|
36
|
+
data: Buffer;
|
|
37
|
+
}): void;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=canSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canSocket.d.ts","sourceRoot":"","sources":["../lib/canSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAkBrC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,EAAE,CAAQ;IAClB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,EAAE,MAAM;IAK1B,KAAK,IAAI,IAAI;IAuCb,IAAI,IAAI,IAAI;IASZ,IAAI,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAgB7D"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal CAN socket wrapper using fs streams instead of uv_poll_t.
|
|
4
|
+
*
|
|
5
|
+
* The native addon (native/canSocket.cpp) opens a PF_CAN socket, binds it
|
|
6
|
+
* to the interface, sets O_NONBLOCK, and returns the raw fd.
|
|
7
|
+
*
|
|
8
|
+
* Node.js's net.Socket cannot wrap CAN fds (uv_guess_handle returns
|
|
9
|
+
* UV_UNKNOWN_HANDLE). Instead we use fs.createReadStream which uses libuv's
|
|
10
|
+
* threadpool-based uv_fs_read — works on any fd, never stalls, and does not
|
|
11
|
+
* use uv_poll_t. Writes use fs.write() directly on the fd.
|
|
12
|
+
*
|
|
13
|
+
* Copyright 2025 Signal K contributors
|
|
14
|
+
* Licensed under the Apache License, Version 2.0
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.CanChannel = void 0;
|
|
18
|
+
const events_1 = require("events");
|
|
19
|
+
const fs_1 = require("fs");
|
|
20
|
+
const CAN_EFF_FLAG = 0x80000000;
|
|
21
|
+
const CAN_EFF_MASK = 0x1fffffff;
|
|
22
|
+
const CAN_FRAME_SIZE = 16; // sizeof(struct can_frame)
|
|
23
|
+
const CAN_DATA_OFFSET = 8;
|
|
24
|
+
let native;
|
|
25
|
+
try {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
27
|
+
native = require('../build/Release/canSocket.node');
|
|
28
|
+
}
|
|
29
|
+
catch (_e) {
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
31
|
+
native = require('../build/Debug/canSocket.node');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Drop-in replacement for socketcan's channel object.
|
|
35
|
+
* Same API: addListener('onMessage'), addListener('onStopped'),
|
|
36
|
+
* start(), stop(), send(), removeAllListeners().
|
|
37
|
+
*/
|
|
38
|
+
class CanChannel extends events_1.EventEmitter {
|
|
39
|
+
readStream = null;
|
|
40
|
+
fd;
|
|
41
|
+
remainder = Buffer.alloc(0);
|
|
42
|
+
stopped = false;
|
|
43
|
+
constructor(ifname) {
|
|
44
|
+
super();
|
|
45
|
+
this.fd = native.openCanSocket(ifname);
|
|
46
|
+
}
|
|
47
|
+
start() {
|
|
48
|
+
this.stopped = false;
|
|
49
|
+
this.readStream = (0, fs_1.createReadStream)('', {
|
|
50
|
+
fd: this.fd,
|
|
51
|
+
autoClose: false,
|
|
52
|
+
highWaterMark: CAN_FRAME_SIZE * 64
|
|
53
|
+
});
|
|
54
|
+
this.readStream.on('data', (chunk) => {
|
|
55
|
+
this.remainder = Buffer.concat([this.remainder, chunk]);
|
|
56
|
+
while (this.remainder.length >= CAN_FRAME_SIZE) {
|
|
57
|
+
const frame = this.remainder.subarray(0, CAN_FRAME_SIZE);
|
|
58
|
+
this.remainder = this.remainder.subarray(CAN_FRAME_SIZE);
|
|
59
|
+
const rawId = frame.readUInt32LE(0);
|
|
60
|
+
const id = rawId & CAN_EFF_MASK;
|
|
61
|
+
const dlc = frame[4];
|
|
62
|
+
const data = Buffer.from(frame.subarray(CAN_DATA_OFFSET, CAN_DATA_OFFSET + dlc));
|
|
63
|
+
this.emit('onMessage', { id, data });
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
this.readStream.on('error', (err) => {
|
|
67
|
+
if (!this.stopped) {
|
|
68
|
+
this.emit('onStopped', err.message);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
this.readStream.on('close', () => {
|
|
72
|
+
if (!this.stopped) {
|
|
73
|
+
this.emit('onStopped', 'closed');
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
stop() {
|
|
78
|
+
this.stopped = true;
|
|
79
|
+
if (this.readStream) {
|
|
80
|
+
this.readStream.destroy();
|
|
81
|
+
this.readStream = null;
|
|
82
|
+
}
|
|
83
|
+
(0, fs_1.close)(this.fd, () => { });
|
|
84
|
+
}
|
|
85
|
+
send(msg) {
|
|
86
|
+
if (this.stopped) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const frame = Buffer.alloc(CAN_FRAME_SIZE);
|
|
90
|
+
let canId = msg.id;
|
|
91
|
+
if (msg.ext) {
|
|
92
|
+
canId |= CAN_EFF_FLAG;
|
|
93
|
+
}
|
|
94
|
+
frame.writeUInt32LE(canId >>> 0, 0);
|
|
95
|
+
frame[4] = msg.data.length;
|
|
96
|
+
msg.data.copy(frame, CAN_DATA_OFFSET, 0, Math.min(msg.data.length, 8));
|
|
97
|
+
(0, fs_1.write)(this.fd, frame, 0, CAN_FRAME_SIZE, null, () => { });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.CanChannel = CanChannel;
|
|
101
|
+
//# sourceMappingURL=canSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canSocket.js","sourceRoot":"","sources":["../lib/canSocket.ts"],"names":[],"mappings":"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"}
|
package/dist/canbus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canbus.d.ts","sourceRoot":"","sources":["../lib/canbus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"canbus.d.ts","sourceRoot":"","sources":["../lib/canbus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAqEnD"}
|
package/dist/canbus.js
CHANGED
|
@@ -27,6 +27,7 @@ const candevice_1 = require("./candevice");
|
|
|
27
27
|
const utilities_2 = require("./utilities");
|
|
28
28
|
const canId_1 = require("./canId");
|
|
29
29
|
const stringMsg_1 = require("./stringMsg");
|
|
30
|
+
const canSocket_1 = require("./canSocket");
|
|
30
31
|
const util_1 = __importDefault(require("util"));
|
|
31
32
|
function CanbusStream(options) {
|
|
32
33
|
if (this === undefined) {
|
|
@@ -56,15 +57,6 @@ function CanbusStream(options) {
|
|
|
56
57
|
if (options.fromStdIn) {
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
|
-
try {
|
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
61
|
-
this.socketcan = require('socketcan');
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
console.error(err);
|
|
65
|
-
const msg = 'unable to load native socketcan interface';
|
|
66
|
-
console.error(msg);
|
|
67
|
-
}
|
|
68
60
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
69
61
|
const that = this;
|
|
70
62
|
if (options.app) {
|
|
@@ -139,11 +131,6 @@ CanbusStream.prototype.connect = function () {
|
|
|
139
131
|
this.reconnecting = true;
|
|
140
132
|
const canDevice = this.options.canDevice || 'can0';
|
|
141
133
|
try {
|
|
142
|
-
if (this.socketcan === undefined) {
|
|
143
|
-
this.setProviderError('unable to load native socketcan interface');
|
|
144
|
-
this.reconnecting = false;
|
|
145
|
-
return false;
|
|
146
|
-
}
|
|
147
134
|
// Clean up old channel if it exists
|
|
148
135
|
if (this.channel) {
|
|
149
136
|
try {
|
|
@@ -162,9 +149,7 @@ CanbusStream.prototype.connect = function () {
|
|
|
162
149
|
this.stoppingChannel = false;
|
|
163
150
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
164
151
|
const that = this;
|
|
165
|
-
this.channel =
|
|
166
|
-
non_block_send: true
|
|
167
|
-
});
|
|
152
|
+
this.channel = new canSocket_1.CanChannel(canDevice);
|
|
168
153
|
this.channel.addListener('onStopped', () => {
|
|
169
154
|
// Check if we still have a channel reference (not already handled)
|
|
170
155
|
if (!this.channel) {
|
|
@@ -183,7 +168,7 @@ CanbusStream.prototype.connect = function () {
|
|
|
183
168
|
delete this.channel;
|
|
184
169
|
this.setProviderError('Stopped unexpectedly, Retrying...');
|
|
185
170
|
if (this.options.app) {
|
|
186
|
-
console.error('
|
|
171
|
+
console.error('CAN channel stopped unexpectedly, retrying...');
|
|
187
172
|
}
|
|
188
173
|
setTimeout(() => {
|
|
189
174
|
this.setProviderError('Reconnecting...');
|
|
@@ -228,7 +213,7 @@ CanbusStream.prototype.connect = function () {
|
|
|
228
213
|
}
|
|
229
214
|
});
|
|
230
215
|
this.channel.start();
|
|
231
|
-
this.setProviderStatus('Connected to
|
|
216
|
+
this.setProviderStatus('Connected to CAN bus');
|
|
232
217
|
this.candevice = new candevice_1.CanDevice(this, this.options);
|
|
233
218
|
this.candevice.start();
|
|
234
219
|
// Recreate the no-data monitoring timer for this connection
|
package/dist/canbus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canbus.js","sourceRoot":"","sources":["../lib/canbus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canbus.js","sourceRoot":"","sources":["../lib/canbus.ts"],"names":[],"mappings":"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"}
|
package/dist/simpleCan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleCan.d.ts","sourceRoot":"","sources":["../lib/simpleCan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"simpleCan.d.ts","sourceRoot":"","sources":["../lib/simpleCan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,wBAAgB,SAAS,CACvB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,QAK/B"}
|
package/dist/simpleCan.js
CHANGED
|
@@ -24,18 +24,17 @@ const canId_1 = require("./canId");
|
|
|
24
24
|
const stringMsg_1 = require("./stringMsg");
|
|
25
25
|
const toPgn_1 = require("./toPgn");
|
|
26
26
|
const utilities_1 = require("./utilities");
|
|
27
|
+
const canSocket_1 = require("./canSocket");
|
|
27
28
|
const lodash_1 = __importDefault(require("lodash"));
|
|
28
29
|
const debug = (0, utilities_1.createDebug)('canboatjs:simpleCan');
|
|
29
30
|
function SimpleCan(options, messageCb) {
|
|
30
31
|
this.options = options;
|
|
31
32
|
this.messageCb = messageCb;
|
|
32
33
|
this.plainText = false;
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
34
|
-
this.socketcan = require('socketcan');
|
|
35
34
|
}
|
|
36
35
|
SimpleCan.prototype.start = function () {
|
|
37
36
|
const canDevice = this.options.canDevice || 'can0';
|
|
38
|
-
this.channel =
|
|
37
|
+
this.channel = new canSocket_1.CanChannel(canDevice);
|
|
39
38
|
if (this.messageCb) {
|
|
40
39
|
this.channel.addListener('onMessage', (msg) => {
|
|
41
40
|
const pgn = (0, canId_1.parseCanId)(msg.id);
|
package/dist/simpleCan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleCan.js","sourceRoot":"","sources":["../lib/simpleCan.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;
|
|
1
|
+
{"version":3,"file":"simpleCan.js","sourceRoot":"","sources":["../lib/simpleCan.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;AAYH,8BAQC;AAlBD,2CAAuC;AACvC,mCAAwD;AACxD,2CAAqE;AACrE,mCAA+B;AAC/B,2CAAuE;AACvE,2CAAwC;AACxC,oDAAsB;AAEtB,MAAM,KAAK,GAAG,IAAA,uBAAW,EAAC,qBAAqB,CAAC,CAAA;AAEhD,SAAgB,SAAS,CAEvB,OAAY,EACZ,SAA8B;IAE9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;AACxB,CAAC;AAED,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAA;IAElD,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAU,CAAC,SAAS,CAAC,CAAA;IACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAQ,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE9B,IACE,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,SAAS,CAAC,OAAO;gBACtB,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EACjC,CAAC;gBACD,OAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CACZ,IAAA,0BAAc,EAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAC1D,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YAClE,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACpB,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,EAAE;QACnC,GAAG,IAAI,CAAC,OAAO;QACf,0BAA0B,EAAE,IAAI;QAChC,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;AACxB,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,GAAQ;IAC9C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,IACE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO;YACvB,GAAG,CAAC,GAAG,KAAK,KAAK;YACjB,GAAG,CAAC,GAAG,KAAK,KAAK;YACjB,GAAG,CAAC,GAAG,KAAK,MAAM,EAClB,CAAC;YACD,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;YACzB,OAAM;QACR,CAAC;QAED,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAExB,MAAM,GAAG,GACP,GAAG,CAAC,GAAG,KAAK,KAAK,IAAK,GAAW,CAAC,QAAQ;YACxC,CAAC,CAAC,GAAG,CAAC,GAAG;YACT,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAA;QAC5B,IAAI,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;YACd,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;YACb,IAAI,gBAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;YACd,CAAC;YACD,IAAI,gBAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;YACf,CAAC;QACH,CAAC;QAED,IAAI,KAAa,CAAA;QACjB,IAAI,MAA0B,CAAA;QAE9B,IAAI,GAAG,CAAA;QACP,IAAI,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAY,CAAC,CAAA;YACjC,MAAM,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;YACnB,GAAG,GAAG,GAAG,CAAA;QACX,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,CAAA;YACzB,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAA;YACxB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,IAAA,mCAAuB,EAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;YACtE,KAAK,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,0DAA0D;YAC1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAA;gBACjC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC5D,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,GAAW;IAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#include <napi.h>
|
|
2
|
+
#include <sys/socket.h>
|
|
3
|
+
#include <sys/ioctl.h>
|
|
4
|
+
#include <net/if.h>
|
|
5
|
+
#include <linux/can.h>
|
|
6
|
+
#include <linux/can/raw.h>
|
|
7
|
+
#include <unistd.h>
|
|
8
|
+
#include <cstring>
|
|
9
|
+
#include <cerrno>
|
|
10
|
+
|
|
11
|
+
Napi::Value OpenCanSocket(const Napi::CallbackInfo& info) {
|
|
12
|
+
Napi::Env env = info.Env();
|
|
13
|
+
|
|
14
|
+
if (info.Length() < 1 || !info[0].IsString()) {
|
|
15
|
+
Napi::TypeError::New(env, "Interface name required")
|
|
16
|
+
.ThrowAsJavaScriptException();
|
|
17
|
+
return env.Undefined();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
std::string ifname = info[0].As<Napi::String>().Utf8Value();
|
|
21
|
+
|
|
22
|
+
int fd = socket(PF_CAN, SOCK_RAW, CAN_RAW);
|
|
23
|
+
if (fd < 0) {
|
|
24
|
+
Napi::Error::New(env, std::string("socket(PF_CAN): ") + strerror(errno))
|
|
25
|
+
.ThrowAsJavaScriptException();
|
|
26
|
+
return env.Undefined();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
struct ifreq ifr;
|
|
30
|
+
std::memset(&ifr, 0, sizeof(ifr));
|
|
31
|
+
std::strncpy(ifr.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
|
|
32
|
+
if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
|
|
33
|
+
std::string err = std::string("ioctl(SIOCGIFINDEX) for '") + ifname +
|
|
34
|
+
"': " + strerror(errno);
|
|
35
|
+
close(fd);
|
|
36
|
+
Napi::Error::New(env, err).ThrowAsJavaScriptException();
|
|
37
|
+
return env.Undefined();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
struct sockaddr_can addr;
|
|
41
|
+
std::memset(&addr, 0, sizeof(addr));
|
|
42
|
+
addr.can_family = AF_CAN;
|
|
43
|
+
addr.can_ifindex = ifr.ifr_ifindex;
|
|
44
|
+
if (bind(fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
|
|
45
|
+
std::string err =
|
|
46
|
+
std::string("bind() to '") + ifname + "': " + strerror(errno);
|
|
47
|
+
close(fd);
|
|
48
|
+
Napi::Error::New(env, err).ThrowAsJavaScriptException();
|
|
49
|
+
return env.Undefined();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Leave fd in blocking mode. fs.createReadStream uses libuv's threadpool
|
|
53
|
+
// (uv_fs_read) — blocking reads on worker threads are correct and efficient.
|
|
54
|
+
// This avoids EAGAIN errors and eliminates the uv_poll_t failure mode entirely.
|
|
55
|
+
|
|
56
|
+
return Napi::Number::New(env, fd);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
Napi::Object Init(Napi::Env env, Napi::Object exports) {
|
|
60
|
+
exports.Set("openCanSocket", Napi::Function::New(env, OpenCanSocket));
|
|
61
|
+
return exports;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
NODE_API_MODULE(canSocket, Init)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canboat/canboatjs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.16.0-beta.1",
|
|
4
4
|
"description": "Native javascript version of canboat",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"browser": "dist/browser.js",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"code-coverage": "jest --coverage && nyc mocha --exit",
|
|
12
12
|
"build_ios": "webpack -c ./webpack.config.js --mode development ./ios.js -o ios_canboat.js",
|
|
13
13
|
"build_prod_ios": "webpack -c ./webpack.config.js --mode production ./ios.js -o ios_canboat.js",
|
|
14
|
+
"install": "node-gyp rebuild || echo 'Native CAN socket addon not available on this platform'",
|
|
14
15
|
"build": "tsc -b --pretty false",
|
|
15
16
|
"watch": "tsc --watch",
|
|
16
17
|
"prepublishOnly": "npm run build",
|
|
@@ -34,7 +35,7 @@
|
|
|
34
35
|
"actisense-n2k-tcp": "./dist/bin/actisense-n2k-tcp.js",
|
|
35
36
|
"candumpjs": "./dist/bin/candumpjs.js",
|
|
36
37
|
"ikonvert-serial": "./dist/bin/ikonvert-serial.js",
|
|
37
|
-
"
|
|
38
|
+
"cansendjs": "./dist/bin/cansendjs.js",
|
|
38
39
|
"ydr-file": "./dist/bin/ydvr-file.js"
|
|
39
40
|
},
|
|
40
41
|
"keywords": [
|
|
@@ -65,6 +66,7 @@
|
|
|
65
66
|
"minimist": "^1.2.0",
|
|
66
67
|
"moment": "^2.30.1",
|
|
67
68
|
"mqtt": "^2.18.8",
|
|
69
|
+
"node-addon-api": "^8.6.0",
|
|
68
70
|
"split": "^1.0.1"
|
|
69
71
|
},
|
|
70
72
|
"devDependencies": {
|
|
@@ -96,10 +98,10 @@
|
|
|
96
98
|
"typescript-eslint": "^8.35.0",
|
|
97
99
|
"webpack-cli": "^6.0.1"
|
|
98
100
|
},
|
|
101
|
+
"gypfile": true,
|
|
99
102
|
"optionalDependencies": {
|
|
100
103
|
"@serialport/parser-readline": "11.x.x",
|
|
101
|
-
"serialport": "11.x.x"
|
|
102
|
-
"socketcan": "^4.0.3"
|
|
104
|
+
"serialport": "11.x.x"
|
|
103
105
|
},
|
|
104
106
|
"repository": {
|
|
105
107
|
"type": "git",
|