using System;
namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw.Const
{
///
/// Firmware update process states
///
[Serializable]
public enum ProcessState
{
///
/// Unspecified state, used for startup to unlock first state entry.
///
Unspecified,
///
/// Validate the software and exit if invalid
///
ValidateSoftware,
///
/// Idle waiting for user interaction or event.
///
Idle,
///
/// Initialize the entire program, dispose the Genesis and reset labels.
///
Init,
///
/// Reboot of Genesis, the TriggerUpgrade command will internally update the meter.
/// During this time the meter is offline and needs to be polled until it returns online.
///
Reboot,
///
/// Connecting after connect button pushed by user to force entire new read out of
/// applications.
///
InitialConnect,
///
/// Connecting including dispose of Genesis to force entire new read out of
/// applications and restructure of registers as they may have changed after update.
///
RebootConnect,
///
/// Connecting including dispose of Genesis to force entire new read out of
/// applications and restructure of registers as they may have changed after update.
///
FinalConnect,
///
/// Communication port scan including Genesis detection
///
PortScan,
///
/// Load update files
///
LoadUpdateFiles,
///
/// Read info file for meter files to erase and restore.
///
ReadInfoEraseRestoreFiles,
///
/// Read files before erasure.
///
InitialReadMeterFiles,
///
/// Erase the meter files.
///
EraseMeterFiles,
///
/// Read back meter files before FW-Update.
///
PreUpdateReadMeterFiles,
///
/// Restore meter files.
///
RestoreMeterFiles,
///
/// Verify restored meter files.
///
VerifyMeterFiles,
///
/// Read and log initial register contents
///
InitialReadRegisters,
///
/// Read and log final register contents
///
FinalReadRegisters,
///
/// Recover registers with EOL content
///
RecoverRegisters,
///
/// Correct power over estimation for FW update from below R1.3.xx to R1.3.xx
///
CorrectPowerOverestimation,
///
/// Read engineering logs for analysis
///
ReadEngineeringLogs,
///
/// Calculate life time information
///
CalculateLifeTime,
///
/// Restore registers with content before update
///
CompareRegisters,
///
/// Restore password file
///
RestorePasswordFile,
///
/// Restore tho look up table
///
RestoreLutFile,
///
/// Firmware update
///
FirmwareUpdate,
///
/// Checks the update capability and sets all controls.
///
CheckUpdateCapability,
///
/// Checks for communication issues to avoid update on bad communication.
///
CheckCommunication,
///
/// Checks the update files.
///
CheckUpdateFiles,
///
/// Checks the core revision.
///
CheckCoreRevision,
///
/// Checks the metrology update capability.
///
CheckMetrology,
///
/// Checks the radio update capability by region and frequency
///
CheckRegionRadio,
///
/// Checks the meter sizes
///
CheckMeterSize,
///
/// Check if the FW in the meter is up to date.
///
CheckUpdateRequest,
///
/// Check if FW is up to date
///
CheckFwUpdateSuccess,
///
/// Finalize maintenance and logging of all meter parameters and logs
///
PrepareMeterRelease,
///
/// Switch the display back to normal operation
///
ReleaseMeterToNormalOperation,
///
/// Display FW-Update Success
///
FwUpdateSuccess,
///
/// Stop entire update process
///
Stop,
///
/// Error execution state
///
Error,
///
/// Marker for end of list
///
EndOfList
}
}