1. Attachments are working again! Check out this thread for more details and to report any other bugs.

Understanding XGauge

Discussion in 'Prius PHEV Plug-In Modifications' started by Floyd2, Nov 12, 2010.

  1. Floyd2

    Floyd2 progressio per sententia

    Joined:
    Aug 23, 2009
    106
    23
    0
    Location:
    Netherlands, Europe
    Vehicle:
    2006 Prius
    Model:
    II
    I’m trying to understand a little more about the XGauge functions of my ScanGauge so I read: http://www.scangauge.com/support/pdfs/XGaugeCoding.pdf

    But already on the first page I got confused. Under CAN TXD it states: The ScanGauge II looks for a reponse ID which has the high bit of the third character flipped from that of the transmit ID. The lower 3 bits of the third character are “don’t care” bits for the receive.
    As an example they give a TX ID of 0745 and a response could be expected within the 0748 to 074F range.

    I don’t exactly understand what ‘flipping’ means and also the ‘third character’ is confusing, do the mean the second byte (so characters 3 and 4)?
    But if I understand correctly using the CAN protocol the RX ID can be found in the range: starting from 3 bits higher than the TX ID of the second byte (45 + 4 = 48) to 8 bits higher (48 + 8 = 4F).
    Do I understand this correctly?
     
  2. nerfer

    nerfer A young senior member

    Joined:
    Mar 1, 2006
    2,507
    237
    28
    Location:
    Chicagoland, IL, USA, Earth
    Vehicle:
    Other Hybrid
    Model:
    N/A
    I agree this is confusing, and I haven't tried to set up new xgauges myself (just use ones that others have documented). But going by the example, it looks like they're talking about the last nibble. That kinda makes sense if 'character' = nibble, and you start from 0, not 1. In ASCII, a char (or character) is a full byte, so this would be a non-standard way to look at it, but given the example it seems to make the most sense.

    So in this case, ignoring the 074 part of it, 5 = 0101(binary), flipping (inverting, or more properly, taking the one's complement) the high bit would make it 1101(binary), but the lower 3 bits are ignored on the response, so it could be anything from 1000 (binary = 8 hexadecimal) to 1111 (binary = F hexadecimal). Does this help?
     
    1 person likes this.
  3. Floyd2

    Floyd2 progressio per sententia

    Joined:
    Aug 23, 2009
    106
    23
    0
    Location:
    Netherlands, Europe
    Vehicle:
    2006 Prius
    Model:
    II
    Yes that would make sence nerfer; flipping the most significant binary bit. Would that imply that either 8 or F is always at the top of the receiving range?
    So for example TX ID was 0748, the '8' binary would be 1000 and flipping the MSB the range would be 0000 to 1000 is 0 to 8 hexadicimal. The RX ID range would be 0740 to 0748 ?
     
    1 person likes this.