the endianess of the CAN message is whatever the vehicle manufacturer defines.
RaceChrono does the math in whatever the device native endianess is, so for iOS/iPhone, it is little. when you read the CAN frame, you need to know whether the source is big or little and use the the correct bytesToUintLe() or bytesToUint() methods from https://racechrono.com/support/equations
OKAY. are you asking what is the definition of little/big endian?
and again, from an equation standpoint, the answer is it depends on the architecture of the device racechrono is running in. your original statement is sort of wrong, it that it implies that equations are done in little endian. equations are done in native endian.
iOS and android mostly using the same ARM chips are little endian, so yea equations are are in little endian on those architectures.
big endian is more "human" readable, it that the most significant byte, is on the left to right, ie, the most significant byte of a word at the smallest memory address and the least significant byte at the largest.
for example the number 1234567 big is stored: 0x01234567 little is stored 0x67452301
CAN messages themselves could be little or big, so you need to convert them to the native format (which is little endian for things racechrono runs on currently)
finally to your question about left most bit vs right most bit, its neither, its right most byte vs left most byte. byte not bits. the byte ordering is different with big vs little, not the bit ordering.
Comments
RaceChrono does the math in whatever the device native endianess is, so for iOS/iPhone, it is little. when you read the CAN frame, you need to know whether the source is big or little and use the the correct bytesToUintLe() or bytesToUint() methods from https://racechrono.com/support/equations
and again, from an equation standpoint, the answer is it depends on the architecture of the device racechrono is running in. your original statement is sort of wrong, it that it implies that equations are done in little endian. equations are done in native endian.
iOS and android mostly using the same ARM chips are little endian, so yea equations are are in little endian on those architectures.
big endian is more "human" readable, it that the most significant byte, is on the left to right, ie, the most significant byte of a word at the smallest memory address and the least significant byte at the largest.
for example the number 1234567
big is stored: 0x01234567
little is stored 0x67452301
CAN messages themselves could be little or big, so you need to convert them to the native format (which is little endian for things racechrono runs on currently)
finally to your question about left most bit vs right most bit, its neither, its right most byte vs left most byte. byte not bits. the byte ordering is different with big vs little, not the bit ordering.