Initial commit

This commit is contained in:
Rowlander
2021-10-01 11:09:20 +02:00
commit fe54fceb1e
1301 changed files with 853973 additions and 0 deletions
@@ -0,0 +1,65 @@
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.Consts
{
/// <summary>
/// Genesis meter firmware update states
/// </summary>
public enum FwUpdateState
{
/// <summary>
/// FW Update State Idle
/// </summary>
Idle = 0,
/// <summary>
/// FW update single step failed
/// </summary>
StepFailed = 1,
/// <summary>
/// FW update entire process failed
/// </summary>
UpdateFailed = 2,
/// <summary>
/// Start initial FW update
/// </summary>
StartInitial = 3,
/// <summary>
/// Repeat FW update
/// </summary>
RepeatFwUpdate = 4,
/// <summary>
/// Upload (partial-) update files
/// </summary>
UploadFileApps = 5,
/// <summary>
/// Download (partial-) update files
/// </summary>
DownloadFileApps = 6,
/// <summary>
/// Compare (partial-) update files
/// </summary>
CompareFileApps = 7,
/// <summary>
/// Download upgrade control file
/// </summary>
DownloadUpgradeControlFile = 8,
/// <summary>
/// Build upgrade control file
/// </summary>
BuildUpgradeControlFile = 9,
/// <summary>
/// Build Update Files
/// </summary>
BuildFileApps = 10,
/// <summary>
/// Trigger Upgrade
/// </summary>
TriggerUpgrade = 11,
/// <summary>
/// Erase update file
/// </summary>
EraseUpdateFile = 12,
/// <summary>
/// Delimiter for list
/// </summary>
FwUpdateStateListDelimiter = 13
}
}
@@ -0,0 +1,82 @@
using System;
using System.Linq;
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.Properties;
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.Consts
{
/// <summary>
/// Concatenation of state and string
/// </summary>
public static class FwUpdateStateInfo
{
/// <summary>
/// Build state information
/// </summary>
private static readonly FwUpdateStateText[] StateInfos;
/// <summary>
/// Ctor
/// </summary>
static FwUpdateStateInfo()
{
StateInfos = new FwUpdateStateText[(Int32)FwUpdateState.FwUpdateStateListDelimiter];
StateInfos[0].State = FwUpdateState.Idle;
StateInfos[0].Message = Resources.StrFwUpdateStateIdle;
StateInfos[1].State = FwUpdateState.StepFailed;
StateInfos[1].Message = Resources.StrFwUpdateStateStepFailed;
StateInfos[2].State = FwUpdateState.UpdateFailed;
StateInfos[2].Message = Resources.StrFwUpdateStateUpdateFailed;
StateInfos[3].State = FwUpdateState.StartInitial;
StateInfos[3].Message = Resources.StrFwUpdateStateStartInitial;
StateInfos[4].State = FwUpdateState.RepeatFwUpdate;
StateInfos[4].Message = Resources.StrFwUpdateStateRepeatFwUpdate;
StateInfos[5].State = FwUpdateState.UploadFileApps;
StateInfos[5].Message = Resources.StrFwUpdateStateUploadFileApps;
StateInfos[6].State = FwUpdateState.DownloadFileApps;
StateInfos[6].Message = Resources.StrFwUpdateStateDownloadFileApps;
StateInfos[7].State = FwUpdateState.CompareFileApps;
StateInfos[7].Message = Resources.StrFwUpdateStateCompareFileApps;
StateInfos[8].State = FwUpdateState.DownloadUpgradeControlFile;
StateInfos[8].Message = Resources.StrFwUpdateStateDownloadUpgradeControlFile;
StateInfos[9].State = FwUpdateState.BuildUpgradeControlFile;
StateInfos[9].Message = Resources.StrFwUpdateStateBuildUpgradeControlFile;
StateInfos[10].State = FwUpdateState.BuildFileApps;
StateInfos[10].Message = Resources.StrFwUpdateStateBuildFileApps;
StateInfos[11].State = FwUpdateState.TriggerUpgrade;
StateInfos[11].Message = Resources.StrFwUpdateStateTriggerUpgrade;
StateInfos[12].State = FwUpdateState.EraseUpdateFile;
StateInfos[12].Message = Resources.StrFwUpdateStateEraseUpdateFile;
}
/// <summary>
/// Get the current information
/// </summary>
/// <param name="state">state to search for information text</param>
public static String GetTextFromState(FwUpdateState state)
{
return (from stateInfo in StateInfos
where stateInfo.State == state select stateInfo.Message).FirstOrDefault();
}
/// <summary>
/// Get the state of the text
/// </summary>
/// <param name="text">information text to search if state is assigned</param>
public static FwUpdateState GetStateFromText(String text)
{
return (from stateInfo in StateInfos
where stateInfo.Message == text select stateInfo.State).FirstOrDefault();
}
}
}
@@ -0,0 +1,19 @@
using System;
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.Consts
{
/// <summary>
/// Concatenation between firmware update state and text
/// </summary>
public struct FwUpdateStateText
{
/// <summary>
/// The state of the firmware update
/// </summary>
public FwUpdateState State;
/// <summary>
/// The message text of the firmware update state
/// </summary>
public String Message;
}
}