1#[derive(Debug)]
6#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))]
7pub struct Model6 {
8 pub x: u16,
14 pub off: u16,
20 pub val1: u16,
24 #[allow(missing_docs)]
25 pub val2: u16,
26 #[allow(missing_docs)]
27 pub val3: u16,
28 #[allow(missing_docs)]
29 pub val4: u16,
30 #[allow(missing_docs)]
31 pub val5: u16,
32 #[allow(missing_docs)]
33 pub val6: u16,
34 #[allow(missing_docs)]
35 pub val7: u16,
36 #[allow(missing_docs)]
37 pub val8: u16,
38 #[allow(missing_docs)]
39 pub val9: u16,
40 #[allow(missing_docs)]
41 pub val10: u16,
42 #[allow(missing_docs)]
43 pub val11: u16,
44 #[allow(missing_docs)]
45 pub val12: u16,
46 #[allow(missing_docs)]
47 pub val13: u16,
48 #[allow(missing_docs)]
49 pub val14: u16,
50 #[allow(missing_docs)]
51 pub val15: u16,
52 #[allow(missing_docs)]
53 pub val16: u16,
54 #[allow(missing_docs)]
55 pub val17: u16,
56 #[allow(missing_docs)]
57 pub val18: u16,
58 #[allow(missing_docs)]
59 pub val19: u16,
60 #[allow(missing_docs)]
61 pub val20: u16,
62 #[allow(missing_docs)]
63 pub val21: u16,
64 #[allow(missing_docs)]
65 pub val22: u16,
66 #[allow(missing_docs)]
67 pub val23: u16,
68 #[allow(missing_docs)]
69 pub val24: u16,
70 #[allow(missing_docs)]
71 pub val25: u16,
72 #[allow(missing_docs)]
73 pub val26: u16,
74 #[allow(missing_docs)]
75 pub val27: u16,
76 #[allow(missing_docs)]
77 pub val28: u16,
78 #[allow(missing_docs)]
79 pub val29: u16,
80 #[allow(missing_docs)]
81 pub val30: u16,
82 #[allow(missing_docs)]
83 pub val31: u16,
84 #[allow(missing_docs)]
85 pub val32: u16,
86 #[allow(missing_docs)]
87 pub val33: u16,
88 #[allow(missing_docs)]
89 pub val34: u16,
90 #[allow(missing_docs)]
91 pub val35: u16,
92 #[allow(missing_docs)]
93 pub val36: u16,
94 #[allow(missing_docs)]
95 pub val37: u16,
96 #[allow(missing_docs)]
97 pub val38: u16,
98 #[allow(missing_docs)]
99 pub val39: u16,
100 #[allow(missing_docs)]
101 pub val40: u16,
102 #[allow(missing_docs)]
103 pub val41: u16,
104 #[allow(missing_docs)]
105 pub val42: u16,
106 #[allow(missing_docs)]
107 pub val43: u16,
108 #[allow(missing_docs)]
109 pub val44: u16,
110 #[allow(missing_docs)]
111 pub val45: u16,
112 #[allow(missing_docs)]
113 pub val46: u16,
114 #[allow(missing_docs)]
115 pub val47: u16,
116 #[allow(missing_docs)]
117 pub val48: u16,
118 #[allow(missing_docs)]
119 pub val49: u16,
120 #[allow(missing_docs)]
121 pub val50: u16,
122 #[allow(missing_docs)]
123 pub val51: u16,
124 #[allow(missing_docs)]
125 pub val52: u16,
126 #[allow(missing_docs)]
127 pub val53: u16,
128 #[allow(missing_docs)]
129 pub val54: u16,
130 #[allow(missing_docs)]
131 pub val55: u16,
132 #[allow(missing_docs)]
133 pub val56: u16,
134 #[allow(missing_docs)]
135 pub val57: u16,
136 #[allow(missing_docs)]
137 pub val58: u16,
138 #[allow(missing_docs)]
139 pub val59: u16,
140 #[allow(missing_docs)]
141 pub val60: u16,
142 #[allow(missing_docs)]
143 pub val61: u16,
144 #[allow(missing_docs)]
145 pub val62: u16,
146 #[allow(missing_docs)]
147 pub val63: u16,
148 #[allow(missing_docs)]
149 pub val64: u16,
150 #[allow(missing_docs)]
151 pub val65: u16,
152 #[allow(missing_docs)]
153 pub val66: u16,
154 #[allow(missing_docs)]
155 pub val67: u16,
156 #[allow(missing_docs)]
157 pub val68: u16,
158 #[allow(missing_docs)]
159 pub val69: u16,
160 #[allow(missing_docs)]
161 pub val70: u16,
162 #[allow(missing_docs)]
163 pub val71: u16,
164 #[allow(missing_docs)]
165 pub val72: u16,
166 #[allow(missing_docs)]
167 pub val73: u16,
168 #[allow(missing_docs)]
169 pub val74: u16,
170 #[allow(missing_docs)]
171 pub val75: u16,
172 #[allow(missing_docs)]
173 pub val76: u16,
174 #[allow(missing_docs)]
175 pub val77: u16,
176 #[allow(missing_docs)]
177 pub val78: u16,
178 #[allow(missing_docs)]
179 pub val79: u16,
180 #[allow(missing_docs)]
181 pub val80: u16,
182 pub ts: u32,
186 pub ms: u16,
190 pub seq: u16,
196 pub role: u16,
202 pub alg: Alg,
208 pub n: u16,
214}
215#[allow(missing_docs)]
216impl Model6 {
217 pub const X: crate::Point<Self, u16> = crate::Point::new(0, 1, true);
218 pub const OFF: crate::Point<Self, u16> = crate::Point::new(1, 1, true);
219 pub const VAL1: crate::Point<Self, u16> = crate::Point::new(2, 1, true);
220 pub const VAL2: crate::Point<Self, u16> = crate::Point::new(3, 1, true);
221 pub const VAL3: crate::Point<Self, u16> = crate::Point::new(4, 1, true);
222 pub const VAL4: crate::Point<Self, u16> = crate::Point::new(5, 1, true);
223 pub const VAL5: crate::Point<Self, u16> = crate::Point::new(6, 1, true);
224 pub const VAL6: crate::Point<Self, u16> = crate::Point::new(7, 1, true);
225 pub const VAL7: crate::Point<Self, u16> = crate::Point::new(8, 1, true);
226 pub const VAL8: crate::Point<Self, u16> = crate::Point::new(9, 1, true);
227 pub const VAL9: crate::Point<Self, u16> = crate::Point::new(10, 1, true);
228 pub const VAL10: crate::Point<Self, u16> = crate::Point::new(11, 1, true);
229 pub const VAL11: crate::Point<Self, u16> = crate::Point::new(12, 1, true);
230 pub const VAL12: crate::Point<Self, u16> = crate::Point::new(13, 1, true);
231 pub const VAL13: crate::Point<Self, u16> = crate::Point::new(14, 1, true);
232 pub const VAL14: crate::Point<Self, u16> = crate::Point::new(15, 1, true);
233 pub const VAL15: crate::Point<Self, u16> = crate::Point::new(16, 1, true);
234 pub const VAL16: crate::Point<Self, u16> = crate::Point::new(17, 1, true);
235 pub const VAL17: crate::Point<Self, u16> = crate::Point::new(18, 1, true);
236 pub const VAL18: crate::Point<Self, u16> = crate::Point::new(19, 1, true);
237 pub const VAL19: crate::Point<Self, u16> = crate::Point::new(20, 1, true);
238 pub const VAL20: crate::Point<Self, u16> = crate::Point::new(21, 1, true);
239 pub const VAL21: crate::Point<Self, u16> = crate::Point::new(22, 1, true);
240 pub const VAL22: crate::Point<Self, u16> = crate::Point::new(23, 1, true);
241 pub const VAL23: crate::Point<Self, u16> = crate::Point::new(24, 1, true);
242 pub const VAL24: crate::Point<Self, u16> = crate::Point::new(25, 1, true);
243 pub const VAL25: crate::Point<Self, u16> = crate::Point::new(26, 1, true);
244 pub const VAL26: crate::Point<Self, u16> = crate::Point::new(27, 1, true);
245 pub const VAL27: crate::Point<Self, u16> = crate::Point::new(28, 1, true);
246 pub const VAL28: crate::Point<Self, u16> = crate::Point::new(29, 1, true);
247 pub const VAL29: crate::Point<Self, u16> = crate::Point::new(30, 1, true);
248 pub const VAL30: crate::Point<Self, u16> = crate::Point::new(31, 1, true);
249 pub const VAL31: crate::Point<Self, u16> = crate::Point::new(32, 1, true);
250 pub const VAL32: crate::Point<Self, u16> = crate::Point::new(33, 1, true);
251 pub const VAL33: crate::Point<Self, u16> = crate::Point::new(34, 1, true);
252 pub const VAL34: crate::Point<Self, u16> = crate::Point::new(35, 1, true);
253 pub const VAL35: crate::Point<Self, u16> = crate::Point::new(36, 1, true);
254 pub const VAL36: crate::Point<Self, u16> = crate::Point::new(37, 1, true);
255 pub const VAL37: crate::Point<Self, u16> = crate::Point::new(38, 1, true);
256 pub const VAL38: crate::Point<Self, u16> = crate::Point::new(39, 1, true);
257 pub const VAL39: crate::Point<Self, u16> = crate::Point::new(40, 1, true);
258 pub const VAL40: crate::Point<Self, u16> = crate::Point::new(41, 1, true);
259 pub const VAL41: crate::Point<Self, u16> = crate::Point::new(42, 1, true);
260 pub const VAL42: crate::Point<Self, u16> = crate::Point::new(43, 1, true);
261 pub const VAL43: crate::Point<Self, u16> = crate::Point::new(44, 1, true);
262 pub const VAL44: crate::Point<Self, u16> = crate::Point::new(45, 1, true);
263 pub const VAL45: crate::Point<Self, u16> = crate::Point::new(46, 1, true);
264 pub const VAL46: crate::Point<Self, u16> = crate::Point::new(47, 1, true);
265 pub const VAL47: crate::Point<Self, u16> = crate::Point::new(48, 1, true);
266 pub const VAL48: crate::Point<Self, u16> = crate::Point::new(49, 1, true);
267 pub const VAL49: crate::Point<Self, u16> = crate::Point::new(50, 1, true);
268 pub const VAL50: crate::Point<Self, u16> = crate::Point::new(51, 1, true);
269 pub const VAL51: crate::Point<Self, u16> = crate::Point::new(52, 1, true);
270 pub const VAL52: crate::Point<Self, u16> = crate::Point::new(53, 1, true);
271 pub const VAL53: crate::Point<Self, u16> = crate::Point::new(54, 1, true);
272 pub const VAL54: crate::Point<Self, u16> = crate::Point::new(55, 1, true);
273 pub const VAL55: crate::Point<Self, u16> = crate::Point::new(56, 1, true);
274 pub const VAL56: crate::Point<Self, u16> = crate::Point::new(57, 1, true);
275 pub const VAL57: crate::Point<Self, u16> = crate::Point::new(58, 1, true);
276 pub const VAL58: crate::Point<Self, u16> = crate::Point::new(59, 1, true);
277 pub const VAL59: crate::Point<Self, u16> = crate::Point::new(60, 1, true);
278 pub const VAL60: crate::Point<Self, u16> = crate::Point::new(61, 1, true);
279 pub const VAL61: crate::Point<Self, u16> = crate::Point::new(62, 1, true);
280 pub const VAL62: crate::Point<Self, u16> = crate::Point::new(63, 1, true);
281 pub const VAL63: crate::Point<Self, u16> = crate::Point::new(64, 1, true);
282 pub const VAL64: crate::Point<Self, u16> = crate::Point::new(65, 1, true);
283 pub const VAL65: crate::Point<Self, u16> = crate::Point::new(66, 1, true);
284 pub const VAL66: crate::Point<Self, u16> = crate::Point::new(67, 1, true);
285 pub const VAL67: crate::Point<Self, u16> = crate::Point::new(68, 1, true);
286 pub const VAL68: crate::Point<Self, u16> = crate::Point::new(69, 1, true);
287 pub const VAL69: crate::Point<Self, u16> = crate::Point::new(70, 1, true);
288 pub const VAL70: crate::Point<Self, u16> = crate::Point::new(71, 1, true);
289 pub const VAL71: crate::Point<Self, u16> = crate::Point::new(72, 1, true);
290 pub const VAL72: crate::Point<Self, u16> = crate::Point::new(73, 1, true);
291 pub const VAL73: crate::Point<Self, u16> = crate::Point::new(74, 1, true);
292 pub const VAL74: crate::Point<Self, u16> = crate::Point::new(75, 1, true);
293 pub const VAL75: crate::Point<Self, u16> = crate::Point::new(76, 1, true);
294 pub const VAL76: crate::Point<Self, u16> = crate::Point::new(77, 1, true);
295 pub const VAL77: crate::Point<Self, u16> = crate::Point::new(78, 1, true);
296 pub const VAL78: crate::Point<Self, u16> = crate::Point::new(79, 1, true);
297 pub const VAL79: crate::Point<Self, u16> = crate::Point::new(80, 1, true);
298 pub const VAL80: crate::Point<Self, u16> = crate::Point::new(81, 1, true);
299 pub const TS: crate::Point<Self, u32> = crate::Point::new(82, 2, true);
300 pub const MS: crate::Point<Self, u16> = crate::Point::new(84, 1, true);
301 pub const SEQ: crate::Point<Self, u16> = crate::Point::new(85, 1, true);
302 pub const ROLE: crate::Point<Self, u16> = crate::Point::new(86, 1, true);
303 pub const ALG: crate::Point<Self, Alg> = crate::Point::new(88, 1, true);
304 pub const N: crate::Point<Self, u16> = crate::Point::new(89, 1, true);
305}
306impl crate::Model for Model6 {
307 const ID: u16 = 6;
308 fn from_data(data: &[u16]) -> Result<Self, crate::DecodeError> {
309 Ok(Self {
310 x: Self::X.from_data(data)?,
311 off: Self::OFF.from_data(data)?,
312 val1: Self::VAL1.from_data(data)?,
313 val2: Self::VAL2.from_data(data)?,
314 val3: Self::VAL3.from_data(data)?,
315 val4: Self::VAL4.from_data(data)?,
316 val5: Self::VAL5.from_data(data)?,
317 val6: Self::VAL6.from_data(data)?,
318 val7: Self::VAL7.from_data(data)?,
319 val8: Self::VAL8.from_data(data)?,
320 val9: Self::VAL9.from_data(data)?,
321 val10: Self::VAL10.from_data(data)?,
322 val11: Self::VAL11.from_data(data)?,
323 val12: Self::VAL12.from_data(data)?,
324 val13: Self::VAL13.from_data(data)?,
325 val14: Self::VAL14.from_data(data)?,
326 val15: Self::VAL15.from_data(data)?,
327 val16: Self::VAL16.from_data(data)?,
328 val17: Self::VAL17.from_data(data)?,
329 val18: Self::VAL18.from_data(data)?,
330 val19: Self::VAL19.from_data(data)?,
331 val20: Self::VAL20.from_data(data)?,
332 val21: Self::VAL21.from_data(data)?,
333 val22: Self::VAL22.from_data(data)?,
334 val23: Self::VAL23.from_data(data)?,
335 val24: Self::VAL24.from_data(data)?,
336 val25: Self::VAL25.from_data(data)?,
337 val26: Self::VAL26.from_data(data)?,
338 val27: Self::VAL27.from_data(data)?,
339 val28: Self::VAL28.from_data(data)?,
340 val29: Self::VAL29.from_data(data)?,
341 val30: Self::VAL30.from_data(data)?,
342 val31: Self::VAL31.from_data(data)?,
343 val32: Self::VAL32.from_data(data)?,
344 val33: Self::VAL33.from_data(data)?,
345 val34: Self::VAL34.from_data(data)?,
346 val35: Self::VAL35.from_data(data)?,
347 val36: Self::VAL36.from_data(data)?,
348 val37: Self::VAL37.from_data(data)?,
349 val38: Self::VAL38.from_data(data)?,
350 val39: Self::VAL39.from_data(data)?,
351 val40: Self::VAL40.from_data(data)?,
352 val41: Self::VAL41.from_data(data)?,
353 val42: Self::VAL42.from_data(data)?,
354 val43: Self::VAL43.from_data(data)?,
355 val44: Self::VAL44.from_data(data)?,
356 val45: Self::VAL45.from_data(data)?,
357 val46: Self::VAL46.from_data(data)?,
358 val47: Self::VAL47.from_data(data)?,
359 val48: Self::VAL48.from_data(data)?,
360 val49: Self::VAL49.from_data(data)?,
361 val50: Self::VAL50.from_data(data)?,
362 val51: Self::VAL51.from_data(data)?,
363 val52: Self::VAL52.from_data(data)?,
364 val53: Self::VAL53.from_data(data)?,
365 val54: Self::VAL54.from_data(data)?,
366 val55: Self::VAL55.from_data(data)?,
367 val56: Self::VAL56.from_data(data)?,
368 val57: Self::VAL57.from_data(data)?,
369 val58: Self::VAL58.from_data(data)?,
370 val59: Self::VAL59.from_data(data)?,
371 val60: Self::VAL60.from_data(data)?,
372 val61: Self::VAL61.from_data(data)?,
373 val62: Self::VAL62.from_data(data)?,
374 val63: Self::VAL63.from_data(data)?,
375 val64: Self::VAL64.from_data(data)?,
376 val65: Self::VAL65.from_data(data)?,
377 val66: Self::VAL66.from_data(data)?,
378 val67: Self::VAL67.from_data(data)?,
379 val68: Self::VAL68.from_data(data)?,
380 val69: Self::VAL69.from_data(data)?,
381 val70: Self::VAL70.from_data(data)?,
382 val71: Self::VAL71.from_data(data)?,
383 val72: Self::VAL72.from_data(data)?,
384 val73: Self::VAL73.from_data(data)?,
385 val74: Self::VAL74.from_data(data)?,
386 val75: Self::VAL75.from_data(data)?,
387 val76: Self::VAL76.from_data(data)?,
388 val77: Self::VAL77.from_data(data)?,
389 val78: Self::VAL78.from_data(data)?,
390 val79: Self::VAL79.from_data(data)?,
391 val80: Self::VAL80.from_data(data)?,
392 ts: Self::TS.from_data(data)?,
393 ms: Self::MS.from_data(data)?,
394 seq: Self::SEQ.from_data(data)?,
395 role: Self::ROLE.from_data(data)?,
396 alg: Self::ALG.from_data(data)?,
397 n: Self::N.from_data(data)?,
398 })
399 }
400 fn addr(models: &crate::Models) -> crate::ModelAddr<Self> {
401 models.m6
402 }
403}
404#[derive(Copy, Clone, Debug, Eq, PartialEq, strum::FromRepr)]
410#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))]
411#[repr(u16)]
412pub enum Alg {
413 None = 0,
415 #[allow(missing_docs)]
416 AesGmac64 = 1,
417 #[allow(missing_docs)]
418 Ecc256 = 2,
419}
420impl crate::Value for Alg {
421 fn decode(data: &[u16]) -> Result<Self, crate::DecodeError> {
422 let value = u16::decode(data)?;
423 Self::from_repr(value).ok_or(crate::DecodeError::InvalidEnumValue)
424 }
425 fn encode(self) -> Box<[u16]> {
426 (self as u16).encode()
427 }
428}
429impl crate::Value for Option<Alg> {
430 fn decode(data: &[u16]) -> Result<Self, crate::DecodeError> {
431 let value = u16::decode(data)?;
432 if value != 65535 {
433 Ok(Some(
434 Alg::from_repr(value).ok_or(crate::DecodeError::InvalidEnumValue)?,
435 ))
436 } else {
437 Ok(None)
438 }
439 }
440 fn encode(self) -> Box<[u16]> {
441 if let Some(value) = self {
442 value.encode()
443 } else {
444 65535.encode()
445 }
446 }
447}