/// <param name='operations'> /// Reference to the IOTGateway.IFieldGateway. /// </param> /// <param name='telemetry'> /// Required. /// </param> public static object SendTelemetryByTelemetry(this IFieldGateway operations, TelemetryData telemetry) { return Task.Factory.StartNew((object s) => { return ((IFieldGateway)s).SendTelemetryByTelemetryAsync(telemetry); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }
public void RecordTelemetryData(TelemetryData telemetryData) { var deviceId = telemetryData.DeviceId; var telemetryDataSinks = _telemetryDataSinkResolver.ResolveIncoming(deviceId); if (!telemetryDataSinks.Any()) { throw new ArgumentException($"No incoming telemetry data sinks registered for {deviceId}"); } RecordTelemetryDataWorker(telemetryDataSinks, telemetryData); }
public void TelemetryDataChanged(TelemetryData tData) { Debug.WriteLine("TelemetryDataChanged event received", "VideoForm"); _telemetryData = tData; VideoFeed.HUDSpeed = _telemetryData.SpeedX; VideoFeed.HUDRoll = _telemetryData.Roll; VideoFeed.HUDPitch = _telemetryData.Pitch; VideoFeed.HUDAltitude = _telemetryData.Altitude; VideoFeed.HUDHeading = _telemetryData.HeadingMagN; VideoFeed.HUDYaw = _telemetryData.Yaw; Debug.WriteLine(_telemetryData.Yaw); }
public static void SetPresence(TelemetryData data) { discordClient.SetPresence(new RichPresence() { Details = VehicleDB.Instance.GetVehicle(data.CarOrdinal).GetVehicleInfo(), State = $"[{data.CarClass.ToString()} | {data.CarPI}] - {data.GetMPH()} mph", Assets = new Assets() { LargeImageKey = "fm" } }); }
public void Startup() { _telemetryData = new TelemetryData(); _timingData = new TimingData(); _analysisData = new AnalysisManager(); lsvPlugins.Items.Clear(); _plugins = new Dictionary <string, IGame>(); ICollection <IGame> plugins = PluginLoader <IGame> .LoadPlugins("Plugins"); if (plugins.Count > 0) { foreach (var item in plugins) { _plugins.Add(item.Name, item); string[] lvText = new string[4]; lvText[0] = ""; lvText[1] = item.DisplayName; lvText[2] = item.Version; ListViewItem lvItem = new ListViewItem(lvText); Bitmap pluginIcon = item.Icon; if (pluginIcon != null) { imageListPlugins.Images.Add(item.Name, pluginIcon); lvItem.ImageKey = item.Name; } else { lvItem.ImageKey = "missing"; } lsvPlugins.Items.Add(lvItem); } _processMonitor = new ProcessMonitor(_plugins); _processMonitor.GameLoadedEvent += new ProcessMonitor.GameLoaded(GameLoaded); _processMonitor.GameClosedEvent += new ProcessMonitor.GameClosed(GameClosed); _processMonitor.StartProcessMonitor(); _ipAddress = NetHelpers.GetLocalIpAddress(); StartWebServer(); } else { MessageBox.Show("No Plugins Were Found, Application will now exit", "Plugin Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } }
public async void SendMessage(TelemetryData telemetryData) { try { var message = JsonConvert.SerializeObject(telemetryData); await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(message))); } catch (Exception exception) { throw exception; } }
public override void Record(TelemetryData message) { var timeSeriesRepository = new GenericRepository <TimeSeriesTableEntity>(TableEntityOperation, TableName); var partitionKey = message.Time.ToString("yyyy-MM-dd") + "-" + message.DeviceId; var rowKey = message.Time.Ticks.ToString(CultureInfo.InvariantCulture); var partitionKeyRowKeyPair = new PartionKeyRowKeyPair(partitionKey, rowKey); var timeSeriesTableEntity = new TimeSeriesTableEntity(partitionKeyRowKeyPair, message.Payload); timeSeriesRepository.Create(timeSeriesTableEntity); }
/// <summary> /// Performs upkeep tasks at a regular interval. /// </summary> /// <param name="sender">The object that triggered this event.</param> /// <param name="e">State information for processing the event.</param> internal static async void Tick(object sender, EventArgs e) { TelemetryData telemetry = GameConnectHandler.Telemetry; if (telemetry == null || client == null) { return; } DataTransfer.DatabaseExport jsonOutput = new DataTransfer.DatabaseExport(telemetry); MemoryStream outStream = new MemoryStream(); using (StreamWriter streamWriter = new StreamWriter(outStream, new UTF8Encoding(false), 1024, true)) using (JsonTextWriter jsonTextWriter = new JsonTextWriter(streamWriter)) { JsonSerializer codec = new JsonSerializer(); codec.Serialize(jsonTextWriter, jsonOutput); jsonTextWriter.Flush(); } outStream.Seek(0, SeekOrigin.Begin); HttpContent content = new StreamContent(outStream); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); MainWindow window = (MainWindow)Application.Current.MainWindow; try { HttpResponseMessage response = await client.PostAsync(Properties.Settings.Default.RemotePostEndpoint, content); if (response.IsSuccessStatusCode) { ++updatesSent; window.UpdateCountLabel.Content = updatesSent.ToString(); window.serverConnectedStoplight.Fill = (Brush)Application.Current.Resources["greenStoplight"]; } else { window.serverConnectedStoplight.Fill = (Brush)Application.Current.Resources["yellowStoplight"]; } } catch (HttpRequestException) { window.serverConnectedStoplight.Fill = (Brush)Application.Current.Resources["yellowStoplight"]; } catch (TaskCanceledException) { } }
string getTelemetryString() { bool homeOffice = Properties.Settings.Default.IsHomeOfficeDetectionOn; bool deskBandIsMonthType = Properties.Settings.Default.DeskBandShowsMonthBalance; bool deskBandIsShown = DeskBandFinder.FindTimeMergeDeskBandWindow() != IntPtr.Zero; var data = new TelemetryData(); data.Add("HomeOffice", homeOffice ? "yes" : "no"); data.Add("DeskBandType", deskBandIsMonthType ? "month" : "day"); data.Add("DeskBandShown", deskBandIsShown ? "yes" : "no"); return(data.Serialize()); }
public void Call_TraceTrace_with_Error_level_when_TrackError_is_called_with_single_empty_data() { var telemetry = new Telemetry(_client); var message = "TraceMessage"; var errorData = new TelemetryData(); telemetry.TrackError(message, errorData); _client.Received().TrackTrace(message, TraceSeverity.Error, Arg.Is <Dictionary <string, string> >(data => data != null && data.Count == 0)); }
public void CreatePayload_NumberOfDaysSinceInstallation_On_InstallationDate() { var now = new DateTime(2017, 7, 25); var telemetryData = new TelemetryData { InstallationDate = now.Subtract(new TimeSpan(23, 59, 59)) // Less than a day }; var result = TelemetryHelper.CreatePayload(telemetryData, now, isConnected: true); result.NumberOfDaysSinceInstallation.Should().Be(0); }
public Task <bool> PostDeviceData(int deviceId, int dataValue) { var telemetryData = new TelemetryData { DeviceConfigId = deviceId, DataValue = dataValue }; _dbContext.TelemetryDatas.Add(telemetryData); _dbContext.SaveChanges(); return(Task.FromResult(true)); }
private void _interactor_DataReceived(object sender, TelemetryData data) { // this is where the telemetry is received, the data object contais all the infos _model.ControlHandbrake = data.control.handbrake; _model.StageDistance = data.stage.distanceToEnd; _model.StageTime = TimeSpan.FromSeconds(data.stage.raceTime).ToString("%m'.'ss'.'f"); _model.ControlGear = Gears[data.control.gear]; _model.ControlThrottle = data.control.throttle; _model.ControlBrakePressure = data.control.footbrakePressure; _model.CarSpeed = (int)Math.Round(data.car.speed); _model.EngineRpm = data.car.engine.rpm; _model.RpmMax = Convert.ToDecimal(10000 - data.car.engine.rpm); }
public void CreatePayload_NumberOfDaysSinceInstallation_Day_After_InstallationDate() { var now = new DateTime(2017, 7, 25); var telemetryData = new TelemetryData { InstallationDate = now.AddDays(-1) }; var result = TelemetryHelper.CreatePayload(telemetryData, now, isConnected: true); result.NumberOfDaysSinceInstallation.Should().Be(1); }
public static TelemetryDataHandlerResult ProcessConnectedRequest(TelemetryData telemetry, NameValueCollection postData) { TelemetryDataHandlerResult result; lock (telemetry) { result = new TelemetryDataHandlerResult() { Data = telemetry }; } return(result); }
/// <summary> /// Execute the task. /// </summary> /// <param name="Job">Information about the current job</param> /// <param name="BuildProducts">Set of build products produced by this node.</param> /// <param name="TagNameToFileSet">Mapping from tag names to the set of files they include</param> /// <returns>True if the task succeeded</returns> public override bool Execute(JobContext Job, HashSet <FileReference> BuildProducts, Dictionary <string, HashSet <FileReference> > TagNameToFileSet) { // If we're merging telemetry from the child process, get a temp filename for it FileReference TelemetryFile = null; if (Parameters.MergeTelemetryWithPrefix != null) { TelemetryFile = FileReference.Combine(CommandUtils.RootDirectory, "Engine", "Intermediate", "UAT", "Telemetry.json"); DirectoryReference.CreateDirectory(TelemetryFile.Directory); } // Run the command StringBuilder CommandLine = new StringBuilder(); if (Parameters.Arguments == null || (!Parameters.Arguments.CaseInsensitiveContains("-p4") && !Parameters.Arguments.CaseInsensitiveContains("-nop4"))) { CommandLine.AppendFormat("{0} ", CommandUtils.P4Enabled ? "-p4" : "-nop4"); } if (Parameters.Arguments == null || (!Parameters.Arguments.CaseInsensitiveContains("-submit") && !Parameters.Arguments.CaseInsensitiveContains("-nosubmit"))) { CommandLine.AppendFormat("{0} ", CommandUtils.AllowSubmit ? "-submit" : "-nosubmit"); } CommandLine.Append(Parameters.Name); if (!String.IsNullOrEmpty(Parameters.Arguments)) { CommandLine.AppendFormat(" {0}", Parameters.Arguments); } if (TelemetryFile != null) { CommandLine.AppendFormat(" -Telemetry={0}", CommandUtils.MakePathSafeToUseWithCommandLine(TelemetryFile.FullName)); } try { CommandUtils.RunUAT(CommandUtils.CmdEnv, CommandLine.ToString()); } catch (CommandUtils.CommandFailedException) { return(false); } // Merge in any new telemetry data that was produced if (Parameters.MergeTelemetryWithPrefix != null) { TelemetryData NewTelemetry; if (TelemetryData.TryRead(TelemetryFile.FullName, out NewTelemetry)) { CommandUtils.Telemetry.Merge(Parameters.MergeTelemetryWithPrefix, NewTelemetry); } } return(true); }
public static HeartBeatDataHandlerResult ProcessConnectedRequest(TelemetryData telemetry, NameValueCollection postData) { HeartBeatDataHandlerResult result = new HeartBeatDataHandlerResult() { Game = null }; if (telemetry.Game != null) { result.Game = telemetry.Game; } return(result); }
private void OnUdpReceive(IAsyncResult ar) { byte[] data = udpClient.EndReceive(ar, ref ep); TelemetryData telemetryData = CreateDataStruct(data); if (telemetryData.CarOrdinal != 0) { LastUpdate = telemetryData; } #if DEBUG // System.IO.File.WriteAllText("output.json", Newtonsoft.Json.JsonConvert.SerializeObject(LastUpdate, Newtonsoft.Json.Formatting.Indented)); #endif udpClient.BeginReceive(new AsyncCallback(OnUdpReceive), null); }
/// <summary> /// 傳送溫度資訊 /// </summary> public async Task SendTelemetryData(double temperature) { // 設定資料 TelemetryData data = new TelemetryData(); data.Temperature = temperature; data.DeviceId = DeviceId; // 傳送訊息 var messageString = JsonConvert.SerializeObject(data); var message = new Message(Encoding.UTF8.GetBytes(messageString)); await Client.SendEventAsync(message); }
public static void SetPresence(TelemetryData data) { discordClient.SetPresence(new RichPresence() { Details = VehicleDB.Instance.GetVehicle(data.CarOrdinal).GetVehicleInfo(), State = $"[{data.CarClass.ToString()} | {data.CarPI}] - {data.GetMPH()} mph", Timestamps = elapsedTime, Assets = new Assets() { LargeImageKey = "forza-horizon-4-1024", SmallImageKey = "h4-small" } }); }
public void CreatePayload_NumberOfDaysSinceInstallation_On_InstallationDate() { var now = new DateTime(2017, 7, 25); var telemetryData = new TelemetryData { InstallationDate = now.Subtract(new TimeSpan(23, 59, 59)) // Less than a day }; var binding = CreateConfiguration(SonarLintMode.LegacyConnected, "http://localhost"); var result = TelemetryHelper.CreatePayload(telemetryData, now, binding); result.NumberOfDaysSinceInstallation.Should().Be(0); }
public Task <object> ReceiveAsync(Action <IList <object> > onSuccess = null, Action <IList <object>, Exception> onError = null, Dictionary <string, object> args = null) { Task.Delay(5000); return(Task <object> .Run(() => { TelemetryData sensorEvent = new TelemetryData() { Device = "DEVICE001", Temperature = DateTime.Now.Minute, }; return (object)sensorEvent; })); }
private void CollectSensorData() { var measurements = new List<SensorData>(); var tasks = _sensors.ToList().Select(async sensor => { var measurement = await sensor.TakeMeasurement(); measurements.Add(measurement); measurement.Measurements.ToList().ForEach(kvp => _logger.Log($"{kvp.Key}: {kvp.Value}\n\n")); }).ToList(); Task.WhenAll(tasks).Wait(); var telemetry = new TelemetryData("testDevice", measurements.ToArray()); _database.AddTelemetryData(telemetry); }
public static void TraceData(TelemetryData data) { var time = data.TimestampsNanos; for (int i = 0; i < data.Parameters.Length; i++) { Trace.WriteLine($"Parameter[{i}]:"); var vCar = data.Parameters[i].AvgValues; for (var j = 0; j < time.Length; j++) { var fromMilliseconds = TimeSpan.FromMilliseconds(time[j].NanosToMillis()); Trace.WriteLine($"{fromMilliseconds:hh\\:mm\\:ss\\.fff}, { new string('.', (int)(50 * vCar[j])) }"); } } }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } TelemetryData = await _context.TelemetryData.FirstOrDefaultAsync(m => m.IdTelemetryData == id); if (TelemetryData == null) { return(NotFound()); } return(Page()); }
public void CreatePayload_StandaloneMode_ServerNotificationsAreNotSent() { var binding = BindingConfiguration.Standalone; var telemetryData = new TelemetryData { ServerNotifications = new ServerNotifications { IsDisabled = false } }; var result = TelemetryHelper.CreatePayload(telemetryData, new DateTimeOffset(), binding, null); result.ServerNotifications.Should().BeNull(); }
public void CreatePayload_NumberOfDaysSinceInstallation_Day_After_InstallationDate() { var now = new DateTime(2017, 7, 25); var telemetryData = new TelemetryData { InstallationDate = now.AddDays(-1) }; var binding = CreateConfiguration(SonarLintMode.Connected, "http://localhost"); var result = TelemetryHelper.CreatePayload(telemetryData, now, binding); result.NumberOfDaysSinceInstallation.Should().Be(1); }
private void Telemetry_DataReady(object sender, TelemetryEventArgs e) { DisplaySensorReadings(e); var telemetryData = new TelemetryData() { DeviceId = deviceId, Temperature = e.Temperature, Humidity = e.Humidity }; var telemetryMessage = MessageHelper.Serialize(telemetryData); deviceClient.SendEventAsync(telemetryMessage); }
public static ConnectedDataHandlerResult ProcessConnectedRequest(TelemetryData telemetry, NameValueCollection postData) { ConnectedDataHandlerResult result = new ConnectedDataHandlerResult() { Result = false }; if (telemetry.Game != null) { result.Connected = true; result.Name = telemetry.Game; result.Description = telemetry.Description; } return(result); }
public void Call_TraceTrace_with_Error_level_when_TrackError_is_called_with_single_one_data() { var telemetry = new Telemetry(_client); var message = "TraceMessage"; var errorDataA = new TelemetryData(); errorDataA["A"] = "X"; var errorDataB = new TelemetryData(); errorDataA["B"] = "Y"; telemetry.TrackError(message, errorDataA, errorDataB); _client.Received().TrackTrace(message, TraceSeverity.Error, Arg.Is <Dictionary <string, string> >(data => data != null && data.Count == 2 && data["A"] == "X" && data["B"] == "Y")); }
public void SetCurrentFrame(int frameIdx) { if (_selectedFrameIdx != frameIdx) { var frameCountForLap = TelemetryData.GetLapFrameCount(_selectedLapIdx); _selectedFramePercent = (float)frameIdx / (float)frameCountForLap; _selectedFrameX = (int)(graphPanel.Width * _selectedFramePercent); UpdateSeriesListValues(frameIdx); _selectedFrameIdx = frameIdx; // to refresh the selected frame indicator RedrawGraph(); } }
static TelemetryData GenerateMessage(int seq, string message) { TelemetryData msg = new TelemetryData(); msg.Random(deviceId, string.Format("{0}{1}", DateTime.UtcNow.ToString("yyyymmdd"), seq.ToString("0000000")), message, min, max); return msg; }
public static byte[] WrapData(TelemetryData data) { throw new NotImplementedException(); }
/// <param name='operations'> /// Reference to the IOTGateway.IFieldGateway. /// </param> /// <param name='telemetry'> /// Required. /// </param> /// <param name='cancellationToken'> /// Cancellation token. /// </param> public static async Task<object> SendTelemetryByTelemetryAsync(this IFieldGateway operations, TelemetryData telemetry, CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { Microsoft.Rest.HttpOperationResponse<object> result = await operations.SendTelemetryByTelemetryWithOperationResponseAsync(telemetry, cancellationToken).ConfigureAwait(false); return result.Body; }
private void ReceiveAllImpl() { log.Info("Input stream parsing has began."); Byte[] buffer = new Byte[2048]; Int32 readed = socket.Receive(buffer); while (readed > 0) { String receivedString = Encoding.ASCII.GetString(buffer, 0, readed); // Ищем тип сообщения. Должен быть первой буквой. Char messageType = receivedString[0]; receivedString = receivedString.Substring(2); switch (messageType) { case 'I': InitData initData = new InitData(receivedString); log.InfoFormat("Init: {0}", initData); break; case 'T': TelemetryData teleData = new TelemetryData(receivedString); log.InfoFormat("Telemetry: {0}", teleData); break; case 'E': break; case 'B': break; case 'C': break; case 'K': break; case 'S': break; default: throw new ArgumentException("Illegal message type " + messageType + "."); } readed = socket.Receive(buffer); } log.Info("Input stream parsing has finished."); }
private async void sendDeviceTelemetryData() { TelemetryData data = new TelemetryData(); data.DeviceId = deviceId; data.Temperature = Temperature + 0.55; data.Humidity = Humidity + 0.55; data.ExternalTemperature = ExternalTemperature + 0.55; try { var msg = new Message(Serialize(data)); if (deviceClient != null) { await deviceClient.SendEventAsync(msg); } } catch (System.Exception e) { Debug.Write("Exception while sending device telemetry data :\n" + e.Message.ToString()); } Debug.Write("Sent telemetry data to IoT Suite\nTemperature=" + string.Format("{0:0.00}", Temperature) + "\nHumidity=" + string.Format("{0:0.00}", Humidity)); }