@ebusd/ebus-typespec 0.4.0 → 0.6.0
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/README.md +38 -7
- package/dist/src/csv_emitter.d.ts +5 -2
- package/dist/src/csv_emitter.js +92 -27
- package/dist/src/csv_emitter.js.map +1 -1
- package/dist/src/decorators.js +6 -2
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/lib.d.ts +4 -6
- package/dist/src/lib.js +5 -6
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tsp2ebusd.js +10 -0
- package/dist/src/tsp2ebusd.js.map +1 -1
- package/docs.md +28 -28
- package/lib/decorators.tsp +7 -7
- package/lib/models.tsp +11 -10
- package/lib/types.tsp +108 -108
- package/package.json +5 -1
package/dist/src/tsp2ebusd.js
CHANGED
|
@@ -9,6 +9,7 @@ let outFile = undefined;
|
|
|
9
9
|
async function run() {
|
|
10
10
|
const args = process.argv.slice(2);
|
|
11
11
|
let inFiles = [];
|
|
12
|
+
let translations = undefined;
|
|
12
13
|
let outFileName = undefined;
|
|
13
14
|
let ebusdHostPort = undefined;
|
|
14
15
|
for (let idx = 0; idx < args.length; idx++) {
|
|
@@ -25,6 +26,7 @@ async function run() {
|
|
|
25
26
|
'usage: tsp2ebusd [-e host[:port]] [-o outfile] [infile*]',
|
|
26
27
|
'converts eBUS TypeSpec file(s) or stdin to an ebusd CSV file or stdout.',
|
|
27
28
|
'with:',
|
|
29
|
+
' -t, --trans file the translation JSON/YAML file',
|
|
28
30
|
' -e, --ebusd host[:port] the ebusd host and optional port of ebusd REPL to send the CSV output to (needs to have the "--define" feature enabled)',
|
|
29
31
|
' -o, --output file the output file to write to instead of stdout',
|
|
30
32
|
' infile the input file(s) to use instead of stdin',
|
|
@@ -35,6 +37,9 @@ async function run() {
|
|
|
35
37
|
if (arg === '-o' || arg === '--output') {
|
|
36
38
|
outFileName = args[++idx];
|
|
37
39
|
}
|
|
40
|
+
else if (arg === '-t' || arg === '--trans') {
|
|
41
|
+
translations = args[++idx];
|
|
42
|
+
}
|
|
38
43
|
else if (arg === '-e' || arg === '--ebusd') {
|
|
39
44
|
const parts = args[++idx].split(':');
|
|
40
45
|
if (!parts[0].length) {
|
|
@@ -93,6 +98,11 @@ async function run() {
|
|
|
93
98
|
const options = {
|
|
94
99
|
emit: ['@ebusd/ebus-typespec'],
|
|
95
100
|
additionalImports: ['@ebusd/ebus-typespec'],
|
|
101
|
+
options: {
|
|
102
|
+
'@ebusd/ebus-typespec': {
|
|
103
|
+
translations,
|
|
104
|
+
}
|
|
105
|
+
}
|
|
96
106
|
};
|
|
97
107
|
const outputFiles = {};
|
|
98
108
|
const host = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsp2ebusd.js","sourceRoot":"","sources":["../../src/tsp2ebusd.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tsp2ebusd.js","sourceRoot":"","sources":["../../src/tsp2ebusd.ts"],"names":[],"mappings":"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"}
|
package/docs.md
CHANGED
|
@@ -27,18 +27,18 @@ emit:
|
|
|
27
27
|
|
|
28
28
|
### Emitter options
|
|
29
29
|
|
|
30
|
-
#### `file-type`
|
|
31
|
-
|
|
32
|
-
**Type:** `"csv"`
|
|
33
|
-
|
|
34
|
-
Serialize the schema as csv
|
|
35
|
-
|
|
36
30
|
#### `includes`
|
|
37
31
|
|
|
38
32
|
**Type:** `boolean`
|
|
39
33
|
|
|
40
34
|
Emit includes files as includes instead of inline (incomplete!)
|
|
41
35
|
|
|
36
|
+
#### `translations`
|
|
37
|
+
|
|
38
|
+
**Type:** `string`
|
|
39
|
+
|
|
40
|
+
File name with translations to use.
|
|
41
|
+
|
|
42
42
|
## Linter
|
|
43
43
|
|
|
44
44
|
### Usage
|
|
@@ -118,7 +118,7 @@ Define authentication level.
|
|
|
118
118
|
Define the base message ID to be combined with an extension ID.
|
|
119
119
|
|
|
120
120
|
```typespec
|
|
121
|
-
@Ebus.base(pb: valueof Ebus.
|
|
121
|
+
@Ebus.base(pb: valueof Ebus.pb, sb: valueof Ebus.sb, ...dd: valueof Ebus.symbol[])
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
##### Target
|
|
@@ -129,16 +129,16 @@ Define the base message ID to be combined with an extension ID.
|
|
|
129
129
|
|
|
130
130
|
| Name | Type | Description |
|
|
131
131
|
| ---- | ----------------------------- | ------------------------- |
|
|
132
|
-
| pb | `valueof scalar Ebus.
|
|
133
|
-
| sb | `valueof scalar Ebus.
|
|
134
|
-
| dd | `valueof model Ebus.
|
|
132
|
+
| pb | `valueof scalar Ebus.pb` | the primary message ID. |
|
|
133
|
+
| sb | `valueof scalar Ebus.sb` | the secondary message ID. |
|
|
134
|
+
| dd | `valueof model Ebus.symbol[]` | further message ID parts. |
|
|
135
135
|
|
|
136
136
|
#### `@chain`
|
|
137
137
|
|
|
138
138
|
Define chained message IDs.
|
|
139
139
|
|
|
140
140
|
```typespec
|
|
141
|
-
@Ebus.chain(length: valueof uint8, dd: valueof Ebus.
|
|
141
|
+
@Ebus.chain(length: valueof uint8, dd: valueof Ebus.symbol[], ...dds: valueof Ebus.symbol[][])
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
##### Target
|
|
@@ -150,8 +150,8 @@ Define chained message IDs.
|
|
|
150
150
|
| Name | Type | Description |
|
|
151
151
|
| ------ | ------------------------------- | ------------------------------------------------------------------------------------------ |
|
|
152
152
|
| length | `valueof scalar uint8` | the (maximum) length of a single message part of this chain, or 0 for default (=24). |
|
|
153
|
-
| dd | `valueof model Ebus.
|
|
154
|
-
| dds | `valueof model Ebus.
|
|
153
|
+
| dd | `valueof model Ebus.symbol[]` | second message ID part the chain is built from (first one taken from id or ext decorator). |
|
|
154
|
+
| dds | `valueof model Ebus.symbol[][]` | list of further message ID parts the chain is built from. |
|
|
155
155
|
|
|
156
156
|
#### `@condition`
|
|
157
157
|
|
|
@@ -195,7 +195,7 @@ Define the divisor.
|
|
|
195
195
|
Define the extension message ID to be combined with a base ID.
|
|
196
196
|
|
|
197
197
|
```typespec
|
|
198
|
-
@Ebus.ext(...dd: valueof Ebus.
|
|
198
|
+
@Ebus.ext(...dd: valueof Ebus.symbol[])
|
|
199
199
|
```
|
|
200
200
|
|
|
201
201
|
##### Target
|
|
@@ -206,7 +206,7 @@ Define the extension message ID to be combined with a base ID.
|
|
|
206
206
|
|
|
207
207
|
| Name | Type | Description |
|
|
208
208
|
| ---- | ----------------------------- | ---------------------------- |
|
|
209
|
-
| dd | `valueof model Ebus.
|
|
209
|
+
| dd | `valueof model Ebus.symbol[]` | message ID extensions parts. |
|
|
210
210
|
|
|
211
211
|
#### `@factor`
|
|
212
212
|
|
|
@@ -231,7 +231,7 @@ Define the factor.
|
|
|
231
231
|
Define the whole message ID.
|
|
232
232
|
|
|
233
233
|
```typespec
|
|
234
|
-
@Ebus.id(pb: valueof Ebus.
|
|
234
|
+
@Ebus.id(pb: valueof Ebus.pb, sb: valueof Ebus.sb, ...dd: valueof Ebus.symbol[])
|
|
235
235
|
```
|
|
236
236
|
|
|
237
237
|
##### Target
|
|
@@ -242,9 +242,9 @@ Define the whole message ID.
|
|
|
242
242
|
|
|
243
243
|
| Name | Type | Description |
|
|
244
244
|
| ---- | ----------------------------- | ------------------------- |
|
|
245
|
-
| pb | `valueof scalar Ebus.
|
|
246
|
-
| sb | `valueof scalar Ebus.
|
|
247
|
-
| dd | `valueof model Ebus.
|
|
245
|
+
| pb | `valueof scalar Ebus.pb` | the primary message ID. |
|
|
246
|
+
| sb | `valueof scalar Ebus.sb` | the secondary message ID. |
|
|
247
|
+
| dd | `valueof model Ebus.symbol[]` | further message ID parts. |
|
|
248
248
|
|
|
249
249
|
#### `@in`
|
|
250
250
|
|
|
@@ -317,7 +317,7 @@ None
|
|
|
317
317
|
Define the source address.
|
|
318
318
|
|
|
319
319
|
```typespec
|
|
320
|
-
@Ebus.qq(value?: valueof Ebus.
|
|
320
|
+
@Ebus.qq(value?: valueof Ebus.source)
|
|
321
321
|
```
|
|
322
322
|
|
|
323
323
|
##### Target
|
|
@@ -328,7 +328,7 @@ Define the source address.
|
|
|
328
328
|
|
|
329
329
|
| Name | Type | Description |
|
|
330
330
|
| ----- | ---------------------------- | ---------------------- |
|
|
331
|
-
| value | `valueof scalar Ebus.
|
|
331
|
+
| value | `valueof scalar Ebus.source` | the source address QQ. |
|
|
332
332
|
|
|
333
333
|
#### `@unit`
|
|
334
334
|
|
|
@@ -387,7 +387,7 @@ None
|
|
|
387
387
|
Define the target address.
|
|
388
388
|
|
|
389
389
|
```typespec
|
|
390
|
-
@Ebus.zz(value?: valueof Ebus.
|
|
390
|
+
@Ebus.zz(value?: valueof Ebus.target)
|
|
391
391
|
```
|
|
392
392
|
|
|
393
393
|
##### Target
|
|
@@ -398,9 +398,9 @@ Define the target address.
|
|
|
398
398
|
|
|
399
399
|
| Name | Type | Description |
|
|
400
400
|
| ----- | ---------------------------- | ---------------------- |
|
|
401
|
-
| value | `valueof scalar Ebus.
|
|
401
|
+
| value | `valueof scalar Ebus.target` | the target address ZZ. |
|
|
402
402
|
|
|
403
|
-
### Ebus.
|
|
403
|
+
### Ebus.Internal
|
|
404
404
|
|
|
405
405
|
- [`@bcd`](#@bcd)
|
|
406
406
|
- [`@hex`](#@hex)
|
|
@@ -412,7 +412,7 @@ Define the target address.
|
|
|
412
412
|
Define BCD encoding.
|
|
413
413
|
|
|
414
414
|
```typespec
|
|
415
|
-
@Ebus.
|
|
415
|
+
@Ebus.Internal.bcd
|
|
416
416
|
```
|
|
417
417
|
|
|
418
418
|
##### Target
|
|
@@ -428,7 +428,7 @@ None
|
|
|
428
428
|
Define HEX encoding.
|
|
429
429
|
|
|
430
430
|
```typespec
|
|
431
|
-
@Ebus.
|
|
431
|
+
@Ebus.Internal.hex
|
|
432
432
|
```
|
|
433
433
|
|
|
434
434
|
##### Target
|
|
@@ -444,7 +444,7 @@ None
|
|
|
444
444
|
Define the max bits.
|
|
445
445
|
|
|
446
446
|
```typespec
|
|
447
|
-
@Ebus.
|
|
447
|
+
@Ebus.Internal.maxBits(value: valueof uint8)
|
|
448
448
|
```
|
|
449
449
|
|
|
450
450
|
##### Target
|
|
@@ -467,7 +467,7 @@ For date/time types coded as sequence of individual parts this means reverse seq
|
|
|
467
467
|
and seconds,minutes,hours instead of hours,minutes,seconds for times).
|
|
468
468
|
|
|
469
469
|
```typespec
|
|
470
|
-
@Ebus.
|
|
470
|
+
@Ebus.Internal.reverse
|
|
471
471
|
```
|
|
472
472
|
|
|
473
473
|
##### Target
|
package/lib/decorators.tsp
CHANGED
|
@@ -33,13 +33,13 @@ extern dec auth(target: Model, value: valueof string);
|
|
|
33
33
|
* Define the source address.
|
|
34
34
|
* @param value the source address QQ.
|
|
35
35
|
*/
|
|
36
|
-
extern dec qq(target: Model, value?: valueof
|
|
36
|
+
extern dec qq(target: Model, value?: valueof source);
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* Define the target address.
|
|
40
40
|
* @param value the target address ZZ.
|
|
41
41
|
*/
|
|
42
|
-
extern dec zz(target: Model|Namespace, value?: valueof
|
|
42
|
+
extern dec zz(target: Model|Namespace, value?: valueof target);
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* Define the whole message ID.
|
|
@@ -47,7 +47,7 @@ extern dec zz(target: Model|Namespace, value?: valueof Target);
|
|
|
47
47
|
* @param sb the secondary message ID.
|
|
48
48
|
* @param dd further message ID parts.
|
|
49
49
|
*/
|
|
50
|
-
extern dec id(target: Model, pb: valueof
|
|
50
|
+
extern dec id(target: Model, pb: valueof pb, sb: valueof sb, ...dd: valueof symbol[]);
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* Define the base message ID to be combined with an extension ID.
|
|
@@ -55,13 +55,13 @@ extern dec id(target: Model, pb: valueof Pb, sb: valueof Sb, ...dd: valueof Symb
|
|
|
55
55
|
* @param sb the secondary message ID.
|
|
56
56
|
* @param dd further message ID parts.
|
|
57
57
|
*/
|
|
58
|
-
extern dec base(target: Model, pb: valueof
|
|
58
|
+
extern dec base(target: Model, pb: valueof pb, sb: valueof sb, ...dd: valueof symbol[]);
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* Define the extension message ID to be combined with a base ID.
|
|
62
62
|
* @param dd message ID extensions parts.
|
|
63
63
|
*/
|
|
64
|
-
extern dec ext(target: Model, ...dd: valueof
|
|
64
|
+
extern dec ext(target: Model, ...dd: valueof symbol[]);
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* Define chained message IDs.
|
|
@@ -69,7 +69,7 @@ extern dec ext(target: Model, ...dd: valueof Symbol[]);
|
|
|
69
69
|
* @param dd second message ID part the chain is built from (first one taken from id or ext decorator).
|
|
70
70
|
* @param dds list of further message ID parts the chain is built from.
|
|
71
71
|
*/
|
|
72
|
-
extern dec chain(target: Model, length: valueof uint8, dd: valueof
|
|
72
|
+
extern dec chain(target: Model, length: valueof uint8, dd: valueof symbol[], ...dds: valueof symbol[][]);
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* Define the inherited model(s).
|
|
@@ -112,7 +112,7 @@ extern dec factor(target: numeric|plainTime|ModelProperty, value: valueof numeri
|
|
|
112
112
|
extern dec values(target: numeric|boolean|ModelProperty, values: Enum);
|
|
113
113
|
|
|
114
114
|
|
|
115
|
-
namespace
|
|
115
|
+
namespace Internal {
|
|
116
116
|
/**
|
|
117
117
|
* Define reverse representation.
|
|
118
118
|
* For numeric types this means most significant byte first (big-endian)
|
package/lib/models.tsp
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import "./types.tsp";
|
|
2
2
|
|
|
3
3
|
namespace Ebus;
|
|
4
|
-
using Ebus.
|
|
4
|
+
using Ebus.Num;
|
|
5
|
+
using Ebus.Str;
|
|
5
6
|
|
|
6
|
-
namespace
|
|
7
|
+
namespace Id {
|
|
7
8
|
|
|
8
|
-
enum
|
|
9
|
+
enum Values_manufacturers {
|
|
9
10
|
Dungs: 0x06,
|
|
10
11
|
"FH Ostfalia": 0x0f,
|
|
11
12
|
TEM: 0x10,
|
|
@@ -35,27 +36,27 @@ namespace id {
|
|
|
35
36
|
// Pb, // <= this is how to declare the base type as it seems for unions, see https://github.com/microsoft/typespec/issues/2737
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
@values(
|
|
39
|
+
@values(Values_manufacturers)
|
|
39
40
|
scalar manufacturer extends UCH;
|
|
40
41
|
|
|
41
42
|
/** identification */
|
|
42
43
|
@id(0x07, 0x04)
|
|
43
|
-
model
|
|
44
|
+
model Id {
|
|
44
45
|
/** device manufacturer */
|
|
45
46
|
mf?: manufacturer,
|
|
46
47
|
/** device id */
|
|
47
48
|
@maxLength(5)
|
|
48
|
-
id?:
|
|
49
|
+
id?: STR,
|
|
49
50
|
/** software version */
|
|
50
|
-
sw?:
|
|
51
|
+
sw?: PIN,
|
|
51
52
|
/** hardware version */
|
|
52
|
-
hw?:
|
|
53
|
+
hw?: PIN,
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
@zz(BROADCAST)
|
|
56
57
|
@passive
|
|
57
|
-
model
|
|
58
|
+
model IdBcast is Id;
|
|
58
59
|
|
|
59
60
|
@zz(BROADCAST)
|
|
60
|
-
model
|
|
61
|
+
model IdWrite is Id;
|
|
61
62
|
}
|