Announcement

Collapse
No announcement yet.

ProgramExit() causes white-screen-of-death

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ProgramExit() causes white-screen-of-death

    I was attempting to use the ProgramExit() function to put a uLCD-32PT into sleep mode, but it seems to do more than just "sleep". On return of power all I get is a white screen. Touch functions still work.

    The only way I could restore the display was to load the SGC PmmC, power up the display to get the splash screen then reload the GFX PmmC.

    Is the ProgramExit() function not supported by this display?

    I was going to use SystemReset() as well, but not so keen now...

  • #2


    We have tried this on a 32PT and it behaves as expected.



    Can you repeat this?



    Can you describe exactly what you did to repeat this? (Code sample?)
    Mark

    Comment


    • #3


      Did you power down and restart? Problem doesn't appear if running in RAM and resetting fom workshop.



      code snippet below...



      /***********************************
      Main routine
      Initialise everything.
      loop in meter-mode
      ***********************************/
      func main()
      initScreen();

      if(!initSDCard())
      putstr(NO_SDCARD);
      powerDown();
      endif

      initParameters();


      repeat
      // bung meter program in here
      forever
      endfunc


      /******************************************
      Show power down msg then turn off screen
      ******************************************/
      func powerDown()
      putstr(POWERDOWN);
      file_Unmount();
      pause(5000);
      gfx_Contrast(0);
      // ProgramExit(); // DON'T USE!!! locks display up (White screen of death!)
      endfunc

      Comment


      • #4
        If I try and make your snippet 'workable' I get this
        #platform "uLCD-32PT_GFX2"
        var NO_SDCARD := "NO SD CARD\n" ;
        var POWERDOWN := "Power Down\n" ;
        /***********************************
        Main routine
        Initialise everything.
        loop in meter-mode
        ***********************************/
        func main()
        // initScreen();
        // if(!initSDCard())
        putstr(NO_SDCARD);
        powerDown();
        // endif
        // initParameters();

        repeat
        // bung meter program in here
        forever
        endfunc

        /******************************************
        Show power down msg then turn off screen
        ******************************************/
        func powerDown()
        putstr(POWERDOWN);
        file_Unmount();
        pause(5000);
        gfx_Contrast(0);
        ProgramExit(); // DON'T USE!!! locks display up (White screen of death!)
        endfunc
        And it works fine.

        Is there something else I need?

        HAve you got the correct PmmC? Which one are you using? What's the 'warranty label' on the uSD card say?
        Mark

        Comment


        • #5


          I have just tried with the above code and I'm getting the same result. I have compiled and downloaded to Flash. All seems ok until I remove/reapply power to the display - I get the white screen for about the time it takes the code to run then the display 'sleeps' again.

          The warranty label = 'S I R27 140212' and using 'uLCD-32PT-I-GFX-R28.PmmC'.

          To restore function to the display I have to load 'uLCD-32PT-I-SGC-R20.PmmC' first and ensure I get the splash screen before reloading the GFX.PmmC again.

          Comment


          • #6


            Before loading the SGC PmmC, I have to load the code with 'ProgramExit()' commented out into Flash, otherwise I still get the white screen and no SGC splash screen. Weird

            Comment


            • #7


              Please contact 4D Systems Tech Support.

              Comment

              Working...
              X