Programa prueba

Dependencies:   TextLCD mbed

Fork of TextLCD_HelloWorld2 by Wim Huiskamp

Files at this revision

API Documentation at this revision

Comitter:
wim
Date:
Tue Jun 17 17:41:59 2014 +0000
Parent:
0:a75049de1a82
Child:
2:c2978a6fa79a
Commit message:
Tested with PCF2116

Changed in this revision

TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/TextLCD.lib	Fri Jun 13 19:02:38 2014 +0000
+++ b/TextLCD.lib	Tue Jun 17 17:41:59 2014 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/wim/code/TextLCD/#22d5086f6ba6
+http://mbed.org/users/wim/code/TextLCD/#a3663151aa65
--- a/main.cpp	Fri Jun 13 19:02:38 2014 +0000
+++ b/main.cpp	Tue Jun 17 17:41:59 2014 +0000
@@ -21,7 +21,7 @@
     pc.printf("B: Display Off\n\r");                        
     pc.printf("C: Backlight On\n\r");                    
     pc.printf("D: Backlight Off\n\r");                           
-    pc.printf("P: \n\r");                        
+    pc.printf("P: init \n\r");                        
     pc.printf("\n\r");                
 }
 
@@ -42,11 +42,11 @@
 //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD24x2); // rs, e, d4-d7 =ok
 //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD40x2); // rs, e, d4-d7 =ok
 
+//TextLCD_I2C lcd(&i2c_lcd, 0x40, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type =ok
 //TextLCD_I2C lcd(&i2c_lcd, 0x42, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type =ok
-//TextLCD_I2C lcd(&i2c_lcd, 0x40, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type =ok
 
-//Test Adafruit module
-//TextLCD_I2C lcd(&i2c_lcd, MCP23008_SA0, TextLCD::LCD20x4); // I2C bus, MCP23008 Slaveaddress, LCD Type =OK
+//Test Adafruit module, change #define
+TextLCD_I2C lcd(&i2c_lcd, MCP23008_SA0, TextLCD::LCD20x4); // I2C bus, MCP23008 Slaveaddress, LCD Type =OK
 
 //TextLCD_I2C lcd(&i2c_lcd, 0x42, TextLCD::LCD16x2, TextLCD::WS0010); // I2C bus, PCF8574 Slaveaddress, LCD Type, LCD Ctrl
 
@@ -61,8 +61,14 @@
 //TextLCD_SPI lcd2(&spi_lcd, p9, TextLCD::LCD16x1); // SPI bus, CS pin, LCD Type =ok 
 //TextLCD_SPI lcd2(&spi_lcd, p9, TextLCD::LCD16x2); // SPI bus, CS pin, LCD Type (VFD) =ok
 
+//TextLCD_SPI_N lcd(&spi_lcd, p8, p9, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // SPI bus, CS pin, RS pin, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 =ok
+//TextLCD_I2C_N lcd(&i2c_lcd, ST7032_SA, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // I2C bus, slaveaddress, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 
 
-TextLCD_SPI_N lcd(&spi_lcd, p8, p9, TextLCD::LCD16x2, NC, TextLCD::ST7032_3V3); // SPI bus, CS pin, RS pin, LCDType=LCD16x2, BL=NC, LCDTCtrl=ST7032 
+
+//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD12x3B, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD12x3B, BL=NC, LCDTCtrl=PCF21XX 
+//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD12x4B, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD12x4B, BL=NC, LCDTCtrl=PCF21XX 
+//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD24x1, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD24x1, BL=NC, LCDTCtrl=PCF21XX 
+//TextLCD_I2C_N lcd(&i2c_lcd, PCF21XX_SA0, TextLCD::LCD24x2, NC, TextLCD::PCF21XX_3V3); // I2C bus, slaveaddress, LCDType=LCD24x2, BL=NC, LCDTCtrl=PCF21XX 
 
 int main() {
 //  int i=0;
@@ -96,19 +102,22 @@
 
     lcd.setCursor(TextLCD::CurOff_BlkOn);
 
-//    lcd.setUDC(0, (char *) udc_AA);
-//    lcd.putc(0);    
+#if(0)
+    lcd.setUDC(0, (char *) udc_AA);
+    lcd.putc(0);    
 
-//    lcd.setUDC(1, (char *) udc_0E);
-//    lcd.putc(1);    
+    lcd.setUDC(1, (char *) udc_0E);
+    lcd.putc(1);    
 
-//    lcd.setUDC(0, (char *) udc_0);
-//    lcd.putc(0);    
-//    lcd.setUDC(1, (char *) udc_1);
-//    lcd.putc(1);    
-//    lcd.setUDC(2, (char *) udc_2);
-//    lcd.putc(2);    
+    lcd.setUDC(0, (char *) udc_0);
+    lcd.putc(0);    
+    lcd.setUDC(1, (char *) udc_1);
+    lcd.putc(1);    
+    lcd.setUDC(2, (char *) udc_2);
+    lcd.putc(2);    
+#endif
 
+#if(1)
     lcd.setUDC(0, (char *) udc_Bat_Hi);
     lcd.setUDC(1, (char *) udc_Bat_Ha);
     lcd.setUDC(2, (char *) udc_Bat_Lo);
@@ -117,6 +126,18 @@
     lcd.setUDC(5, (char *) udc_5);
     lcd.setUDC(6, (char *) udc_6);
     lcd.setUDC(7, (char *) udc_7);
+#endif
+
+#if(0)
+    lcd.setUDC(0, (char *) udc_ch_1);
+    lcd.setUDC(1, (char *) udc_ch_2);
+    lcd.setUDC(2, (char *) udc_ch_3);
+    lcd.setUDC(3, (char *) udc_ch_4);
+    lcd.setUDC(4, (char *) udc_ch_yr);
+    lcd.setUDC(5, (char *) udc_ch_mo);
+    lcd.setUDC(6, (char *) udc_ch_dy);
+    lcd.setUDC(7, (char *) udc_ch_mi);
+#endif
 
     lcd.putc(0);    
     lcd.putc(1);    
@@ -248,9 +269,37 @@
 
           case '9' :
                      pc.printf("Text\n\r");    
-                     lcd.printf("Hello mbed\n");                            
+                     lcd.locate(0, 0);                                                
+                     lcd.printf(" Hello mbed\n");                            
+                     lcd.printf("   Native I2C\n");                                                 
 //                     lcd2.printf("Hello mbed\n");                            
-                               
+
+#if(0)  
+  // Needed for PCF2116C and PCF2116K
+                     lcd.putc('H' ^ 0x80);
+                     lcd.putc('e' ^ 0x80);
+                     lcd.putc('l' ^ 0x80);
+                     lcd.putc('l' ^ 0x80);
+                     lcd.putc('o' ^ 0x80);
+                     lcd.putc(' ' ^ 0x80);
+                     lcd.putc('m' ^ 0x80);
+                     lcd.putc('b' ^ 0x80);
+                     lcd.putc('e' ^ 0x80);
+                     lcd.putc('d' ^ 0x80);                      
+                     lcd.putc('\n');                      
+                     lcd.putc('I' ^ 0x80);
+                     lcd.putc('2' ^ 0x80);
+                     lcd.putc('C' ^ 0x80);
+                     lcd.putc(' ' ^ 0x80);
+                     lcd.putc('P' ^ 0x80);
+                     lcd.putc('C' ^ 0x80);
+                     lcd.putc('F' ^ 0x80);
+                     lcd.putc('2' ^ 0x80);                      
+                     lcd.putc('1' ^ 0x80);
+                     lcd.putc('1' ^ 0x80);
+                     lcd.putc('6' ^ 0x80);                     
+#endif
+                                                    
                      break;
 
           case 'A' :
@@ -286,10 +335,14 @@
 //                     }
 //                     break;
 
-
-
+          case 'P' :
+//test
+                    lcd._initCtrl();
+                    break;
+                    
           default :
                     lcd.putc(command);          
+//                    lcd.putc(command ^ 0x80);   // Needed for PCF2116C and PCF2116K
 //                    lcd2.putc(command);                              
                     break;