@@ -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
4747impl 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,27 +82,29 @@ 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 { return Err ( CanError :: ParameterOutOfRange { message_id : 256 } ) ; }
95+ if value < 0_f32 || 63.9990234375_f32 < value {
96+ return Err ( CanError :: ParameterOutOfRange { message_id : 256 } ) ;
97+ }
9698 let factor = 0.000976562_f32 ;
9799 let offset = 0_f32 ;
98100 let value = ( ( value - offset) / factor) as u16 ;
99-
101+
100102 let start_bit = 16 ;
101103 let bits = 16 ;
102104 value. pack_le_bits ( & mut self . raw , start_bit, bits) ;
103105 Ok ( ( ) )
104106 }
105-
107+
106108 /// Current
107109 ///
108110 /// - Min: -2048
@@ -113,7 +115,7 @@ impl Foo {
113115 pub fn current ( & self ) -> f32 {
114116 self . current_raw ( )
115117 }
116-
118+
117119 /// Get raw value of Current
118120 ///
119121 /// - Start bit: 0
@@ -125,42 +127,44 @@ impl Foo {
125127 #[ inline( always) ]
126128 pub fn current_raw ( & self ) -> f32 {
127129 let signal = i16:: unpack_le_bits ( & self . raw , 0 , 16 ) ;
128-
130+
129131 let factor = 0.0625_f32 ;
130132 let offset = 0_f32 ;
131133 ( signal as f32 ) * factor + offset
132134 }
133-
135+
134136 /// Set value of Current
135137 #[ inline( always) ]
136138 pub fn set_current ( & mut self , value : f32 ) -> Result < ( ) , CanError > {
137139 #[ cfg( feature = "range_checked" ) ]
138- if value < -2048_f32 || 2047.9375_f32 < value { return Err ( CanError :: ParameterOutOfRange { message_id : 256 } ) ; }
140+ if value < -2048_f32 || 2047.9375_f32 < value {
141+ return Err ( CanError :: ParameterOutOfRange { message_id : 256 } ) ;
142+ }
139143 let factor = 0.0625_f32 ;
140144 let offset = 0_f32 ;
141145 let value = ( ( value - offset) / factor) as i16 ;
142-
146+
143147 let start_bit = 0 ;
144148 let bits = 16 ;
145149 value. pack_le_bits ( & mut self . raw , start_bit, bits) ;
146150 Ok ( ( ) )
147151 }
148-
149152}
150153
151154impl core:: convert:: TryFrom < & [ u8 ] > for Foo {
152155 type Error = CanError ;
153-
156+
154157 #[ inline( always) ]
155158 fn try_from ( payload : & [ u8 ] ) -> Result < Self , Self :: Error > {
156- if payload. len ( ) != 4 { return Err ( CanError :: InvalidPayloadSize ) ; }
159+ if payload. len ( ) != 4 {
160+ return Err ( CanError :: InvalidPayloadSize ) ;
161+ }
157162 let mut raw = [ 0u8 ; 4 ] ;
158163 raw. copy_from_slice ( & payload[ ..4 ] ) ;
159164 Ok ( Self { raw } )
160165 }
161166}
162167
163-
164168/// Bar
165169///
166170/// - ID: 512 (0x200)
@@ -174,7 +178,7 @@ pub struct Bar {
174178
175179impl Bar {
176180 pub const MESSAGE_ID : u32 = 512 ;
177-
181+
178182 /// Construct new Bar from values
179183 pub fn new ( one : u8 , two : f32 , three : u8 , four : u8 , five : bool ) -> Result < Self , CanError > {
180184 let mut res = Self { raw : [ 0u8 ; 8 ] } ;
@@ -185,12 +189,12 @@ impl Bar {
185189 res. set_five ( five) ?;
186190 Ok ( res)
187191 }
188-
192+
189193 /// Access message payload raw value
190194 pub fn raw ( & self ) -> & [ u8 ] {
191195 & self . raw
192196 }
193-
197+
194198 /// One
195199 ///
196200 /// - Min: 0
@@ -201,7 +205,7 @@ impl Bar {
201205 pub fn one ( & self ) -> u8 {
202206 self . one_raw ( )
203207 }
204-
208+
205209 /// Get raw value of One
206210 ///
207211 /// - Start bit: 15
@@ -213,21 +217,23 @@ impl Bar {
213217 #[ inline( always) ]
214218 pub fn one_raw ( & self ) -> u8 {
215219 let signal = u8:: unpack_be_bits ( & self . raw , ( 15 - ( 2 - 1 ) ) , 2 ) ;
216-
220+
217221 signal
218222 }
219-
223+
220224 /// Set value of One
221225 #[ inline( always) ]
222226 pub fn set_one ( & mut self , value : u8 ) -> Result < ( ) , CanError > {
223227 #[ cfg( feature = "range_checked" ) ]
224- if value < 0_u8 || 3_u8 < value { return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ; }
228+ if value < 0_u8 || 3_u8 < value {
229+ return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ;
230+ }
225231 let start_bit = 15 ;
226232 let bits = 2 ;
227233 value. pack_be_bits ( & mut self . raw , start_bit, bits) ;
228234 Ok ( ( ) )
229235 }
230-
236+
231237 /// Two
232238 ///
233239 /// - Min: 0
@@ -238,7 +244,7 @@ impl Bar {
238244 pub fn two ( & self ) -> f32 {
239245 self . two_raw ( )
240246 }
241-
247+
242248 /// Get raw value of Two
243249 ///
244250 /// - Start bit: 7
@@ -250,27 +256,29 @@ impl Bar {
250256 #[ inline( always) ]
251257 pub fn two_raw ( & self ) -> f32 {
252258 let signal = u8:: unpack_be_bits ( & self . raw , ( 7 - ( 8 - 1 ) ) , 8 ) ;
253-
259+
254260 let factor = 0.39_f32 ;
255261 let offset = 0_f32 ;
256262 ( signal as f32 ) * factor + offset
257263 }
258-
264+
259265 /// Set value of Two
260266 #[ inline( always) ]
261267 pub fn set_two ( & mut self , value : f32 ) -> Result < ( ) , CanError > {
262268 #[ cfg( feature = "range_checked" ) ]
263- if value < 0_f32 || 100_f32 < value { return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ; }
269+ if value < 0_f32 || 100_f32 < value {
270+ return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ;
271+ }
264272 let factor = 0.39_f32 ;
265273 let offset = 0_f32 ;
266274 let value = ( ( value - offset) / factor) as u8 ;
267-
275+
268276 let start_bit = 7 ;
269277 let bits = 8 ;
270278 value. pack_be_bits ( & mut self . raw , start_bit, bits) ;
271279 Ok ( ( ) )
272280 }
273-
281+
274282 /// Three
275283 ///
276284 /// - Min: 0
@@ -287,7 +295,7 @@ impl Bar {
287295 x => BarThree :: Other ( x) ,
288296 }
289297 }
290-
298+
291299 /// Get raw value of Three
292300 ///
293301 /// - Start bit: 13
@@ -299,21 +307,23 @@ impl Bar {
299307 #[ inline( always) ]
300308 pub fn three_raw ( & self ) -> u8 {
301309 let signal = u8:: unpack_be_bits ( & self . raw , ( 13 - ( 3 - 1 ) ) , 3 ) ;
302-
310+
303311 signal
304312 }
305-
313+
306314 /// Set value of Three
307315 #[ inline( always) ]
308316 pub fn set_three ( & mut self , value : u8 ) -> Result < ( ) , CanError > {
309317 #[ cfg( feature = "range_checked" ) ]
310- if value < 0_u8 || 7_u8 < value { return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ; }
318+ if value < 0_u8 || 7_u8 < value {
319+ return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ;
320+ }
311321 let start_bit = 13 ;
312322 let bits = 3 ;
313323 value. pack_be_bits ( & mut self . raw , start_bit, bits) ;
314324 Ok ( ( ) )
315325 }
316-
326+
317327 /// Four
318328 ///
319329 /// - Min: 0
@@ -330,7 +340,7 @@ impl Bar {
330340 x => BarFour :: Other ( x) ,
331341 }
332342 }
333-
343+
334344 /// Get raw value of Four
335345 ///
336346 /// - Start bit: 10
@@ -342,21 +352,23 @@ impl Bar {
342352 #[ inline( always) ]
343353 pub fn four_raw ( & self ) -> u8 {
344354 let signal = u8:: unpack_be_bits ( & self . raw , ( 10 - ( 2 - 1 ) ) , 2 ) ;
345-
355+
346356 signal
347357 }
348-
358+
349359 /// Set value of Four
350360 #[ inline( always) ]
351361 pub fn set_four ( & mut self , value : u8 ) -> Result < ( ) , CanError > {
352362 #[ cfg( feature = "range_checked" ) ]
353- if value < 0_u8 || 3_u8 < value { return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ; }
363+ if value < 0_u8 || 3_u8 < value {
364+ return Err ( CanError :: ParameterOutOfRange { message_id : 512 } ) ;
365+ }
354366 let start_bit = 10 ;
355367 let bits = 2 ;
356368 value. pack_be_bits ( & mut self . raw , start_bit, bits) ;
357369 Ok ( ( ) )
358370 }
359-
371+
360372 /// Five
361373 ///
362374 /// - Min: 0
@@ -373,7 +385,7 @@ impl Bar {
373385 x => BarFive :: Other ( x) ,
374386 }
375387 }
376-
388+
377389 /// Get raw value of Five
378390 ///
379391 /// - Start bit: 30
@@ -385,10 +397,10 @@ impl Bar {
385397 #[ inline( always) ]
386398 pub fn five_raw ( & self ) -> bool {
387399 let signal = u8:: unpack_be_bits ( & self . raw , ( 30 - ( 1 - 1 ) ) , 1 ) ;
388-
400+
389401 signal == 1
390402 }
391-
403+
392404 /// Set value of Five
393405 #[ inline( always) ]
394406 pub fn set_five ( & mut self , value : bool ) -> Result < ( ) , CanError > {
@@ -398,15 +410,16 @@ impl Bar {
398410 value. pack_be_bits ( & mut self . raw , start_bit, bits) ;
399411 Ok ( ( ) )
400412 }
401-
402413}
403414
404415impl core:: convert:: TryFrom < & [ u8 ] > for Bar {
405416 type Error = CanError ;
406-
417+
407418 #[ inline( always) ]
408419 fn try_from ( payload : & [ u8 ] ) -> Result < Self , Self :: Error > {
409- if payload. len ( ) != 8 { return Err ( CanError :: InvalidPayloadSize ) ; }
420+ if payload. len ( ) != 8 {
421+ return Err ( CanError :: InvalidPayloadSize ) ;
422+ }
410423 let mut raw = [ 0u8 ; 8 ] ;
411424 raw. copy_from_slice ( & payload[ ..8 ] ) ;
412425 Ok ( Self { raw } )
@@ -444,7 +457,6 @@ pub enum BarFive {
444457 Other ( bool ) ,
445458}
446459
447-
448460/// This is just to make testing easier
449461fn main ( ) { }
450462
@@ -460,4 +472,3 @@ pub enum CanError {
460472 } ,
461473 InvalidPayloadSize ,
462474}
463-
0 commit comments