Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin controller updates + a few fixes and cleanups #563

Merged
merged 1 commit into from
Feb 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public override Task Initialize()
Device.Pins.D02
};

ledBarGraph = new LedBarGraph(Device, pins);
ledBarGraph = new LedBarGraph(pins);

return Task.CompletedTask;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override Task Initialize()
Device.Pins.D02
};

pwmLedBarGraph = new PwmLedBarGraph(Device, pins, new Voltage(2.2));
pwmLedBarGraph = new PwmLedBarGraph(pins, new Voltage(2.2));

return Task.CompletedTask;
}
Expand Down
3 changes: 1 addition & 2 deletions Source/Meadow.Foundation.Core/Leds/LedBarGraph.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,8 @@ public float Percentage
/// <summary>
/// Create an LedBarGraph instance from an array of IPins
/// </summary>
/// <param name="device"></param>
/// <param name="pins"></param>
public LedBarGraph(IDigitalOutputController device, IPin[] pins)
public LedBarGraph(IPin[] pins)
{
leds = new Led[pins.Length];

Expand Down
3 changes: 1 addition & 2 deletions Source/Meadow.Foundation.Core/Leds/PwmLedBarGraph.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,9 @@ public float Percentage
/// <summary>
/// Create an LedBarGraph instance for single color LED bar graphs
/// </summary>
/// <param name="device"></param>
/// <param name="pins">Array of pins</param>
/// <param name="forwardVoltage">Single forward voltage</param>
public PwmLedBarGraph(IPwmOutputController device, IPin[] pins, Voltage forwardVoltage)
public PwmLedBarGraph(IPin[] pins, Voltage forwardVoltage)
{
pwmLeds = new PwmLed[pins.Length];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ public class RotaryEncoder : IRotaryEncoder
/// <summary>
/// Instantiate a new RotaryEncoder on the specified pins.
/// </summary>
/// <param name="device"></param>
/// <param name="aPhasePin"></param>
/// <param name="bPhasePin"></param>
public RotaryEncoder(IPin aPhasePin, IPin bPhasePin) :
Expand Down
8 changes: 3 additions & 5 deletions Source/Meadow.Foundation.Core/Sensors/Switches/DipSwitch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,22 @@ public class DipSwitch
/// <summary>
/// Creates a new DipSwitch connected to the specified switchPins, with the InterruptMode and ResisterMode specified by the type parameters.
/// </summary>
/// <param name="device">The device connected to the switch</param>
/// <param name="switchPins">An array of pins for each switch</param>
/// <param name="interruptMode">The interrupt mode for all pins</param>
/// <param name="resistorMode">The resistor mode for all pins</param>
public DipSwitch(IDigitalInputController device, IPin[] switchPins, InterruptMode interruptMode, ResistorMode resistorMode)
: this(device, switchPins, interruptMode, resistorMode, TimeSpan.FromMilliseconds(20), TimeSpan.Zero)
public DipSwitch(IPin[] switchPins, InterruptMode interruptMode, ResistorMode resistorMode)
: this(switchPins, interruptMode, resistorMode, TimeSpan.FromMilliseconds(20), TimeSpan.Zero)
{ }

/// <summary>
/// Creates a new DipSwitch connected to the specified switchPins, with the InterruptMode and ResisterMode specified by the type parameters.
/// </summary>
/// <param name="device"></param>
/// <param name="switchPins"></param>
/// <param name="interruptMode"></param>
/// <param name="resistorMode"></param>
/// <param name="debounceDuration"></param>
/// <param name="glitchFilterCycleCount"></param>
public DipSwitch(IDigitalInputController device, IPin[] switchPins, InterruptMode interruptMode, ResistorMode resistorMode, TimeSpan debounceDuration, TimeSpan glitchFilterCycleCount)
public DipSwitch(IPin[] switchPins, InterruptMode interruptMode, ResistorMode resistorMode, TimeSpan debounceDuration, TimeSpan glitchFilterCycleCount)
{
Switches = new ISwitch[switchPins.Length];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public SpdtSwitch(IPin pin, InterruptMode interruptMode, ResistorMode resistorMo
/// <param name="resistorMode"></param>
/// <param name="debounceDuration"></param>
/// <param name="glitchFilterCycleCount"></param>
public SpdtSwitch(IDigitalInputController device, IPin pin, InterruptMode interruptMode, ResistorMode resistorMode, TimeSpan debounceDuration, TimeSpan glitchFilterCycleCount) :
public SpdtSwitch(IPin pin, InterruptMode interruptMode, ResistorMode resistorMode, TimeSpan debounceDuration, TimeSpan glitchFilterCycleCount) :
this(pin.CreateDigitalInputPort(interruptMode, resistorMode, debounceDuration, glitchFilterCycleCount))
{ }

Expand Down
2 changes: 0 additions & 2 deletions Source/Meadow.Foundation.Core/Speakers/PiezoSpeaker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ public class PiezoSpeaker : IToneGenerator
/// <summary>
/// Create a new PiezoSpeaker instance
/// </summary>
/// <param name="device">IPwmOutputController to create PWM port</param>
/// <param name="pin">PWM Pin connected to the PiezoSpeaker</param>
/// <param name="frequency">PWM frequency</param>
/// <param name="dutyCycle">Duty cycle</param>
Expand All @@ -32,7 +31,6 @@ public PiezoSpeaker(IPin pin, Frequency frequency, float dutyCycle = 0) :
/// <summary>
/// Create a new PiezoSpeaker instance
/// </summary>
/// <param name="device">IPwmOutputController to create PWM port</param>
/// <param name="pin">PWM Pin connected to the PiezoSpeaker</param>
public PiezoSpeaker(IPin pin) :
this(pin.CreatePwmPort(new Frequency(100, Frequency.UnitType.Hertz), 0))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ public override Task Initialize()

ssd1309 = new Ssd1309
(
device: Device,
spiBus: bus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ public override Task Initialize()

ssd1309 = new Ssd1309
(
device: Device,
spiBus: bus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,7 @@ private void DrawTriangleFilled(int x0, int y0, int x1, int y1, int x2, int y2,
/// <param name="enabled">Show the circle when true</param>
/// <param name="filled">Draw a filled circle?</param>
/// <param name="centerBetweenPixels">Set center between pixels</param>
public void DrawCircle(int centerX, int centerY, int radius, bool enabled = true, bool filled = false, bool centerBetweenPixels = false)
public void DrawCircle(int centerX, int centerY, int radius, bool enabled, bool filled = false, bool centerBetweenPixels = false)
{
DrawCircle(centerX, centerY, radius, enabled ? display.EnabledColor : display.DisabledColor, filled, centerBetweenPixels);
}
Expand Down Expand Up @@ -922,7 +922,7 @@ private void DrawCircleFilled(int centerX, int centerY, int radius, bool centerB
/// <param name="height">Height of the rectangle</param>
/// <param name="enabled">Turn pixels on (true) or turn pixels off (false)</param>
/// <param name="filled">Fill the rectangle (true) or draw the outline (false, default)</param>
public void DrawRectangle(int x, int y, int width, int height, bool enabled = true, bool filled = false)
public void DrawRectangle(int x, int y, int width, int height, bool enabled, bool filled = false)
{
DrawRectangle(x, y, width, height, enabled ? display.EnabledColor : display.DisabledColor, filled);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ private void Initialize(int width, int height, ColorMode mode)
_bufferConverter = ConvertRGBBufferToBGRBuffer24;
break;
case ColorMode.Format32bppRgba8888:
_pixelBuffer = new BufferRgb8888(width, height);
_pixelBuffer = new BufferRgba8888(width, height);
_format = Cairo.Format.Argb32;
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ public class CharacterDisplay : ITextDisplay
/// <summary>
/// Create a new character display object using GPIO
/// </summary>
/// <param name="device">The device connected to the display</param>
/// <param name="pinRS">The RS pin</param>
/// <param name="pinE">The E pin</param>
/// <param name="pinD4">The D4 pin</param>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ public enum CharacterType
/// <summary>
/// Creates a SevenSegment connected to the especified IPins to a IODevice
/// </summary>
/// <param name="device">The Meadow device</param>
/// <param name="pinA">Pin A</param>
/// <param name="pinB">Pin B</param>
/// <param name="pinC">Pin C</param>
Expand All @@ -133,20 +132,19 @@ public enum CharacterType
/// <param name="pinDecimal">Pin decimal</param>
/// <param name="isCommonCathode">Is the display using common cathod (true) or common annode (false)</param>
public SevenSegment(
IDigitalOutputController device,
IPin pinA, IPin pinB,
IPin pinC, IPin pinD,
IPin pinE, IPin pinF,
IPin pinG, IPin pinDecimal,
bool isCommonCathode) :
this(device.CreateDigitalOutputPort(pinA),
device.CreateDigitalOutputPort(pinB),
device.CreateDigitalOutputPort(pinC),
device.CreateDigitalOutputPort(pinD),
device.CreateDigitalOutputPort(pinE),
device.CreateDigitalOutputPort(pinF),
device.CreateDigitalOutputPort(pinG),
device.CreateDigitalOutputPort(pinDecimal),
this(pinA.CreateDigitalOutputPort(),
pinB.CreateDigitalOutputPort(),
pinC.CreateDigitalOutputPort(),
pinD.CreateDigitalOutputPort(),
pinE.CreateDigitalOutputPort(),
pinF.CreateDigitalOutputPort(),
pinG.CreateDigitalOutputPort(),
pinDecimal.CreateDigitalOutputPort(),
isCommonCathode) { }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,13 @@ public class Pcd8544 : IGraphicsDisplay
/// <summary>
/// Create a Pcd8544 object
/// </summary>
/// <param name="device">Meadow device</param>
/// <param name="spiBus">SPI bus connected to display</param>
/// <param name="chipSelectPin">Chip select pin</param>
/// <param name="dcPin">Data command pin</param>
/// <param name="resetPin">Reset pin</param>
public Pcd8544(IMeadowDevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin):
this(spiBus, device.CreateDigitalOutputPort(chipSelectPin), device.CreateDigitalOutputPort(dcPin, true),
device.CreateDigitalOutputPort(resetPin, true))
public Pcd8544(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin):
this(spiBus, chipSelectPin?.CreateDigitalOutputPort(), dcPin.CreateDigitalOutputPort(true),
resetPin.CreateDigitalOutputPort(true))
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ public override Task Initialize()

var display = new Pcd8544
(
device: Device,
spiBus: Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config),
chipSelectPin: Device.Pins.D01,
dcPin: Device.Pins.D00,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,15 @@ public partial class Ssd1306 : Ssd130xBase
/// <summary>
/// Create a new SSD1306 object
/// </summary>
/// <param name="device">Meadow device</param>
/// <param name="spiBus">SPI bus connected to display</param>
/// <param name="chipSelectPin">Chip select pin</param>
/// <param name="dcPin">Data command pin</param>
/// <param name="resetPin">Reset pin</param>
/// <param name="displayType">Type of SSD1306 display (default = 128x64 pixel display)</param>
public Ssd1306(IMeadowDevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin,
public Ssd1306(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin,
DisplayType displayType = DisplayType.OLED128x64):
this(spiBus, device.CreateDigitalOutputPort(chipSelectPin, false), device.CreateDigitalOutputPort(dcPin, true),
device.CreateDigitalOutputPort(resetPin, false), displayType)
this(spiBus, chipSelectPin?.CreateDigitalOutputPort(false), dcPin.CreateDigitalOutputPort(true),
resetPin.CreateDigitalOutputPort(false), displayType)
{ }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@ public class Ssd1309 : Ssd1306
/// <summary>
/// Create a new Ssd1309 object
/// </summary>
/// <param name="device">Meadow device</param>
/// <param name="spiBus">SPI bus connected to display</param>
/// <param name="chipSelectPin">Chip select pin</param>
/// <param name="dcPin">Data command pin</param>
/// <param name="resetPin">Reset pin</param>
public Ssd1309(IMeadowDevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin) :
base(device, spiBus, chipSelectPin, dcPin, resetPin, DisplayType.OLED128x64)
public Ssd1309(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin) :
base(spiBus, chipSelectPin, dcPin, resetPin, DisplayType.OLED128x64)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ void CreateSpiDisplay()

display = new Ssd1309
(
device: Device,
spiBus: bus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ void CreateSpiDisplay()

display = new Ssd1306
(
device: Device,
spiBus: Device.CreateSpiBus(),
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ public override Task Initialize()

display = new Ssd1309
(
device: Device,
spiBus: bus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ void CreateSpiDisplay()

display = new Ssd1309
(
device: Device,
spiBus: bus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,17 @@ public partial class Ssd1327 : IGraphicsDisplay
/// <summary>
/// Create a new Ssd1327 object
/// </summary>
/// <param name="device">Meadow device</param>
/// <param name="spiBus">SPI bus connected to display</param>
/// <param name="chipSelectPin">Chip select pin</param>
/// <param name="dcPin">Data command pin</param>
/// <param name="resetPin">Reset pin</param>
public Ssd1327(IMeadowDevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin)
public Ssd1327(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin)
{
imageBuffer = new BufferGray4(Width, Height);

dataCommandPort = device.CreateDigitalOutputPort(dcPin, false);
if (resetPin != null) { resetPort = device.CreateDigitalOutputPort(resetPin, true); }
if (chipSelectPin != null) { chipSelectPort = device.CreateDigitalOutputPort(chipSelectPin, false); }
dataCommandPort = dcPin.CreateDigitalOutputPort(false);
if (resetPin != null) { resetPort = resetPin.CreateDigitalOutputPort(true); }
if (chipSelectPin != null) { chipSelectPort = chipSelectPin.CreateDigitalOutputPort(false); }

spiPeripheral = new SpiPeripheral(spiBus, chipSelectPort);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public override Task Initialize()

var spiBus = Device.CreateSpiBus();

var display = new Ssd1327(Device, spiBus, Device.Pins.D02, Device.Pins.D01, Device.Pins.D00);
var display = new Ssd1327(spiBus, Device.Pins.D02, Device.Pins.D01, Device.Pins.D00);

display.SetContrast(60);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,16 @@ public partial class St7565 : IGraphicsDisplay
/// <summary>
/// Create a new ST7565 object
/// </summary>
/// <param name="device">Meadow device</param>
/// <param name="spiBus">SPI bus connected to display</param>
/// <param name="chipSelectPin">Chip select pin</param>
/// <param name="dcPin">Data command pin</param>
/// <param name="resetPin">Reset pin</param>
/// <param name="width">Width of display in pixels</param>
/// <param name="height">Height of display in pixels</param>
public St7565(IMeadowDevice device, ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin,
public St7565(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin,
int width = 128, int height = 64) :
this(spiBus, device.CreateDigitalOutputPort(chipSelectPin), device.CreateDigitalOutputPort(dcPin),
device.CreateDigitalOutputPort(resetPin), width, height)
this(spiBus, chipSelectPin?.CreateDigitalOutputPort(), dcPin.CreateDigitalOutputPort(),
resetPin.CreateDigitalOutputPort(), width, height)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ public override Task Initialize()

var sT7565 = new St7565
(
device: Device,
spiBus: Device.CreateSpiBus(),
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D00,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ internal enum DisplayCommand
/// <param name="pinData">The data pin</param>
public Tm1637(IMeadowDevice device, IPin pinClock, IPin pinData)
{
portClock = device.CreateDigitalOutputPort(pinClock);
portClock = pinClock.CreateDigitalOutputPort();
portData = device.CreateBiDirectionalPort(pinData);

_brightness = 7;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ public class Ssd1608 : EPaperMonoBase
/// <summary>
/// Create a new Ssd1608 object
/// </summary>
/// <param name="device">Meadow device</param>
/// <param name="spiBus">SPI bus connected to display</param>
/// <param name="chipSelectPin">Chip select pin</param>
/// <param name="dcPin">Data command pin</param>
Expand Down
Loading