Firmware Upgrade#
The Firmware Upgrade feature was introduced in CameraSDK 3.0. It lets you transfer a firmware package file to the camera. This feature does not require any new firmware version to be present on the camera.
Firmware Packages#
There are two types of package files: .fwr
and .fwp
.
Traditionally, the packages with the .fwr
extension contain only firmware for IQ4 digital back or the iXM camera itself. They did not contain any firmware that targets camera housing or lenses, like XF, XT, XC, RS, RSM, etc.
However, for the P5 camera, the .fwr
packages contain all the needed firmware components, including the lenses.
Package files with the .fwp
extension always contain firmware for the entire camera system. These are IQ4, XF, XT, XC, and stand-alone XShutter lenses for bespoke photography. For iXM systems, it is: iXM, iXM-GS, RSM & RS.
There are no .fwp
packages for P5 cameras.
Upgrading the firmware using .fwp
packages will also upgrade any connected lens or camera system. If you have an XF and an XT camera for your IQ4, you must run the firmware upgrade process twice, connecting one and the other afterward. The same is true if you have multiple lenses for your iXM.
Note
Firmware packages can be downloaded from our Support website, both for iXM and IQ4 cameras: www.phaseone.com/support/camera-firmware
Upgrading Firmware#
Beginning with CameraSDK 3.1, transferring a firmware package to the camera involves using the new UploadFile
API.
To initiate an upgrade process, you call a single method on the Camera
object:
bool success = camera.UploadFile(UploadFileId::FirmwareUpdate, "/path/to/fwr/or/fwp/file");
camera.UploadFile(UploadFileId.FirmwareUpdate, "/path/to/fwr/or/fwp/file");
The UploadFile
method is a generic file upload function that could be used to send other files to the camera in the future. The UploadFileId
-enum defines what type of file you are uploading.
The UploadFile
method transfers the firmware package to the camera. CameraSDK makes no assumptions about the file; it is blindly forwarded to the camera. If the transfer is successful, the method will return true
.
After the file has been transferred, the camera will begin to parse the file. Is it the correct format, contains valid firmware, is the firmware intended for the current camera model, etc? Just note that there could be many reasons for the camera to reject the firmware package.
Note
Cameras will either upgrade or downgrade firmwares. They will ignore a firmware package with the same version as the one currently installed.
CameraSDK does not receive any information on rejected or accepted firmware packages. There is no progress or status information relayed to the SDK. On IQ4, you can follow the update progress on the display, but on iXM and P5, you can only observe the flashing of an LED.
Diagnostics Logs#
Diagnostics Logs can be downloaded using the new DownloadFile
method. This method is introduced in CameraSDK 3.1. It provides a better way of getting camera diagnostics used by Phase One Support to diagnose issues. This feature does not require any new firmware version to be present on the camera.
Before the previous CameraSDK 3.0, these logs could only be obtained by letting the camera write them to the local storage card. This meant the feature had to be enabled beforehand.
With this API, you can always download the latest diagnostics logs from the camera. Nothing has to be enabled beforehand.
Getting a log#
To download and save the diagnostics log to a file:
bool success = camera.DownloadFile(DownloadFileId::DiagnosticLog, "/path/to/log/file");
camera.DownloadFile(DownloadFileId.DiagnosticLog, "/path/to/log/file");
Caution
Even though FileTransfer*
notifications exist, the DownloadFile
API does not support them.
When downloading files, you will not receive any progress notifications. In contrast, the UploadFile
API will provide these progress notifications!
This will create and write a file at /path/to/log/file
and return true
on success. This file can then be sent to Phase One Support.
The DownloadFile
method uses an enum to define the file you wish to download. This approach allows us to add new files to the download API in future feature additions.
Note
Diagnostics Log files are not human readable text files. Their purpose is to be parsed by the Phase One Support Team.