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 including dispose of Genesis to force entire new read out of
/// applications and restructure of registers as they may have changed after update.
/// On the other hand a new Genesis may be connected to make a series update.
///
Connect,
///
/// Quick connect without dispose of Genesis. This will skip read out of FW at connect
/// in the GenesisMeter class
///
QuickConnect,
///
/// Communication port scan including Genesis detection
///
PortScan,
///
/// Load update files
///
LoadUpdateFiles,
///
/// Read configuration for meter files to erase and restore.
///
ReadMeterFilesConfig,
///
/// Read files before erasure.
///
ReadInitialMeterFiles,
///
/// Erase the meter files.
///
EraseMeterFiles,
///
/// Read back meter files before FW-Update.
///
ReadPreUpdateMeterFiles,
///
/// Read back meter files after FW-Update.
///
ReadPostUpdateMeterFiles,
///
/// Restore meter files.
///
RestoreMeterFiles,
///
/// Verify restored meter files.
///
VerifyMeterFiles,
///
/// Backup content of registers
///
RegisterBackup,
///
/// Restore content of registers
///
RegisterRestore,
///
/// Restore password file
///
PwdFileRestore,
///
/// Firmware update
///
FirmwareUpdate,
///
/// Checks the update capability and sets all controls.
///
CheckUpdateCapability,
///
/// Checks the update files.
///
CheckUpdateFiles,
///
/// Checks the update files.
///
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,
///
/// Display FW-Update Success
///
FirmwareUpdateSuccess,
///
/// Stop entire update process
///
Stop,
///
/// Error execution state
///
Error
}
}