@canboat/canboatjs 3.0.2 → 3.2.2
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/.github/workflows/publish.yml +18 -9
- package/.github/workflows/test.yml +2 -2
- package/.github/workflows/test_canboat_changes.yml +91 -0
- package/.husky/pre-commit +4 -0
- package/.mocharc.js +7 -0
- package/.prettierrc.json +5 -0
- package/README.md +5 -14
- package/dist/actisense-serial.d.ts +17 -0
- package/dist/actisense-serial.d.ts.map +1 -0
- package/dist/actisense-serial.js +569 -0
- package/dist/actisense-serial.js.map +1 -0
- package/dist/bin/actisense-file.d.ts +3 -0
- package/dist/bin/actisense-file.d.ts.map +1 -0
- package/dist/bin/actisense-file.js +49 -0
- package/dist/bin/actisense-file.js.map +1 -0
- package/dist/bin/actisense-n2k-tcp.d.ts +3 -0
- package/dist/bin/actisense-n2k-tcp.d.ts.map +1 -0
- package/dist/bin/actisense-n2k-tcp.js +46 -0
- package/dist/bin/actisense-n2k-tcp.js.map +1 -0
- package/dist/bin/actisense-serialjs.d.ts +3 -0
- package/dist/bin/actisense-serialjs.d.ts.map +1 -0
- package/dist/bin/actisense-serialjs.js +51 -0
- package/dist/bin/actisense-serialjs.js.map +1 -0
- package/dist/bin/analyzerjs.d.ts +3 -0
- package/dist/bin/analyzerjs.d.ts.map +1 -0
- package/dist/bin/analyzerjs.js +61 -0
- package/dist/bin/analyzerjs.js.map +1 -0
- package/dist/bin/candumpjs.d.ts +3 -0
- package/dist/bin/candumpjs.d.ts.map +1 -0
- package/dist/bin/candumpjs.js +73 -0
- package/dist/bin/candumpjs.js.map +1 -0
- package/dist/bin/cansend.d.ts +3 -0
- package/dist/bin/cansend.d.ts.map +1 -0
- package/dist/bin/cansend.js +123 -0
- package/dist/bin/cansend.js.map +1 -0
- package/dist/bin/ikonvert-serial.d.ts +3 -0
- package/dist/bin/ikonvert-serial.d.ts.map +1 -0
- package/dist/bin/ikonvert-serial.js +36 -0
- package/dist/bin/ikonvert-serial.js.map +1 -0
- package/dist/bin/to-pgn.d.ts +3 -0
- package/dist/bin/to-pgn.d.ts.map +1 -0
- package/dist/bin/to-pgn.js +57 -0
- package/dist/bin/to-pgn.js.map +1 -0
- package/dist/canId.d.ts +21 -0
- package/dist/canId.d.ts.map +1 -0
- package/dist/canId.js +66 -0
- package/dist/canId.js.map +1 -0
- package/dist/canId.test.d.ts +2 -0
- package/dist/canId.test.d.ts.map +1 -0
- package/dist/canId.test.js +58 -0
- package/dist/canId.test.js.map +1 -0
- package/dist/canbus.d.ts +17 -0
- package/dist/canbus.d.ts.map +1 -0
- package/dist/canbus.js +261 -0
- package/dist/canbus.js.map +1 -0
- package/dist/candevice.d.ts +23 -0
- package/dist/candevice.d.ts.map +1 -0
- package/dist/candevice.js +36 -0
- package/dist/candevice.js.map +1 -0
- package/dist/codes.d.ts +2 -0
- package/dist/codes.d.ts.map +1 -0
- package/dist/codes.js +24 -0
- package/dist/codes.js.map +1 -0
- package/dist/discovery.d.ts +17 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +119 -0
- package/dist/discovery.js.map +1 -0
- package/dist/fromPgn.d.ts +51 -0
- package/dist/fromPgn.d.ts.map +1 -0
- package/dist/fromPgn.js +989 -0
- package/dist/fromPgn.js.map +1 -0
- package/dist/fromPgnStream.d.ts +17 -0
- package/dist/fromPgnStream.d.ts.map +1 -0
- package/dist/fromPgnStream.js +47 -0
- package/dist/fromPgnStream.js.map +1 -0
- package/dist/ikonvert.d.ts +17 -0
- package/dist/ikonvert.d.ts.map +1 -0
- package/dist/ikonvert.js +224 -0
- package/dist/ikonvert.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +60 -0
- package/dist/index.js.map +1 -0
- package/dist/n2k-actisense.d.ts +24 -0
- package/dist/n2k-actisense.d.ts.map +1 -0
- package/dist/n2k-actisense.js +126 -0
- package/dist/n2k-actisense.js.map +1 -0
- package/dist/n2k-actisense.test.d.ts +2 -0
- package/dist/n2k-actisense.test.d.ts.map +1 -0
- package/dist/n2k-actisense.test.js +49 -0
- package/dist/n2k-actisense.test.js.map +1 -0
- package/dist/n2kDevice.d.ts +44 -0
- package/dist/n2kDevice.d.ts.map +1 -0
- package/dist/n2kDevice.js +436 -0
- package/dist/n2kDevice.js.map +1 -0
- package/dist/pgns.d.ts +22 -0
- package/dist/pgns.d.ts.map +1 -0
- package/dist/pgns.js +157 -0
- package/dist/pgns.js.map +1 -0
- package/dist/pgns.test.d.ts +2 -0
- package/dist/pgns.test.d.ts.map +1 -0
- package/dist/pgns.test.js +14 -0
- package/dist/pgns.test.js.map +1 -0
- package/dist/simpleCan.d.ts +17 -0
- package/dist/simpleCan.d.ts.map +1 -0
- package/dist/simpleCan.js +125 -0
- package/dist/simpleCan.js.map +1 -0
- package/dist/stringMsg.d.ts +33 -0
- package/dist/stringMsg.d.ts.map +1 -0
- package/dist/stringMsg.js +359 -0
- package/dist/stringMsg.js.map +1 -0
- package/dist/stringMsg.test.d.ts +2 -0
- package/dist/stringMsg.test.d.ts.map +1 -0
- package/dist/stringMsg.test.js +244 -0
- package/dist/stringMsg.test.js.map +1 -0
- package/dist/toPgn.d.ts +34 -0
- package/dist/toPgn.d.ts.map +1 -0
- package/dist/toPgn.js +500 -0
- package/dist/toPgn.js.map +1 -0
- package/dist/utilities.d.ts +28 -0
- package/dist/utilities.d.ts.map +1 -0
- package/dist/utilities.js +159 -0
- package/dist/utilities.js.map +1 -0
- package/dist/utilities.test.d.ts +2 -0
- package/dist/utilities.test.d.ts.map +1 -0
- package/dist/utilities.test.js +9 -0
- package/dist/utilities.test.js.map +1 -0
- package/dist/venus-mqtt.d.ts +11 -0
- package/dist/venus-mqtt.d.ts.map +1 -0
- package/dist/venus-mqtt.js +100 -0
- package/dist/venus-mqtt.js.map +1 -0
- package/dist/venus.d.ts +11 -0
- package/dist/venus.d.ts.map +1 -0
- package/dist/venus.js +71 -0
- package/dist/venus.js.map +1 -0
- package/dist/w2k01.d.ts +17 -0
- package/dist/w2k01.d.ts.map +1 -0
- package/dist/w2k01.js +119 -0
- package/dist/w2k01.js.map +1 -0
- package/dist/yddevice.d.ts +25 -0
- package/dist/yddevice.d.ts.map +1 -0
- package/dist/yddevice.js +43 -0
- package/dist/yddevice.js.map +1 -0
- package/dist/ydgw02.d.ts +17 -0
- package/dist/ydgw02.d.ts.map +1 -0
- package/dist/ydgw02.js +163 -0
- package/dist/ydgw02.js.map +1 -0
- package/dist/ydvr.d.ts +17 -0
- package/dist/ydvr.d.ts.map +1 -0
- package/dist/ydvr.js +120 -0
- package/dist/ydvr.js.map +1 -0
- package/eslint.config.js +58 -0
- package/jest.config.js +5 -0
- package/lib/actisense-serial.ts +644 -0
- package/lib/bin/actisense-file.ts +53 -0
- package/lib/bin/actisense-n2k-tcp.ts +50 -0
- package/lib/bin/actisense-serialjs.ts +55 -0
- package/{bin/analyzerjs → lib/bin/analyzerjs.ts} +16 -15
- package/{bin/candumpjs → lib/bin/candumpjs.ts} +19 -20
- package/lib/bin/cansend.ts +131 -0
- package/lib/bin/ikonvert-serial.ts +44 -0
- package/{bin/to-pgn → lib/bin/to-pgn.ts} +23 -17
- package/lib/bin/ydvr-file +33 -0
- package/lib/canId.test.js +35 -15
- package/lib/canId.ts +84 -0
- package/lib/canbus.ts +293 -0
- package/lib/candevice.ts +41 -0
- package/lib/codes.ts +21 -0
- package/lib/{discovery.js → discovery.ts} +32 -30
- package/lib/fromPgn.ts +1207 -0
- package/lib/{fromPgnStream.js → fromPgnStream.ts} +17 -12
- package/lib/{ikonvert.js → ikonvert.ts} +99 -94
- package/lib/index.ts +48 -0
- package/lib/n2k-actisense.test.js +31 -32
- package/lib/n2k-actisense.ts +152 -0
- package/lib/n2kDevice.ts +516 -0
- package/lib/pgns.test.ts +12 -0
- package/lib/pgns.ts +191 -0
- package/lib/simpleCan.ts +140 -0
- package/lib/stringMsg.test.js +58 -41
- package/lib/stringMsg.ts +464 -0
- package/lib/toPgn.ts +597 -0
- package/lib/utilities.ts +169 -0
- package/lib/venus-mqtt.js +69 -73
- package/lib/venus.js +8 -8
- package/lib/w2k01.ts +142 -0
- package/lib/{yddevice.js → yddevice.ts} +18 -16
- package/lib/{ydgw02.js → ydgw02.ts} +58 -51
- package/lib/ydvr.js +65 -147
- package/package.json +54 -18
- package/tsconfig.json +19 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/CHANGELOG.md +0 -101
- package/bin/actisense-file +0 -47
- package/bin/actisense-n2k-tcp +0 -45
- package/bin/actisense-serialjs +0 -52
- package/bin/candumpanalyzerjs +0 -29
- package/bin/cansend +0 -130
- package/bin/ikonvert-serial +0 -50
- package/bin/ydgw-analyzerjs +0 -36
- package/bin/ydvr-file +0 -33
- package/index.js +0 -53
- package/ios_canboat.js/main.js +0 -2
- package/ios_canboat.js/main.js.LICENSE.txt +0 -17
- package/ios_canboat.js/main.js.map +0 -1
- package/lib/canId.js +0 -64
- package/lib/canbus.js +0 -278
- package/lib/candevice.js +0 -51
- package/lib/codes.js +0 -69
- package/lib/codes.test.js +0 -17
- package/lib/codesMfgs.json +0 -166
- package/lib/fromPgn.js +0 -1027
- package/lib/n2k-actisense.js +0 -108
- package/lib/n2kDevice.js +0 -390
- package/lib/pgns.js +0 -196
- package/lib/pgns.test.js +0 -13
- package/lib/serial.js +0 -647
- package/lib/simpleCan.js +0 -105
- package/lib/stringMsg.js +0 -339
- package/lib/toPgn.js +0 -518
- package/lib/utilities.js +0 -111
- package/lib/w2k01.js +0 -129
|
@@ -9,15 +9,24 @@ jobs:
|
|
|
9
9
|
- uses: actions/checkout@v2
|
|
10
10
|
- uses: actions/setup-node@v1
|
|
11
11
|
with:
|
|
12
|
-
node-version: '
|
|
12
|
+
node-version: '22.x'
|
|
13
13
|
registry-url: 'https://registry.npmjs.org'
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
|
|
15
|
+
- name: Install and build
|
|
16
|
+
run: |
|
|
17
|
+
npm cache clean -f
|
|
18
|
+
npm install
|
|
19
|
+
npm ci && npm cache clean --force
|
|
20
|
+
npm run build
|
|
21
|
+
|
|
22
|
+
- name: Publish
|
|
23
|
+
run: |
|
|
24
|
+
npm ci && npm cache clean --force
|
|
25
|
+
if [[ "$tag" == *beta* ]];
|
|
26
|
+
then
|
|
27
|
+
npm publish --tag beta
|
|
28
|
+
else
|
|
29
|
+
npm publish --access public
|
|
30
|
+
fi
|
|
22
31
|
env:
|
|
23
32
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
|
|
17
17
|
strategy:
|
|
18
18
|
matrix:
|
|
19
|
-
node-version: [
|
|
19
|
+
node-version: [20.x, 22.x]
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
22
|
- uses: actions/checkout@v3
|
|
@@ -25,4 +25,4 @@ jobs:
|
|
|
25
25
|
with:
|
|
26
26
|
node-version: ${{ matrix.node-version }}
|
|
27
27
|
- run: npm install
|
|
28
|
-
- run: npm test
|
|
28
|
+
- run: npm run ci-test
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
name: Test Canboat json Changes
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
repository_dispatch:
|
|
5
|
+
types: [trigger-workflow]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
node-version: [22.x]
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout canboatjs
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
with:
|
|
20
|
+
path: ./canboatjs
|
|
21
|
+
|
|
22
|
+
- name: Checkout canboat.json
|
|
23
|
+
uses: actions/checkout@v4
|
|
24
|
+
with:
|
|
25
|
+
repository: canboat/canboat
|
|
26
|
+
path: ./canboat
|
|
27
|
+
sparse-checkout: |
|
|
28
|
+
docs/canboat.json
|
|
29
|
+
sparse-checkout-cone-mode: false
|
|
30
|
+
|
|
31
|
+
- name: Checkout ts-pgns
|
|
32
|
+
uses: actions/checkout@v4
|
|
33
|
+
with:
|
|
34
|
+
repository: canboat/ts-pgns
|
|
35
|
+
path: ./ts-pgns
|
|
36
|
+
|
|
37
|
+
- name: Checkout n2k-signalk
|
|
38
|
+
uses: actions/checkout@v4
|
|
39
|
+
with:
|
|
40
|
+
repository: SignalK/n2k-signalk
|
|
41
|
+
ref: typescript
|
|
42
|
+
path: ./n2k-signalk
|
|
43
|
+
|
|
44
|
+
- name: Checkout signalk-to-nmea2000
|
|
45
|
+
uses: actions/checkout@v4
|
|
46
|
+
with:
|
|
47
|
+
repository: SignalK/signalk-to-nmea2000
|
|
48
|
+
ref: typescript
|
|
49
|
+
path: ./signalk-to-nmea2000
|
|
50
|
+
|
|
51
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
52
|
+
uses: actions/setup-node@v3
|
|
53
|
+
with:
|
|
54
|
+
node-version: ${{ matrix.node-version }}
|
|
55
|
+
|
|
56
|
+
- name: Build ts-pgns
|
|
57
|
+
run: |
|
|
58
|
+
cp ../canboat/docs/canboat.json .
|
|
59
|
+
npm install
|
|
60
|
+
npm run build
|
|
61
|
+
npm run generate
|
|
62
|
+
npm run build
|
|
63
|
+
npm link
|
|
64
|
+
working-directory: ./ts-pgns
|
|
65
|
+
|
|
66
|
+
- name: Test canboatjs
|
|
67
|
+
run: |
|
|
68
|
+
npm install
|
|
69
|
+
npm link @canboat/ts-pgns
|
|
70
|
+
npm run build
|
|
71
|
+
npm link
|
|
72
|
+
npm test
|
|
73
|
+
working-directory: ./canboatjs
|
|
74
|
+
|
|
75
|
+
- name: Test n2k-signalk
|
|
76
|
+
run: |
|
|
77
|
+
npm install
|
|
78
|
+
npm link @canboat/canboatjs
|
|
79
|
+
npm link @canboat/ts-pgns
|
|
80
|
+
npm run build
|
|
81
|
+
npm test
|
|
82
|
+
working-directory: ./n2k-signalk
|
|
83
|
+
|
|
84
|
+
- name: Test signalk-to-nmea2000
|
|
85
|
+
run: |
|
|
86
|
+
npm install
|
|
87
|
+
npm link @canboat/canboatjs
|
|
88
|
+
npm link @canboat/ts-pgns
|
|
89
|
+
npm test
|
|
90
|
+
working-directory: ./signalk-to-nmea2000
|
|
91
|
+
|
package/.mocharc.js
ADDED
package/.prettierrc.json
ADDED
package/README.md
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
# Canboatjs
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/@canboat/canboatjs)
|
|
4
|
+
[](https://github.com/canboat/canboatjs/actions/workflows/test.yml)
|
|
5
|
+
[](https://github.com/canboat/canboatjs/actions/workflows/test_canboat_changes.yml)
|
|
4
6
|
|
|
5
7
|
Pure javascript NMEA 2000 decoder and encoder
|
|
6
8
|
|
|
7
9
|
Canboatjs is a port of the canboat project (https://github.com/canboat/canboat) to javascript
|
|
8
10
|
|
|
9
|
-
# Contributors
|
|
10
|
-
|
|
11
|
-
- Scott Bender <scott@scottbender.net>
|
|
12
|
-
- Kees Verruijt <kees@verruijt.net>
|
|
13
|
-
- Jouni Hartikainen <jouni.hartikainen@iki.fi>
|
|
14
|
-
- Teppo Kurki <teppo.kurki@iki.fi>
|
|
15
|
-
|
|
16
11
|
# Features
|
|
17
12
|
|
|
18
13
|
- Reads directly from CAN bus devices and NMEA 2000 gateways including:
|
|
@@ -20,12 +15,13 @@ Canboatjs is a port of the canboat project (https://github.com/canboat/canboat)
|
|
|
20
15
|
- Digital Yacht iKonvert
|
|
21
16
|
- Yacht Devices YDWG-02 and YDEN-02
|
|
22
17
|
- Shipmodul MiniPlex-3-N2K
|
|
18
|
+
- socketcan based devices
|
|
23
19
|
- Parses input in canboat analyzer json format
|
|
24
20
|
- Converts and outputs binary N2K format to supported devices
|
|
25
21
|
|
|
26
22
|
# PGN Descriptions
|
|
27
23
|
|
|
28
|
-
The details about the PGNs recognized by Canboatjs come from the canboat project in [
|
|
24
|
+
The details about the PGNs recognized by Canboatjs come from the canboat project in [canboat.json](https://github.com/canboat/canboat/blob/master/docs/canboat.json). If you want to add or update PGN details, please make changes to the [pgn.h file](https://github.com/canboat/canboat/blob/master/analyzer/pgn.h) in canboat and submit a pull request there. Include sample data and raise an issue here so that I can include your changes in Canboatjs.
|
|
29
25
|
|
|
30
26
|
# Command Line Programs
|
|
31
27
|
|
|
@@ -39,17 +35,12 @@ Examples:
|
|
|
39
35
|
- `ikonvert-serial /dev/ttyUSB0 | analyzerjs`
|
|
40
36
|
- `nc ydgw 1475 | analyzerjs`
|
|
41
37
|
- `nc w2k-1 6002 | analyzerjs` // port should be N2K ACSCII format server on a w2k-1
|
|
38
|
+
- `candump can0 | analyzerjs`
|
|
42
39
|
|
|
43
40
|
## to-pgn
|
|
44
41
|
|
|
45
42
|
This program takes input in the canboat json format and outputs actisense serial format.
|
|
46
43
|
|
|
47
|
-
## candumpanalyzer
|
|
48
|
-
|
|
49
|
-
This program takes input in the candump format and outputs canboat json format
|
|
50
|
-
|
|
51
|
-
Example: `candump can0 | candumpanalyzerjs`
|
|
52
|
-
|
|
53
44
|
## candumpjs
|
|
54
45
|
|
|
55
46
|
Read directly from a socketcan device without the need to install can-utils
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2018 Scott Bender (scott@scottbender.net)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare function ActisenseStream(this: any, options: any): any;
|
|
17
|
+
//# sourceMappingURL=actisense-serial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actisense-serial.d.ts","sourceRoot":"","sources":["../lib/actisense-serial.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0CH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAkCtD"}
|