The OpenECU implementation of CCP is against a sub-set of version 2.1 of the standard and supports the following commands:
Table 6.1. Supported CCP commands
CCP command | Command value | Optional | Notes |
---|---|---|---|
CONNECT | 1 | Reprogramming code prior to version 5.0.6 and 105.0.11 assumes a station address of zero or one. | |
SET_MTA | 2 | Supports one MTA. Addresses must not be extended. | |
DNLOAD | 3 | ||
UPLOAD | 4 | ||
START_STOP | 6 | ||
DISCONNECT | 7 | Reprogramming code prior to version 5.0.6 and 105.0.11 assumes a station address of zero or one. | |
START_STOP_ALL | 8 | yes | |
SET_S_STATUS | 12 | yes | |
GET_S_STATUS | 13 | yes | |
BUILD_CKHSUM | 14 | yes | Implements the 16 bit CCITT CRC (shift register initially set to 0xFFFF, non-reflected form). |
SHORT_UP | 15 | yes | Expects no address extension. Does not change MTA. |
CLEAR_MEMORY | 16 | yes | |
GET_SEED | 18 | yes | Not supported before platform version 1.8.6. |
UNLOCK | 19 | yes | Not supported before platform version 1.8.6. |
GET_DAQ_SIZE | 20 | Ignores any attempt to set the DAQ CAN message identifier to anything other than the DTO CAN message identifier. | |
SET_DAQ_PTR | 21 | ||
WRITE_DAQ | 22 | ||
EXCHANGE_ID | 23 | Access to the ECU's type, manufacturing data, and if available, the application defined name. See Section 6.1, “EXCHANGE_ID message handling” for details. | |
PROGRAM | 24 | yes | If the length to program is specified as zero, reprogramming code will treat this as a special signal to indicate that programming has finished. |
GET_CCP_VERSION | 27 | Returns 2.1. | |
PROGRAM_6 | 34 | yes | |
DNLOAD_6 | 35 | yes |
Some older versions of software (prior to platform version 1.6.0, or prior to RPRG version x.6.0) support a larger number of CCP commands. In addition to the commands above, these older versions also supported the following commands:
Table 6.2. Supported CCP commands (in older versions of ECUs)
CCP command | Command value | Optional | Notes |
---|---|---|---|
TEST | 5 | yes | Reprogramming code prior to version 5.0.6 and 105.0.11 assumes a station address of zero or one. |
GET_ACTV_CAL_PG | 9 | yes | Only one page of calibration is supported. |
SELECT_CAL_PAGE | 17 | yes | Only one calibration page is supported at a fixed address. |
MOVE | 25 | yes | |
DIAG_SERVICE | 32 | Replied to as "unavailable". | |
ACTION_SERVICE | 33 | Replied to as "unavailable". |
All other commands are replied to as "unknown command".