public CharacterDisplay( IPwmPort portV0, IDigitalOutputPort portRS, IDigitalOutputPort portE, IDigitalOutputPort portD4, IDigitalOutputPort portD5, IDigitalOutputPort portD6, IDigitalOutputPort portD7, ushort rows = 4, ushort columns = 20) { Console.WriteLine("Constructor with Contrast pin"); DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_V0 = portV0; LCD_V0.Start(); LCD_RS = portRS; LCD_E = portE; LCD_D4 = portD4; LCD_D5 = portD5; LCD_D6 = portD6; LCD_D7 = portD7; Initialize(); }
void setDisplay(PwmChannel portV0, GpioPin portRS, GpioPin portE, GpioPin portD4, GpioPin portD5, GpioPin portD6, GpioPin portD7, ushort rows = 4, ushort columns = 20) { Debug.WriteLine("Constructor with Contrast pin"); DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_V0 = portV0; LCD_V0.Start(); LCD_RS = portRS; LCD_E = portE; LCD_D4 = portD4; LCD_D5 = portD5; LCD_D6 = portD6; LCD_D7 = portD7; Initialize(); }
public async Task TestDriverConfigValuesPassedToDriverSucceeds() { // Arrange var testConfigProvider = new TestConfigProvider(); var testDriverConfigName = "testDriverConfigName"; var testDriverConfigValue = "testDriverConfigValue"; var testConfig = new TextDisplayConfig() { DriverType = "MockDisplayDriver.MockDisplayDriver", DriverAssembly = "MockDisplayDriver", Height = 0, Width = 0 }; testConfig.DriverConfigurationValues.Add(testDriverConfigName, testDriverConfigValue); (testConfigProvider.Configs as List <TextDisplayConfig>).Add(testConfig); List <ITextDisplay> returnedDisplays; // Act returnedDisplays = await TextDisplayManager.GetDisplaysForProvider(testConfigProvider) as List <ITextDisplay>; // Assert Assert.AreEqual(1, returnedDisplays.Count, "1 display should be returned"); var mockDriver = returnedDisplays[0] as MockDisplayDriver.MockDisplayDriver; Assert.IsNotNull(mockDriver); Assert.AreEqual(mockDriver.Config.DriverConfigurationValues[testDriverConfigName], testDriverConfigValue); }
public async Task TestWriteMessageToDriverSucceeds() { // Arrange var testConfigProvider = new TestConfigProvider(); var testConfig = new TextDisplayConfig() { DriverType = "MockDisplayDriver.MockDisplayDriver", DriverAssembly = "MockDisplayDriver", Height = 0, Width = 0 }; (testConfigProvider.Configs as List <TextDisplayConfig>).Add(testConfig); var testMessage = "testMessage"; List <ITextDisplay> returnedDisplays; // Act returnedDisplays = await TextDisplayManager.GetDisplaysForProvider(testConfigProvider) as List <ITextDisplay>; await returnedDisplays[0].WriteMessageAsync(testMessage, 0); // Assert Assert.AreEqual(1, returnedDisplays.Count, "1 display should be returned"); var mockDriver = returnedDisplays[0] as MockDisplayDriver.MockDisplayDriver; Assert.IsNotNull(mockDriver, "Manager did not return mock driver"); Assert.AreEqual(testMessage, mockDriver.LastMessage); }
public App() { TextDisplayConfig displayConfig = new TextDisplayConfig() { Width = 16, Height = 2 }; _lcd = new F.Displays.SerialLCD(displayConfig); }
public App() { _hih = new F.Sensors.Atmospheric.HIH6130(); TextDisplayConfig displayConfig = new TextDisplayConfig() { Width = 16, Height = 2 }; this._lcd = new F.Displays.SerialLCD(displayConfig); }
public I2cCharacterDisplay(II2cBus i2cBus, byte address = DefaultI2cAddress, byte rows = 4, byte columns = 20) { i2cPeripheral = new I2cPeripheral(i2cBus, address); DisplayConfig = new TextDisplayConfig() { Width = columns, Height = rows }; backlightValue = LCD_BACKLIGHT; Initialize(); }
public App() { // 20 x 4: //TextDisplayConfig displayConfig = new TextDisplayConfig() { Width = 20, Height = 4 }; // 16 x 2: TextDisplayConfig displayConfig = new TextDisplayConfig() { Width = 16, Height = 2 }; _lcd = new F.Displays.SerialLCD(displayConfig); }
public Lcd2004(H.Cpu.Pin RS, H.Cpu.Pin E, H.Cpu.Pin D4, H.Cpu.Pin D5, H.Cpu.Pin D6, H.Cpu.Pin D7) { DisplayConfig = new TextDisplayConfig { Height = 4, Width = 20 }; LCD_RS = new GPIO.SPOT.DigitalOutputPort(RS); LCD_E = new GPIO.SPOT.DigitalOutputPort(E); LCD_D4 = new GPIO.SPOT.DigitalOutputPort(D4); LCD_D5 = new GPIO.SPOT.DigitalOutputPort(D5); LCD_D6 = new GPIO.SPOT.DigitalOutputPort(D6); LCD_D7 = new GPIO.SPOT.DigitalOutputPort(D7); Initialize(); }
public Lcd2004(H.Cpu.Pin RS, H.Cpu.Pin E, H.Cpu.Pin D4, H.Cpu.Pin D5, H.Cpu.Pin D6, H.Cpu.Pin D7) { DisplayConfig = new TextDisplayConfig { Height = 4, Width = 20 }; LCD_E = new H.OutputPort(E, false); LCD_RS = new H.OutputPort(RS, false); LCD_D4 = new H.OutputPort(D4, false); LCD_D5 = new H.OutputPort(D5, false); LCD_D6 = new H.OutputPort(D6, false); LCD_D7 = new H.OutputPort(D7, false); Initialize(); }
public I2cCharacterDisplay(string i2cBus, byte address = DefaultI2cAddress, byte rows = 4, byte columns = 20) { var settings = new I2cConnectionSettings(address, 100_000); //The slave's address and the bus speed. var controller = I2cController.FromName(i2cBus); i2cPeripheral = controller.GetDevice(settings); DisplayConfig = new TextDisplayConfig() { Width = columns, Height = rows }; backlightValue = LCD_BACKLIGHT; Initialize(); }
public CharacterDisplay(IIODevice device, IPin pinRS, IPin pinE, IPin pinD4, IPin pinD5, IPin pinD6, IPin pinD7, ushort rows = 4, ushort columns = 20) { DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_RS = device.CreateDigitalOutputPort(pinRS); LCD_E = device.CreateDigitalOutputPort(pinE); LCD_D4 = device.CreateDigitalOutputPort(pinD4); LCD_D5 = device.CreateDigitalOutputPort(pinD5); LCD_D6 = device.CreateDigitalOutputPort(pinD6); LCD_D7 = device.CreateDigitalOutputPort(pinD7); Initialize(); }
public Lcd2004(MCP23008 mcp) { DisplayConfig = new TextDisplayConfig { Height = 4, Width = 20 }; LCD_RS = mcp.CreateOutputPort(1, false); LCD_E = mcp.CreateOutputPort(2, false); LCD_D4 = mcp.CreateOutputPort(3, false); LCD_D5 = mcp.CreateOutputPort(4, false); LCD_D6 = mcp.CreateOutputPort(5, false); LCD_D7 = mcp.CreateOutputPort(6, false); var lite = mcp.CreateOutputPort(7, true); Initialize(); }
public Lcd2004(IDigitalOutputPort portRS, IDigitalOutputPort portE, IDigitalOutputPort portD4, IDigitalOutputPort portD5, IDigitalOutputPort portD6, IDigitalOutputPort portD7, ushort rows = 20, ushort columns = 4) { DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_RS = portRS; LCD_E = portE; LCD_D4 = portD4; LCD_D5 = portD5; LCD_D6 = portD6; LCD_D7 = portD7; }
public async Task TestNonExistentBuiltInDriverTypeFails() { // Arrange var testConfigProvider = new TestConfigProvider(); var testConfig = new TextDisplayConfig() { DriverType = "NonExistentDriver", Height = 0, Width = 0 }; (testConfigProvider.Configs as List <TextDisplayConfig>).Add(testConfig); List <ITextDisplay> returnedDisplays; // Act returnedDisplays = await TextDisplayManager.GetDisplaysForProvider(testConfigProvider) as List <ITextDisplay>; // Assert Assert.AreEqual(0, returnedDisplays.Count, "No displays should be returned"); }
public CharacterDisplay(IDigitalOutputPort portRS, IDigitalOutputPort portE, IDigitalOutputPort portD4, IDigitalOutputPort portD5, IDigitalOutputPort portD6, IDigitalOutputPort portD7, ushort rows = 4, ushort columns = 20) { DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_RS = portRS; LCD_E = portE; LCD_D4 = portD4; LCD_D5 = portD5; LCD_D6 = portD6; LCD_D7 = portD7; Initialize(); }
public async Task TestOneConfigReturnsOneDisplaySucceeds() { // Arrange var testConfigProvider = new TestConfigProvider(); var testConfig = new TextDisplayConfig() { DriverType = "MockDisplayDriver.MockDisplayDriver", DriverAssembly = "MockDisplayDriver", Height = 0, Width = 0 }; (testConfigProvider.Configs as List <TextDisplayConfig>).Add(testConfig); List <ITextDisplay> returnedDisplays; // Act returnedDisplays = await TextDisplayManager.GetDisplaysForProvider(testConfigProvider) as List <ITextDisplay>; // Assert Assert.AreEqual(1, returnedDisplays.Count, "1 display should be returned"); }
void setDisplay( GpioPin portRS, GpioPin portE, GpioPin portD4, GpioPin portD5, GpioPin portD6, GpioPin portD7, ushort rows = 4, ushort columns = 20) { DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_RS = portRS; LCD_E = portE; LCD_D4 = portD4; LCD_D5 = portD5; LCD_D6 = portD6; LCD_D7 = portD7; Initialize(); }
public GpioCharacterDisplay( IPwmPort portV0, IDigitalOutputPort portRS, IDigitalOutputPort portE, IDigitalOutputPort portD4, IDigitalOutputPort portD5, IDigitalOutputPort portD6, IDigitalOutputPort portD7, byte rows = 4, byte columns = 20) { DisplayConfig = new TextDisplayConfig { Height = rows, Width = columns }; LCD_V0 = portV0; LCD_V0.Start(); LCD_RS = portRS; LCD_E = portE; LCD_D4 = portD4; LCD_D5 = portD5; LCD_D6 = portD6; LCD_D7 = portD7; Initialize(); }
public MockDisplayDriver(TextDisplayConfig config) { this.Config = config; this.height = config.Height; this.width = config.Width; }
/// <summary> /// Create a new SerialLcd object. /// </summary> /// <param name="config">TextDisplayConfig object defining the Lcd dimension (null will default to 16x2).</param> /// <param name="baudRate">Baud rate to use (default = 9600).</param> /// <param name="parity">Parity to use (default is None).</param> /// <param name="dataBits">Number of data bits (default is 8 data bits).</param> /// <param name="stopBits">Number of stop bits (default is one stop bit).</param> public SerialLcd(string portName, TextDisplayConfig config = null, int baudRate = 9600, UartParity parity = UartParity.None, int dataBits = 8, UartStopBitCount stopBits = UartStopBitCount.One) { if (config == null) { // assume a 16x2 Lcd. DisplayConfig = new TextDisplayConfig() { Height = 2, Width = 16 }; } else { DisplayConfig = config; } var myUart = UartController.FromName(portName); var uartSetting = new UartSetting() { BaudRate = baudRate, DataBits = dataBits, Parity = parity, StopBits = stopBits, Handshaking = UartHandshake.None, }; myUart.SetActiveSettings(uartSetting); myUart.Enable(); // configure the Lcd controller for the appropriate screen size byte lines = 0; byte characters = 0; switch (DisplayConfig.Width) { case 16: characters = (byte)LcdDimensions.Characters16Wide; break; case 20: characters = (byte)LcdDimensions.Characters20Wide; break; default: throw new ArgumentOutOfRangeException(nameof(config.Width), "Display width should be 16 or 20."); } switch (DisplayConfig.Height) { case 2: lines = (byte)LcdDimensions.Lines2; break; case 4: lines = (byte)LcdDimensions.Lines4; break; default: throw new ArgumentOutOfRangeException(nameof(config.Height), "Display height should be 2 or 4 lines."); } Send(new[] { ConfigurationCommandCharacter, characters, ConfigurationCommandCharacter, lines }); Thread.Sleep(10); }