Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*.user
*.userosscache
*.sln.docstates
*.idea

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
Expand Down
22 changes: 22 additions & 0 deletions DeviceFeatures/LocalStorage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,21 @@ public struct SettingsPreRunDurationInSecondsAsSingle
public const Single LowerLimit = 0F;
}

public struct SettingsRecordingDurationInSecondsAsUInt32
{
public const UInt32 UpperLimit = 4294967295;
public const UInt32 LowerLimit = 0;
}

[Serializable]
public class Settings
{
[RestfulProperties("Pre-run Duration")]
public Single PreRunDurationInSeconds { get; set; }

[RestfulProperties("Recording Duration")]
public UInt32 RecordingDurationInSeconds { get; set; }

[RestfulProperties("Measurement Name")]
public String MeasurementName { get; set; }

Expand All @@ -85,6 +94,19 @@ public class RecordingStats

[RestfulProperties("UsagePercentage")]
public UInt32 UsagePercentage { get; set; }

[RestfulProperties("RecordingDuration")]
public UInt32 RecordingDuration { get; set; }

[RestfulProperties("RecordingSecondsLeft")]
public UInt32 RecordingSecondsLeft { get; set; }
}

[Serializable]
public class Measurement
{
[RestfulProperties("Name")]
public String Name { get; set; }
}
}
}
1 change: 1 addition & 0 deletions GenericDefines/EndPoints.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public class EndPoints
public const System.String RecordingState = "/recording/state/";
public const System.String RecordingStats = "/recording/stats/";
public const System.String LocalStorageSettings = "/localStorage/settings/";
public const System.String LocalStorageMeasurementList = "/localStorage/measurement/list/";
public const System.String SystemSettings = "/system/settings/";
public const System.String SystemSettingsApply = "/system/settings/apply/";
public const System.String SystemSettingsResetToDefaults = "/system/settings/resetToDefaults/";
Expand Down
10 changes: 5 additions & 5 deletions GenericDefines/Generic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ public enum Bool

public enum DataResolution
{
[RestfulProperties("16 bit")]
_16b = 0,

[RestfulProperties("32 bit")]
_32b = 0,
_32b = 1,

[RestfulProperties("24 bit")]
_24b = 1,

[RestfulProperties("16 bit")]
_16b = 2,
_24b = 2,
}

public enum SettingState
Expand Down
8 changes: 4 additions & 4 deletions InternalChannels/XMC1XX/XMC100IcpChannel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,14 @@ public struct DCatSettingsLowerADCOverloadLimitVoltageAsSingle

public struct DCatSettingsOpenIcpSensorIntegrityLimitAsInt32
{
public const Int32 UpperLimit = 2147483647;
public const Int32 LowerLimit = -2147483648;
public const Int32 UpperLimit = 32767;
public const Int32 LowerLimit = -32768;
}

public struct DCatSettingsShortedIcpSensorIntegrityLimitAsInt32
{
public const Int32 UpperLimit = 2147483647;
public const Int32 LowerLimit = -2147483648;
public const Int32 UpperLimit = 32767;
public const Int32 LowerLimit = -32768;
}

[Serializable]
Expand Down
35 changes: 1 addition & 34 deletions InternalChannels/XMC237/XMC237GpsChannel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,27 +47,6 @@ public enum MessageRate
_10Hz = 3,
}

public enum MessageClass
{
[RestfulProperties("NMEA")]
NMEA = 0,
}

public enum NmeaMessageId
{
[RestfulProperties("NMEA GGA")]
Gga = 0,

[RestfulProperties("NMEA GSA")]
Gsa = 1,

[RestfulProperties("NMEA RMC")]
Rmc = 2,

[RestfulProperties("NMEA VTG")]
Vtg = 3,
}

public interface ISettings
{
}
Expand All @@ -83,20 +62,8 @@ public class XMC237GpsChannelOperationMode
public class EnabledSettings : ISettings
{

[RestfulProperties("Message rate")]
[RestfulProperties("Message Rate")]
public MessageRate MessageRate { get; set; } = MessageRate._1Hz;

[RestfulProperties("NMEA GGA")]
public GenericDefines.Generic.Status NmeaGga { get; set; } = GenericDefines.Generic.Status.Disabled;

[RestfulProperties("NMEA GSA")]
public GenericDefines.Generic.Status NmeaGsa { get; set; } = GenericDefines.Generic.Status.Disabled;

[RestfulProperties("NMEA RMC")]
public GenericDefines.Generic.Status NmeaRmc { get; set; } = GenericDefines.Generic.Status.Disabled;

[RestfulProperties("NMEA VTG")]
public GenericDefines.Generic.Status NmeaVtg { get; set; } = GenericDefines.Generic.Status.Disabled;
}

[Serializable]
Expand Down
8 changes: 4 additions & 4 deletions InternalChannels/XMC237/XMC237IcpChannel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,14 @@ public struct DCatSettingsLowerADCOverloadLimitVoltageAsSingle

public struct DCatSettingsOpenIcpSensorIntegrityLimitAsInt32
{
public const Int32 UpperLimit = 2147483647;
public const Int32 LowerLimit = -2147483648;
public const Int32 UpperLimit = 32767;
public const Int32 LowerLimit = -32768;
}

public struct DCatSettingsShortedIcpSensorIntegrityLimitAsInt32
{
public const Int32 UpperLimit = 2147483647;
public const Int32 LowerLimit = -2147483648;
public const Int32 UpperLimit = 32767;
public const Int32 LowerLimit = -32768;
}

[Serializable]
Expand Down
157 changes: 157 additions & 0 deletions InternalChannels/XMC23X/XMC23XModule.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
// -------------------------------------------------------------------------
// Copyright (c) Mecalc (Pty) Limited. All rights reserved.
// -------------------------------------------------------------------------

using QProtocol.Advanced;
using QProtocol.Attributes;
using QProtocol.GenericDefines;
using QProtocol.Interfaces;
using QProtocol.JsonProperties;
using System;
using System.Collections.Generic;
using System.Linq;

namespace QProtocol.InternalChannels.XMC23X
{
[Serializable]
public class XMC23XModule : Item
{
public XMC23XModule(Item itemInfo)
: base(itemInfo)
{
}

public const System.Int32 MaxNumberOfChannels = 63;

public enum OperationMode
{
[RestfulProperties("Disabled")]
Disabled = 0,

[RestfulProperties("Enabled")]
Enabled = 1,
}

public enum DevicePresence
{
[RestfulProperties("Absent")]
Absent = 0,

[RestfulProperties("Present")]
Present = 1,
}

public enum DeviceType
{
[RestfulProperties("Invalid")]
Invalid = 0,

[RestfulProperties("Config")]
Config = 1,

[RestfulProperties("CAN FD")]
CanFd = 2,

[RestfulProperties("GPS")]
Gps = 3,

[RestfulProperties("Headset PCM Stereo")]
HeadsetPcmStereo = 4,
}

public struct ConfiguredChannelsIDAsUInt32
{
public const UInt32 UpperLimit = 4294967295;
public const UInt32 LowerLimit = 0;
}

[Serializable]
public class ConfiguredChannels
{
[RestfulProperties("Channel ID")]
public UInt32 ID { get; set; }

[RestfulProperties("Device Type")]
public DeviceType XMC23XDeviceType { get; set; }

[RestfulProperties("Device Presence")]
public DevicePresence DevicePresence { get; set; }
}

public interface ISettings
{
}

[Serializable]
public class XMC23XModuleOperationMode
{
[RestfulProperties("Operation Mode")]
public OperationMode OperationMode { get; set; } = OperationMode.Enabled;
}

[Serializable]
public class EnabledSettings : ISettings
{

[RestfulProperties("")]
public Int32 Reserved { get; set; }
}

[Serializable]
public class SettingsCollection<T>
where T : ISettings
{
public T Settings { get; set; }

public Data Data { get; set; }
}


public void PutItemSettings<T>(SettingsCollection<T> settings)
where T : ISettings
{
var jsonObject = new ItemSettings(this);
jsonObject.UpdateFromSettings(settings.Settings);
jsonObject.UpdateFromData(settings.Data);
base.PutItemSettings(jsonObject);
}

public SettingsCollection<T> GetItemSettings<T>()
where T : ISettings
{
var jsonObject = base.GetItemSettings();
return new SettingsCollection<T>
{
Settings = jsonObject.ConvertToSettings<T>(),
Data = jsonObject.ConvertToData()
};
}

public SettingsCollection<T> GetItemSettingsDefaults<T>()
where T : ISettings
{
var jsonObject = base.GetItemSettingsDefaults();
return new SettingsCollection<T>
{
Settings = jsonObject.ConvertToSettings<T>(),
Data = jsonObject.ConvertToData()
};
}

public void PutItemOperationMode(OperationMode operationMode)
{
var operationModeSettings = new ItemOperationMode(this)
{
Settings = Setting.ConvertFrom(new XMC23XModuleOperationMode() {OperationMode = operationMode}),
};

base.PutItemOperationMode(operationModeSettings);
}

public new OperationMode GetItemOperationMode()
{
var jsonObject = base.GetItemOperationMode();
return Setting.ConvertTo<XMC23XModuleOperationMode>(jsonObject.Settings).OperationMode;
}
}
}
41 changes: 41 additions & 0 deletions InternalModules/CAN/CAN42S2Module.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,44 @@ public class EnabledSettings : ISettings
{
}

[Serializable]
public class SettingsCollection<T>
where T : ISettings
{
public T Settings { get; set; }

public Data Data { get; set; }
}


public SettingsCollection<T> GetItemSettingsDefaults<T>()
where T : ISettings
{
var jsonObject = base.GetItemSettingsDefaults();
return new SettingsCollection<T>
{
Settings = jsonObject.ConvertToSettings<T>(),
Data = jsonObject.ConvertToData()
};
}

public new OperationMode GetItemOperationMode()
{
var jsonObject = base.GetItemOperationMode();
return Setting.ConvertTo<CAN42S2ModuleOperationMode>(jsonObject.Settings).OperationMode;
}

public SettingsCollection<T> GetItemSettings<T>()
where T : ISettings
{
var jsonObject = base.GetItemSettings();
return new SettingsCollection<T>
{
Settings = jsonObject.ConvertToSettings<T>(),
Data = jsonObject.ConvertToData()
};
}

public void PutItemOperationMode(OperationMode operationMode)
{
var operationModeSettings = new ItemOperationMode(this)
Expand All @@ -63,5 +95,14 @@ public void PutItemOperationMode(OperationMode operationMode)

base.PutItemOperationMode(operationModeSettings);
}

public void PutItemSettings<T>(SettingsCollection<T> settings)
where T : ISettings
{
var jsonObject = new ItemSettings(this);
jsonObject.UpdateFromSettings(settings.Settings);
jsonObject.UpdateFromData(settings.Data);
base.PutItemSettings(jsonObject);
}
}
}
3 changes: 3 additions & 0 deletions InternalModules/CHS/CHS42X4Channel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ public enum ChargeInputCoupling
{
[RestfulProperties("AC With 1 Hz Filter")]
AcWith1HzFilter = 0,

[RestfulProperties("AC")]
Ac = 1,
}

public interface ISettings
Expand Down
Loading
Loading