altos: Configure STM LCD driver for giant LCD digits
authorKeith Packard <keithp@keithp.com>
Thu, 21 Jun 2012 16:39:10 +0000 (09:39 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 21 Jun 2012 16:39:10 +0000 (09:39 -0700)
These devices require static mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/stm-demo/ao_demo.c
src/stm/ao_lcd_stm.c

index 232c2313ed80af371b289f0dd50fad80dcf537ee..73ace558dae5141015b78a66cb659b9c5276990e 100644 (file)
@@ -166,7 +166,7 @@ main(void)
        ao_timer_init();
        ao_dma_init();
        ao_cmd_init();
-//     ao_lcd_stm_init();
+       ao_lcd_stm_init();
 //     ao_lcd_font_init();
        ao_spi_init();
        ao_i2c_init();
index f68cf165fc076a8528ae23654d401584b0c952b4..b19094440a9ff8f1027510f026f8266a150e0396 100644 (file)
@@ -328,10 +328,14 @@ ao_lcd_stm_init(void)
                }
        }
 
+       /* Disable the LCD */
+       stm_lcd.cr = 0;
+
        /* duty cycle 1/3, radio 352, frame rate about 33Hz */
-       stm_lcd.fcr = ((STM_LCD_FCR_PS_1 << STM_LCD_FCR_PS) |
-                      (STM_LCD_FCR_DIV_31 << STM_LCD_FCR_DIV) |
+       stm_lcd.fcr = ((STM_LCD_FCR_PS_16 << STM_LCD_FCR_PS) |
+                      (STM_LCD_FCR_DIV_20 << STM_LCD_FCR_DIV) |
                       (4 << STM_LCD_FCR_CC) |
+                      (0 << STM_LCD_FCR_DEAD) |
                       (4 << STM_LCD_FCR_PON) |
                       (0 << STM_LCD_FCR_UDDIE) |
                       (0 << STM_LCD_FCR_SOFIE) |
@@ -343,8 +347,8 @@ ao_lcd_stm_init(void)
        /* Program desired BIAS in LCD_CR */
        /* Enable mux seg */
        /* Internal voltage source */
-       stm_lcd.cr = ((STM_LCD_CR_DUTY_1_4 << STM_LCD_CR_DUTY) |
-                     (STM_LCD_CR_BIAS_1_3 << STM_LCD_CR_BIAS) |
+       stm_lcd.cr = ((STM_LCD_CR_DUTY_STATIC << STM_LCD_CR_DUTY) |
+                     (STM_LCD_CR_BIAS_1_2 << STM_LCD_CR_BIAS) |
                      (0 << STM_LCD_CR_VSEL) |
                      (1 << STM_LCD_CR_MUX_SEG));