GENIVI / CANdevStudio

Development tool for CAN bus simulation
Mozilla Public License 2.0
899 stars 243 forks source link

floating point values from DBC file truncated to integer #247

Open bomm opened 8 months ago

bomm commented 8 months ago

When loading a DBC file that contains floating point values as factor, min or max value of a signal, the values are truncated to integer.

For example, a factor of 0.01 is truncated to 0, resulting in an error message: signalToRaw():cansignalencoder_p.cpp@143] Factor for Temperature signal is 0! Signal encoding failed. This means the internal value is affected, not only the display in the CanSignalData node.

Example file: https://github.com/cantools/cantools/blob/master/tests/files/dbc/motohawk.dbc

(I don't know if the truncation occurs in CANdb or CANdevStudio.)

simoneruffini commented 3 months ago

second this, I have the same problem, found a warning like this in the console

[2024-04-08 23:59:32.977] [cds] [error] [signalToRaw():cansignalencoder_p.cpp@143] Factor for HVB_uHvb signal is 0! Signal encoding failed.
simoneruffini commented 3 months ago

I found the error, the problem is in CANdb check the PR https://github.com/GENIVI/CANdb/issues/43 The current workaround is to either change your systems locale to one that uses the . as the decimal separator or just launch the application with this line before export LC_NUMERIC=en_US.UTF-8