still fixing fai bugs

This commit is contained in:
Roland Drabesch
2022-09-06 16:22:09 +02:00
parent 58358332c6
commit b65026ce01
26 changed files with 745 additions and 381 deletions
@@ -151,6 +151,8 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
var a = JsonConvert.DeserializeObject<string[]>(responseJson);
SerialNumber = Convert.ToInt32(a[0]);
Ordernumber = Convert.ToInt32(a[1]);
Meter.SerialNumber = SerialNumber.ToString();
}
}
else
@@ -82,7 +82,7 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
private void UserControl_KeyDown(object sender, string input)
{
var a = input;
PcbSerialNumber = Meter.SerialNumber;
UserControl.txtHiddenInput.Text = "";
if (a.Trim().Contains(PcbSerialNumber.Trim()))
{
@@ -124,7 +124,11 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
}
//todo: find a better sln for SENSUSRADIO_EncryptionKey
//SENSUSRADIO_EncryptionKey dont reserve SENSUSRADIO_EncryptionKey!
if (item.RegisterName.ToLower().Contains("SENSUSRADIO_EncryptionKey".ToLower()))
if (item.RegisterName.ToLower().Contains("displaypow".ToLower()) || item.RegisterName.ToLower().Contains("METROLOGYASST_FlowPoint".ToLower()) )
{
overAllResult.Add(_currentGenesis_WriteRegister(item.RegisterName, new byte[] { item.RegisterValue.ToArray()[0] }, true, true));
}
else if (item.RegisterName.ToLower().Contains("SENSUSRADIO_EncryptionKey".ToLower()))
{
overAllResult.Add(_currentGenesis_WriteRegister(item.RegisterName, item.RegisterValue.ToArray(), true, true));
}
@@ -133,6 +137,9 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
overAllResult.Add(_currentGenesis_WriteRegister(item.RegisterName, item.RegisterValue.Reverse().ToArray(), true, true));
}
//else if (!item.RegisterName.ToLower().Contains("apparrangement"))
//{
// overAllResult.Add(_currentGenesis_WriteRegister(item.RegisterName, item.RegisterValue.Reverse().ToArray(), true, true));
@@ -58,6 +58,8 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
public override void StartProcess()
{
base.currentProcessState = ProductionProcessState.Done;
return;
bool ret = RequestPassword();
updateImage(UserControl.RequestPassword, ret);
base.Progress = base.Progress + 16;
@@ -13,10 +13,12 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
public class ProductionProcessShippingMode : BaseProductionProcess
{
private UcPlain UserControl;
public ProductionProcessShippingMode()
private bool doRestart = false;
public ProductionProcessShippingMode(bool restart = false)
{
name = "Versandbereitschaft herstellen";
currentProcessState = ProductionProcessState.Waiting;
doRestart = restart;
}
public override void InitUserControl()
{
@@ -51,7 +53,7 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
var useRadio = true;
if (useRadio)
{
if (Meter.StoreAllConfigurations())
if (Meter.StoreAllConfigurations())
{
var writeList = new List<bool>();
@@ -72,45 +74,55 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
var SENSUSRADIO_ExtendedAlarmMask = Meter.ReadRegister("SENSUSRADIO_ExtendedAlarmMask");
if (radioResetSuccess[0] == 0x02 && writeList.All(a => a == true) && SENSUSRADIO_MainAlarmMask[0] != 0)
{
var _meterResetPsu = new MeterResetPsu(Meter)
if (doRestart)
{
StoreConfigEnable = true
};
var rebootSucceeded = _meterResetPsu.MeterResetPsuExecute();
var CheckValuesAufterBoot = new List<Tuple<string, byte[]>>();
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("METROLOGYASST_PulseLength", Meter.ReadRegister("METROLOGYASST_PulseLength")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("POWERMON_BatteryQuantity", Meter.ReadRegister("POWERMON_BatteryQuantity")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_MeterSize", Meter.ReadRegister("GENESISFLOW_MeterSize")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_CalFactor1", Meter.ReadRegister("GENESISFLOW_CalFactor1")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("SENSUSRADIO_RadioAddress", Meter.ReadRegister("SENSUSRADIO_RadioAddress")));
bool? hasDiffrences = null;
foreach (var item in CheckValuesAufterBoot)
{
if (!item.Item2.SequenceEqual(Meter.ReadRegister(item.Item1)))
var _meterResetPsu = new MeterResetPsu(Meter)
{
hasDiffrences = true;
StoreConfigEnable = true
};
var rebootSucceeded = _meterResetPsu.MeterResetPsuExecute();
var CheckValuesAufterBoot = new List<Tuple<string, byte[]>>();
Thread.Sleep(10000);
Meter.Login();
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("METROLOGYASST_PulseLength", Meter.ReadRegister("METROLOGYASST_PulseLength")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("POWERMON_BatteryQuantity", Meter.ReadRegister("POWERMON_BatteryQuantity")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_MeterSize", Meter.ReadRegister("GENESISFLOW_MeterSize")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_CalFactor1", Meter.ReadRegister("GENESISFLOW_CalFactor1")));
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("SENSUSRADIO_RadioAddress", Meter.ReadRegister("SENSUSRADIO_RadioAddress")));
bool? hasDiffrences = null;
foreach (var item in CheckValuesAufterBoot)
{
if (!item.Item2.SequenceEqual(Meter.ReadRegister(item.Item1)))
{
hasDiffrences = true;
}
else
{
if (!hasDiffrences.HasValue)
{
hasDiffrences = false;
}
}
}
if (rebootSucceeded && hasDiffrences.HasValue && !hasDiffrences.Value)
{
base.currentProcessState = ProductionProcessState.Done;
}
else
{
if (!hasDiffrences.HasValue)
{
hasDiffrences = false;
}
}
}
if (rebootSucceeded && hasDiffrences.HasValue && !hasDiffrences.Value)
{
base.currentProcessState = ProductionProcessState.Done;
Meter.WriteLog("reboot compare failed");
base.currentProcessState = ProductionProcessState.Error;
}
}
else
{
Meter.WriteLog("reboot compare failed");
base.currentProcessState = ProductionProcessState.Error;
}
base.currentProcessState = ProductionProcessState.Done;
}
}
else
{