4.11 SignedUpdateFirmware
The SignedUpdateFirmware message is used by the central system to send a signed firmware update to the charge point. This message ensures that the firmware update is securely transmitted and can be verified by the charge point using the provided signature.
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
CreateSignedUpdateFirmwareResponsePacket | This function creates a JSON packet that represents the response to a signed firmware update request. | void | static cJSON |
Example:
updateFirmwareSendFrame = CreateOCPPReplyFrame(OCPP_MESSAGE_RESPONSE_CODE, uuid, CreateSignedUpdateFirmwareResponsePacket());
if (updateFirmwareSendFrame == NULL)
{
OCPPLogMessage(LOG_ERROR, LOG_SENDING, "Could not create response frame for signed update FW\n");
return UPDATE_FW_PROCESS_ERR;
}
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
SendSignedUpdateFirmwareResponse | This function sends a signed firmware update response to the requester after processing a signed firmware update request. | char *uuid | SIGNED_UPDATE_STATUS_T |
Example:
else
{
LogDebug("APP_LOG", " Invalid SignedUpdateFirmware Code\n\r");
SetSignedUpdateFirmwareStatus(UPDATE_FW_REJECTED);
}
SendSignedUpdateFirmwareResponse(params.uuid);
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
GetSignedUpdateFirmwareParams | This function populates the provided “params” structure with the necessary information required to perform a signed firmware update. | RX_UPDATE_FIRMWARE_T *params | void |
Example:
GetSignedUpdateFirmwareParams(¶ms);
if ((SIGNED_UPDATE_STATE_T)responsecode == SIGNED_UPDATE_OK)
{
LogDebug("APP_LOG", " SignedUpdateFirmware Params requestId: %d\n\tlocation: %s\n\tretrieveDateTime: %s\n\tinstallDateTime: %s\n\tsigningCertificate: %s\n\tsignature: %s\n\tretryInterval: %dretries: %d\n", params.requestId, params.firmware.location, params.firmware.retrieveDateTime, params.firmware.installDateTime, params.firmware.signingCertificate, params.firmware.signature ,params.retryInterval, params.retries);
SetSignedUpdateFirmwareStatus(UPDATE_FW_ACCEPTED);
}
|
API Syntax |
Description |
Input Params |
Return Value |
|---|---|---|---|
SetSignedUpdateFirmwareStatus | This function updates the internal status to reflect the current state of the signed firmware update process. | SIGNED_UPDATE_FW_STATUS_T status | void |
Example:
if ((SIGNED_UPDATE_STATE_T)responsecode == SIGNED_UPDATE_OK)
{
LogDebug("APP_LOG", " SignedUpdateFirmware Params requestId: %d\n\tlocation: %s\n\tretrieveDateTime: %s\n\tinstallDateTime: %s\n\tsigningCertificate: %s\n\tsignature: %s\n\tretryInterval: %dretries: %d\n", params.requestId, params.firmware.location, params.firmware.retrieveDateTime, params.firmware.installDateTime, params.firmware.signingCertificate, params.firmware.signature ,params.retryInterval, params.retries);
SetSignedUpdateFirmwareStatus(UPDATE_FW_ACCEPTED);
}
