Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Sample project(s) available on GitHub
Syntax
public class Mcp9808 : ByteCommsSensorBase<Temperature>, IObservable<IChangeResult<Temperature>>, IDisposable, ITemperatureSensor, ISamplingSensor<Temperature>, ISensor<Temperature>, II2cPeripheral
Constructors
Mcp9808(II2cBus, byte)
Creates a new Mcp9808 object
Declaration
public Mcp9808(II2cBus i2CBus, byte address = 24)
Parameters
Type | Name | Description |
---|---|---|
II2cBus | i2CBus | The I2C bus |
byte | address | The I2C address |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Properties
DefaultI2cAddress
The default I2C address for the peripheral
Declaration
public byte DefaultI2cAddress { get; }
Property Value
Type | Description |
---|---|
byte |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Temperature
The temperature, in degrees celsius (°C), from the last reading.
Declaration
public Temperature? Temperature { get; protected set; }
Property Value
Type | Description |
---|---|
Temperature? |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Methods
GetDeviceId()
Read the device ID
Declaration
public ushort GetDeviceId()
Returns
Type | Description |
---|---|
ushort |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
GetManufactureId()
Read the manufacture ID
Declaration
public ushort GetManufactureId()
Returns
Type | Description |
---|---|
ushort |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
GetResolution()
Read resolution
Declaration
public byte GetResolution()
Returns
Type | Description |
---|---|
byte |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
RaiseEventsAndNotify(IChangeResult<Temperature>)
Raise events for subscribers and notify of value changes
Declaration
protected override void RaiseEventsAndNotify(IChangeResult<Temperature> changeResult)
Parameters
Type | Name | Description |
---|---|---|
IChangeResult<Temperature> | changeResult | The updated sensor data |
Overrides
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
ReadSensor()
Reads data from the sensor
Declaration
protected override Task<Temperature> ReadSensor()
Returns
Type | Description |
---|---|
Task<Temperature> | The latest sensor reading |
Overrides
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
SetResolution(byte)
Set resolution
Declaration
public void SetResolution(byte resolution)
Parameters
Type | Name | Description |
---|---|---|
byte | resolution |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Sleep()
Set the device into a low power sleep state
Declaration
public void Sleep()
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Wake()
Wake the device if it's in sleep state
Declaration
public void Wake()
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}
Events
TemperatureUpdated
Raised when the temperature value changes
Declaration
public event EventHandler<IChangeResult<Temperature>> TemperatureUpdated
Event Type
Type | Description |
---|---|
EventHandler<IChangeResult<Temperature>> |
Remarks
Mcp9808 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
Code Example
Mcp9808 mcp9808;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
mcp9808 = new Mcp9808(Device.CreateI2cBus());
var consumer = Mcp9808.CreateObserver(
handler: result =>
{
Resolver.Log.Info($"Temperature New Value {result.New.Celsius}C");
Resolver.Log.Info($"Temperature Old Value {result.Old?.Celsius}C");
},
filter: null
);
mcp9808.Subscribe(consumer);
mcp9808.TemperatureUpdated += (object sender, IChangeResult<Meadow.Units.Temperature> e) =>
{
Resolver.Log.Info($"Temperature Updated: {e.New.Celsius:N2}C");
};
return Task.CompletedTask;
}
public override async Task Run()
{
var temp = await mcp9808.Read();
Resolver.Log.Info($"Temperature New Value {temp.Celsius}C");
mcp9808.StartUpdating(TimeSpan.FromSeconds(1));
}