private static DisplayI2C InitLcd() { // Here is I2C bus and Display itself initialized. // // I2C bus is initialized by library constructor. There is also defined PCF8574 pins // Default `DEVICE_I2C_ADDRESS` is `0x27` (you can change it by A0-2 pins on PCF8574 - for more info please read datasheet) // `I2C_CONTROLLER_NAME` for Raspberry Pi 2 is `"I2C1"` // For Arduino it should be `"I2C5"`, but I did't test it. // Other arguments should be: RS = 0, RW = 1, EN = 2, D4 = 4, D5 = 5, D6 = 6, D7 = 7, BL = 3 // But it depends on your PCF8574. var lcd = new DisplayI2C(DEVICE_I2C_ADDRESS, I2C_CONTROLLER_NAME, RS, RW, EN, D4, D5, D6, D7, BL); //Initialization of HD44780 display do by init method. //By arguments you can turnOnDisplay, turnOnCursor, blinkCursor, cursorDirection and textShift (in thius order) lcd.init(); //lcd.createSymbol(new byte[] { 0x00, 0x00, 0x0A, 0x00, 0x11, 0x0E, 0x00, 0x00 }, 0x00); // Here is printed string lcd.prints("Good morning,"); // Navigation to second line lcd.gotoxy(0, 1); // Here is printed string lcd.prints("gentlemen"); // Here is printed our new symbol (emoticon) //lcd.printSymbol(0x00); return(lcd); }
private void CommMgrOnStatusUpdate(object sender, StatusUpdateEventArgs args) { var newReport = new SmartSensorReport(args.Report.Current, (int)args.Report.Target, args.Report.WattMinutes, args.Report.TrackedMinutes, args.Report.Current < args.Report.Target); _display.clrscr(); _display.gotoxy(0, 0); _display.prints($"F: {args.Report.Current} Set: {args.Report.Target}"); _display.gotoxy(0, 1); _display.prints($"A1: {args.Report.Leg1Amps} A2: {args.Report.Leg2Amps}"); _display.gotoxy(0, 2); _display.prints($"{args.Report.WattMinutes}wM over {args.Report.TrackedMinutes}"); _api.PostSensorReport("accesstoken", newReport).Wait(); }