96 lines
5.6 KiB
Plaintext
96 lines
5.6 KiB
Plaintext
|
|
using System.Collections.Generic;
|
||
|
|
using DTS.Common.Interface.DASFactory;
|
||
|
|
using DTS.Common.Interface.Communication;
|
||
|
|
using DTS.Common.Interface.Connection;
|
||
|
|
using DTS.Common.Enums.DASFactory;
|
||
|
|
using DTS.DASLib.Service.Interfaces;
|
||
|
|
|
||
|
|
namespace DTS.DASLib.Service
|
||
|
|
{
|
||
|
|
public class SLICEPRODB<T> : SLICE6DB<T>,
|
||
|
|
IDownloadActions
|
||
|
|
where T : IConnection,
|
||
|
|
new()
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// populates the connected devices field
|
||
|
|
/// </summary>
|
||
|
|
public override void QueryConnectedDevices()
|
||
|
|
{
|
||
|
|
//no functionality for this with SLICEPRO DB
|
||
|
|
var connectedDevices = new List<IDASConnectedDevice>();
|
||
|
|
((ICommunication)this).DASInfo.SetConnectedDevices(connectedDevices.ToArray());
|
||
|
|
}
|
||
|
|
|
||
|
|
public override bool IsSlice6Distributor()
|
||
|
|
{
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
public override bool IsBattery()
|
||
|
|
{
|
||
|
|
//um maybe?
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void AsyncQueryConfiguration(object configAsyncInfo)
|
||
|
|
{
|
||
|
|
var info = (SliceServiceAsyncInfo)configAsyncInfo;
|
||
|
|
|
||
|
|
InitMinProto(); _haveInited = true;
|
||
|
|
ConfigData = MakeDefaultConfigFromInfo();
|
||
|
|
info.Success();
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override bool SupportsTemperatureCheck => true;
|
||
|
|
protected override bool SupportsTiltCheck => true;
|
||
|
|
protected override bool SupportsClockSyncCheck => true;
|
||
|
|
public override bool SupportsTimeSynchronization => false;
|
||
|
|
|
||
|
|
private const int MIN_PROTOCOL_VER = 1;
|
||
|
|
|
||
|
|
private readonly Dictionary<DFConstantsAndEnums.ProtocolLimitedCommands, byte> SLICEPRODB_MinProtocols =
|
||
|
|
new Dictionary<DFConstantsAndEnums.ProtocolLimitedCommands, byte>();
|
||
|
|
|
||
|
|
public override void InitMinProto()
|
||
|
|
{
|
||
|
|
// SLICE 6 DB Protocol Limitations
|
||
|
|
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.BaseSystemTime] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.SLICE2_OneWireID] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.HardwareRevision] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.HardwareConfiguration] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.EventFaultFlags] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.EventArmAttempts] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryActualSampleRateImmediate] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.InitHardwareInputLines] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.VoltageSysAttributes] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryArmAndTriggerStatus_VoltageReadings] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.BaseCalibrationDate] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.IgnoreShortedStartEvent] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.ResetAttributeStore] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.MeasureBaseDiagnosticChannel] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.InSliceTemperatureCPre] = byte.MaxValue;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.FileData] = MIN_PROTOCOL_VER;
|
||
|
|
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.PTPSyncStatus] = byte.MaxValue;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.SetClockSyncConfig] = byte.MaxValue;
|
||
|
|
|
||
|
|
// SLICE_DB Protocol Limitations
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.Arm] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.EnableFaultChecking] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.OnOverride] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.OMAP_GPIO] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryBatteryVoltage] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.Diagnostics] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.InitHardwareInputLines] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.StartRealtimeStream] = MIN_PROTOCOL_VER;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryEthernetMacTable] = byte.MaxValue;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryTempLogFile] = byte.MaxValue;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryTiltSensorData] = byte.MaxValue;
|
||
|
|
SLICEPRODB_MinProtocols[DFConstantsAndEnums.ProtocolLimitedCommands.QueryExternalTiltInfo] = byte.MaxValue;
|
||
|
|
MinimumProtocols = SLICEPRODB_MinProtocols;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|