@@ -146,9 +146,8 @@ void CiMainGenerator::Generate(std::vector<MessageDescriptor_t*>& msgs, const Fs
146
146
// write message typedef s and additional expressions
147
147
MessageDescriptor_t& m = sigprt->sigs_expr [num]->msg ;
148
148
149
- fwriter->AppendLine (
150
- PrintF (" uint32_t Unpack_%s_%s(%s_t* _m, const uint8_t* _d, uint8_t dlc_);" ,
151
- m.Name .c_str (), fsd.DrvName_orig .c_str (), m.Name .c_str ()));
149
+ fwriter->AppendLine (PrintF (" uint32_t Unpack_%s_%s(%s_t* _m, const uint8_t* _d, uint8_t dlc_);" ,
150
+ m.Name .c_str (), fsd.DrvName_orig .c_str (), m.Name .c_str ()));
152
151
153
152
fwriter->AppendLine (PrintF (" #ifdef %s" , fsd.usesruct_def .c_str ()));
154
153
@@ -269,19 +268,35 @@ void CiMainGenerator::WriteSigStructField(const SignalDescriptor_t& sig, bool bi
269
268
270
269
fwriter->AppendText (PrintF (" Bits=%2d" , sig.LengthBit ));
271
270
272
- if (sig.Unit . size () > 0 )
271
+ if (sig.IsDoubleSig )
273
272
{
274
- fwriter->AppendText (PrintF (" Unit:'%-13s'" , sig.Unit .c_str ()));
275
- }
273
+ if (sig.Offset != 0 )
274
+ {
275
+ fwriter->AppendText (PrintF (" Offset= %-18f" , sig.Offset ));
276
+ }
276
277
277
- if (sig.Offset != 0 )
278
+ if (sig.Factor != 1 )
279
+ {
280
+ fwriter->AppendText (PrintF (" Factor= %-15f" , sig.Factor ));
281
+ }
282
+ }
283
+ else if (sig.IsSimpleSig == false )
278
284
{
279
- fwriter->AppendText (PrintF (" Offset= %-18f" , sig.Offset ));
285
+ // 2 type of signal
286
+ if (sig.Offset != 0 )
287
+ {
288
+ fwriter->AppendText (PrintF (" Offset= %-18d" , sig.Offset ));
289
+ }
290
+
291
+ if (sig.Factor != 1 )
292
+ {
293
+ fwriter->AppendText (PrintF (" Factor= %-15d" , sig.Factor ));
294
+ }
280
295
}
281
296
282
- if (sig.Factor != 1 )
297
+ if (sig.Unit . size () > 0 )
283
298
{
284
- fwriter->AppendText (PrintF (" Factor= %-15d " , sig.LengthBit ));
299
+ fwriter->AppendText (PrintF (" Unit:'%s' " , sig.Unit . c_str () ));
285
300
}
286
301
287
302
fwriter->AppendLine (" " , 2 );
0 commit comments