Changed interpretation of timestamp to be a 32 bit integer instead of a float in all data classes and randomizer. This is to align with firmware_v3. Note that everywhere in firmware_v3 the timestamp's max precision is seconds so this change made sense.
Changed pretty printing to display timestamp field as "2024-04-18 02:43:37" instead of epoch time of "1713408217"
Fixed duplicate DBC messages. OBCStatus message was duplicated in the DBC (one version set output voltage differently than current BOM but other version matched the BOM exactly so first version was deleted). ECUChargerModes had 2 exact duplicates in the DBC so I deleted one version. Lastly, SimulationSpeed also had two exact copies so I deleted one copy. Note that I noticed this problem when I ran sunlink and I got the following messages every run:
Overwriting message 'ECUChargerModes' with 'ECUChargerModes' in the name to message dictionary.
Overwriting message 'ECUChargerModes' with 'ECUChargerModes' in the frame id to message dictionary because they have identical masked frame ids 0x1806e5f4.
Overwriting message 'OBCStatus' with 'OBCStatus' in the name to message dictionary.
Overwriting message 'OBCStatus' with 'OBCStatus' in the frame id to message dictionary because they have identical masked frame ids 0x18ff50e5.
Overwriting message 'SimulationSpeed' with 'SimulationSpeed' in the name to message dictionary.
Overwriting message 'SimulationSpeed' with 'SimulationSpeed' in the frame id to message dictionary because they have identical masked frame ids 0x750.
Changed log upload functionality to only log files that do not start with FAILED_UPLOADS. I made any messages which could not be uploaded be put in a file that started with FAILED_UPLOADS before but now I am removing the ability for them to be uploaded again because they are "wrong" data (this data would have created the custom error message which user can read to understand what went wrong).
Fixed config table to correctly indicate is radio is being used (needs to be tested)
Small changes in docs to match changes I made in code.
Changed GPS message max length to 205 to allow the current implementation of firmware_v3 GPS messages to be parsed (needs to be tested). This change felt valid because we do not have any messages whose data length is anywhere near 100+.
Changes in firmware_v3 required
We need to use the flipped data field bytes on Ishan's tel_v2 branch when sending/logging messages to be compatible with sunlink. I believe that enforcing this flipped byte change is good because in all use cases of this data (sunlink and manual parsing or testing) the bytes are interpreted with LSB first, however, previously it was MSB first.
Here are all the changes made:
Changed interpretation of timestamp to be a 32 bit integer instead of a float in all data classes and randomizer. This is to align with firmware_v3. Note that everywhere in firmware_v3 the timestamp's max precision is seconds so this change made sense.
Changed pretty printing to display timestamp field as "2024-04-18 02:43:37" instead of epoch time of "1713408217"
Fixed duplicate DBC messages. OBCStatus message was duplicated in the DBC (one version set output voltage differently than current BOM but other version matched the BOM exactly so first version was deleted). ECUChargerModes had 2 exact duplicates in the DBC so I deleted one version. Lastly, SimulationSpeed also had two exact copies so I deleted one copy. Note that I noticed this problem when I ran sunlink and I got the following messages every run:
Changed log upload functionality to only log files that do not start with
FAILED_UPLOADS
. I made any messages which could not be uploaded be put in a file that started withFAILED_UPLOADS
before but now I am removing the ability for them to be uploaded again because they are "wrong" data (this data would have created the custom error message which user can read to understand what went wrong).Fixed config table to correctly indicate is radio is being used (needs to be tested)
Small changes in docs to match changes I made in code.
Changed GPS message max length to 205 to allow the current implementation of firmware_v3 GPS messages to be parsed (needs to be tested). This change felt valid because we do not have any messages whose data length is anywhere near 100+.
Changes in firmware_v3 required