public override void Run() { EmitTelemetry sbLite = new EmitTelemetry(); while (true) { Sleep(TimeSpan.FromMilliseconds(50)); if (!SenseHat.Sensors.ImuSensor.Update()) { continue; } if (!SenseHat.Sensors.Acceleration.HasValue) { continue; } Color[,] colors = CreateGravityBlobScreen(SenseHat.Sensors.Acceleration.Value, sbLite.TippingPoint); var alarmTrip = (SenseHat.Sensors.Acceleration.Value.Z < sbLite.TippingPoint) ? 1 : 0; var telemetryDataPoint = new { id = "GravityBlob", time = DateTime.UtcNow.ToString("o"), X = SenseHat.Sensors.Acceleration.Value.X, Y = SenseHat.Sensors.Acceleration.Value.Y, Z = SenseHat.Sensors.Acceleration.Value.Z, StabilityAlert = alarmTrip }; sbLite.Emit(telemetryDataPoint); SenseHat.Display.CopyColorsToScreen(colors); SenseHat.Display.Update(); } }
public override void Run() { EmitTelemetry sbLite = new EmitTelemetry(); while (true) { Sleep(TimeSpan.FromMilliseconds(50)); if (!SenseHat.Sensors.ImuSensor.Update()) { continue; } if (!SenseHat.Sensors.Acceleration.HasValue) { continue; } Color[,] colors = CreateGravityBlobScreen(SenseHat.Sensors.Acceleration.Value, sbLite.TippingPoint); var alarmTrip = (SenseHat.Sensors.Acceleration.Value.Z < sbLite.TippingPoint) ? 1 : 0; var telemetryDataPoint = new { id = "GravityBlob", time = DateTime.UtcNow.ToString("o"), X = SenseHat.Sensors.Acceleration.Value.X, Y = SenseHat.Sensors.Acceleration.Value.Y, Z = SenseHat.Sensors.Acceleration.Value.Z, StabilityAlert = alarmTrip }; sbLite.Emit(telemetryDataPoint); SenseHat.Display.CopyColorsToScreen(colors); SenseHat.Display.Update(); } }