// Funciones del display public lcd(I2cDevice portExpander) { i2c = new rpii2c(portExpander); mymcp = new mcp(i2c); mymcp.mcpSetup(); mymcp.mcpConfig(pin_e, OUTPUT); mymcp.mcpConfig(pin_rs, OUTPUT); mymcp.mcpConfig(pin_rw, OUTPUT); mymcp.mcpOutput(pin_rw, 0); mymcp.mcpOutput(pin_e, 0); for (int i = 0; i < 4; i++) mymcp.mcpConfig(pin_db[i], OUTPUT); lcdWriteBits(0x33, 0); lcdWriteBits(0x32, 0); lcdWriteBits(0x28, 0); lcdWriteBits(0x0C, 0); lcdWriteBits(0x06, 0); displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF; displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS; displayfunction |= LCD_2LINE; displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT; lcdWriteBits((sbyte)(LCD_ENTRYMODESET | displaymode), 0); mymcp.mcpConfig(6, OUTPUT); mymcp.mcpConfig(7, OUTPUT); mymcp.mcpConfig(8, OUTPUT); mymcp.mcpOutput(6, 0); mymcp.mcpOutput(7, 0); mymcp.mcpOutput(8, 0); mymcp.mcpPullup((byte)lcdBotones.SELECT, 1); mymcp.mcpPullup((byte)lcdBotones.LEFT, 1); mymcp.mcpPullup((byte)lcdBotones.RIGHT, 1); mymcp.mcpPullup((byte)lcdBotones.UP, 1); mymcp.mcpPullup((byte)lcdBotones.DOWN, 1); mymcp.mcpConfig((byte)lcdBotones.SELECT, INPUT); mymcp.mcpConfig((byte)lcdBotones.LEFT, INPUT); mymcp.mcpConfig((byte)lcdBotones.RIGHT, INPUT); mymcp.mcpConfig((byte)lcdBotones.UP, INPUT); mymcp.mcpConfig((byte)lcdBotones.DOWN, INPUT); lcdBackLight(0); lcdLedColor(lcdColores.NONE); lcdClear(); }
public mcp(rpii2c i) { i2c = i; }