Skip to content

Commit ee84b9b

Browse files
committed
regenerate messages.rs
1 parent 6e86ecf commit ee84b9b

File tree

1 file changed

+69
-64
lines changed

1 file changed

+69
-64
lines changed

testing/can-messages/src/messages.rs

Lines changed: 69 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ impl Messages {
2323
#[inline(never)]
2424
pub fn from_can_message(id: u32, payload: &[u8]) -> Result<Self, CanError> {
2525
use core::convert::TryFrom;
26-
26+
2727
let res = match id {
2828
256 => Messages::Foo(Foo::try_from(payload)?),
2929
512 => Messages::Bar(Bar::try_from(payload)?),
@@ -46,20 +46,20 @@ pub struct Foo {
4646

4747
impl Foo {
4848
pub const MESSAGE_ID: u32 = 256;
49-
49+
5050
/// Construct new Foo from values
5151
pub fn new(voltage: f32, current: f32) -> Result<Self, CanError> {
5252
let mut res = Self { raw: [0u8; 4] };
5353
res.set_voltage(voltage)?;
5454
res.set_current(current)?;
5555
Ok(res)
5656
}
57-
57+
5858
/// Access message payload raw value
5959
pub fn raw(&self) -> &[u8] {
6060
&self.raw
6161
}
62-
62+
6363
/// Voltage
6464
///
6565
/// - Min: 0
@@ -70,7 +70,7 @@ impl Foo {
7070
pub fn voltage(&self) -> f32 {
7171
self.voltage_raw()
7272
}
73-
73+
7474
/// Get raw value of Voltage
7575
///
7676
/// - Start bit: 16
@@ -82,29 +82,27 @@ impl Foo {
8282
#[inline(always)]
8383
pub fn voltage_raw(&self) -> f32 {
8484
let signal = u16::unpack_le_bits(&self.raw, 16, 16);
85-
85+
8686
let factor = 0.000976562_f32;
8787
let offset = 0_f32;
8888
(signal as f32) * factor + offset
8989
}
90-
90+
9191
/// Set value of Voltage
9292
#[inline(always)]
9393
pub fn set_voltage(&mut self, value: f32) -> Result<(), CanError> {
9494
#[cfg(feature = "range_checked")]
95-
if value < 0_f32 || 63.9990234375_f32 < value {
96-
return Err(CanError::ParameterOutOfRange { message_id: 256 });
97-
}
95+
if value < 0_f32 || 63.9990234375_f32 < value { return Err(CanError::ParameterOutOfRange{ message_id: 256 }); }
9896
let factor = 0.000976562_f32;
9997
let offset = 0_f32;
10098
let value = ((value - offset) / factor) as u16;
101-
99+
102100
let start_bit = 16;
103101
let bits = 16;
104102
value.pack_le_bits(&mut self.raw, start_bit, bits);
105103
Ok(())
106104
}
107-
105+
108106
/// Current
109107
///
110108
/// - Min: -2048
@@ -115,7 +113,7 @@ impl Foo {
115113
pub fn current(&self) -> f32 {
116114
self.current_raw()
117115
}
118-
116+
119117
/// Get raw value of Current
120118
///
121119
/// - Start bit: 0
@@ -127,44 +125,42 @@ impl Foo {
127125
#[inline(always)]
128126
pub fn current_raw(&self) -> f32 {
129127
let signal = i16::unpack_le_bits(&self.raw, 0, 16);
130-
128+
131129
let factor = 0.0625_f32;
132130
let offset = 0_f32;
133131
(signal as f32) * factor + offset
134132
}
135-
133+
136134
/// Set value of Current
137135
#[inline(always)]
138136
pub fn set_current(&mut self, value: f32) -> Result<(), CanError> {
139137
#[cfg(feature = "range_checked")]
140-
if value < -2048_f32 || 2047.9375_f32 < value {
141-
return Err(CanError::ParameterOutOfRange { message_id: 256 });
142-
}
138+
if value < -2048_f32 || 2047.9375_f32 < value { return Err(CanError::ParameterOutOfRange{ message_id: 256 }); }
143139
let factor = 0.0625_f32;
144140
let offset = 0_f32;
145141
let value = ((value - offset) / factor) as i16;
146-
142+
147143
let start_bit = 0;
148144
let bits = 16;
149145
value.pack_le_bits(&mut self.raw, start_bit, bits);
150146
Ok(())
151147
}
148+
152149
}
153150

154151
impl core::convert::TryFrom<&[u8]> for Foo {
155152
type Error = CanError;
156-
153+
157154
#[inline(always)]
158155
fn try_from(payload: &[u8]) -> Result<Self, Self::Error> {
159-
if payload.len() != 4 {
160-
return Err(CanError::InvalidPayloadSize);
161-
}
156+
if payload.len() != 4 { return Err(CanError::InvalidPayloadSize); }
162157
let mut raw = [0u8; 4];
163158
raw.copy_from_slice(&payload[..4]);
164159
Ok(Self { raw })
165160
}
166161
}
167162

163+
168164
/// Bar
169165
///
170166
/// - ID: 512 (0x200)
@@ -178,7 +174,7 @@ pub struct Bar {
178174

179175
impl Bar {
180176
pub const MESSAGE_ID: u32 = 512;
181-
177+
182178
/// Construct new Bar from values
183179
pub fn new(one: u8, two: f32, three: u8, four: u8, five: bool) -> Result<Self, CanError> {
184180
let mut res = Self { raw: [0u8; 8] };
@@ -189,12 +185,12 @@ impl Bar {
189185
res.set_five(five)?;
190186
Ok(res)
191187
}
192-
188+
193189
/// Access message payload raw value
194190
pub fn raw(&self) -> &[u8] {
195191
&self.raw
196192
}
197-
193+
198194
/// One
199195
///
200196
/// - Min: 0
@@ -205,7 +201,7 @@ impl Bar {
205201
pub fn one(&self) -> u8 {
206202
self.one_raw()
207203
}
208-
204+
209205
/// Get raw value of One
210206
///
211207
/// - Start bit: 15
@@ -217,23 +213,21 @@ impl Bar {
217213
#[inline(always)]
218214
pub fn one_raw(&self) -> u8 {
219215
let signal = u8::unpack_be_bits(&self.raw, (15 - (2 - 1)), 2);
220-
216+
221217
signal
222218
}
223-
219+
224220
/// Set value of One
225221
#[inline(always)]
226222
pub fn set_one(&mut self, value: u8) -> Result<(), CanError> {
227223
#[cfg(feature = "range_checked")]
228-
if value < 0_u8 || 3_u8 < value {
229-
return Err(CanError::ParameterOutOfRange { message_id: 512 });
230-
}
224+
if value < 0_u8 || 3_u8 < value { return Err(CanError::ParameterOutOfRange{ message_id: 512 }); }
231225
let start_bit = 15;
232226
let bits = 2;
233227
value.pack_be_bits(&mut self.raw, start_bit, bits);
234228
Ok(())
235229
}
236-
230+
237231
/// Two
238232
///
239233
/// - Min: 0
@@ -244,7 +238,7 @@ impl Bar {
244238
pub fn two(&self) -> f32 {
245239
self.two_raw()
246240
}
247-
241+
248242
/// Get raw value of Two
249243
///
250244
/// - Start bit: 7
@@ -256,29 +250,27 @@ impl Bar {
256250
#[inline(always)]
257251
pub fn two_raw(&self) -> f32 {
258252
let signal = u8::unpack_be_bits(&self.raw, (7 - (8 - 1)), 8);
259-
253+
260254
let factor = 0.39_f32;
261255
let offset = 0_f32;
262256
(signal as f32) * factor + offset
263257
}
264-
258+
265259
/// Set value of Two
266260
#[inline(always)]
267261
pub fn set_two(&mut self, value: f32) -> Result<(), CanError> {
268262
#[cfg(feature = "range_checked")]
269-
if value < 0_f32 || 100_f32 < value {
270-
return Err(CanError::ParameterOutOfRange { message_id: 512 });
271-
}
263+
if value < 0_f32 || 100_f32 < value { return Err(CanError::ParameterOutOfRange{ message_id: 512 }); }
272264
let factor = 0.39_f32;
273265
let offset = 0_f32;
274266
let value = ((value - offset) / factor) as u8;
275-
267+
276268
let start_bit = 7;
277269
let bits = 8;
278270
value.pack_be_bits(&mut self.raw, start_bit, bits);
279271
Ok(())
280272
}
281-
273+
282274
/// Three
283275
///
284276
/// - Min: 0
@@ -295,7 +287,7 @@ impl Bar {
295287
x => BarThree::Other(x),
296288
}
297289
}
298-
290+
299291
/// Get raw value of Three
300292
///
301293
/// - Start bit: 13
@@ -307,23 +299,21 @@ impl Bar {
307299
#[inline(always)]
308300
pub fn three_raw(&self) -> u8 {
309301
let signal = u8::unpack_be_bits(&self.raw, (13 - (3 - 1)), 3);
310-
302+
311303
signal
312304
}
313-
305+
314306
/// Set value of Three
315307
#[inline(always)]
316308
pub fn set_three(&mut self, value: u8) -> Result<(), CanError> {
317309
#[cfg(feature = "range_checked")]
318-
if value < 0_u8 || 7_u8 < value {
319-
return Err(CanError::ParameterOutOfRange { message_id: 512 });
320-
}
310+
if value < 0_u8 || 7_u8 < value { return Err(CanError::ParameterOutOfRange{ message_id: 512 }); }
321311
let start_bit = 13;
322312
let bits = 3;
323313
value.pack_be_bits(&mut self.raw, start_bit, bits);
324314
Ok(())
325315
}
326-
316+
327317
/// Four
328318
///
329319
/// - Min: 0
@@ -340,7 +330,7 @@ impl Bar {
340330
x => BarFour::Other(x),
341331
}
342332
}
343-
333+
344334
/// Get raw value of Four
345335
///
346336
/// - Start bit: 10
@@ -352,34 +342,38 @@ impl Bar {
352342
#[inline(always)]
353343
pub fn four_raw(&self) -> u8 {
354344
let signal = u8::unpack_be_bits(&self.raw, (10 - (2 - 1)), 2);
355-
345+
356346
signal
357347
}
358-
348+
359349
/// Set value of Four
360350
#[inline(always)]
361351
pub fn set_four(&mut self, value: u8) -> Result<(), CanError> {
362352
#[cfg(feature = "range_checked")]
363-
if value < 0_u8 || 3_u8 < value {
364-
return Err(CanError::ParameterOutOfRange { message_id: 512 });
365-
}
353+
if value < 0_u8 || 3_u8 < value { return Err(CanError::ParameterOutOfRange{ message_id: 512 }); }
366354
let start_bit = 10;
367355
let bits = 2;
368356
value.pack_be_bits(&mut self.raw, start_bit, bits);
369357
Ok(())
370358
}
371-
359+
372360
/// Five
373361
///
374362
/// - Min: 0
375363
/// - Max: 1
376364
/// - Unit: "boolean"
377365
/// - Receivers: Dolor
378366
#[inline(always)]
379-
pub fn five(&self) -> bool {
380-
self.five_raw()
367+
pub fn five(&self) -> BarFive {
368+
match self.five_raw() {
369+
false => BarFive::X0off,
370+
true => BarFive::X1on,
371+
false => BarFive::X2oner,
372+
false => BarFive::X3onest,
373+
x => BarFive::Other(x),
374+
}
381375
}
382-
376+
383377
/// Get raw value of Five
384378
///
385379
/// - Start bit: 30
@@ -391,10 +385,10 @@ impl Bar {
391385
#[inline(always)]
392386
pub fn five_raw(&self) -> bool {
393387
let signal = u8::unpack_be_bits(&self.raw, (30 - (1 - 1)), 1);
394-
388+
395389
signal == 1
396390
}
397-
391+
398392
/// Set value of Five
399393
#[inline(always)]
400394
pub fn set_five(&mut self, value: bool) -> Result<(), CanError> {
@@ -404,16 +398,15 @@ impl Bar {
404398
value.pack_be_bits(&mut self.raw, start_bit, bits);
405399
Ok(())
406400
}
401+
407402
}
408403

409404
impl core::convert::TryFrom<&[u8]> for Bar {
410405
type Error = CanError;
411-
406+
412407
#[inline(always)]
413408
fn try_from(payload: &[u8]) -> Result<Self, Self::Error> {
414-
if payload.len() != 8 {
415-
return Err(CanError::InvalidPayloadSize);
416-
}
409+
if payload.len() != 8 { return Err(CanError::InvalidPayloadSize); }
417410
let mut raw = [0u8; 8];
418411
raw.copy_from_slice(&payload[..8]);
419412
Ok(Self { raw })
@@ -440,6 +433,17 @@ pub enum BarFour {
440433
Onest,
441434
Other(u8),
442435
}
436+
/// Defined values for Five
437+
#[derive(Clone, Copy, PartialEq)]
438+
#[cfg_attr(feature = "debug", derive(Debug))]
439+
pub enum BarFive {
440+
X0off,
441+
X1on,
442+
X2oner,
443+
X3onest,
444+
Other(bool),
445+
}
446+
443447

444448
/// This is just to make testing easier
445449
fn main() {}
@@ -456,3 +460,4 @@ pub enum CanError {
456460
},
457461
InvalidPayloadSize,
458462
}
463+

0 commit comments

Comments
 (0)