Skip to content

Commit ba83b04

Browse files
Merge pull request #94 from MEAT-Inc/bugfix/SWRAP-16/SWRAP-16-wrapper-unit-tests
Simulation Upgrades
2 parents 22f2b3c + 4ee0878 commit ba83b04

11 files changed

Lines changed: 172 additions & 39 deletions

File tree

SharpAutoId/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
[assembly: Guid("73552094-035A-4DFB-BEC4-5116EC7993EF")]
2020

2121
// Version information
22-
[assembly: AssemblyVersion("0.4.4.135")]
23-
[assembly: AssemblyFileVersion("0.4.4.135")]
22+
[assembly: AssemblyVersion("0.4.4.137")]
23+
[assembly: AssemblyFileVersion("0.4.4.137")]
2424
[assembly: NeutralResourcesLanguageAttribute( "en-US" )]
2525

SharpAutoId/SharpAutoId.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<Version>2.7.8.334</Version>
6666
</PackageReference>
6767
<PackageReference Include="SharpWrapper">
68-
<Version>6.1.10.468</Version>
68+
<Version>6.1.11.469</Version>
6969
</PackageReference>
7070
</ItemGroup>
7171
<ItemGroup />

SharpExpressions/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
[assembly: Guid("73552094-035A-4DFB-BEC4-5116EC7993EF")]
2020

2121
// Version information
22-
[assembly: AssemblyVersion("0.5.12.212")]
23-
[assembly: AssemblyFileVersion("0.5.12.212")]
22+
[assembly: AssemblyVersion("0.5.12.220")]
23+
[assembly: AssemblyFileVersion("0.5.12.220")]
2424
[assembly: NeutralResourcesLanguageAttribute( "en-US" )]
2525

SharpExpressions/SharpExpressions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
<Version>2.7.8.334</Version>
7979
</PackageReference>
8080
<PackageReference Include="SharpWrapper">
81-
<Version>6.1.10.468</Version>
81+
<Version>6.1.11.469</Version>
8282
</PackageReference>
8383
</ItemGroup>
8484
<ItemGroup />

SharpPipes/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
[assembly: Guid("73552094-035A-4DFB-BEC4-5116EC7993EF")]
2020

2121
// Version information
22-
[assembly: AssemblyVersion("0.2.4.39")]
23-
[assembly: AssemblyFileVersion("0.2.4.39")]
22+
[assembly: AssemblyVersion("0.2.4.40")]
23+
[assembly: AssemblyFileVersion("0.2.4.40")]
2424
[assembly: NeutralResourcesLanguageAttribute( "en-US" )]
2525

SharpSimulator/PassThruSimulationConfiguration.cs

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.IO;
1+
using System.Collections.Generic;
2+
using System.IO;
23
using System.Linq;
34
using System.Reflection;
45
using Newtonsoft.Json;
@@ -24,27 +25,31 @@ public class PassThruSimulationConfiguration
2425
private static ProtocolId[] _supportedProtocols; // Supported simulation default protocols
2526
private static PassThruSimulationConfiguration[] _supportedConfigurations; // Supported default simulation configurations
2627

27-
// Simulation reader base configuration values pulled from JSON or defined by the user
28-
public uint ReaderTimeout; // Timeout for each read routine
29-
public uint ReaderMsgCount; // The number of messages to read
30-
public uint ResponseTimeout; // The timeout for sending responses
31-
32-
// Basic Channel Configurations
33-
public BaudRate ReaderBaudRate; // Baudrate for the current channel
34-
public ProtocolId ReaderProtocol; // Protocol for the current channel
35-
public PassThroughConnect ReaderChannelFlags; // Flags for the current channel
36-
37-
// Reader configuration filters and IOCTLs
38-
public J2534Filter[] ReaderFilters; // Filters to apply to our reader channel
39-
public PassThruStructs.SConfigList ReaderConfigs; // The configurations to apply as IOCTLs for the channel
40-
4128
#endregion // Fields
4229

4330
#region Properties
4431

32+
// Name of this simulation configuration
33+
public string ConfigurationName { get; set; } // Name of the configuration. Defaults to protocol
34+
35+
// Simulation reader base configuration values pulled from JSON or defined by the user
36+
public uint ReaderTimeout { get; set; } // Timeout for each read routine
37+
public uint ReaderMsgCount { get; set; } // The number of messages to read
38+
public uint ResponseTimeout { get; set; } // The timeout for sending responses
39+
40+
// Basic Channel Configurations
41+
public BaudRate ReaderBaudRate { get; set; } // Baudrate for the current channel
42+
public ProtocolId ReaderProtocol { get; set; } // Protocol for the current channel
43+
public PassThroughConnect ReaderChannelFlags { get; set; } // Flags for the current channel
44+
45+
// Reader configuration filters and IOCTLs
46+
public J2534Filter[] ReaderFilters { get; set; } // Filters to apply to our reader channel
47+
public PassThruStructs.SConfigList ReaderConfigs { get; set; } // The configurations to apply as IOCTLs for the channel
48+
4549
// List of all configurations and all supported protocols for playback during simulations
4650
public static ProtocolId[] SupportedProtocols => _supportedProtocols ??= _loadSupportedProtocols();
4751
public static PassThruSimulationConfiguration[] SupportedConfigurations => _supportedConfigurations ??= _loadSupportedConfigurations();
52+
4853
#endregion // Properties
4954

5055
#region Structs and Classes
@@ -55,7 +60,10 @@ public class PassThruSimulationConfiguration
5560
/// <summary>
5661
/// Builds a new configuration object and sets defaults to null/empty
5762
/// </summary>
58-
public PassThruSimulationConfiguration(ProtocolId ProtocolInUse, BaudRate BaudRate)
63+
/// <param name="ProtocolInUse">Protocol for the configuration</param>
64+
/// <param name="BaudRate">BaudRate of the simulation</param>
65+
/// <param name="ConfigurationName">Optional name of our configuration</param>
66+
public PassThruSimulationConfiguration(ProtocolId ProtocolInUse, BaudRate BaudRate, string ConfigurationName = null)
5967
{
6068
// Setup a new configuration logger if possible
6169
_configurationLogger ??= new SharpLogger(LoggerActions.UniversalLogger);
@@ -64,6 +72,10 @@ public PassThruSimulationConfiguration(ProtocolId ProtocolInUse, BaudRate BaudRa
6472
this.ReaderBaudRate = BaudRate;
6573
this.ReaderProtocol = ProtocolInUse;
6674

75+
// Configure the name of the simulation configuration
76+
this.ConfigurationName = !string.IsNullOrWhiteSpace(ConfigurationName)
77+
? ConfigurationName : $"{this.ReaderProtocol}_{this.ReaderProtocol}";
78+
6779
// Store basic values here
6880
this.ReaderMsgCount = 1;
6981
this.ReaderTimeout = 100;
@@ -74,6 +86,26 @@ public PassThruSimulationConfiguration(ProtocolId ProtocolInUse, BaudRate BaudRa
7486
this.ReaderFilters = new J2534Filter[10];
7587
this.ReaderConfigs = new PassThruStructs.SConfigList(0);
7688
}
89+
90+
// ------------------------------------------------------------------------------------------------------------------------------------------
91+
92+
/// <summary>
93+
/// Gets an auto ID routine for the given protocol value.
94+
/// </summary>
95+
/// <param name="ConfigurationName">Name of the configuration being returned</param>
96+
/// <returns>Routine matching the given protocol or null</returns>
97+
public static PassThruSimulationConfiguration LoadSimulationConfig(string ConfigurationName)
98+
{
99+
// Find our routine.
100+
var RoutineLocated = SupportedConfigurations.FirstOrDefault(RoutineObj => RoutineObj.ConfigurationName == ConfigurationName);
101+
_configurationLogger.WriteLog(
102+
RoutineLocated == null ? "NO CONFIG WAS FOUND! RETURNING NULL!" : $"RETURNING CONFIG \"{ConfigurationName}\" NOW...",
103+
RoutineLocated == null ? LogType.ErrorLog : LogType.InfoLog
104+
);
105+
106+
// Return the located routine here
107+
return RoutineLocated;
108+
}
77109
/// <summary>
78110
/// Gets an auto ID routine for the given protocol value.
79111
/// </summary>

SharpSimulator/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
[assembly: Guid("183F7A6A-E107-4209-8A11-044A08DEAEE4")]
2020

2121
// Version information
22-
[assembly: AssemblyVersion("0.12.2.245")]
23-
[assembly: AssemblyFileVersion("0.12.2.245")]
22+
[assembly: AssemblyVersion("0.12.5.253")]
23+
[assembly: AssemblyFileVersion("0.12.5.253")]
2424
[assembly: NeutralResourcesLanguageAttribute( "en-US" )]
2525

SharpSimulator/Properties/DefaultSimConfigurations.json

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
],
55
"SimulationConfigurations": [
66
{
7+
"ConfigurationName": "ISO15765 - 11 Bit (Pass All)",
78
"ReaderTimeout": 100,
89
"ReaderMsgCount": 10,
910
"ResponseTimeout": 1000,
@@ -12,7 +13,7 @@
1213
"ReaderProtocol": "ISO15765",
1314
"ReaderFilters": [
1415
{
15-
"FilterId": 0,
16+
"FilterId": 0,
1617
"FilterFlags": "NO_TX_FLAGS",
1718
"FilterMask": "00 00 07 00",
1819
"FilterPattern": "00 00 07 00",
@@ -31,6 +32,106 @@
3132
}
3233
]
3334
}
35+
},
36+
{
37+
"ConfigurationName": "ISO15765 - 11 Bit (Flow Control)",
38+
"ReaderTimeout": 100,
39+
"ReaderMsgCount": 10,
40+
"ResponseTimeout": 1000,
41+
"ReaderBaudRate": 500000,
42+
"ReaderChannelFlags": "NO_CONNECT_FLAGS",
43+
"ReaderProtocol": "ISO15765",
44+
"ReaderFilters": [
45+
{
46+
"FilterId": 0,
47+
"FilterFlags": "ISO15765_FRAME_PAD",
48+
"FilterMask": "FF FF FF FF",
49+
"FilterPattern": "00 00 07 E0",
50+
"FilterFlowCtl": "00 00 07 E8",
51+
"FilterProtocol": "CAN",
52+
"FilterType": "FLOW_CONTROL_FILTER",
53+
"FilterStatus": "INITIALIZED"
54+
},
55+
{
56+
"FilterId": 0,
57+
"FilterFlags": "ISO15765_FRAME_PAD",
58+
"FilterMask": "FF FF FF FF",
59+
"FilterPattern": "00 00 07 E1",
60+
"FilterFlowCtl": "00 00 07 E9",
61+
"FilterProtocol": "CAN",
62+
"FilterType": "FLOW_CONTROL_FILTER",
63+
"FilterStatus": "INITIALIZED"
64+
},
65+
{
66+
"FilterId": 0,
67+
"FilterFlags": "ISO15765_FRAME_PAD",
68+
"FilterMask": "FF FF FF FF",
69+
"FilterPattern": "00 00 07 E2",
70+
"FilterFlowCtl": "00 00 07 EA",
71+
"FilterProtocol": "CAN",
72+
"FilterType": "FLOW_CONTROL_FILTER",
73+
"FilterStatus": "INITIALIZED"
74+
},
75+
{
76+
"FilterId": 0,
77+
"FilterFlags": "ISO15765_FRAME_PAD",
78+
"FilterMask": "FF FF FF FF",
79+
"FilterPattern": "00 00 07 E3",
80+
"FilterFlowCtl": "00 00 07 EB",
81+
"FilterProtocol": "CAN",
82+
"FilterType": "FLOW_CONTROL_FILTER",
83+
"FilterStatus": "INITIALIZED"
84+
},
85+
{
86+
"FilterId": 0,
87+
"FilterFlags": "ISO15765_FRAME_PAD",
88+
"FilterMask": "FF FF FF FF",
89+
"FilterPattern": "00 00 07 E4",
90+
"FilterFlowCtl": "00 00 07 EC",
91+
"FilterProtocol": "CAN",
92+
"FilterType": "FLOW_CONTROL_FILTER",
93+
"FilterStatus": "INITIALIZED"
94+
},
95+
{
96+
"FilterId": 0,
97+
"FilterFlags": "ISO15765_FRAME_PAD",
98+
"FilterMask": "FF FF FF FF",
99+
"FilterPattern": "00 00 07 E5",
100+
"FilterFlowCtl": "00 00 07 ED",
101+
"FilterProtocol": "CAN",
102+
"FilterType": "FLOW_CONTROL_FILTER",
103+
"FilterStatus": "INITIALIZED"
104+
},
105+
{
106+
"FilterId": 0,
107+
"FilterFlags": "ISO15765_FRAME_PAD",
108+
"FilterMask": "FF FF FF FF",
109+
"FilterPattern": "00 00 07 E6",
110+
"FilterFlowCtl": "00 00 07 EE",
111+
"FilterProtocol": "CAN",
112+
"FilterType": "FLOW_CONTROL_FILTER",
113+
"FilterStatus": "INITIALIZED"
114+
},
115+
{
116+
"FilterId": 0,
117+
"FilterFlags": "ISO15765_FRAME_PAD",
118+
"FilterMask": "FF FF FF FF",
119+
"FilterPattern": "00 00 07 E7",
120+
"FilterFlowCtl": "00 00 07 EF",
121+
"FilterProtocol": "CAN",
122+
"FilterType": "FLOW_CONTROL_FILTER",
123+
"FilterStatus": "INITIALIZED"
124+
}
125+
],
126+
"ReaderConfigs": {
127+
"NumberOfParams": 1,
128+
"ConfigList": [
129+
{
130+
"SConfigParamId": 32768,
131+
"SConfigValue": 1
132+
}
133+
]
134+
}
34135
}
35136
]
36137
}

SharpSimulator/SharpSimulator.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,13 @@
6969
</ItemGroup>
7070
<ItemGroup>
7171
<PackageReference Include="SharpExpressions">
72-
<Version>0.5.12.210</Version>
72+
<Version>0.5.12.216</Version>
7373
</PackageReference>
7474
<PackageReference Include="SharpLogger">
7575
<Version>2.7.8.334</Version>
7676
</PackageReference>
7777
<PackageReference Include="SharpWrapper">
78-
<Version>6.1.10.468</Version>
78+
<Version>6.1.11.469</Version>
7979
</PackageReference>
8080
</ItemGroup>
8181
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

SharpWrapper/J2534Objects/J2534Filter.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ namespace SharpWrapper.J2534Objects
1212
public class J2534Filter : IComparable
1313
{
1414
// Filter Type info
15-
public TxFlags FilterFlags;
16-
public FilterDef FilterType;
17-
public ProtocolId FilterProtocol;
18-
public SharpSessionStatus FilterStatus;
15+
public TxFlags FilterFlags { get; set; }
16+
public FilterDef FilterType { get; set; }
17+
public ProtocolId FilterProtocol { get; set; }
18+
public SharpSessionStatus FilterStatus { get; set; }
1919

2020
// Filter values.
21-
public uint FilterId;
22-
public string FilterMask;
23-
public string FilterPattern;
24-
public string FilterFlowCtl;
21+
public uint FilterId { get; set; }
22+
public string FilterMask { get; set; }
23+
public string FilterPattern { get; set; }
24+
public string FilterFlowCtl { get; set; }
2525

2626
// ---------------------------------------------------------------------------------------------------------------
2727

0 commit comments

Comments
 (0)