@ebusd/ebus-typespec 0.5.0 → 0.7.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 CHANGED
@@ -28,13 +28,13 @@ This is a short overview of the [decorators](lib/decorators.tsp) offered by the
28
28
 
29
29
  ## Data types
30
30
  All the standard eBUS base data types like UCH etc. are available in the [`Ebus` types namespace](lib/types.tsp) under:
31
- * `Ebus.num`: numeric+bit types
32
- * `Ebus.str`: string types including hex sequence
33
- * `Ebus.dtm`: date/time type
31
+ * `Ebus.Num`: numeric+bit types
32
+ * `Ebus.Str`: string types including hex sequence
33
+ * `Ebus.Dtm`: date/time type
34
34
 
35
35
  ## Models
36
36
  The identification message is available in the [`Ebus` model namespace](lib/models.tsp) under:
37
- * `Ebus.id`: read/write/broadcast version of identification
37
+ * `Ebus.Id`: read/write/broadcast versions of identification message
38
38
 
39
39
  ## Emitter
40
40
  The CSV emitter is available as with the following parameters:
@@ -47,11 +47,11 @@ Here is a small example of a message carrying just a single byte:
47
47
  ```typespec
48
48
  import "@ebusd/ebus-typespec";
49
49
  using Ebus;
50
- using Ebus.num;
50
+ using Ebus.Num;
51
51
 
52
52
  @zz(0x08)
53
53
  @id(0x01, 0x02)
54
- model message {
54
+ model Message {
55
55
  field1: UCH,
56
56
  }
57
57
  ```
@@ -60,7 +60,7 @@ This fits to an eBUS byte sequence like this
60
60
  ```hex
61
61
  ff08010200 / 0105
62
62
  ```
63
- that transfers the `message` from source `0xff` where the target `0x08` replied with a value of 5 for `field1`.
63
+ that transfers the `Message` from source `0xff` where the target `0x08` replied with a value of 5 for `field1`.
64
64
 
65
65
  ## Scripts
66
66
  This library also provides the following scripts via npm:
@@ -69,3 +69,34 @@ This library also provides the following scripts via npm:
69
69
 
70
70
  ## Documentation
71
71
  See [here for the documentation](docs.md) generated from the source.
72
+
73
+ ## Style guide
74
+ Following the [TypeSpec style guide](https://typespec.io/docs/handbook/style-guide) with these additions/exceptions:
75
+ * template models are supposed to be in camelCase (instead of PascalCase), e.g.
76
+ ```typespec
77
+ model tempSensor {temp: UCH, sensor: UCH}
78
+ ```
79
+ * default models (inherited from by "real" models) are supposed to be in camelCase (instead of PascalCase), e.g.
80
+ ```typespec
81
+ @base(8, 9)
82
+ model r {}
83
+ ```
84
+ versus a "real" model, e.g.
85
+ ```typespec
86
+ @inherit(r)
87
+ @ext(1, 2)
88
+ model Temperature {
89
+ value: UCH,
90
+ }
91
+ ```
92
+ * the name of value lists in `enum` is supposed to begin with `Values_` followed by the name of the message or field referring to, e.g.
93
+ ```typespec
94
+ enum Values_manufacturer {...}
95
+ ```
96
+ * due to absence of an option to include models in a namepsace from another namespace, the construct for includsion is putting these namespaces into a union named `_includes`:
97
+ ```typespec
98
+ union _includes {
99
+ NamespaceModelName,
100
+ // etc.
101
+ }
102
+ ```
@@ -9,11 +9,12 @@ const hex = (v) => v === undefined ? '' : (0x100 | v).toString(16).substring(1);
9
9
  const hexs = (vs) => vs ? vs.map(hex).join('') : '';
10
10
  const fileParent = (n) => n.file || n.parent && fileParent(n.parent);
11
11
  const isSourceFileWithPath = (scope) => scope.kind === "sourceFile" && !!scope.sourceFile.path;
12
- const escape = (s) => s && (s.includes('"') || s?.includes(',')) ? `"${s}"` : s;
13
- const camelCase = (s) => s ? s.substring(0, 1).toLowerCase() + s.substring(1) : s;
12
+ const escape = (s) => s && (s.includes('"') || s?.includes(',')) ? `"${s.replaceAll('"', '""')}"` : s;
13
+ const pascalCase = (s) => s ? s.substring(0, 1).toUpperCase() + s.substring(1) : s;
14
+ const isDigit = (ch) => ch >= '0' && ch <= '9';
14
15
  const normName = {
15
- circuit: (s) => s ? s.toLowerCase() : s,
16
- message: (s) => s, // or camelCase
16
+ circuit: (s) => s ? pascalCase(s.startsWith('_') && isDigit(s[1]) ? s.substring(1) : s) : s,
17
+ message: (s) => pascalCase(s),
17
18
  field: (s) => s ? s.toLowerCase() : s,
18
19
  };
19
20
  const mapConds = (idModel, sf, conds) => conds?.map(c => {
@@ -57,6 +58,7 @@ export class EbusdEmitter extends CodeTypeEmitter {
57
58
  return this.emitter.result.none();
58
59
  }
59
60
  const sf = this.#getCurrentSourceFile();
61
+ let nearestNamespace;
60
62
  let nearestCircuit;
61
63
  let nearestZz;
62
64
  for (const frame of [model, context.referencedBy]) {
@@ -71,12 +73,15 @@ export class EbusdEmitter extends CodeTypeEmitter {
71
73
  if (frame !== context.referencedBy && fileParent(n.node) !== fp) {
72
74
  break;
73
75
  }
76
+ if (!nearestNamespace) {
77
+ nearestNamespace = n.name;
78
+ }
74
79
  const zz = getZz(program, n);
75
- if (zz) {
80
+ if (zz !== undefined) {
76
81
  // topmost namespace with @zz decides the circuit name.
77
82
  // if absent, then the file name is taken
78
83
  if (!nearestCircuit) {
79
- nearestCircuit = n.name;
84
+ nearestCircuit = n.name || nearestNamespace;
80
85
  }
81
86
  if (!nearestZz) {
82
87
  // nearest namespace with @zz decides the fallback ZZ
@@ -90,17 +95,31 @@ export class EbusdEmitter extends CodeTypeEmitter {
90
95
  || extname(sf?.path) === '.inc' && fileCircuit === basename(sf.path, '.inc') + '_inc') {
91
96
  fileCircuit = ''; // leave circuit blank in include files unless the circuit name was set explicitly
92
97
  }
93
- nearestCircuit = fileCircuit;
98
+ else {
99
+ const parts = fileCircuit.split('.');
100
+ if (parts.length > 1 && parts[0].match(/^[0-9a-fA-F]{2,2}$/)) {
101
+ // use topmost non-zz part and avoid component parts like mc in ehp.mc
102
+ fileCircuit = parts[1];
103
+ }
104
+ else if (parts.length > 1) {
105
+ fileCircuit = ''; // avoid hw/sw filtered parts
106
+ }
107
+ }
108
+ nearestCircuit = nearestNamespace && nearestNamespace.toLowerCase() === fileCircuit ? nearestNamespace : fileCircuit;
94
109
  }
95
110
  }
96
111
  if (nearestCircuit) {
97
112
  nearestCircuit = nearestCircuit.split('.')[0]; // strip off further other suffixes
113
+ const nearestCircuitLower = nearestCircuit.toLowerCase();
98
114
  const parts = basename(sf.path, extname(sf.path)).split('.');
99
- if (parts.length > 1 && (extname(sf.path) === '.inc' ? parts[0] === nearestCircuit : parts[0].length === 2 && parts[1] === nearestCircuit)) {
100
- nearestCircuit = '';
115
+ if (parts.length > 1 && parts[0].match(/^[0-9a-fA-F]{2,2}$/)) {
116
+ parts.splice(0, 1); // remove zz part
117
+ if (parts[0] === nearestCircuitLower) {
118
+ nearestCircuit = '';
119
+ }
101
120
  }
102
121
  }
103
- const [idModel] = program.resolveTypeReference('Ebus.id.id');
122
+ const [idModel] = program.resolveTypeReference('Ebus.Id.Id');
104
123
  const conds = (context.conds || '') + mapConds(idModel, sf, getConditions(program, model) || (model.namespace && getConditions(program, model.namespace)) || []);
105
124
  for (const inheritFrom of getInherit(program, model) ?? [undefined]) {
106
125
  let write = getWrite(program, model) ?? getWrite(program, inheritFrom);
@@ -123,7 +142,7 @@ export class EbusdEmitter extends CodeTypeEmitter {
123
142
  const direction = write ? (passive ? 'uw' : 'w') : (passive ? 'u' : 'r');
124
143
  // add a generic default line for each direction at least
125
144
  if (!sf.imports.has(direction)) {
126
- sf.imports.set(direction, [direction]);
145
+ sf.imports.set(direction, [direction, '']);
127
146
  }
128
147
  const baseFields = inheritFrom && this.modelPropertiesRw(inheritFrom, write && !passive, broadcastTarget);
129
148
  const fields = this.modelPropertiesRw(model, write && !passive, broadcastTarget);
@@ -175,6 +194,13 @@ export class EbusdEmitter extends CodeTypeEmitter {
175
194
  ids += idsuffix;
176
195
  }
177
196
  }
197
+ if (zz !== undefined && basename(sf.path).startsWith(hex(zz) + '.')) {
198
+ // avoid inline zz when already part of file name
199
+ zz = undefined;
200
+ }
201
+ if (nearestCircuit && basename(sf.path).includes('.' + nearestCircuit.toLowerCase() + '.')) {
202
+ nearestCircuit = undefined;
203
+ }
178
204
  const level = getAuth(program, model) ?? getAuth(program, inheritFrom);
179
205
  // message: type,circuit,level,name,comment,qq,zz,pbsb,id,...fields
180
206
  // field: name,part,type,divisor/values,unit,comment
@@ -226,7 +252,7 @@ export class EbusdEmitter extends CodeTypeEmitter {
226
252
  res.pname = s.name;
227
253
  }
228
254
  }
229
- else if (this.#isStdType(s, true)) {
255
+ else if (this.#isStdType(s, true) && (!s.baseScalar || this.#isStdType(s.baseScalar))) {
230
256
  isOwn = true;
231
257
  // set length depending on difference to max in base type
232
258
  if (res.length !== undefined) {
@@ -337,12 +363,12 @@ export class EbusdEmitter extends CodeTypeEmitter {
337
363
  else {
338
364
  name += '.csv';
339
365
  }
340
- const incl = [conds + '!' + (isLoad ? 'load' : 'include'), name, '', '', escape(comment)];
366
+ const incl = [conds + '!' + (isLoad ? 'load' : 'include'), name.toLowerCase(), '', '', escape(comment)];
341
367
  decls.push(incl.join());
342
368
  };
343
369
  const program = this.emitter.getProgram();
344
370
  const sf = this.#getCurrentSourceFile();
345
- const [idModel] = program.resolveTypeReference('Ebus.id.id');
371
+ const [idModel] = program.resolveTypeReference('Ebus.Id.Id');
346
372
  if (this.emitter.getOptions()["includes"]) {
347
373
  const comment = this.#getDoc(union);
348
374
  if (comment) {
@@ -488,21 +514,26 @@ export class EbusdEmitter extends CodeTypeEmitter {
488
514
  }
489
515
  }
490
516
  const nsf = namespace && getNamespaceFullName(namespace);
491
- let root = nsf && nsf.split('.')[0];
517
+ let root = nsf && nsf.split('.')[0].toLowerCase();
492
518
  let ext = this.#fileExtension();
493
519
  const fp = fileParent(node);
494
- let fpName = fp?.path && basename(fp.path, extname(fp.path));
495
- if (fpName?.endsWith('_inc')) {
520
+ let fileCircuit = fp?.path && basename(fp.path, extname(fp.path));
521
+ // similar to nearestCircuit calculation in modelDeclaration()
522
+ if (fileCircuit?.endsWith('_inc')) {
496
523
  if (!this.emitter.getOptions()["includes"] && !(forLoad || currentCtx.isLoad)) {
497
524
  return { exclude: true };
498
525
  }
499
- if (root === fpName) {
526
+ if (root === fileCircuit) {
500
527
  root = '';
501
528
  }
502
529
  ext = 'inc';
503
- fpName = fpName.substring(0, fpName.length - 4);
530
+ fileCircuit = fileCircuit.substring(0, fileCircuit.length - 4);
531
+ }
532
+ else if (fileCircuit && root && fileCircuit.toLowerCase().includes(root.toLowerCase())) {
533
+ // prevent root prefix
534
+ root = '';
504
535
  }
505
- const name = fpName || (typ && this.declarationName(typ)) || '';
536
+ const name = (fileCircuit || (typ && this.declarationName(typ)) || '').toLowerCase();
506
537
  const fullname = `${root && root !== name ? root + '/' : ''}${name}`;
507
538
  let sourceFile = this.#sourceFileByPath.get(fullname);
508
539
  if (!sourceFile) {
@@ -1 +1 @@
1
- {"version":3,"file":"csv_emitter.js","sourceRoot":"","sources":["../../src/csv_emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv_emitter.js","sourceRoot":"","sources":["../../src/csv_emitter.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,11 @@ export function $condition(context, target, property, ...values) {
22
22
  * @returns value if provided on the given target or undefined.
23
23
  */
24
24
  export function getConditions(program, target) {
25
- return program.stateMap(StateKeys.condition).get(target);
25
+ const ret = program.stateMap(StateKeys.condition).get(target);
26
+ if (!ret || ret.length <= 1) {
27
+ return ret;
28
+ }
29
+ return [...ret].reverse();
26
30
  }
27
31
  /**
28
32
  * Implementation of the `@write` decorator.
@@ -456,7 +460,7 @@ export function $maxBits(context, target, value) {
456
460
  export function getMaxBits(program, target) {
457
461
  return getNum(program.stateMap(StateKeys.maxBits).get(target));
458
462
  }
459
- setTypeSpecNamespace("internal", $reverse, $bcd, $hex, $maxBits);
463
+ setTypeSpecNamespace("Internal", $reverse, $bcd, $hex, $maxBits);
460
464
  /**
461
465
  * Implementation of the `@in` decorator.
462
466
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  import { type JSONSchemaType } from "@typespec/compiler";
2
- export type FileType = "csv";
3
2
  export interface EbusdEmitterOptions {
4
- /**
5
- * Serialize the schema as either csv, yaml, or json.
6
- * @default csv
7
- */
8
- "file-type"?: FileType;
9
3
  /** Emit includes files as includes instead of inline (incomplete!). */
10
4
  includes?: boolean;
11
5
  /**
package/dist/src/lib.js CHANGED
@@ -3,12 +3,6 @@ export const EmitterOptionsSchema = {
3
3
  type: "object",
4
4
  additionalProperties: false,
5
5
  properties: {
6
- "file-type": {
7
- type: "string",
8
- enum: ["csv"], //, "yaml", "json"],
9
- nullable: true,
10
- description: "Serialize the schema as csv", //either csv, yaml, or json.",
11
- },
12
6
  includes: {
13
7
  type: "boolean",
14
8
  nullable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
package/docs.md CHANGED
@@ -27,12 +27,6 @@ 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`
@@ -124,7 +118,7 @@ Define authentication level.
124
118
  Define the base message ID to be combined with an extension ID.
125
119
 
126
120
  ```typespec
127
- @Ebus.base(pb: valueof Ebus.Pb, sb: valueof Ebus.Sb, ...dd: valueof Ebus.Symbol[])
121
+ @Ebus.base(pb: valueof Ebus.pb, sb: valueof Ebus.sb, ...dd: valueof Ebus.symbol[])
128
122
  ```
129
123
 
130
124
  ##### Target
@@ -135,16 +129,16 @@ Define the base message ID to be combined with an extension ID.
135
129
 
136
130
  | Name | Type | Description |
137
131
  | ---- | ----------------------------- | ------------------------- |
138
- | pb | `valueof scalar Ebus.Pb` | the primary message ID. |
139
- | sb | `valueof scalar Ebus.Sb` | the secondary message ID. |
140
- | dd | `valueof model Ebus.Symbol[]` | further message ID parts. |
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. |
141
135
 
142
136
  #### `@chain`
143
137
 
144
138
  Define chained message IDs.
145
139
 
146
140
  ```typespec
147
- @Ebus.chain(length: valueof uint8, dd: valueof Ebus.Symbol[], ...dds: valueof Ebus.Symbol[][])
141
+ @Ebus.chain(length: valueof uint8, dd: valueof Ebus.symbol[], ...dds: valueof Ebus.symbol[][])
148
142
  ```
149
143
 
150
144
  ##### Target
@@ -156,8 +150,8 @@ Define chained message IDs.
156
150
  | Name | Type | Description |
157
151
  | ------ | ------------------------------- | ------------------------------------------------------------------------------------------ |
158
152
  | length | `valueof scalar uint8` | the (maximum) length of a single message part of this chain, or 0 for default (=24). |
159
- | dd | `valueof model Ebus.Symbol[]` | second message ID part the chain is built from (first one taken from id or ext decorator). |
160
- | dds | `valueof model Ebus.Symbol[][]` | list of further message ID parts the chain is built from. |
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. |
161
155
 
162
156
  #### `@condition`
163
157
 
@@ -201,7 +195,7 @@ Define the divisor.
201
195
  Define the extension message ID to be combined with a base ID.
202
196
 
203
197
  ```typespec
204
- @Ebus.ext(...dd: valueof Ebus.Symbol[])
198
+ @Ebus.ext(...dd: valueof Ebus.symbol[])
205
199
  ```
206
200
 
207
201
  ##### Target
@@ -212,7 +206,7 @@ Define the extension message ID to be combined with a base ID.
212
206
 
213
207
  | Name | Type | Description |
214
208
  | ---- | ----------------------------- | ---------------------------- |
215
- | dd | `valueof model Ebus.Symbol[]` | message ID extensions parts. |
209
+ | dd | `valueof model Ebus.symbol[]` | message ID extensions parts. |
216
210
 
217
211
  #### `@factor`
218
212
 
@@ -237,7 +231,7 @@ Define the factor.
237
231
  Define the whole message ID.
238
232
 
239
233
  ```typespec
240
- @Ebus.id(pb: valueof Ebus.Pb, sb: valueof Ebus.Sb, ...dd: valueof Ebus.Symbol[])
234
+ @Ebus.id(pb: valueof Ebus.pb, sb: valueof Ebus.sb, ...dd: valueof Ebus.symbol[])
241
235
  ```
242
236
 
243
237
  ##### Target
@@ -248,9 +242,9 @@ Define the whole message ID.
248
242
 
249
243
  | Name | Type | Description |
250
244
  | ---- | ----------------------------- | ------------------------- |
251
- | pb | `valueof scalar Ebus.Pb` | the primary message ID. |
252
- | sb | `valueof scalar Ebus.Sb` | the secondary message ID. |
253
- | dd | `valueof model Ebus.Symbol[]` | further message ID parts. |
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. |
254
248
 
255
249
  #### `@in`
256
250
 
@@ -323,7 +317,7 @@ None
323
317
  Define the source address.
324
318
 
325
319
  ```typespec
326
- @Ebus.qq(value?: valueof Ebus.Source)
320
+ @Ebus.qq(value?: valueof Ebus.source)
327
321
  ```
328
322
 
329
323
  ##### Target
@@ -334,7 +328,7 @@ Define the source address.
334
328
 
335
329
  | Name | Type | Description |
336
330
  | ----- | ---------------------------- | ---------------------- |
337
- | value | `valueof scalar Ebus.Source` | the source address QQ. |
331
+ | value | `valueof scalar Ebus.source` | the source address QQ. |
338
332
 
339
333
  #### `@unit`
340
334
 
@@ -393,7 +387,7 @@ None
393
387
  Define the target address.
394
388
 
395
389
  ```typespec
396
- @Ebus.zz(value?: valueof Ebus.Target)
390
+ @Ebus.zz(value?: valueof Ebus.target)
397
391
  ```
398
392
 
399
393
  ##### Target
@@ -404,9 +398,9 @@ Define the target address.
404
398
 
405
399
  | Name | Type | Description |
406
400
  | ----- | ---------------------------- | ---------------------- |
407
- | value | `valueof scalar Ebus.Target` | the target address ZZ. |
401
+ | value | `valueof scalar Ebus.target` | the target address ZZ. |
408
402
 
409
- ### Ebus.internal
403
+ ### Ebus.Internal
410
404
 
411
405
  - [`@bcd`](#@bcd)
412
406
  - [`@hex`](#@hex)
@@ -418,7 +412,7 @@ Define the target address.
418
412
  Define BCD encoding.
419
413
 
420
414
  ```typespec
421
- @Ebus.internal.bcd
415
+ @Ebus.Internal.bcd
422
416
  ```
423
417
 
424
418
  ##### Target
@@ -434,7 +428,7 @@ None
434
428
  Define HEX encoding.
435
429
 
436
430
  ```typespec
437
- @Ebus.internal.hex
431
+ @Ebus.Internal.hex
438
432
  ```
439
433
 
440
434
  ##### Target
@@ -450,7 +444,7 @@ None
450
444
  Define the max bits.
451
445
 
452
446
  ```typespec
453
- @Ebus.internal.maxBits(value: valueof uint8)
447
+ @Ebus.Internal.maxBits(value: valueof uint8)
454
448
  ```
455
449
 
456
450
  ##### Target
@@ -473,7 +467,7 @@ For date/time types coded as sequence of individual parts this means reverse seq
473
467
  and seconds,minutes,hours instead of hours,minutes,seconds for times).
474
468
 
475
469
  ```typespec
476
- @Ebus.internal.reverse
470
+ @Ebus.Internal.reverse
477
471
  ```
478
472
 
479
473
  ##### Target
@@ -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 Source);
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 Target);
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 Pb, sb: valueof Sb, ...dd: valueof Symbol[]);
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 Pb, sb: valueof Sb, ...dd: valueof Symbol[]);
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 Symbol[]);
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 Symbol[], ...dds: valueof Symbol[][]);
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 internal {
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.num;
4
+ using Ebus.Num;
5
+ using Ebus.Str;
5
6
 
6
- namespace id {
7
+ namespace Id {
7
8
 
8
- enum manufacturers {
9
+ enum Values_manufacturers {
9
10
  Dungs: 0x06,
10
11
  "FH Ostfalia": 0x0f,
11
12
  TEM: 0x10,
@@ -35,27 +36,29 @@ 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(manufacturers)
39
+ @values(Values_manufacturers)
39
40
  scalar manufacturer extends UCH;
40
41
 
41
42
  /** identification */
42
43
  @id(0x07, 0x04)
43
- model id {
44
+ model Id {
44
45
  /** device manufacturer */
45
46
  mf?: manufacturer,
46
47
  /** device id */
47
48
  @maxLength(5)
48
- id?: str.STR,
49
+ id?: STR,
49
50
  /** software version */
50
- sw?: num.PIN,
51
+ sw?: PIN,
51
52
  /** hardware version */
52
- hw?: num.PIN,
53
+ hw?: PIN,
53
54
  }
54
55
 
56
+ /** answer to identification query */
55
57
  @zz(BROADCAST)
56
58
  @passive
57
- model id_bcast is id;
59
+ model IdAnswer is Id;
58
60
 
61
+ /** query identification */
59
62
  @zz(BROADCAST)
60
- model id_write is id;
63
+ model IdQuery is Id;
61
64
  }
package/lib/types.tsp CHANGED
@@ -1,38 +1,38 @@
1
1
  namespace Ebus;
2
2
 
3
3
  /** A symbol on the bus. */
4
- scalar Symbol extends uint8;
4
+ scalar symbol extends uint8;
5
5
 
6
6
  /** List of special symbols. */
7
- union symbols {
7
+ union Symbols {
8
8
  SYN: 0xaa,
9
9
  ESC: 0xa9,
10
- Symbol,
10
+ symbol,
11
11
  }
12
12
 
13
13
  /** A source address 'QQ. */
14
- scalar Source extends Symbol;
14
+ scalar source extends symbol;
15
15
 
16
16
  /** A target address 'ZZ'. */
17
- scalar Target extends Symbol;
17
+ scalar target extends symbol;
18
18
 
19
19
  /** List of special target addresses. */
20
- union targets {
20
+ union Targets {
21
21
  /** the special broadcast target address. */
22
- Broadcast: 0xfe,
23
- Target,
22
+ broadcast: 0xfe,
23
+ target,
24
24
  }
25
25
  /** the special broadcast target address. */
26
- alias BROADCAST = targets.Broadcast;
26
+ alias BROADCAST = Targets.broadcast;
27
27
 
28
28
  /** the primary command symbol 'PB'. */
29
- scalar Pb extends Symbol;
29
+ scalar pb extends symbol;
30
30
 
31
31
  /** the secondary command symbol 'SB'. */
32
- scalar Sb extends Symbol;
32
+ scalar sb extends symbol;
33
33
 
34
34
  /** The known numeric base data types. */
35
- namespace num {
35
+ namespace Num {
36
36
  // 1 byte length
37
37
 
38
38
  /** bit 0. */
@@ -60,10 +60,10 @@ namespace num {
60
60
  @encode("uint8")
61
61
  scalar BI7 extends boolean;
62
62
  /** 6 bits starting from bit 0. */
63
- @internal.maxBits(6)
63
+ @Internal.maxBits(6)
64
64
  scalar BI0_6 extends uint8;
65
65
  /** 7 bits starting from bit 0. */
66
- @internal.maxBits(7)
66
+ @Internal.maxBits(7)
67
67
  scalar BI0_7 extends uint8;
68
68
 
69
69
  /** 1 byte unsigned integer, 0 - 254, replacement 0xff. */
@@ -73,13 +73,13 @@ namespace num {
73
73
  /** same as SCH. */
74
74
  alias D1B = SCH;
75
75
  /** 1 byte unsigned decimal in BCD, 0 - 99, replacement 0xff. */
76
- @internal.bcd
76
+ @Internal.bcd
77
77
  scalar BCD extends uint8;
78
78
  /**
79
79
  * 1 byte unsigned decimal digits in hex, 0 - 99
80
80
  * (0x00 - 0x63).
81
81
  */
82
- @internal.hex
82
+ @Internal.hex
83
83
  scalar HCD extends uint8;
84
84
  /**
85
85
  * 1 byte unsigned number (fraction 1/2), 0 - 100
@@ -91,27 +91,27 @@ namespace num {
91
91
  // 2 byte length
92
92
 
93
93
  /** 2 byte unsigned decimal in BCD, shown as 4 digits, 0000 - 9999 (fixed length). */
94
- @internal.reverse
95
- @internal.bcd
94
+ @Internal.reverse
95
+ @Internal.bcd
96
96
  scalar PIN extends uint16;
97
97
  /** 2 byte unsigned integer, 0 - 65534, replacement 0xffff. */
98
98
  scalar UIN extends uint16;
99
99
  /** 2 byte unsigned integer, 0 - 65534, replacement 0xffff, big endian. */
100
- @internal.reverse
100
+ @Internal.reverse
101
101
  scalar UIR extends UIN;
102
102
  /** 2 byte signed integer, -32767 - +32767, replacement 0x7fff. */
103
103
  scalar SIN extends int16;
104
104
  /** 2 byte signed integer, -32767 - +32767, replacement 0x7fff, big endian. */
105
- @internal.reverse
105
+ @Internal.reverse
106
106
  scalar SIR extends SIN;
107
107
  /** 2 byte unsigned decimal in BCD, 0 - 9999, replacement 0xffff. */
108
- @internal.bcd
108
+ @Internal.bcd
109
109
  scalar BCD2 extends uint16;
110
110
  /**
111
111
  * 2 byte unsigned decimal digits in hex, 0 - 9999
112
112
  * (0x00,0x00 - 0x63,0x63).
113
113
  */
114
- @internal.hex
114
+ @Internal.hex
115
115
  scalar HCD2 extends uint16;
116
116
  /**
117
117
  * 2 byte signed number (fraction 1/256), -127.99 - +127.99 .
@@ -131,20 +131,20 @@ namespace num {
131
131
  /**
132
132
  * 2 byte signed number (fraction 1/1000), -32.767 - +32.767, big endian.
133
133
  */
134
- @internal.reverse
134
+ @Internal.reverse
135
135
  scalar FLR extends FLT;
136
136
 
137
137
  // 3 byte length
138
138
 
139
139
  //todo 3 byte int
140
140
  /** 3 byte unsigned decimal in BCD, 0 - 999999, replacement 0xffffff. */
141
- @internal.bcd
141
+ @Internal.bcd
142
142
  scalar BCD3 extends uint32; // todo 3 bytes
143
143
  /**
144
144
  * 3 byte unsigned decimal digits in hex, 0 - 999999
145
145
  * (0x00,0x00,0x00 - 0x63,0x63,0x63).
146
146
  */
147
- @internal.hex
147
+ @Internal.hex
148
148
  scalar HCD3 extends uint32; // todo 3 bytes
149
149
 
150
150
  // 4 byte length
@@ -152,21 +152,21 @@ namespace num {
152
152
  /** 4 byte unsigned integer, 0 - 4294967294, replacement 0xffffffff. */
153
153
  scalar ULG extends uint32;
154
154
  /** 4 byte unsigned integer, 0 - 4294967294, replacement 0xffffffff, big endian. */
155
- @internal.reverse
155
+ @Internal.reverse
156
156
  scalar ULR extends ULG;
157
157
  /** 4 byte signed integer, -2147483647 - +2147483647, replacement 0x7fffffff. */
158
158
  scalar SLG extends int32;
159
159
  /** 4 byte signed integer, -2147483647 - +2147483647, replacement 0x7fffffff, big endian. */
160
- @internal.reverse
160
+ @Internal.reverse
161
161
  scalar SLR extends SLG;
162
162
  /** 4 byte unsigned decimal in BCD, 0 - 99999999, replacement 0xffffffff. */
163
- @internal.bcd
163
+ @Internal.bcd
164
164
  scalar BCD4 extends uint32;
165
165
  /**
166
166
  * 4 byte unsigned decimal digits in hex, 0 - 99999999
167
167
  * (0x00,0x00,0x00,0x00 - 0x63,0x63,0x63,0x63).
168
168
  */
169
- @internal.hex
169
+ @Internal.hex
170
170
  scalar HCD4 extends uint32;
171
171
  /**
172
172
  * 4 byte signed number in IEEE 754
@@ -177,12 +177,12 @@ namespace num {
177
177
  * 4 byte signed number in IEEE 754, big endian
178
178
  * (IEEE 754 binary32: 1 bit sign, 8 bits exponent, 23 bits significand).
179
179
  */
180
- @internal.reverse
180
+ @Internal.reverse
181
181
  scalar EXR extends EXP;
182
182
  }
183
183
 
184
184
  /** The known string base data types. */
185
- namespace str {
185
+ namespace Str {
186
186
  /** >= 1 byte character string filled up with space. */
187
187
  @maxLength(31)
188
188
  scalar STR extends string;
@@ -194,13 +194,13 @@ namespace str {
194
194
  @maxLength(31)
195
195
  scalar IGN extends string; // todo bytes would be more logical, but have not length limit
196
196
  /** >= 1 byte hex digit string, usually separated by space, e.g. 0a 1b 2c 3d. */
197
- @internal.hex
197
+ @Internal.hex
198
198
  @maxLength(31)
199
199
  scalar HEX extends string;
200
200
  }
201
201
 
202
202
  /** The known date/time base data types. */
203
- namespace dtm {
203
+ namespace Dtm {
204
204
  /**
205
205
  * 1 byte weekday, "Mon" - "Sun"
206
206
  * (0x00 - 0x06).
@@ -215,7 +215,7 @@ namespace dtm {
215
215
  * 4 byte date with weekday in BCD, 01.01.2000 - 31.12.2099
216
216
  * (0x01,0x01,WW,0x00 - 0x31,0x12,WW,0x99, WW is weekday Mon=0x01 - Sun=0x07, replacement 0xff).
217
217
  */
218
- @internal.bcd
218
+ @Internal.bcd
219
219
  @encode("", uint32)
220
220
  scalar BDA extends plainDate;
221
221
  /** same as BDA. */
@@ -234,7 +234,7 @@ namespace dtm {
234
234
  * 4 byte date with weekday, 01.01.2000 - 31.12.2099
235
235
  * (0x01,0x01,WW,0x00 - 0x1f,0x0c,WW,0x63, WW is weekday Mon=0x01 - Sun=0x07, replacement 0xff).
236
236
  */
237
- @internal.hex
237
+ @Internal.hex
238
238
  @encode("", uint32)
239
239
  scalar HDA extends plainDate;
240
240
  /** same as HDA. */
@@ -261,41 +261,41 @@ namespace dtm {
261
261
  * 3 byte time in BCD, 00:00:00 - 23:59:59, seconds first
262
262
  * (0x00,0x00,0x00 - 0x59,0x59,0x23).
263
263
  */
264
- @internal.bcd
265
- @internal.reverse
264
+ @Internal.bcd
265
+ @Internal.reverse
266
266
  scalar BTI extends plainTime; // todo 3 bytes
267
267
  /**
268
268
  * 3 byte time, 00:00:00 - 23:59:59
269
269
  * (0x00,0x00,0x00 - 0x17,0x3b,0x3b).
270
270
  */
271
- @internal.hex
271
+ @Internal.hex
272
272
  scalar HTI extends plainTime; // todo 3 bytes
273
273
  /**
274
274
  * 3 byte time, 00:00:00 - 23:59:59, seconds first [Vaillant type]
275
275
  * (0x00,0x00,0x00 - 0x3b,0x3b,0x17, replacement 0x63).
276
276
  */
277
- @internal.reverse
277
+ @Internal.reverse
278
278
  scalar VTI extends HTI;
279
279
  /**
280
280
  * 2 byte time as hh:mm in BCD, 00:00 - 23:59, minutes first
281
281
  * (0x00,0x00 - 0x59,0x23, replacement 0xff).
282
282
  */
283
- @internal.bcd
284
- @internal.reverse
283
+ @Internal.bcd
284
+ @Internal.reverse
285
285
  @encode("", uint16)
286
286
  scalar BTM extends plainTime;
287
287
  /**
288
288
  * 2 byte time as hh:mm, 00:00 - 23:59
289
289
  * (0x00,0x00 - 0x17,0x3b).
290
290
  */
291
- @internal.hex
291
+ @Internal.hex
292
292
  @encode("", uint16)
293
293
  scalar HTM extends plainTime;
294
294
  /**
295
295
  * 2 byte time as hh:mm, 00:00 - 23:59, minutes first [Vaillant type]
296
296
  * (0x00,0x00 - 0x3b,0x17, replacement 0xff)
297
297
  */
298
- @internal.reverse
298
+ @Internal.reverse
299
299
  scalar VTM extends BTM;
300
300
  /**
301
301
  * 2 byte time, minutes since last midnight, 00:00 - 24:00
@@ -315,77 +315,77 @@ namespace dtm {
315
315
  * (minutes div 30 + hour * 2 as integer).
316
316
  */
317
317
  @divisor(30)
318
- @encode("", num.BI0_6)
318
+ @encode("", Num.BI0_6)
319
319
  scalar TTH extends plainTime;
320
320
  /**
321
321
  * 7 bit truncated time (only multiple of 15 minutes), 00:00 - 24:00
322
322
  * (minutes div 15 + hour * 4 as integer).
323
323
  */
324
324
  @divisor(15)
325
- @encode("", num.BI0_7)
325
+ @encode("", Num.BI0_7)
326
326
  scalar TTQ extends plainTime;
327
327
  }
328
328
 
329
- /** All known base data types. */
330
- // // union types {
331
- // alias BI0 = num.BI0;
332
- // alias BI1 = num.BI1;
333
- // alias BI2 = num.BI2;
334
- // alias BI3 = num.BI3;
335
- // alias BI4 = num.BI4;
336
- // alias BI5 = num.BI5;
337
- // alias BI6 = num.BI6;
338
- // alias BI7 = num.BI7;
339
- // alias BI0_7 = num.BI0_7;
340
- // alias UCH = num.UCH;
341
- // alias SCH = num.SCH;
342
- // alias D1B = num.D1B;
343
- // alias BCD = num.BCD;
344
- // alias HCD = num.HCD;
345
- // alias D1C = num.D1C;
346
- // alias PIN = num.PIN;
347
- // alias UIN = num.UIN;
348
- // alias UIR = num.UIR;
349
- // alias SIN = num.SIN;
350
- // alias SIR = num.SIR;
351
- // alias HCD2 = num.HCD2;
352
- // alias D2B = num.D2B;
353
- // alias D2C = num.D2C;
354
- // alias FLT = num.FLT;
355
- // alias FLR = num.FLR;
356
- // alias BCD3 = num.BCD3;
357
- // alias HCD3 = num.HCD3;
358
- // alias ULG = num.ULG;
359
- // alias ULR = num.ULR;
360
- // alias SLG = num.SLG;
361
- // alias SLR = num.SLR;
362
- // alias BCD4 = num.BCD4;
363
- // alias HCD4 = num.HCD4;
364
- // alias EXP = num.EXP;
365
- // alias EXR = num.EXR;
366
- // alias STR = str.STR;
367
- // alias NTS = str.NTS;
368
- // alias IGN = str.IGN;
369
- // alias HEX = str.HEX;
370
- // alias BDY = dtm.BDY;
371
- // alias HDY = dtm.HDY;
372
- // alias BDA = dtm.BDA;
373
- // alias BDA4 = dtm.BDA4;
374
- // alias BDA3 = dtm.BDA3;
375
- // alias BDZ = dtm.BDZ;
376
- // alias HDA = dtm.HDA;
377
- // alias HDA4 = dtm.HDA4;
378
- // alias HDA3 = dtm.HDA3;
379
- // alias DAY = dtm.DAY;
380
- // alias DTM = dtm.DTM;
381
- // alias BTI = dtm.BTI;
382
- // alias HTI = dtm.HTI;
383
- // alias VTI = dtm.VTI;
384
- // alias BTM = dtm.BTM;
385
- // alias VTM = dtm.VTM;
386
- // alias HTM = dtm.HTM;
387
- // alias MIN = dtm.MIN;
388
- // alias TTM = dtm.TTM;
389
- // alias TTH = dtm.TTH;
390
- // alias TTQ = dtm.TTQ;
391
- // // }
329
+ // /** All known base data types. */
330
+ // namespace All {
331
+ // alias BI0 = Num.BI0;
332
+ // alias BI1 = Num.BI1;
333
+ // alias BI2 = Num.BI2;
334
+ // alias BI3 = Num.BI3;
335
+ // alias BI4 = Num.BI4;
336
+ // alias BI5 = Num.BI5;
337
+ // alias BI6 = Num.BI6;
338
+ // alias BI7 = Num.BI7;
339
+ // alias BI0_7 = Num.BI0_7;
340
+ // alias UCH = Num.UCH;
341
+ // alias SCH = Num.SCH;
342
+ // alias D1B = Num.D1B;
343
+ // alias BCD = Num.BCD;
344
+ // alias HCD = Num.HCD;
345
+ // alias D1C = Num.D1C;
346
+ // alias PIN = Num.PIN;
347
+ // alias UIN = Num.UIN;
348
+ // alias UIR = Num.UIR;
349
+ // alias SIN = Num.SIN;
350
+ // alias SIR = Num.SIR;
351
+ // alias HCD2 = Num.HCD2;
352
+ // alias D2B = Num.D2B;
353
+ // alias D2C = Num.D2C;
354
+ // alias FLT = Num.FLT;
355
+ // alias FLR = Num.FLR;
356
+ // alias BCD3 = Num.BCD3;
357
+ // alias HCD3 = Num.HCD3;
358
+ // alias ULG = Num.ULG;
359
+ // alias ULR = Num.ULR;
360
+ // alias SLG = Num.SLG;
361
+ // alias SLR = Num.SLR;
362
+ // alias BCD4 = Num.BCD4;
363
+ // alias HCD4 = Num.HCD4;
364
+ // alias EXP = Num.EXP;
365
+ // alias EXR = Num.EXR;
366
+ // alias STR = Str.STR;
367
+ // alias NTS = Str.NTS;
368
+ // alias IGN = Str.IGN;
369
+ // alias HEX = Str.HEX;
370
+ // alias BDY = Dtm.BDY;
371
+ // alias HDY = Dtm.HDY;
372
+ // alias BDA = Dtm.BDA;
373
+ // alias BDA4 = Dtm.BDA4;
374
+ // alias BDA3 = Dtm.BDA3;
375
+ // alias BDZ = Dtm.BDZ;
376
+ // alias HDA = Dtm.HDA;
377
+ // alias HDA4 = Dtm.HDA4;
378
+ // alias HDA3 = Dtm.HDA3;
379
+ // alias DAY = Dtm.DAY;
380
+ // alias DTM = Dtm.DTM;
381
+ // alias BTI = Dtm.BTI;
382
+ // alias HTI = Dtm.HTI;
383
+ // alias VTI = Dtm.VTI;
384
+ // alias BTM = Dtm.BTM;
385
+ // alias VTM = Dtm.VTM;
386
+ // alias HTM = Dtm.HTM;
387
+ // alias MIN = Dtm.MIN;
388
+ // alias TTM = Dtm.TTM;
389
+ // alias TTH = Dtm.TTH;
390
+ // alias TTQ = Dtm.TTQ;
391
+ // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebusd/ebus-typespec",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "author": "John Baier",
5
5
  "description": "TypeSpec library for defining eBUS messages and emitting to ebusd CSV.",
6
6
  "homepage": "https://github.com/john30/ebus-typespec",