-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into 83525-Optional-Transient-Custom-Markers-vi…
…a-SQL-Race-API
- Loading branch information
Showing
12 changed files
with
439 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<configuration> | ||
<configSections> | ||
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /> | ||
</configSections> | ||
<nlog throwExceptions="true" xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance"> | ||
<!-- See http://nlog-project.org/wiki/Configuration_file for information on customising logging rules and outputs --> | ||
<targets async="true"> | ||
<target name="file" p4:type="File" archiveAboveSize="10485760" archiveNumbering="Sequence" autoFlush="true" concurrentWrites="true" keepFileOpen="true" createDirs="true" fileName="${specialfolder:MyDocuments}\McLaren Applied Technologies\ATLAS 10\Logs\HelloData.log" header="---------- Date: ${date:format=dd-MM-yyyy}, Windows User: ${windows-identity:userName=True:domain=True}, Machine Name: ${machinename} ----------" layout="${date:format=HH\:mm\:ss.fff}: ${uppercase:${level}} - ${message} ${onexception:${exception:format=tostring} | ${stacktrace}}" /> | ||
</targets> | ||
<rules> | ||
<logger minlevel="Trace" name="*" writeTo="file" /> | ||
</rules> | ||
</nlog> | ||
<startup> | ||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /> | ||
</startup> | ||
<runtime> | ||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-1.4.3.0" newVersion="1.4.3.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-1.0.115.5" newVersion="1.0.115.5" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.Reactive.Core" publicKeyToken="94bc3704cddfc263" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-3.0.3000.0" newVersion="3.0.3000.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-3.10.1.0" newVersion="3.10.1.0" /> | ||
</dependentAssembly> | ||
<dependentAssembly> | ||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> | ||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> | ||
</dependentAssembly> | ||
</assemblyBinding> | ||
</runtime> | ||
</configuration> |
50 changes: 50 additions & 0 deletions
50
MAT.SqlRace.ServerListener/MAT.SqlRace.ServerListener.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
<PropertyGroup> | ||
<TargetFramework>net6.0-windows</TargetFramework> | ||
<OutputType>Exe</OutputType> | ||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> | ||
<UseWindowsForms>true</UseWindowsForms> | ||
<ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<PackageReference Include="Autofac" Version="4.5.0" /> | ||
<PackageReference Include="AutoMapper" Version="6.0.2" /> | ||
<PackageReference Include="Google.Protobuf" Version="3.14.0" /> | ||
<PackageReference Include="IronSnappy" Version="1.3.0" /> | ||
<PackageReference Include="Irony" Version="1.2.0" /> | ||
<PackageReference Include="MAT.ATLAS.SupportFiles" Version="*" /> | ||
<PackageReference Include="MAT.OCS.Core" Version="2.1.15" /> | ||
<PackageReference Include="MAT.OCS.FFC" Version="1.5.0" /> | ||
<PackageReference Include="MAT.OCS.FFC.Configuration.Format" Version="1.5.0" /> | ||
<PackageReference Include="MAT.OCS.RDA" Version="2.1.15" /> | ||
<PackageReference Include="MAT.OCS.Utilities" Version="2.1.15" /> | ||
<PackageReference Include="MathNet.Numerics" Version="4.15.0" /> | ||
<PackageReference Include="MESL.SQLRace.API" Version="*" /> | ||
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3" /> | ||
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.3.1" /> | ||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.3.1" /> | ||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | ||
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="2.1.2" /> | ||
<PackageReference Include="NLog" Version="4.5.6" /> | ||
<PackageReference Include="prometheus-net" Version="4.2.0" /> | ||
<PackageReference Include="protobuf-net" Version="2.1.0" /> | ||
<PackageReference Include="Simple.Migrations" Version="0.9.19" /> | ||
<PackageReference Include="System.ComponentModel.Composition" Version="7.0.0" /> | ||
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" /> | ||
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.115.5" /> | ||
<PackageReference Include="System.Reactive" Version="4.4.1" /> | ||
<PackageReference Include="System.Runtime.Caching" Version="7.0.0" /> | ||
<PackageReference Include="System.Collections.Immutable" Version="6.0.0" /> | ||
<PackageReference Include="System.Reflection.Metadata" Version="6.0.1" /> | ||
<PackageReference Include="System.Resources.Extensions" Version="6.0.0" /> | ||
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" /> | ||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" /> | ||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" /> | ||
<PackageReference Include="System.ServiceModel.Primitives" Version="6.0.0" /> | ||
<PackageReference Include="System.ServiceModel.Http" Version="6.0.0" /> | ||
<PackageReference Include="System.ServiceModel.Duplex" Version="6.0.0" /> | ||
<PackageReference Include="System.ServiceModel.NetTcp" Version="6.0.0" /> | ||
<PackageReference Include="System.ServiceModel.Security" Version="6.0.0" /> | ||
<PackageReference Include="System.ServiceModel.Federation" Version="6.0.0" /> | ||
</ItemGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
using MAT.OCS.Core; | ||
using MESL.SqlRace.Common.Extensions; | ||
using MESL.SqlRace.Domain; | ||
using System; | ||
using System.Linq; | ||
using System.Threading; | ||
using System.Net; | ||
|
||
|
||
namespace MAT.SqlRace.ServerListenerLive | ||
{ | ||
/// <summary> | ||
/// Record live data to a local SqlRace (Sqlite) | ||
/// | ||
/// NOTE: | ||
/// If the session is in the state LiveNotInServer, | ||
/// make sure Server Listener port in ATLAS is different to the one specified here. | ||
/// </summary> | ||
internal class Program | ||
{ | ||
// The server listener configuration | ||
private const int ServerListenerPortNumber = 6565; | ||
private const string ServerListenerIpAddress = "127.0.0.1"; | ||
|
||
public static void Main(string[] args) | ||
{ | ||
var dataSource = @"C:\temp\livesession.ssndb"; | ||
Console.WriteLine(dataSource); | ||
|
||
/// connection strings are case and whitespace sensitive, the following format must be strightly followed for the Server Listener Protocol to successfully establish. | ||
/// SQLite: "DbEngine=SQLite;Data Source={dataSource};Pooling=false;" | ||
/// SQLServer: "server={dataSource};Initial Catalog={database};Trusted_Connection=True;" | ||
var connectionString = $@"DbEngine=SQLite;Data Source={dataSource};Pooling=false;"; | ||
var sessionIdentifier = "Server Listener Live Demo"; | ||
|
||
Console.WriteLine("Initialising"); | ||
Core.Initialize(); | ||
|
||
Console.WriteLine("Setting up Server Listener Instance"); | ||
Core.ConfigureServer(true, new IPEndPoint(IPAddress.Parse(ServerListenerIpAddress),ServerListenerPortNumber)); | ||
var sessionManager = SessionManager.CreateSessionManager(); | ||
var recordersConfiguration = RecordersConfiguration.GetRecordersConfiguration(); | ||
recordersConfiguration.AddConfiguration(Guid.NewGuid(), "SQLite", dataSource, dataSource, connectionString, false); | ||
|
||
|
||
Console.WriteLine("Creating new Session"); | ||
var clientSession = sessionManager.CreateSession(connectionString, SessionKey.NewKey(), sessionIdentifier, DateTime.Now, "Session"); | ||
var session = clientSession.Session; | ||
try | ||
{ | ||
var parameter = SessionHelper.CreateSessionConfigurationForOneParameter(session); | ||
|
||
for (int i = 0; i < 1000; i++) | ||
{ | ||
var newTimestamp = DateTime.Now.ToNanoseconds(); | ||
var newValue = Math.Sin(i / 360.0); | ||
|
||
session.AddChannelData( | ||
parameter.ChannelIds.FirstOrDefault(), | ||
newTimestamp, | ||
1, //value of 1 param | ||
BitConverter.GetBytes(newValue)); | ||
Thread.Sleep(100); | ||
Console.WriteLine($"Written sample. Timestamp: {newTimestamp.ToTimeString()} Value:{newValue}"); | ||
} | ||
} | ||
catch (Exception ex) | ||
{ | ||
Console.WriteLine(ex.ToString()); | ||
} | ||
finally | ||
{ | ||
session.EndData(); | ||
clientSession.Close(); | ||
} | ||
} | ||
|
||
|
||
} | ||
} |
Oops, something went wrong.