Impact Acquire SDK C++
|
A class to perform a firmware update of a specific device. More...
#include <mvIMPACT_acquire.h>
Public Member Functions | |
FirmwareUpdater (mvIMPACT::acquire::Device *pDev, bool boForceOverideSameVersion=false, bool boForceDowngrade=false, bool boKeepUserSets=true, bool boForceBreakingChange=false) | |
Creates a new mvIMPACT::acquire::FirmwareUpdater object. | |
double | getTimeElapsed (void) const |
A method to receive the time in seconds since the update process has been started. | |
virtual int | onErasingFlash (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called once the devices flash memory is erased. | |
virtual int | onErrorMessage (const double timeElapsed_s) const |
This function will be called once a message is waiting to be passed to the user. | |
virtual int | onHardResetRequired (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called once the device reboots and a manual hard reset is required. | |
virtual int | onLoadingUserSets (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called when the settings of the device are written back after updating the firmware. | |
virtual int | onRebooting (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called once the device reboots to make sure the new firmware is applied to the device. | |
virtual int | onSavingUserSets (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called when the settings of the device are stored before updating the firmware. | |
virtual int | onUnzippingFirmwareArchive (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called once firmware archive (*.mvu) is unzipped to provide the correct firmware file. | |
virtual int | onUpdatingBootProgrammer (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called once the boot programmer of an mvBlueFOX3 camera is updated. | |
virtual int | onUploadingImage (const int currentProgress_pc, const double timeElapsed_s) const |
This function will be called once the actual firmware file is uploaded to the device's flash memory. | |
std::string | statusMessage (void) const |
Returns the current status from the status property. | |
TDMR_ERROR | update (const std::string &archivePath="", const bool boUpdateDataAsNeeded=true) |
A function to start the firmware update process. | |
virtual | ~FirmwareUpdater () |
Static Public Member Functions | |
static TDMR_ERROR | verifyFirmwareChecksum (Device *pDev, const std::string &archivePath, std::string *pStatusMessage=0) |
A function to check the integrity of the firmware running on a device. | |
Public Attributes | |
PropertyI | firmwareVersionToUpload |
An enumerated integer property containing a list of available firmware versions. | |
A class to perform a firmware update of a specific device.
This class is intended to provide an ease of use possibility to update the firmware of specific devices. It is possible to specify the behavior of the class very detailed to make sure the update suits the users expectations. It is also possible to derive from this class and override various functions in order to get custom notifications e.g. to update a GUI application.
To start a firmware update for Balluff GenICam devices the following code will be sufficient:
To start a firmware update for Balluff mvBlueFOX devices the following code will be sufficient:
A more custom behavior can be accomplished by deriving from the mvIMPACT::acquire::FirmwareUpdater class and re-implementing the various notification functions:
|
inlineexplicit |
Creates a new mvIMPACT::acquire::FirmwareUpdater object.
[in] | pDev | A pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object. |
[in] | boForceOverideSameVersion | A boolean value which defines if updates using the same version as installed on the camera should be allowed. |
[in] | boForceDowngrade | A boolean value which defines if updates using an older version as installed on the camera should be allowed. |
[in] | boKeepUserSets | A boolean value which defines if the user sets of the device will be kept or will be deleted during the update. |
[in] | boForceBreakingChange | A boolean value which defines if updates to versions which will deliver interface breaking changes will be allowed. Setting this value to true will also update a device which after the update might have a different interface. See documentation for additional information about breaking changes in firmware versions(there are not too many)! |
|
inlinevirtual |
|
inline |
A method to receive the time in seconds since the update process has been started.
|
inlinevirtual |
This function will be called once the devices flash memory is erased.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | currentProgress_pc | The current progress of the erase operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called once a message is waiting to be passed to the user.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called once the device reboots and a manual hard reset is required.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | currentProgress_pc | The current progress of the reboot operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called when the settings of the device are written back after updating the firmware.
Re-implement this function in a derived class in order to implement a custom behaviour.
This callback will only be called when user sets shall be available after the update. This can be specified by setting the boKeepUserSets flag upon construction of this object.
[in] | currentProgress_pc | The current progress of the load operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called once the device reboots to make sure the new firmware is applied to the device.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | currentProgress_pc | The current progress of the reboot operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called when the settings of the device are stored before updating the firmware.
Re-implement this function in a derived class in order to implement a custom behaviour.
This callback will only be called when user sets shall be available after the update. This can be specified by setting the boKeepUserSets flag upon construction of this object.
[in] | currentProgress_pc | The current progress of the store operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called once firmware archive (*.mvu) is unzipped to provide the correct firmware file.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | currentProgress_pc | The current progress of the unzip operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called once the boot programmer of an mvBlueFOX3 camera is updated.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | currentProgress_pc | The current progress of the update operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inlinevirtual |
This function will be called once the actual firmware file is uploaded to the device's flash memory.
Re-implement this function in a derived class in order to implement a custom behaviour.
[in] | currentProgress_pc | The current progress of the upload operation (in percent). |
[in] | timeElapsed_s | The total time elapsed since starting the update process (in seconds). |
|
inline |
Returns the current status from the status property.
|
inline |
A function to start the firmware update process.
This function is intended to be used to update Balluff imaging and image capture devices.
[in] | archivePath | Path to the file which should be used to update the device. Can be empty if no update archives are needed for the device. |
[in] | boUpdateDataAsNeeded | Can be set to false in order to save time when updating multiple devices in one go. Please note that as soon as at least one GenICam device is part of these multiple devices either mvIMPACT::acquire::DeviceManager::updateDeviceList must be called or every instance to mvIMPACT::acquire::DeviceManager in the current process needs to be destroyed afterwards before any of those GenICam devices can be used again! |
|
inlinestatic |
A function to check the integrity of the firmware running on a device.
This function is intended to be used to check the firmware integrity of Balluff imaging and image capture devices only. Most Balluff imaging and image capture devices are capable of calculating a hash from the firmware image which is currently running on the device. In addition to that firmware archives for imaging devices provided by Balluff contain hashes for all the firmware images contained in the update archive. Comparing these 2 hashes will provide additional security when an application wants to make sure that the firmware running on the device is undamaged.
[in] | pDev | A pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object. |
[in] | archivePath | Path to the file which should be used to compare the firmware checksum from with the firmware currently running on the device. |
[out] | pStatusMessage | Pointer to a string receiving additional information about the outcome of the operation. This can be 0 if no one is interested in status information. |
PropertyI firmwareVersionToUpload |
An enumerated integer property containing a list of available firmware versions.