Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/15/05 18:57
Read: times


 
#87562 - lcd_not_busy();
Responding to: ???'s previous message
this is not the only problem, the major problem is the read modify write scheme to be done 3840 times each time calling lcd_not_busy() 7 times.
to set a pixel look at the trouble microcontroller goes through:
void lcd_set_pixel(x, y)
{    
    address = y * 30 + (x >> 3); // convert x y into sequential address (30 columns)
    lcd_write_data(address & 0x0ff); // write lower byte first
    lcd_write_data(address >> 8); // write upper byte
    lcd_write_command(LCD_ADDRESS_POINTER_SET); // position cursor at that address
    lcd_write_command(LCD_DATA_READ_NO_INCREMENT); // read current byte
    data = lcd_bit_to_byte(7 - (x % 8));
    data = data | lcd_read_data(); // read existing byte( my pixel + 7 neighbours)
    lcd_write_data(data);
    lcd_write_command(LCD_DATA_WRITE_NO_INCREMENT);
}

Did you see why i'm getting something like 10 seconds for my vertical line (128 pixels) to scan the 240 pixels display width?
If I had a buffer memory I don't have to worry about reading from display, I only write chunks of 8 pixels at a time with auto increment address. where I acheive much higher speed!


List of 42 messages in thread
TopicAuthorDate
GLCD Project (low frequency scope)            01/01/70 00:00      
   GLCD Scrolling            01/01/70 00:00      
      Lesson learned            01/01/70 00:00      
         did you check            01/01/70 00:00      
   hi Speed GLCD displays?            01/01/70 00:00      
      Probably            01/01/70 00:00      
      Hardware scroll            01/01/70 00:00      
         PaceSetter            01/01/70 00:00      
      Best Display >> None is perfect            01/01/70 00:00      
         Sweep mode            01/01/70 00:00      
            Scope Squares            01/01/70 00:00      
            8 Bits Update            01/01/70 00:00      
               like rotate it 90°?            01/01/70 00:00      
                  90° Rotation Indeed            01/01/70 00:00      
   One step further            01/01/70 00:00      
      Animation            01/01/70 00:00      
         scan too slow!!            01/01/70 00:00      
            15 seconds? !!!            01/01/70 00:00      
               or....            01/01/70 00:00      
               slightly more            01/01/70 00:00      
               Optimization            01/01/70 00:00      
                  calculation            01/01/70 00:00      
                     Will have a look            01/01/70 00:00      
                        assembler speedup            01/01/70 00:00      
                  if it is really slow            01/01/70 00:00      
                     too smart Man            01/01/70 00:00      
                        another way            01/01/70 00:00      
                  When do you wait?            01/01/70 00:00      
                     first choice            01/01/70 00:00      
               should I use Serial RAM for buffer?            01/01/70 00:00      
                  serial RAM and time            01/01/70 00:00      
                     lcd_not_busy();            01/01/70 00:00      
                        a much faster approach            01/01/70 00:00      
                           I don't have enough XRAM            01/01/70 00:00      
                              magic            01/01/70 00:00      
                              more tweaking            01/01/70 00:00      
                                 Good thinking Jan            01/01/70 00:00      
                                    tweaking II.            01/01/70 00:00      
                                       Magic Tweeking            01/01/70 00:00      
                  Serial RAM is useless            01/01/70 00:00      
   maybe this technique will work here            01/01/70 00:00      
      Multi-microcontrollers            01/01/70 00:00      

Back to Subject List