No announcement yet.

13P2 - Several Questions

  • Filter
  • Time
  • Show
Clear All
new posts

  • 13P2 - Several Questions

    I have several of the 32MB 13P2's. They are certainly going to fit my need better. I have one that appears to no longer display content. The back lighting and the capacitive touch appear to still work. The application that is currently installed normally displays an animation when touched and then dims to almost no back lighting and restarts. So I can still touch the screen and see the back lighting cycle...but no pixels. I was testing my code and at the end of the cycle the display went blank and I have never been able to get it back.

    I have disconnected from power for a period and re-flashed the program. Any other ideas?

    Also, is there a US based vendor that stocks 32MB 13P2's?

    Thank you,

  • #2
    Additional question. I am using a second 32mb 13P2 for continued work. My work consists of a small program plus a video that is 162 frames in length. This places the desired video at slightly over 16mb. Here's what appears to happen...

    If I shorten the video to 150 frames in WorkShop 4 (thus is only transcodes 150 frames), all works well, even if I leave my code set for 162 frames. The last few frames are red X's, but everything works correctly and the first part of the video displays fine.

    If I change the frame range in workshop 4 to produce the full 162 frames, the expected video exported is over 16mb. The program downloads fine, but the video is blank for all frames. I have put debug prints in the code and everything is working correctly...the video is just blank for all frames. If I start reducing the exported frames, eventually I cross enough below the 16mb and it works again.

    Any thoughts? Any issues with crossing the 16mb boundary? Do I have to initialize the video pointer differently?


    • #3
      I have some sample code that displays the first frame. This works for videos less that 16mb.

      func main()
      var frame;
      var x, y ;
      var state, n, degrees, zero, posit, hndl, iVideo1;
      putstr("Flash Memory Initialized");
      // Form2 1.1 generated 12/18/2020 11:29:14 PM
      hndl := file_LoadImageControl(0, 0,3);
      mg_SetWord(hndl, iVideo1, IMAGE_INDEX, 1) ;
      img_Show(hndl,iVideo1) ;
      When compiled, I get the following output if helpful:
      GCI Flash File System requires a Flash chip of at least 16.04 MB
      0 errors
      0 warnings
      3 notices
      No Errors, code size = 351 bytes out of 32750 total
      Initial RAM size = 202 bytes out of 14400 total
      Download to Flash successful.


      • #4
        Think about it for a bit. 16MB is the maximum that can be addressed by 24 bits (3 bytes).

        So if you try to download something >16MB to a 16MB card it will wrap around at the end and corrupt the file, and the headers will be corrupted, you will almost certainly see the file_LoadImagecontrol() fail.

        Because you need more than 24 bits to go beyond 16MB you need different commands to init the Flash card as it needs to be put into 32 bit mode to get beyond the 16MB limit. So you need to replace
        media_Init() ;
        media_Init4(FLASH_ADDR_DEF_COMMAND) ;
        You also need to tell the Filetransfer program that the Flash Chip is greater than 16MB, In Workshop this occurs 'automatically' when the Project's 'Flash > 16MB' checkbox is checked.


        • #5
          Uploaded project setting...does everything look appropriate?
          Attached Files


          • #6
            Looks good.


            • #7
              That worked! Thank you!