/
Ads1115.cs
77 lines (72 loc) · 1.97 KB
/
Ads1115.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using Meadow.Hardware;
namespace Meadow.Foundation.ICs.ADC
{
/// <summary>
/// Represents an ADS1115 16-bit, 860-SPS, 4-channel, delta-sigma analog-to-digital converter with PGA, oscillator, VREF, comparator
/// </summary>
public class Ads1115 : Ads1x15Base
{
/// <summary>
/// Sample rate setting
/// </summary>
public enum SampleRateSetting
{
/// <summary>
/// 8
/// </summary>
Sps8,
/// <summary>
/// 16
/// </summary>
Sps16,
/// <summary>
/// 32
/// </summary>
Sps32,
/// <summary>
/// 64
/// </summary>
Sps64,
/// <summary>
/// 128
/// </summary>
Sps128,
/// <summary>
/// 250
/// </summary>
Sps250,
/// <summary>
/// 475
/// </summary>
Sps475,
/// <summary>
/// 860
/// </summary>
Sps860
}
/// <summary>
/// Sample resolution
/// </summary>
protected override int BitResolution => 16;
/// <summary>
/// Sample rate setting
/// </summary>
public SampleRateSetting SampleRate
{
get => (SampleRateSetting)InternalSampleRate;
set => InternalSampleRate = (int)value;
}
/// <summary>
/// Create a new ADS1115 object
/// </summary>
public Ads1115(II2cBus i2cBus,
Addresses address = Addresses.Default,
MeasureMode mode = MeasureMode.OneShot,
ChannelSetting channel = ChannelSetting.A0A1Differential,
SampleRateSetting sampleRate = SampleRateSetting.Sps128)
: base(i2cBus, address, mode, channel)
{
SampleRate = sampleRate;
}
}
}