Exemple #1
0
		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();
			}
		}
Exemple #2
0
        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();
            }
        }