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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
use super::*;
pub fn model9() -> Model {
let mut ret = Model {
start_addr: 0,
end_addr: 0,
model_number: 9,
qtd: 93,
data: Vec::new(),
};
ret.data.push(DataTypes::SunspecU16(Point { name: "CertUID", offset: 0+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "CertRole", offset: 1+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Fmt", offset: 2+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Typ", offset: 3+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "TotLn", offset: 4+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "FrgLn", offset: 5+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg1", offset: 6+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg2", offset: 7+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg3", offset: 8+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg4", offset: 9+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg5", offset: 10+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg6", offset: 11+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg7", offset: 12+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg8", offset: 13+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg9", offset: 14+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg10", offset: 15+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg11", offset: 16+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg12", offset: 17+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg13", offset: 18+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg14", offset: 19+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg15", offset: 20+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg16", offset: 21+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg17", offset: 22+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg18", offset: 23+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg19", offset: 24+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg20", offset: 25+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg21", offset: 26+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg22", offset: 27+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg23", offset: 28+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg24", offset: 29+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg25", offset: 30+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg26", offset: 31+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg27", offset: 32+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg28", offset: 33+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg29", offset: 34+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg30", offset: 35+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg31", offset: 36+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg32", offset: 37+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg33", offset: 38+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg34", offset: 39+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg35", offset: 40+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg36", offset: 41+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg37", offset: 42+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg38", offset: 43+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg39", offset: 44+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg40", offset: 45+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg41", offset: 46+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg42", offset: 47+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg43", offset: 48+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg44", offset: 49+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg45", offset: 50+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg46", offset: 51+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg47", offset: 52+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg48", offset: 53+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg49", offset: 54+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg50", offset: 55+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg51", offset: 56+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg52", offset: 57+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg53", offset: 58+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg54", offset: 59+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg55", offset: 60+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg56", offset: 61+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg57", offset: 62+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg58", offset: 63+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg59", offset: 64+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg60", offset: 65+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg61", offset: 66+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg62", offset: 67+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg63", offset: 68+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg64", offset: 69+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg65", offset: 70+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg66", offset: 71+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg67", offset: 72+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg68", offset: 73+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg69", offset: 74+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg70", offset: 75+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg71", offset: 76+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg72", offset: 77+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg73", offset: 78+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg74", offset: 79+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg75", offset: 80+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg78", offset: 81+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg79", offset: 82+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Frg80", offset: 83+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU32(Point { name: "Ts", offset: 84+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Ms", offset: 86+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Seq", offset: 87+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "UID", offset: 88+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Role", offset: 89+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "Alg", offset: 90+2, length: 1, write_access: true, value: 0 } ));
ret.data.push(DataTypes::SunspecU16(Point { name: "N", offset: 91+2, length: 1, write_access: true, value: 0 } ));
ret
}