-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdevicespec.js
56 lines (43 loc) · 1 KB
/
devicespec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class DeviceSpec {
deviceSpecName = '';
deviceClass = '';
supportedDeviceIds = new VendorDevices();
processDataIn = new Array();
constructor() {
}
static from(json) {
//usage: const myDeviceSpec = DeviceSpec.from({ data: "whatever" });
return Object.assign(new DeviceSpec(), json);
}
}
module.exports = DeviceSpec;
class VendorDevices {
vendorId = Number.NaN;
deviceIds = new Array();
}
class ProcessDataIn {
name = '';
minValue = Number.NaN;
maxValue = Number.NaN;
states = new State();
bitWidth = Number.NaN;
bitOffset = Number.NaN;
encodeing = '';
stateConfiguration = new StateConfiguration();
}
class State {
name = '';
value = Number.NaN;
state = '';
}
class StateConfiguration {
name = '';
unit = '';
type = 'string'
role = 'value';
scalingFactor = Number.NaN;
scalingOffset = Number.NaN;
generateValue = false;
generateStatus = false;
generateChannel = false;
}