C2 14230

As ISO 14230 allows (see general 14230 info page), Nissan :
 * Implements only a subset of the standard SID requests
 * Adds mfg-specific extensions to standard SIDs
 * Adds mfg-defined SIDs

TODO: document availability, common features and differences between K line command set and CAN-only UDS / iso14229 protocol

SIDs with generally standard behavior

 * 14 - Clear DTC Information
 * 1A - Read ECU ID
 * 21 - Read Data by Local Identifier
 * 22 - Read Data by Common Identifier (Data Identifiers (DID) Range From 0 - 65535)
 * 27 - Security Access
 * 31 - Start Routine by Local ID
 * 32 - Stop Routing by Local ID
 * 33 - Request Routine Results by Local ID
 * 34 - Request Download
 * 36 - Transfer Data
 * 37 - Request Transfer Exit
 * 3B - Write Data by Local Identifier
 * 3E - Tester is Present

11
ResetMode = 0x80 "ManufacturerSpecific". This sets a flag in RAM which appears to be checked periodically via the calltables, and trigger some complex behaviour possibly including a "trapa 0x3F" at some point.
 * 11 80 ECUReset

1A

 * 1A 80
 * 1A 81 get ECUID
 * 1A 82
 * 1A 83

27
TODO : investigate alternate algorithm, that uses "27 8x" or "27 03" requests.
 * 27 01 RequestSeed : ECU returns 32bit seed
 * 27 02 SendKey : host sends back key calculated with algorithm 01

34

 * 34 80 RequestDownload : prepare stuff
 * 34 81 Only available inside BL kernels ? Or just some ECUIDs ?
 * 34 82 Only available inside BL kernels ? Or just some ECUIDs ?
 * 34 83 ?

36

 * 36 BLOCKNO_H BLOCKNO_L 20 ... TransferData

37

 * 37 CKS_H CKS_L RequestTransferExit. Returns "7F 37 91" if the checksum is bad

A0
????

A3
???? related to DTCs

AC LoadItems
mem addresses or possibly LID / CID values

BF RAMjump !!!

 * BF 00 RAMjumpcheck
 * BF 01 RAMjump