No announcement yet.

Image from SD Card freeze (uLCD28-PT)

  • Filter
  • Time
  • Show
Clear All
new posts

  • Image from SD Card freeze (uLCD28-PT)

    I am using a uLCD28-PT and I am having some issues with the screen freezing when I try to display images from the SD card. Usually, the first image in the program displays fine, then when the second image is requested, it fills part of the screen but you can still see the previous image beneath. After this, if a third or fourth image is requested, nothing happens (what I would call frozen).
    Has anyone else had this issue? Any possible causes? Solutions?
    My setup is an Arduino UNO communicating serially with the screen (SGC). Thanks!

  • #2

    Can you recreate this issue using FAT Controller?

    Can you zip up the images and attache them here and give us a guide to what images and how to display them to demonstrate the problem.

    (There have been some recent reports about this being related to the way the uSD card was formatted, but after much testing we have been unable to find a relationship between this sort of thing and the way the card is formatted)


    • #3

      I have only been using images in the RAW partition. And I haven't been able to reliably reproduce the problem either. It seems to happen after I've been using the screen for a while but that might just be a coincidence.
      I added some Arduino code I've been using. Mostly, the program works fine. In the attachment there is a photo of a time where the screen froze. In the picture, you can see the a second image peeking through the top of the first image. The first image is a jpeg and the second is a gif animation. I couldn't attach the gif animation here since it is slightly over the 1MB limit, but I attached the first image. The gif can be downloaded HERE.
      const int RXPin = 4; //yellowconst int TXPin = 5; //orangechar c;uint8_t splash_screen[14]={0x40, 0x49, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0xF0, 0x10, 0x00, 0x00, 0x00};uint8_t this_is_video_1[17]={0x40, 0x56, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0xF0, 0x10, 0x78, 0x00, 0x19, 0x00, 0x02, 0x58};
      //RXpin 2SoftwareSerial screen(TXPin,RXPin);
      void setup() { delay(500); //wait 500 ms for everything to power up Serial.begin(9600); //baud rate for serial monitor (9600) Serial.println("starting setup"); delay(21); screen.begin(9600); //baud rate for screen (9600) delay(21); Serial.flush(); //flush the buffer screen.flush(); //flush the buffer screen.print('U'); //wake up the display delay(21); print_buffer(); //should recieve 0x06}
      void loop() { screen.write(splash_screen,sizeof(splash_screen)); //display splash screen print_buffer(); delay(3000); //wait 3 seconds screen.write(this_is_video_1,sizeof(this_is_video_1)); //display splash screen print_buffer(); delay(5000); //wait 5 seconds and do again Serial.println("new loop"); }
      //========================================================void print_buffer(){ Serial.println("==============="); Serial.println("Screen buffer:"); for(int i=0;i


      • #4

        I seem to need somesort of signin to see the referred to images.

        You need to change your code to check for the ACK/NAK coming back from the display. Failure to do so will almost (eventually) result in something weird going on.