25 #define SET_RS lcdPins |= RS
26 #define CLR_RS lcdPins &= ~RS
27 #define SET_E lcdPins |= E
28 #define CLR_E lcdPins &= ~E
30 #define SENDlcdPins() pUsb->gpioWr( lcdPins )
32 #define LCD_sendcmd(a) { CLR_RS; \
36 #define LCD_sendchar(a) { SET_RS; \
40 static uint8_t lcdPins;
54 void Max_LCD::begin(uint8_t cols __attribute__((unused)), uint8_t lines, uint8_t dotsize) {
62 if((dotsize != 0) && (lines == 1)) {
69 delayMicroseconds(50000);
75 delayMicroseconds(10000);
81 delayMicroseconds(10000);
87 delayMicroseconds(10000);
96 delayMicroseconds(10000);
116 delayMicroseconds(2000);
121 delayMicroseconds(2000);
125 int row_offsets[] = {0x00, 0x40, 0x14, 0x54};
126 if(row > _numlines) {
214 for(
int i = 0; i < 8; i++) {
223 delayMicroseconds(100);
226 #if defined(ARDUINO) && ARDUINO >=100
239 void Max_LCD::sendbyte(uint8_t val) {
241 lcdPins |= (val & 0xf0);
244 delayMicroseconds(2);
246 delayMicroseconds(2);
249 lcdPins |= (val << 4) & 0xf0;
254 delayMicroseconds(100);
void createChar(uint8_t, uint8_t[])
void setCursor(uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize=LCD_5x8DOTS)
void scrollDisplayRight()
#define LCD_ENTRYSHIFTDECREMENT
#define LCD_ENTRYSHIFTINCREMENT
#define LCD_DISPLAYCONTROL