Meadow.Foundation.Sensors.Motion.Mag3110
1.3.4
See the version list below for details.
dotnet add package Meadow.Foundation.Sensors.Motion.Mag3110 --version 1.3.4
NuGet\Install-Package Meadow.Foundation.Sensors.Motion.Mag3110 -Version 1.3.4
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Mag3110" Version="1.3.4" />
paket add Meadow.Foundation.Sensors.Motion.Mag3110 --version 1.3.4
#r "nuget: Meadow.Foundation.Sensors.Motion.Mag3110, 1.3.4"
// Install Meadow.Foundation.Sensors.Motion.Mag3110 as a Cake Addin
#addin nuget:?package=Meadow.Foundation.Sensors.Motion.Mag3110&version=1.3.4
// Install Meadow.Foundation.Sensors.Motion.Mag3110 as a Cake Tool
#tool nuget:?package=Meadow.Foundation.Sensors.Motion.Mag3110&version=1.3.4
Meadow.Foundation.Sensors.Motion.Mag3110
Freescale MAG3110 I2C 3 axis magnetometer
The MAG3110 library is designed for the Wilderness Labs Meadow .NET IoT platform and is part of Meadow.Foundation.
The Meadow.Foundation peripherals library is an open-source repository of drivers and libraries that streamline and simplify adding hardware to your C# .NET Meadow IoT application.
For more information on developing for Meadow, visit developer.wildernesslabs.co.
To view all Wilderness Labs open-source projects, including samples, visit github.com/wildernesslabs.
Usage
Mag3110 sensor;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
sensor = new Mag3110(Device.CreateI2cBus());
// classical .NET events can be used
sensor.Updated += (sender, result) => {
Resolver.Log.Info($"Magnetic Field: [X:{result.New.MagneticField3D?.X.MicroTesla:N2}," +
$"Y:{result.New.MagneticField3D?.Y.MicroTesla:N2}," +
$"Z:{result.New.MagneticField3D?.Z.MicroTesla:N2} (microTeslas)]");
Resolver.Log.Info($"Temp: {result.New.Temperature?.Celsius:N2}C");
};
// Example that uses an IObservable subscription to only be notified when the filter is satisfied
var consumer = Mag3110.CreateObserver(
handler: result => Resolver.Log.Info($"Observer: [x] changed by threshold; new [x]: X:{result.New.MagneticField3D?.X.MicroTesla:N2}, old: X:{result.Old?.MagneticField3D?.X.MicroTesla:N2}"),
// only notify if there's a greater than 1 micro tesla on the Y axis
filter: result => {
if (result.Old is { } old) { //c# 8 pattern match syntax. checks for !null and assigns var.
return ((result.New.MagneticField3D - old.MagneticField3D)?.Y > new MagneticField(1, MU.MicroTesla));
}
return false;
});
sensor.Subscribe(consumer);
return Task.CompletedTask;
}
public async override Task Run()
{
var result = await sensor.Read();
Resolver.Log.Info("Initial Readings:");
Resolver.Log.Info($"Magnetic field: [X:{result.MagneticField3D?.X.MicroTesla:N2}," +
$"Y:{result.MagneticField3D?.Y.MicroTesla:N2}," +
$"Z:{result.MagneticField3D?.Z.MicroTesla:N2} (microTeslas)]");
Resolver.Log.Info($"Temp: {result.Temperature?.Celsius:N2}C");
sensor.StartUpdating(TimeSpan.FromMilliseconds(500));
}
How to Contribute
- Found a bug? Report an issue
- Have a feature idea or driver request? Open a new feature request
- Want to contribute code? Fork the Meadow.Foundation repository and submit a pull request against the
develop
branch
Need Help?
If you have questions or need assistance, please join the Wilderness Labs community on Slack.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Meadow.Foundation (>= 1.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Meadow.Foundation.Sensors.Motion.Mag3110:
Repository | Stars |
---|---|
WildernessLabs/Meadow.Foundation
Unified driver and library framework for Meadow applications.
|
Version | Downloads | Last updated |
---|---|---|
1.3.4.2-beta | 38 | 9/30/2023 |
1.3.4.1-beta | 40 | 9/30/2023 |
1.3.4 | 57 | 9/26/2023 |
1.3.2.5-beta | 55 | 9/21/2023 |
1.3.2.4-beta | 51 | 9/20/2023 |
1.3.2.3-beta | 53 | 9/19/2023 |
1.3.2.2-beta | 52 | 9/15/2023 |
1.3.2.1-beta | 81 | 9/14/2023 |
1.3.2-beta | 71 | 9/13/2023 |
1.3.1.1-beta | 94 | 9/5/2023 |
1.3.0 | 182 | 8/29/2023 |
1.2.1.11-beta | 130 | 8/24/2023 |
1.2.1.9-beta | 125 | 8/17/2023 |
1.2.1.8-beta | 134 | 8/8/2023 |
1.2.1.6-beta | 184 | 8/4/2023 |
1.2.0 | 253 | 8/1/2023 |
1.1.1.11-beta | 194 | 7/24/2023 |
1.1.1.10-beta | 201 | 7/22/2023 |
1.1.1.9-beta | 188 | 7/22/2023 |
1.1.1.8-beta | 171 | 7/21/2023 |
1.1.0 | 222 | 7/11/2023 |
1.0.2.1 | 205 | 6/3/2023 |
1.0.2 | 204 | 6/3/2023 |
1.0.0.1 | 194 | 5/30/2023 |
1.0.0 | 186 | 5/28/2023 |
0.99.0 | 185 | 5/28/2023 |
0.98.2-alpha | 181 | 5/27/2023 |
0.98.0 | 196 | 5/6/2023 |
0.96.0 | 256 | 4/2/2023 |
0.95.0 | 302 | 3/5/2023 |
0.94.2 | 312 | 2/7/2023 |
0.94.1 | 314 | 2/2/2023 |
0.92.5 | 344 | 12/31/2022 |
0.90.0 | 408 | 11/23/2022 |
0.89.2 | 381 | 11/23/2022 |
0.1.33 | 391 | 11/21/2022 |
0.1.32 | 453 | 10/24/2022 |
0.1.29 | 482 | 5/30/2022 |
0.1.23 | 492 | 3/7/2022 |
0.1.21 | 355 | 12/21/2021 |
0.1.20 | 386 | 11/8/2021 |
0.1.19 | 474 | 9/8/2021 |
0.1.18 | 410 | 8/5/2021 |
0.1.17 | 405 | 7/5/2021 |
0.1.16 | 416 | 5/25/2021 |
0.1.12 | 434 | 3/17/2021 |
0.1.8 | 444 | 2/8/2021 |
0.1.4 | 441 | 1/13/2021 |
0.1.0 | 458 | 1/13/2021 |