diff --git a/Source/Meadow.Contracts/Hardware/Contracts/IPinExtensions.cs b/Source/Meadow.Contracts/Hardware/Contracts/IPinExtensions.cs index 3f8104a2..74c77b4e 100644 --- a/Source/Meadow.Contracts/Hardware/Contracts/IPinExtensions.cs +++ b/Source/Meadow.Contracts/Hardware/Contracts/IPinExtensions.cs @@ -74,6 +74,19 @@ public static IDigitalInterruptPort CreateDigitalInterruptPort(this IPin pin, In throw new ArgumentException("Pin is not digital input capable"); } + /// + /// Creates a digital interrupt port for the specified pin with specified configurations. + /// + /// The pin to create a digital interrupt port for. + /// The interrupt mode for the digital interrupt port. + /// The resistor mode for the digital interrupt port. + /// The debounce duration for the digital interrupt port. + /// The created digital interrupt port. + public static IDigitalInterruptPort CreateDigitalInterruptPort(this IPin pin, InterruptMode interruptMode, ResistorMode resistorMode, TimeSpan debounceDuration) + { + return pin.CreateDigitalInterruptPort(interruptMode, resistorMode, debounceDuration, TimeSpan.Zero); + } + /// /// Creates a digital input port for the specified pin with the specified resistor mode. /// diff --git a/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/ICurrentSensor.cs b/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/ICurrentSensor.cs new file mode 100644 index 00000000..73cf01ff --- /dev/null +++ b/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/ICurrentSensor.cs @@ -0,0 +1,14 @@ +using Meadow.Units; + +namespace Meadow.Peripherals.Sensors; + +/// +/// Electrical Current sensor interface requirements. +/// +public interface ICurrentSensor : ISamplingSensor +{ + /// + /// Last value read from the Current sensor. + /// + public Current? Current { get; } +} diff --git a/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/IPowerSensor.cs b/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/IPowerSensor.cs new file mode 100644 index 00000000..7a11f3d0 --- /dev/null +++ b/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/IPowerSensor.cs @@ -0,0 +1,14 @@ +using Meadow.Units; + +namespace Meadow.Peripherals.Sensors; + +/// +/// Electrical Power sensor interface requirements. +/// +public interface IPowerSensor : ISamplingSensor +{ + /// + /// Last value read from the Power sensor. + /// + public Power? Power { get; } +} diff --git a/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/IVoltageSensor.cs b/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/IVoltageSensor.cs new file mode 100644 index 00000000..0eaf4061 --- /dev/null +++ b/Source/Meadow.Contracts/Peripherals/Sensors/Electrical/IVoltageSensor.cs @@ -0,0 +1,14 @@ +using Meadow.Units; + +namespace Meadow.Peripherals.Sensors; + +/// +/// Voltage sensor interface requirements. +/// +public interface IVoltageSensor : ISamplingSensor +{ + /// + /// Last value read from the Voltage sensor. + /// + public Voltage? Voltage { get; } +} diff --git a/Source/Meadow.Contracts/Platform OS/IPlatformOS.cs b/Source/Meadow.Contracts/Platform OS/IPlatformOS.cs index 88a84b01..d25cba9c 100644 --- a/Source/Meadow.Contracts/Platform OS/IPlatformOS.cs +++ b/Source/Meadow.Contracts/Platform OS/IPlatformOS.cs @@ -31,7 +31,7 @@ public partial interface IPlatformOS : IPowerController /// - /// Gets the amount of storage space in use on the primarys storage device + /// Gets the amount of storage space in use on the primary storage device /// DigitalStorage GetPrimaryDiskSpaceInUse();