GoPoint Technology OBD programming manual extended sd logger v4 6__22feb2013

2,422 views

Published on

Published in: Automotive
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,422
On SlideShare
0
From Embeds
0
Number of Embeds
786
Actions
Shares
0
Downloads
38
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

GoPoint Technology OBD programming manual extended sd logger v4 6__22feb2013

  1. 1. DRAFT GoPoint OBD Programming ManualThe user communicates with the GoPoint OBD II module via a serial data stream overBluetooth. The GoPoint module relays OBD requests on the appropriate vehicle bus. When theresponse is received from the vehicle, the GoPoint module relays the response back to the user.There are two different types of command modes: standard and extended. The standardcommand mode uses functional and physical requests described below. For the standardcommand mode there is an automatic reading of the RPM every second. While in the standardmode, the command to read vehicle speed is the same for any type of vehicle bus, whereas,while in the extended mode the user must supply the appropriate header bytes for the currentvehicle bus. For a CAN vehicle bus, the flow control message is automatically sent formultiframe response messages while in the standard mode.The extended mode gives the user more control and flexibility to send and receive messages.While in the extended mode, OBD II messages can be sent along with any type of message(OEM specific messages). When an extended command is used, the extended mode is enteredand the automatic reading of the RPM every second is stopped (see extended command modesection). In the extended mode CAN flow control messages must be set up by the user usingthe flow control filter messages.When the GoPoint module powers up it is in the standard command mode. There is a threesecond delay before any discovery of vehicle bus is started. This can allow for a Bluetooth hostto connect to the Gopoint module. Then the host can issue an extended command to enterinto extended mode before vehicle bus discovery begins (or shortly thereafter).Functional RequestsWhile in the standard command mode the user can make a functional request on any of thevehicle bus types. The user makes a functional request using frame ID 0x7DF. This messagetranslates to a functional request on the vehicle bus. The response returned by the GoPointmodule will have a frame ID between 0x0000 – 0x00FF. If the vehicle bus is CAN 11-bit ID, thereturned response will be between 0x00E8 – 0x00EF. For other buses the returned responseframe ID is the source address from the vehicle response message.Physical RequestsWhile in the standard command mode, the user can make a physical request for select vehiclebuses. For the CAN 11-bit ID vehicle bus, physical requests have a frame ID between 0x07E0 –0x07E7. These frame IDs translate directly to the vehicle CAN bus.V4.6 22 Feb 2013 1
  2. 2. DRAFTFor CAN 29-bit ID and ISO 14230 (3-byte address) vehicle buses, the target address on thevehicle bus can be specified using the frame IDs between 0x0000 – 0x00FF. The lower 8-bits ofthe frame ID are used as the target address on the vehicle bus.If a physical request is attempted on a vehicle bus that is not supported, the following statusmessage is sent: Not Supported CAN Status Message Example ID Length Status ID ID MSB ID LSB Byte 0 Byte 1 Byte 2 0x0100 0x06 0x03 0x00 0x20 0x02 0x01 0x0DThe OBD request that caused this status message had an ID of 0x0020 and was performing aMode 1 read of PID 0x0D.For a physical request, the responses returned are the same as described in the FunctionalRequests section.Message TypesRequest messages sent by the user to the GoPoint module are always sent in one message (n otmultiple messages). Messages have the following format: ID MSB ID LSB Length Byte Data Byte 0 … Data Byte N where 0 <= N <=11The Length Byte can have values between 0x00 - 0x0C and follows after the 2-byte ID.In the standard command mode the GoPoint module returns the message responses from thevehicle and these are usually single frame messages. However, multiframe responses can alsobe returned by the GoPoint module (for example, VIN data). On a CAN vehicle bus, multiframemessages are passed unchanged. A length byte always precedes any multiframe message. Forexample, if an eight-byte consecutive frame message is received, the Length byte would be0x08 followed by the eight data bytes. When the vehicle sends a first frame message, theGoPoint module automatically sends the flow control back to the vehicle. Next the vehiclesends consecutive frame messages until complete. The following table shows the describedframes:V4.6 22 Feb 2013 2
  3. 3. DRAFT PCI Field Data Field Address Byte 1 Message Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 CAN ID b7-b4 b3-b0 Type 0x0000-Single Frame 0 Length Data (Data) (Data) (Data) (Data) (Data) (Data) 0x00FF 0x0000- High First Frame 1 Length Data Data Data Data Data Data 0x00FF LengthConsecutive 0x0000- Seq. 2 Data (Data) (Data) (Data) (Data) (Data) (Data) Frame 0x00FF NumSee ISO 15765-2 for more info on multiframe messages. On non-CAN vehicles, multipleresponses are returned by the GoPoint module to the user. Each response is echoed by theGoPoint module as a single frame response. See SAE 1979 for examples on multiple responses.ExampleIf the user wants to read the engine RPM it would send the Mode 1 request with followingformat: ID Length Mode PID 0x07DF 0x02 0x01 0x0CThe following response would be returned: ID Length Mode PID RPM MSB RPM LSB 0x00E8 0x04 0x41 0x0C 0x12 0x34Three seconds prior to turning off the powering down, the following status message is sent tothe user: Power-down in 3 Seconds Status Message ID Length Status ID 0x0100 0x01 0x00There is an eight OBD message request buffer in the GoPoint module. If this buffer is overrun, astatus message is sent with the ID of the request that is discarded with its data bytes.V4.6 22 Feb 2013 3
  4. 4. DRAFT ID Length Mode PID 0x07DF 0x02 0x01 0x0DFor example, if the above message is sent to the GoPoint module but cannot be stored due to abuffer overrun, the following status message is sent to the user: OBD Buffer Request Overrun Status Message Example ID Length Status ID ID MSB ID LSB Byte 0 Byte 1 Byte 2 0x0100 0x06 0x01 0x07 0xDF 0x02 0x01 0x0DIf the GoPoint module does not see an OBD response from the vehicle after a timeout, it willretransmit the OBD request one more time. If no response is received after the retry, thefollowing status message is sent to the user: OBD No Response Timeout Status Message Example ID Length Status ID ID MSB ID LSB Byte 0 Byte 1 Byte 2 0x0100 0x06 0x02 0x07 0xDF 0x02 0x01 0x05The OBD request that caused this status message had an ID of 0x07DF and was performing aMode 1 read of PID 0x05.A message with ID 0x0100 is a global status message. The Status ID byte follows after theLength byte. ID Length Status ID Data Data Data 0x0100 XX See Table XX … XXThe following table is a list of the Status IDs: Status ID Description 0x00 Module power down in 3 seconds 0x01 OBD Command buffer overflow 0x02 No bus response message timeout 0x03 Not supported 0x04 Filters full (extended mode) 0x05 Bad parameter 0x06 Response buffer overrun 0x07 Periodic message buffer overrunV4.6 22 Feb 2013 4
  5. 5. DRAFTNot supported (0x03) will be sent while in the extended command mode if a frame ID is0x07DF, 0x07E0 - 0x07EF, or 0x0000 - 0x00FF. While in extended command mode the TransmitVehicle message (0x1100) must be used to transmit any message.The Response buffer overrun status ID returns two 16-bit overrun counters. The first overruncounter indicates how many received vehicle bus messages that were received by a filter butwere discarded due to a buffer overrun over a one second interval. The other overrun counteris the number of received commands that had responses that were discarded due to a bufferoverrun over a one second interval. If the discarded vehicle bus messages counter is seen(nonzero), the user filters might be passing too many messages too fast where messages arelost. If the received command response counter is seen (nonzero), too many commands wheresent at once where there was no buffer available to send a response. This case can happenwhen many vehicle bus messages are being passed by user filters. In this situation only onecommand should be sent and wait until the command’s response is sent (if it has one) beforesending the next command. Both counters are reset back to zero when this status message istransmitted.Read Connection Information Message ($0700)The Read Connection Information message (0x0700) is used to read the vehicle bus type, themodel number of the OBD II module (GL1, BT1 Apple, BT1 Android, etc.) and the commandmode type (standard or extended mode). The vehicle bus type is returned in the ConnectionInformation Response message (0x0708) with the Connection Information Type ID byte set to0x01. The model number of the OBD II device is returned in the same response message withthe Connection Information Type ID byte set to 0x02. The command mode type is returned inthe same response message with the Connection Information Type ID byte set to 0x03 Read Vehicle Bus Message Byte Data Definition 1, 2 0x0700 Message ID 3 0x01 Message length byte Connection Information Type ID byte 0x01 Vehicle bus type request 4 B4 0x02 Model type request 0x03 Command mode type requestRead Connection Information Response Message ($0708)The Read Connection Information Response message (0x0708) can contain the vehicle bus type,the model number of the OBD II device, or the command mode type depending on the value ofthe Connection Information Type ID byte. When this byte is set to 0x01, the response messagecontains the vehicle bus type. When this byte is 0x02, the response message contains theV4.6 22 Feb 2013 5
  6. 6. DRAFTmodel number of the OBD II device. When this byte is 0x03, the response message contains thecommand mode type.Vehicle Bus Type Response (0x01)The vehicle bus type response message is sent when the Bluetooth host is first connected andwhen the Read Vehicle Bus message (0x0700) or Configure Vehicle Bus message (0x1700) issent. Read Vehicle Bus Type Response Message (no Key Bytes) Byte Data Definition 1, 2 0x0708 Message ID 3 0x02 Message length byte 4 0x01 Bus type request (Connection Information Type ID) 5 B5 Vehicle bus type enumeration (see table on next page) Read Vehicle Bus Type Response Message (with Key Bytes) Byte Data Definition 1, 2 0x0708 Message ID 3 0x04 Message length byte 4 0x01 Bus type request (Connection Information Type ID) 5 B5 Vehicle bus type enumeration (see table on next page) 6, 7 B6 B7 Key bytes (for ISO 9141 or ISO 14230 with initialization only) Bus Type Vehicle Bus Description 0x00 CAN 11-bit ID, 500 Kbaud 0x01 CAN 29-bit ID, 500 Kbaud 0x02 CAN 11-bit ID, 250 Kbaud 0x03 CAN 29-bit ID, 250 kbaud 0x04 J1850 VPW (GM and Chrysler) 0x05 J1850 PWM (Ford SCP) 0x06 ISO 14230 KWP 5 baud slow initialization 0x07 ISO 9141 5 baud slow initialization 0x08 ISO 14230 KWP fast initialization 0x09 No bus found 0x0A CAN 11-bit ID, 125 Kbaud 0x0B ISO 9141 No initialization 0x0C ISO 14230 No initialization 0xFF Discover vehicle bus now or in discovery modeV4.6 22 Feb 2013 6
  7. 7. DRAFTThe Bus Type can be used to adjust message response timeouts. For example, K-Line messageresponses will be slower than CAN and J1850 buses, and would require a longer timeout.Model Number Response (0x02)The model number of the OBD II device can be found in this response message. Read Model Number Response Message Byte Data Definition 1, 2 0x0708 Message ID 3 0x03 Message length byte 4 0x02 Model number request (Connection Information Type ID) 5, 6 B5 B6 Model number word (see table below) Model Number Model Description 9100 (0x238C) GL1 Apple 9105 (0x2391) BT1 Apple 9205 (0x23F5) BT1 AndroidCommand Mode Type Response (0x03)The model number of the OBD II device can be found in this response message. Read Command Mode Type Response Message Byte Data Definition 1, 2 0x0708 Message ID 3 0x03 Message length byte 4 0x03 Command mode type request (Connection Information Type ID) Command mode type 5 B5 0 – Standard command mode is active 1 – Extended command mode is activeV4.6 22 Feb 2013 7
  8. 8. DRAFTRead Firmware Message ($0710)The Read Firmware message (0x0710) is sent to read the current firmware version of theGoPoint module. The Read Firmware Response message (0x0718) is sent back with the currentfirmware version. Read Firmware Message Byte Data Definition 1, 2 0x0710 Message ID 3 0x00 Message length byteRead Firmware Response Message ($0718)The Read Firmware Response message (0x0718) is sent as a response to the Read Firmwaremessage (0x0710). In this message, the software major / minor version and 32-bit checksum isreturned. Read Firmware Response Message Byte Data Definition 1, 2 0x0718 Message ID 3 0x06 Message length byte 4 B4 Software major version byte 5 B5 Software minor version byte 6–9 B6 B7 B8 B9 32-bit software version checksum (B6 is MSB, B9 is LSB)Read Battery Message ($0720)The Read Battery message (0x0720) is sent to read the current battery voltage of the vehicle.The Read Battery Response message (0x0728) is sent back with the current battery voltage. Read Battery Message Byte Data Definition 1, 2 0x0720 Message ID 3 0x00 Message length byteV4.6 22 Feb 2013 8
  9. 9. DRAFTRead Battery Response Message ($0728)The Read Battery Response message (0x0728) is sent as a response to the Read Batterymessage (0x0720). In this message, the battery voltage is returned as a 16-bit value inhundredths of voltage. The battery voltage returned is the voltage at the J1962 connector ofthe GoPoint module. Read Battery Response Message Byte Data Definition 1, 2 0x0728 Message ID 3 0x02 Message length byte 4, 5 B4 B5 16-bit battery voltage in hundredths of voltsFor example, a Read Battery Response could have the following bytes:0x0728 0x02 0x054C0x054C is 1356 in decimal which would be 13.56 Volts.Periodic Transmit Message ($0900)The Periodic Transmit message (0x0900) is used to transmit periodic messages on the vehiclebus. The maximum number of periodic transmit messages that can be loaded is seen in the byteMaximum number of periodic messages allowed in the Number of Periodic Transmit MessagesUsed Response message (0x0908). These periodic messages are continuously transmitted atthe periodic transmit period. This period can be changed with the Change Period of PeriodicTransmit Message (0x0910). A Number of Periodic Transmit Messages Used Response message(0x0908) is sent as a response to the Periodic Transmit message (0x0900).If a message length byte of 0x00 is sent (0x0900 0x00) then all periodic transmit messages aredisabled.In the standard command mode the transmitted messages use the appropriate vehicle busheaders. Functional requests use the frame ID 0x07DF. Physical requests can be sent followingthe format in the section Physical Requests.If the extended command mode is active, the periodic transmit messages are transmitted as is.See the Transmit Vehicle Message (0x1100) on the message format for the periodic messageswhile in the extended mode.V4.6 22 Feb 2013 9
  10. 10. DRAFT Periodic Transmit Message Byte Data Definition 1, 2 0x0900 Message ID 3 B3 Message length byte (1 - 12) For Extended CAN ID (29-bit) this bit is set to 1; otherwise this bit b7 --- ---- 4 is used as data for non-CAN buses - b6b5b4 b3b2b1b0 CAN ID bits or header bits 5–N B5 … BN Message data bytes (where 5 <= N <= 15)When the command mode changes from standard to extended mode or vice versa, all periodicmessages are cleared.If a certain Pid is desired to be read more than other Pids, just add multiple periodic messagesof that Pid. For example, the following periodic messages could be configured: Send periodic transmit RPM message Send periodic transmit vehicle speed message Send periodic transmit RPM message Send periodic transmit MAP messageThen the periodic messages would be transmitted in this order: RPM, vehicle speed, RPM, MAP, RPM, vehicle speed, RPM, …Periodic Transmit Message Example in Standard ModeThe following example is for transmitting periodic messages while in the standard mode:The following byte sequence:0x0900 0x05 0x07 0xDF 0x02 0x01 0x0DWould be sent to periodically transmit the vehicle speed request on the current vehicle bus(assuming a valid bus is active).Periodic Transmit Message Examples in Extended ModeThe following examples are for transmitting periodic messages while in the extended mode:The following byte sequence:0x0900 0x0C 0x98 0xDB 0x33 0xF1 0x02 0x01 0x0D 0x00 0x00 0x00 0x00 0x00Would be sent to periodically transmit the following extended (29-bit) CAN ID message:0x18DB33F1 (ID) 0x02 0x01 0x0D 0x00 0x00 0x00 0x00 0x00 (8 data bytes)V4.6 22 Feb 2013 10
  11. 11. DRAFTThe following byte sequence:0x0900 0x0A 0x07 0xDF 0x02 0x01 0x0C 0x00 0x00 0x00 0x00 0x00Would be sent to periodically transmit the following standard (11-bit) CAN ID message:0x7DF (ID) 0x02 0x01 0x0C 0x00 0x00 0x00 0x00 0x00 (8 data bytes)The following byte sequence:0x0900 0x05 0x61 0x6A 0xF1 0x01 0x0DWould be sent to periodically transmit the following J1850 PWM message:0x61 0x6A 0xF1 0x01 0x0D (5 bytes including header) 0x8B (CRC)If a response with a target byte of 0x6B is received then an IFR byte of 0xF1 will be sent.The following byte sequence:0x0900 0x05 0xC2 0x33 0xF1 0x01 0x0DWould be sent to transmit the following ISO 14230 message:0xC2 0x33 0xF1 0x01 0x0D ( 5 bytes including header) 0xF4 (Checksum)Read Number of Periodic Transmit Messages Used Message ($0904)The Read Number of Periodic Transmit Messages Used message (0x0904) requests the numberof periodic transmit messages used. The number of periodic transmit messages used isreturned in the Number of Periodic Transmit Messages Used Response message (0x0908). Read Number of Periodic Transmit Messages Used Message Byte Data Definition 1, 2 0x0904 Message ID 3 0x00 Message length byteNumber of Periodic Transmit Messages Used Response Message ($0908)The Number of Periodic Transmit Messages Used Response message (0x0908) is sent as aresponse to the Periodic Transmit message (0x0900) or the Read Number of Periodic TransmitMessages Used message (0x0904).V4.6 22 Feb 2013 11
  12. 12. DRAFT Number of Periodic Transmit Messages Used Response Message Byte Data Definition 1, 2 0x0908 Message ID 3 0x02 Message length byte 4 B4 Number of periodic messages used 5 B5 Maximum number of periodic messages allowedChange Period of Periodic Transmit Message ($0910)The Change Period of Periodic Transmit Message (0x0910) is used to change the period of theperiodic transmit messages on the vehicle bus. Different vehicle buses have different defaultperiods and minimum periods. For CAN buses the default period is 100 msec and the minimumis 1 msec. For J1850 buses the default period is 100 msec and the minimum is 5 msec. For K-Line buses (ISO 9141, ISO 14230), the default period is 500 msec and the minimum is the P3time (default 55 msec) (see Read K-Line Timing Response message (0x1308)). If a period is lessthan the minimum period for the current bus, the period will be set to the minimum.Extreme care must be used when using this message because if too fast of a period is used, thevehicle bus could be flooded with periodic messages and halt vehicle functionality.When the vehicle bus is initialized (for example, using the Configure Vehicle Bus message(0x1700)), the period is set to its default value. Change Period of Periodic Transmit Message Byte Data Definition 1, 2 0x0910 Message ID 3 0x02 Message length byte 16-bit time in msec for period of periodic transmit messages 4, 5 B4 B5 (B4 is MSB)V4.6 22 Feb 2013 12
  13. 13. DRAFTRead Period of Periodic Transmit Message ($0914)The Read Period of Periodic Transmit Message (0x0914) requests the period of the periodictransmit messages. The period is returned in the Period of Periodic Transmit MessagesResponse message (0x0918). Read Period of Periodic Transmit Messages Message Byte Data Definition 1, 2 0x0914 Message ID 3 0x00 Message length bytePeriod of Periodic Transmit Messages Response Message ($0918)The Period of Periodic Transmit Messages Response message (0x0918) is sent as a response tothe Change Period of Periodic Transmit Message (0x0910) or the Read Period of PeriodicTransmit Message (0x0914). Period of Periodic Transmit Messages Response Message Byte Data Definition 1, 2 0x0918 Message ID 3 0x02 Message length byte 16-bit time in msec for period of periodic transmit messages 4, 5 B4 B5 (B4 is MSB)V4.6 22 Feb 2013 13
  14. 14. DRAFTExtended Command SetThe extended command set is a group of special commands that allow total control ofmessages transmitted and received on the vehicle bus. An extended command has a commandID that is in the range of 0x1000 through 0x1FFF.Data is sent as big endian (most significant byte (MSB) first). For example, for 32-bit quantities,the most significant byte (MSB) starts first and ends with the least significant byte (LSB).When an extended command is sent, the extended command mode is entered where there isno automatic reading of the RPM, so if the vehicle bus is ISO 9141 for example, the user mustperiodically transmit a vehicle bus message less than every 5 seconds so the module does nottime out. Also when in this extended mode, there are no retransmissions of vehicle messageswhen no response is seen. In this mode there is no time minimums between back-to-backtransmitted requests, for example, the 100 msec time requirement for back-to-backtransmitted requests is not enforced.When the GoPoint module comes out of a reset, the Bluetooth radio is turned on and there is a3 second delay before the vehicle bus is initialized or 1 second delay after the iPhoneauthenticates. This delay allows the iPhone to authenticate and then send an extendedcommand like Configure Vehicle Bus Message (0x1700) to set the bus to No Bus (0x09) beforethe vehicle bus is initialized. By sending an extended command, the extended mode will beentered and there is no periodic RPM message, message timeouts or retransmissions. Then theproper vehicle bus can be configured and then initialized.If the GoPoint module is in vehicle bus discovery mode when the extended mode is entered,the vehicle bus type will be sent to no bus (0x09) and discovery mode is halted.The extended mode exits and returns to standard mode when either the Bluetooth host isdisconnected or when the iPhone’s data session closes (pressing the menu button).Abbreviations and symbols used in message descriptions:B3 refers to byte 3b7 refers to bit 7$34 refers to 34base160x34 refers to 34base16$5x where x is a don’t care hexadecimal nibble ($0 - $F)V4.6 22 Feb 2013 14
  15. 15. DRAFTReceive Vehicle Message (0x1000)The Receive Vehicle message contains the received vehicle message for the current vehicle busmode. Only messages that have a correct CRC or checksum are returned. All of the messagedata that is returned is unprocessed. However, for CAN buses, the message CRC is notreturned. For J1850 messages the CRC is returned; however, for J1850 PWM, the In FrameResponse (IFR) bytes are not returned. For ISO 9141 and ISO 14230, the message checksum isreturned.A Receive Vehicle message is only sent when the received vehicle message passes a user filterdefined by the User Filter message (0x1200).If the vehicle bus is a CAN bus and an extended CAN ID (29-bit) is received, the most significantbit of the byte containing the ID bits 24-28 will be set. Starting with byte 4, the first 4 databytes make up the extended CAN ID. If a standard CAN ID message is received the mostsignificant bit is not set in byte 4 and the ID will be in the byte 4 and byte 5. Receive Vehicle Message Byte Data Definition 1, 2 0x1000 Message ID 3 B3 Message length byte (1 - 12) For Extended CAN ID (29-bit) this bit is set to 1; otherwise this bit b7 --- ---- 4 is used as data for non-CAN buses - b6b5b4 b3b2b1b0 CAN ID bits or header bits 5-N B5 … BN Message data bytes (where 5 <= N <= 15)Receive Vehicle Message ExamplesThe following byte sequence:0x1000 0x0A 0x92 0x34 0x56 0x78 0xAB 0xCD 0xEF 0x40 0x50 0x60would be received for the following extended (29-bit) CAN message:0x12345678 (ID) 0xAB 0xCD 0xEF 0x40 0x50 0x60 (6 data bytes)The following byte sequence:0x1000 0x0A 0x07 0xE8 0x41 0x0C 0x12 0x34 0x00 0x00 0x00 0x00would be received for the following standard (11-bit) CAN message:0x7E8 (ID) 0x41 0x0C 0x12 0x34 0x00 0x00 0x00 0x00 (8 data bytes)The following byte sequence:0x1000 0x08 0x41 0x6B 0x10 0x41 0x0C 0x74 0x80 0xFCwould be received for the following J1850 PWM message:0x41 0x6B 0x10 0x41 0x0C 0x74 0x80 (7 bytes including header) 0xFC (CRC)V4.6 22 Feb 2013 15
  16. 16. DRAFTTransmit Vehicle Message (0x1100)The Transmit Vehicle message is used to transmit a vehicle message for the current vehicle busmode.For CAN messages, bit 7 of byte 4 is set to indicate an extended (29-bit) CAN ID and uses 4bytes for the 29-bit ID (bytes 4 - 7). Standard (11-bit) CAN messages have bit 7 of byte 4 clearedand uses 2 bytes for the 11-bit ID (bytes 4 -5). For CAN messages, a 2 or 4 byte ID with up to 8data bytes can be transmitted. Transmitted CAN messages are not echoed back by the GoPointmodule.For J1850 messages, the message CRC is automatically calculated and transmitted. For atransmitted J1850 PWM message, the source address (3rd data byte transmitted (byte 6)) isused for the In-Frame Response (IFR) of the vehicle response message only if the vehicleresponse message has a target address (2nd data byte transmitted (byte 5)) + 1 (see examplebelow). IFR bytes will be transmitted up to 1 second after the transmitted message wassuccessful. For J1850 messages, the maximum message length is 12 bytes so up to 10 databytes (automatic CRC and IFR) or 11 data bytes (automatic CRC) can be sent. Also a J1850transmitted message can be seen in a Receive Vehicle message (0x1000), if the user filters areconfigured to pass this message.For ISO 9141 and ISO 14230 messages, the message checksum is automatically calculated andtransmitted. However, for ISO 14230 messages, all of the header bytes (format byte, targetaddress byte, source address byte, and extra length byte) are supplied by the user. This givesthe user the flexibility of sending messages that have 1 to 4 header bytes. The user has toensure that the length supplied (either in the format byte or extra length byte) is correct. ForISO 9141 and ISO 14230 messages, the maximum message length is 12 bytes so up to 11 databytes can be sent (automatic checksum).If a Transmit Vehicle message is sent when the vehicle bus type is no bus, then the 0x100 errorstatus message with bad parameter will be sent. Transmit Vehicle Message Byte Data Definition 1, 2 0x1100 Message ID 3 B3 Message length byte (1 - 12) For Extended CAN ID (29-bit) when set to 1; otherwise this bit is b7 --- ---- 4 used as data for non-CAN buses - b6b5b4 b3b2b1b0 CAN ID bits or header bits 5–N B5 … BN Message data bytes (where 5 <= N <= 15)V4.6 22 Feb 2013 16
  17. 17. DRAFTTransmit Vehicle Message ExamplesThe following byte sequence:0x1100 0x0C 0x98 0xDB 0x33 0xF1 0x02 0x01 0x0D 0x00 0x00 0x00 0x00 0x00Would be sent to transmit the following extended (29-bit) CAN ID message:0x18DB33F1 (ID) 0x02 0x01 0x0D 0x00 0x00 0x00 0x00 0x00 (8 data bytes)The following byte sequence:0x1100 0x0A 0x07 0xDF 0x02 0x01 0x0C 0x00 0x00 0x00 0x00 0x00Would be sent to transmit the following standard (11-bit) CAN ID message:0x7DF (ID) 0x02 0x01 0x0C 0x00 0x00 0x00 0x00 0x00 (8 data bytes)The following byte sequence:0x1100 0x05 0x61 0x6A 0xF1 0x01 0x0DWould be sent to transmit the following J1850 PWM message:0x61 0x6A 0xF1 0x01 0x0D (5 bytes including header) 0x8B (CRC)If a response with a target byte of 0x6B is received then an IFR byte of 0xF1 will be sent.The following byte sequence:0x1100 0x05 0xC2 0x33 0xF1 0x01 0x0DWould be sent to transmit the following ISO 14230 message:0xC2 0x33 0xF1 0x01 0x0D (5 bytes including header) 0xF4 (Checksum)User Filter Message (0x1200)The User Filter message is used to define filters for what messages are returned back viaReceived Vehicle Messages (0x1000).If a message length byte of 0x00 is sent (0x1200 0x00) then all of the user filters are cleared andno messages are passed. A User Filter Response message (0x1208) is sent as a response to theUser Filter message. In this message, the number of user filters configured is sent. Once all ofthe filters have been configured, any User Filter message sent thereafter will result in a 0x100error status message.When a filter is configured for extended CAN IDs, the filter length must be set to 4 bytes.V4.6 22 Feb 2013 17
  18. 18. DRAFT User Filter Message Byte Data Definition 1, 2 0x1200 Message ID 3 0x09 Message length byte b7 --- - --- Extended CAN ID (29-bit) when set to 1 4 - b6b5b4 b3 --- Unused bits - --- - b2b1b0 Filter length in bytes (valid range: 1 - 4) 5-8 B5 B6 B7 B8 32-bit filter mask (B5 is MSB, B8 is LSB) 9 - 12 B9 B10 B11 B12 32-bit filter data value (B9 is MSB, B12 is LSB)The following table shows what filter mask byte(s) and filter data value(s) need to be suppliedfor various filter lengths. Filter Length Mask Bytes Data Value Bytes 1 B8 B12 2 B7 B8 B11 B12 3 B6 B7 B8 B10 B11 B12 4 B5 B6 B7 B8 B9 B10 B11 B12When filtering J1850 messages or ISO 9141 / 14230 messages, the first listed byte will pair withthe first byte of the message. For example, for a 3 byte filter, B6 and B10 will be used on the firstmessage byte; B7 and B11 will be used on the second message byte and B8 and B12 will be usedon the third message byte.User Filter Message ExamplesThe following data sequence defines a user filter for a 29-bit CAN message ($18DAxx10):0x1200 0x09 0x84 0x1FFF00FF 0x18DA0010The following data sequence defines a user filter for an 11-bit CAN message ($5xx):0x1200 0x09 0x02 0x00000700 0x0x00000500The following data sequence defines a user filter for a J1850 message ($48 $xx $10):0x1200 0x09 0x03 0x00FF00FF 0x0x00480010V4.6 22 Feb 2013 18
  19. 19. DRAFTRead Number of User Filters Used Message ($1204)The Read Number of User Filters Used message (0x1204) requests the number of user filtersused. The number of user filters used is returned in the User Filter Response message (0x1208). Read Number of User Filters Used Message Byte Data Definition 1, 2 0x1204 Message ID 3 0x00 Message length byteUser Filter Response Message ($1208)The User Filter Response message (0x1208) is sent as a response to the User Filter message(0x1200) or the Read Number of User Filters Used message (0x1204). In this message, thenumber of user filters configured is sent. The maximum number of user filters allowed to beconfigured is returned in the Maximum number of user filters allowed byte. User Filter Response Message Byte Data Definition 1, 2 0x1208 Message ID 3 0x01 Message length byte 4 B4 Number of user filters used (valid range: 0 - 16) 5 B5 Maximum number of user filters allowedFlow Control Filter Message (0x1210)The Flow Control Filter message is used to define a First Frame / Flow Control Frame ID pair.These filters are only used on CAN vehicle buses for when multiframe data is needed. Whenthe First Frame ID is seen on the bus, then the Flow Control Frame ID will be automaticallytransmitted.If a message length byte of 0x00 is sent (0x1210 0x00) then all of the flow control filters arecleared and no Flow Control Frames are transmitted. A Flow Control Filter Response message(0x1218) is sent as a response to the Flow Control Filter message. In this message, the numberof user flow control filters configured is sent. Once all of the filters have been configured, anyFlow Control Filter message sent thereafter will result in a 0x100 error message.V4.6 22 Feb 2013 19
  20. 20. DRAFTWhen a filter is configured for extended CAN IDs, bit 7 of byte 4 (extended CAN ID bit) must beset to 1. Flow Control Filter Message Byte Data Definition 1, 2 0x1210 Message ID 3 0x09 Message length byte b7 --- ---- Extended CAN ID (29-bit) when set to 1 4 - b6b5b4 b3b2b1b0 Unused bits 5-8 B5 B6 B7 B8 32-bit First Frame ID bytes (B5 is MSB, B8 is LSB) 9 - 12 B9 B10 B11 B12 32-bit Flow Control ID bytes (B9 is MSB, B12 is LSB)Flow Control Filter Message ExamplesThe following data sequence defines a flow control filter for a 29-bit CAN messages with a FirstFrame ID of 0x18DAF110 and a Flow Control ID of 0x18DA10F1:0x1210 0x09 0x80 0x18DAF110 0x18DA10F1The following data sequence defines a flow control filter for an 11-bit CAN messages with a FirstFrame ID of 0x7E9 and a Flow Control ID of 0x7E1:0x1210 0x09 0x00 0x000007E9 0x000007E1Read Number of Flow Control Filters Used Message ($1214)The Read Number of Flow Control Filters Used message (0x1214) requests the number of flowcontrol filters used. The number of flow control filters used is returned in the Flow ControlFilter Response message (0x1218). Read Number of Flow Control Filters Used Message Byte Data Definition 1, 2 0x1214 Message ID 3 0x00 Message length byteV4.6 22 Feb 2013 20
  21. 21. DRAFTFlow Control Filter Response Message ($1218)The Flow Control Filter Response message (0x1218) is sent as a response to the Flow ControlFilter message (0x1210). In this message, the number of flow control filters configured is sent.The maximum number of flow control filters allowed to be configured is returned in theMaximum number of flow control filters allowed byte. Flow Control Filter Response Message Byte Data Definition 1, 2 0x1208 Message ID 3 0x01 Message length byte 4 B4 Number of flow control filters used (valid range: 0 - 16) 5 B5 Maximum number of flow control filters allowedConfigure K-Line Timing Message ($1300)The Configure K-Line Timing message (0x1300) is sent to change the K-Line timing parameters,P3 and P4 and the end-of-message time. Before changing any of these parameters, the currentK-Line timing parameters can be read by using the Read K-Line Timing message (0x1304). Thenthe parameters that will not be changed can be supplied with the previously read values in theConfigure K-Line Timing message. A Read K-Line Timing Response message (0x1308) is sent as aresponse to the Configure K-Line Timing message.The end-of-message time is used to determine the end of a message response from an ECU.This timing parameter is similar to the P2 time except that it does not apply to the timebetween the tester (GoPoint module) request and ECU response (can be 0) but it does apply tothe time between two ECU responses. If the time between the two received bytes exceeds thisend-of-message time, the latter byte received is used as the start of another ECU responsemessage. Care must be used when changing this parameter. This time cannot be shorter thanthe inter-byte time of the ECU (P1) or each byte would be considered a start of a new message.This end-of-message time is especially important for ISO 9141 messages because of no lengthbyte in the message data.The P3 timing parameter is the time between the end of an ECU response and the start of thetester (GoPoint module) new request. This time will be waited before transmitting another(tester) message. When periodic messages are active, the period of the periodic transmitmessages cannot be faster than the P3 timing value.The P4 timing parameter is the inter-byte time of the GoPoint’s transmitted messages.V4.6 22 Feb 2013 21
  22. 22. DRAFT Configure K-Line Timing Message Byte Data Definition 1, 2 0x1300 Message ID 3 0x06 Message length byte 4, 5 B4 B5 16-bit time in msec for end-of-message time (ISO 9141) 16-bit time in msec for P3 time (ECU response to GoPoint 6, 7 B6 B7 request) 8, 9 B8 B9 16-bit time in msec for P4 time (GoPoint module inter-byte time)Read K-Line Timing Message ($1304)The Read K-Line Timing message (0x1304) is sent to read the current settings of the K-Linetiming parameters. These timing parameters are returned in the Read K-Line Timing Responsemessage (0x1308). The timing parameters can be read before modifying them with theConfigure K-Line Timing message (0x1300). Read K-Line Timing Message Byte Data Definition 1, 2 0x1304 Message ID 3 0x00 Message length byteRead K-Line Timing Response Message ($1308)The Read K-Line Timing Response message (0x1308) contains the read K-Line timingparameters. This message is sent as a response to Configure K-Line Timing message (0x1300) orthe Read K-Line Timing message (0x1304). For a description of the K-Line timing parameters,see the Configure K-Line Timing message (0x1300).V4.6 22 Feb 2013 22
  23. 23. DRAFT Read K-Line Timing Response Message Byte Data Definition 1, 2 0x1308 Message ID 3 0x06 Message length byte 4, 5 B4 B5 16-bit time in msec for end-of-message time (ISO 9141) 16-bit time in msec for P3 time (ECU response to GoPoint 6, 7 B6 B7 request) 8, 9 B8 B9 16-bit time in msec for P4 time (GoPoint module inter-byte time)Configure K-Line Baud Rate Message ($1310)The Configure K-Line Baud Rate message (0x1310) is used to change the K-Line baud rate. Thedefault baud rate is 10400 baud. The 16-bit desired baud rate is sent in bytes 4 and 5. The K-Line Baud Rate Response message (0x1318) is sent as a response to the Configure K-Line BaudRate message (0x1310). Configure K-Line Baud Rate Message Byte Data Definition 1, 2 0x1310 Message ID 3 0x02 Message length byte 4, 5 B4 B5 16-bit desired baud rate (valid range: 300 - 19200) (B4 is MSB)Read K-Line Baud Rate Message ($1314)The Read K-Line Baud Rate message (0x1314) is sent to read the current baud rate of the K-Linebus. The baud rate is returned in the K-Line Baud Rate Response message (0x1318). Read K-Line Baud Rate Message Byte Data Definition 1, 2 0x1314 Message ID 3 0x00 Message length byteV4.6 22 Feb 2013 23
  24. 24. DRAFTK-Line Baud Rate Response Message ($1318)The K-Line Baud Rate Response message (0x1318) is sent as a response to the Configure K-LineBaud Rate message (0x1310). In this message, the 16-bit actual calculated K-Line baud rate isreturned in bytes 4 and 5. K-Line Baud Rate Response Message Byte Data Definition 1, 2 0x1318 Message ID 3 0x02 Message length byte 4, 5 B4 B5 16-bit actual baud rate (B4 is MSB)Configure Vehicle Bus Message ($1700)The Configure Vehicle Bus message (0x1700) is used to change the vehicle bus. When a bus isselected by this message, the extended mode is entered and the GoPoint module will notpower down if vehicle bus messages are not seen (see Extended Command Set description).When the vehicle bus is initialized, the Vehicle Bus Type Response message (0x0708) is sent(this message is not sent if an ISO bus with initialization does not initialize correctly).When a bus type of 0xFF (discover bus now) is sent, the bus types with values between 0x00(CAN 11-bit 500Kbaud) through 0x08 (ISO 14230 KWP fast init) is attempted to be discovered bysending a Mode 1, PID 0x0C (RPM). When a bus is discovered, the Vehicle Bus Type Responsemessage (0x0708) is sent (no bus will be sent if no bus is discovered).If message filters are opened, J1850 messages that are transmitted in order to discover the buswill be echoed. Configure Vehicle Bus Message Byte Data Definition 1, 2 0x1700 Message ID 3 0x01 Message length byte 4 B4 Vehicle bus type enumeration (see table below)V4.6 22 Feb 2013 24
  25. 25. DRAFT Bus Type Vehicle Bus Description 0x00 CAN 11-bit ID, 500 Kbaud 0x01 CAN 29-bit ID, 500 Kbaud 0x02 CAN 11-bit ID, 250 Kbaud 0x03 CAN 29-bit ID, 250 kbaud 0x04 J1850 VPW (GM and Chrysler) 0x05 J1850 PWM (Ford SCP) 0x06 ISO 14230 KWP 5 baud slow initialization 0x07 ISO 9141 5 baud slow initialization 0x08 ISO 14230 KWP fast initialization 0x09 No bus or halt discovery mode 0x0A CAN 11-bit ID, 125 Kbaud 0x0B ISO 9141 No initialization 0x0C ISO 14230 No initialization 0xFF Discover vehicle bus nowReset Message ($1FFF)The Reset message (0x1FFF) is sent to reset the GoPoint module. The Bluetooth host isdisconnected first, then the reset occurs. Reset Message Byte Data Definition 1, 2 0x1FFF Message ID 3 0x00 Message length byteV4.6 22 Feb 2013 25
  26. 26. DRAFTSD Logging CommandsWith the SD hardware version, vehicle messages are logged to the SD card when there is noactive iPhone data session. Logging is temporarily halted when iPhone authentication isoccurring. Once authentication is complete, logging will resume and continue until a datasession is opened. Logging to the SD card is stopped when a valid iPhone data session isopened.The user sets user filters to pass vehicle bus messages via Bluetooth or to log them to the SDcard. When a valid iPhone data session is opened, the vehicle bus messages are sent viaReceived Vehicle Messages (0x1000). When logging is active (no data session), vehicle busmessages are logged to the SD card with an 8-byte time stamp and a 4-byte record number.These logged vehicle bus messages can later be read by opening a data session and sending aDownload Records from SD File message (0x1860) and then monitoring the Logged Vehicle Busmessages (0x1800) that are sent.Everytime the GoPoint SD logger module has a reset (unplugged and plugged back in), a new SDfile is created for logging. SD files are accessed through a file number. Files start with filenumber 1 and go through 65535. When the SD logger resets, a new SD file number will beincremented if the previous SD file had records in it. For example, if File #3 had 1000 records,and a reset occurred, then File #4 would be logged to once the user filters are configured by theiPhone.Each vehicle bus message that is logged to the current SD file has a unique 4-byte recordnumber. Each record number starts at one and increase sequentially.The Get Number of SD Files message (0x1820) gets the number of files on the SD card. Thenumber of records an SD file has can be read through the Get Number of Records in SD Filemessage (0x1830). Once the total of number of file records is known, all of the file records or aportion of the file records can be downloaded via the Download Records from SD File message(0x1850). If a large number of file records is being downloaded, the process can be terminatedby the Abort Download message (1852). When downloading SD records, the Received VehicleMessages (0x1000) are not sent to the iPhone.To erase all the logging files on the SD card, the Erase All Files message (0x1840) is sent.When vehicle bus messages are being logged, an 8-byte time stamp is saved for each loggedmessage. This 8-byte time stamp is incremented every 1 msec and can be loaded with an 8-byte value via the Set Logging Time Stamp (0x1860) message. The 8-byte time stamp is reset to0 at reset and should be reloaded when the user filters are configured.Each SD command has a response and the host should wait for that response before sendinganother command.V4.6 22 Feb 2013 26
  27. 27. DRAFTSince data is being logged to the SD card, care must be taken when unplugging the GoPoint SDlogger to avoid any SD file corruptions. There are two cases when the SD logger can be safelyunplugged: 1) When the SD logger is in sleep mode (no LEDs on and red LED is faintly blinking every one second) 2) When an iPhone data session is opened (logging is stopped)Logged Vehicle Bus Message (0x1800)The Logged Vehicle Bus message contains the logged CAN vehicle bus message that was savedto the SD card. The vehicle message format follows the message format in the Receive Vehiclemessage (0x1000). For vehicle bus messages to be logged to the SD card, the user filters mustbe configured (User Filter message (0x1200)) so messages can be logged. This message is sentwhen an SD file is being downloaded to the host.If an extended CAN ID (29-bit) is received, the most significant bit of the byte containing the IDbits 24-28 will be set. Starting with byte 16 (MSB), the first 4 data bytes (bytes 16 - 19) make upthe extended CAN ID. If a standard CAN ID message is received the most significant bit is notset in byte 16 (MSB) and the ID will be in the bytes 16 - 17.The 1-byte CRC byte follows after the CAN message data and uses the SAE J1850 polynomial.The CRC is computed over all of the message bytes (included 16-bit message ID and lengthbyte). Logged Vehicle Bus Message Byte Data Definition 1, 2 0x1800 Message ID 3 B3 Message length byte (15 - 25) 4 - 11 B4 B5 B6 B7 B8 B9 B10 B11 8-byte time stamp in msec. (B4 is MSB and B11 is LSB) 4-byte record number starting with record 1 12 - 15 B12 B13 B14 B15 (B12 is MSB and B15 is LSB) For Extended CAN ID (29-bit) this bit is set to 1; otherwise this bit b7 --- ---- 16 is 0 for Standard CAN ID (11-bit) messages - b6b5b4 b3b2b1b0 CAN ID bits 17 - N B17 … BN Message data bytes (where 17 <= N <= 27) N+1 BN+1 8-bit CRC byte (uses SAE J1850 polynomial)V4.6 22 Feb 2013 27
  28. 28. DRAFTLogged Vehicle Bus Message ExamplesThe following byte sequence:0x1800 0x19 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x87 0x65 0x430x21 0x92 0x34 0x56 0x78 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x23would be received for the following extended (29-bit) CAN message:0x12345678 (ID) 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 (8 data bytes)and has an 8-byte time stamp of 0x1122334455667788and a 4-byte record number of 0x87654321and a CRC byte of 0x23The following byte sequence:0x1800 0x17 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x87 0x65 0x430x21 0x07 0xE8 0x41 0x0C 0x12 0x34 0x00 0x00 0x00 0x00 0x77would be received for the following standard (11-bit) CAN message:0x7E8 (ID) 0x41 0x0C 0x12 0x34 0x00 0x00 0x00 0x00 (8 data bytes)and has an 8-byte time stamp of 0x1122334455667788and a 4-byte record number of 0x87654321and a CRC byte of 0x77Logged SD Status Message (0x1810)The Logged SD Status message contains SD status information. The 16-bit SD buffer overruncounter indicates how many received vehicle bus messages that were received by a filter butwere discarded due to a buffer overrun over a one second interval. This overrun counter iscleared to zero after the status message is logged. This message is sent when an SD file is beingdownloaded to the host.The 1-byte CRC byte follows after the 16-bit overrun counter and uses the SAE J1850polynomial. The CRC is computed over all of the message bytes (included 16-bit message IDand length byte). Logged SD Status Message Byte Data Definition 1, 2 0x1810 Message ID 3 0x0F Message length byte (15 bytes) 4 - 11 B4 B5 B6 B7 B8 B9 B10 B11 8-byte time stamp in msec. (B4 is MSB and B11 is LSB) 4-byte record number starting with record 1 12 - 15 B12 B13 B14 B15 (B12 is MSB and B15 is LSB) 16 – 17 B16 B17 16-bit SD buffer overrun counter (B16 is MSB) 18 B18 8-bit CRC byte (uses SAE J1850 polynomial)V4.6 22 Feb 2013 28
  29. 29. DRAFTLogged SD Status Message ExampleThe following byte sequence:0x1810 0x0F 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x87 0x65 0x430x21 0x10 0x20 0x29would be received for a status overrun counter of 0x1020and has an 8-byte time stamp of 0x1122334455667788and a 4-byte record number of 0x87654321and a CRC byte of 0x29Get Number of SD Files Message ($1820)The Get Number of SD Files message (0x1820) requests the total number of files that exist onthe SD card. Files are accessed by a file number. A valid file number is from 1 to 65535. TheNumber of SD Files Response message (0x1828) returns the total number of SD files. Get Number of SD Files Message Byte Data Definition 1, 2 0x1820 Message ID 3 0x00 Message length byteNumber of SD Files Response Message ($1828)The Number of SD Files Response message (0x1828) is sent as a response to the Get Number ofSD Files message (0x1820). Files are accessed by a file number. A valid file number is from 1 to65535. If zero is returned then that is write problem with the SD card. Number of SD Files Response Message Byte Data Definition 1, 2 0x1828 Message ID 3 0x02 Message length byte 4, 5 B4 B5 Total number of SD files (B4 is MSB)V4.6 22 Feb 2013 29
  30. 30. DRAFTGet Number of Records in SD File Message ($1830)The Get Number of Records in SD File message (0x1830) requests the total number of recordsin the requested file number that exists on the SD card. Files are accessed by a file number. Avalid file number is from 1 to 65535. The Number of Records in SD File Response message(0x1838) returns the total number of records. Get Number of Records in SD File Message Byte Data Definition 1, 2 0x1820 Message ID 3 0x02 Message length byte 4, 5 B4 B5 SD file number to get number of records (B4 is MSB)Number of Records in SD File Response Message ($1838)The Number of Records in SD File Response message (0x1838) is sent as a response to the GetNumber of Records in SD File message (0x1830). If the number of records returned is 0 thenthe log file has no records (after a reset but no user filters configured). Since each log file islimited in size there will never be a number of records near the maximum number of record. Soerror results use the following 4-byte number of records: 0xFFFFFFFF Bad parameter (illegal file number) 0xFFFFFFFE SD card error 0xFFFFFFFD File size error (not multiple of record size) Number of Records in SD File Response Message Byte Data Definition 1, 2 0x1838 Message ID 3 0x04 Message length byte 4-7 B4 B5 B6 B7 Total number of records in SD file (B4 is MSB and B7 is LSB)V4.6 22 Feb 2013 30
  31. 31. DRAFTErase All SD Files Message ($1840)The Erase All SD Files message (0x1840) erases all of the files on the SD card. The SD Statusmessage (0x1888) is sent with either the erase complete status byte when all of the files havebeen erased or the erase error status byte if an error occurred while erasing. Erase All SD Files Message Byte Data Definition 1, 2 0x1840 Message ID 3 0x00 Message length byteDownload Records from SD File Message ($1850)The Download Records from SD File message (0x1850) is sent to download records from the SDfile specified in this command. Files are accessed by a file number. A valid file number is from1 to 65535. Records are downloaded from the start record number to and including the endrecord number. If the start record number or end record number is invalid, the SD Statusmessage (0x1888) is sent. When all of the records have been sent, the SD Status message(0x1888) is sent indicating the downloading is complete. When downloading SD records, theReceived Vehicle Messages (0x1000) are not sent to the iPhone. Also only one file can bedownloaded at a time. Download Records from SD File Message Byte Data Definition 1, 2 0x1850 Message ID 3 0x0A Message length byte 4, 5 B4 B5 SD file number (B4 is MSB) 6-9 B6 B7 B8 B9 Start record number (B6 is MSB and B9 is LSB) 10 - 13 B10 B11 B12 B13 End record number (B10 is MSB and B13 is LSB)V4.6 22 Feb 2013 31
  32. 32. DRAFTAbort Downloading Message ($1852)The Abort Downloading message (0x1852) is sent to abort a downloading that was started withthe Download Records from SD File message (0x1850). This command could be used to stop atime consuming download. The SD Status message (0x1888) is sent with either thedownloading aborted status byte when this command is sent. Abort Downloading Message Byte Data Definition 1, 2 0x1852 Message ID 3 0x00 Message length byteSet Logging Time Stamp Message ($1860)The Set Logging Time Stamp message (0x1860) is used to change the 8-byte time stamp that isused when CAN messages are logged to the SD card. This 8-byte time stamp is in msec and isincremented every msec. The Current Logging Time Stamp Response message (0x1868) is sentas a response to this command with the current logging time stamp. Set Logging Time Stamp Message Byte Data Definition 1, 2 0x1860 Message ID 3 0x08 Message length byte 4 - 11 B4 B5 B6 B7 B8 B9 B10 B11 New 8-byte time stamp in msec. (B4 is MSB and B11 is LSB)V4.6 22 Feb 2013 32
  33. 33. DRAFTGet Current Logging Time Stamp Message ($1864)The Get Current Logging Time Stamp message (0x1864) requests the current 8-byte loggingtime stamp. This 8-byte time stamp is in msec and is incremented every msec. The CurrentLogging Time Stamp Response message (0x1868) is sent as a response to this command withthe current logging time stamp. Get Current Logging Time Stamp Message Byte Data Definition 1, 2 0x1864 Message ID 3 0x00 Message length byteCurrent Logging Time Stamp Response Message ($1868)The Current Logging Time Stamp Response message (0x1868) sent as a response to the SetLogging Time Stamp message (0x1860) or the Get Current Logging Time Stamp message(0x1864). The 8-byte time stamp returned is in msec and is incremented every msec. Current Logging Time Stamp Response Message Byte Data Definition 1, 2 0x01868 Message ID 3 0x02 Message length byte 4 - 11 B4 B5 B6 B7 B8 B9 B10 B11 Current 8-byte time stamp in msec. (B4 is MSB and B11 is LSB)V4.6 22 Feb 2013 33
  34. 34. DRAFTSD Status Message ($1888)The SD Status message (0x1888) is sent for various commands. This message is sent after anErase All SD Files message (0x1840) to indicate when all of the SD files have been erased on theSD card or that an error occurred while erasing. This message is also sent after a DownloadRecords from SD File message (0x1850) to indicate when downloading is complete, when adownloading error occurred, or when downloading was aborted. SD Status Message Byte Data Definition 1, 2 0x1888 Message ID 3 0x01 Message length byte SD Status byte 0 – Special debug status 1 – All SD files are erased 2 – Erase error occurred 3 – Download complete 4 B4 4 – Download error occurred (SD access) 5 – Download aborted 6 – Bad download parameter 7 – SD command not processedV4.6 22 Feb 2013 34

×