Prductionsdate now from RadioTest

This commit is contained in:
Roland Drabesch
2023-02-27 10:53:10 +01:00
parent 204377fb30
commit 050fd97aaa
15 changed files with 498 additions and 72 deletions
@@ -365,7 +365,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<UserProperties configuration_1json__JsonSchema="http://json.schemastore.org/bower" />
<UserProperties configuration_1json__JsonSchema="https://codemagic.io/codemagic-schema.json" />
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
@@ -47,41 +47,50 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
{
if (!SkipPreparationForTestBench)
{
SkipPreparationForTestBench = true;
//TODO set display unit
//TODO calculated overflow volume for display
WriteRegister<Byte>(Register.Genesisflow.SampleRate, 16, checkRegister: true);
WriteRegister(Register.Genesisflow.LedMode, (Byte)LedMode.FlowTestAndCalibData, checkRegister: true);
WriteRegister("GENESISFLOW_SealDisplay", 0, true, true);
var displayState = ReadRegister(Register.Genesisflow.TriggerIdle);
if (displayState == null)
try
{
displayState = ReadRegister(Register.Genesisflow.TriggerIdle);
var displayState = ReadRegister(Register.Genesisflow.TriggerIdle);
if (displayState == null)
{
_logger.Info($"Slot:{Slot} - Not able to read display state");
return;
displayState = ReadRegister(Register.Genesisflow.TriggerIdle);
if (displayState == null)
{
_logger.Info($"Slot:{Slot} - Not able to read display state");
return;
}
}
}
var displayStateString = ByteStyler.ToString(displayState);
var displayStateString = ByteStyler.ToString(displayState);
if (displayStateString.Substring(0, 2) != "FF" || displayStateString.Substring(0, 5) == "FF-55")
{
WriteRegister(Register.Genesisflow.TriggerIdle, 0, true, true);
displayState = ReadRegister(Register.Genesisflow.TriggerIdle);
displayStateString = ByteStyler.ToString(displayState);
if (displayStateString != "00-00-00-00")
if (displayStateString.Substring(0, 2) != "FF" || displayStateString.Substring(0, 5) == "FF-55")
{
WriteRegister(Register.Genesisflow.TriggerActive, 1);
}
WriteRegister(Register.Genesisflow.TriggerIdle, 0, true, true);
displayState = ReadRegister(Register.Genesisflow.TriggerIdle);
displayStateString = ByteStyler.ToString(displayState);
if (displayStateString != "00-00-00-00")
{
WriteRegister(Register.Genesisflow.TriggerActive, 1);
}
}
else
{
WriteLog($"meter not active because display code has an error on code:{displayStateString}");
}
}
else
catch (Exception)
{
WriteLog($"meter not active because display code has an error on code:{displayStateString}");
}
WriteRegister("GENESISFLOW_DisplayPow10", (new Byte[] { 0x00, 0x00, 0x00, 0xFA }).Reverse().ToArray());