Compiler/DLPC900: Cycling through more than 400 images in pre-stored pattern mode
Part Number: DLPC900
Tool/software: TI C/C++ Compiler
I am trying to cycle through more than 400 images in the pre-stored pattern mode. I have read previous threads like this one :https://e2e.ti.com/support/dlp/f/94/t/772875.
I don't have problem in RLE compression and loading images into the flash memory. But since the LUT limits the maximum entry to be 512, how can I index images beyond that?
Thanks a lot!
Updating my understanding:
In the LUT definition, there are settings of pattern index, image pattern index and bit position. Am I right that we can cycle through lots of patterns by choosing non-overlapping image indices? If so, we can display at most 24x256 different patterns with 16 sequences - as long as they can be nicely compressed, correct?
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Xianxin:
Hi Xianxin Guo,
Image Compression is used for saving flash memory space.
Images are Uncompressed while loading from External flash memory to internal memory. At any point in time, Internal memory is designed to hold up to 400 1-bit binary or 50 8-bit binary images.
You can have LUT definitions to pick maximum 400 1-bit binary or 50 8-bit binary images from External flash memory.You can create and store many Batch files in the External memory, Execute it from GUI to pick which ever images you need from flash.
But at any time, Internal memory Can hold maximum of 400 1-bit binary or 50 8-bit binary images.
In reply to SHIVAKUMAR R:
I understand that compressed images are only stored in flash memory, and they are always uncompressed in internal memory. My question is, how do I select different sets of 400 images from the flash memory? If it's done by the image pattern index of the LUT, then the max image index is 255. Since each of them is a 24-bit image, does this mean that I can index at most 256x24 1-bit images from the flash memory?
Let me check and update.
I am Shiva's colleague. I thought I would contribute to this thread.
I think there is a little bit of disconnect on this question. The flash is limited to storing 400 1-bit (or 50 8-bit) images with the current hardware / software. You can make multiple batch files that can call different combinations of the 400 (50) stored patterns, but you cannot at this time store more than that into flash.
I think that the entry in the Programmers Guide DLPU018 rev E on page 58 for Bytes 11:10 may have an error. There are 11 bits devoted to the "image pattern index" entry. The range should be larger than 256. If you try to set something larger, does the GUI throw an error or does the EVM lock up?
In reply to Fizix:
Thanks for your reply!
1) Regarding the number of images that can be stored in flash memory, it should depend on the compression ratio. Why is it limited to 400? I am trying to load compressed images to the flash with my code rather than the GUI.
2) About the image pattern index, I'm not sure whether the range can be larger than 256 since i haven't tried it yet.
Shiva and I looked at this together and confirmed that the Programmer's Guide is in error. If you load patterns from a batch file, even if you repeat a file name it will try to load it into a separate memory slot and will return the error that you cannot exceed 400 bits.
We have slated that part to be updated in the next update. We will remove the section that says you can do it through the load512.txt.
The correct way to do this is to use the LUT re-order. Found in the very next section. FIrst load up to 400 bits worth of patterns [400 1-bit or 50 8-bit patterns or a combination].
Then use the "LUT Editor" ("Edit LUT" button). There you can display any order of the up to 400 bits of pattern. The LUT table is limited at this time to 512 entries. You can also store the LUT edit commands in a batch file to execute.
Very sorry for the confusion
Sorry that I am still confused. Do you mean that we can't load more than 400 different 1-bit images, even if we manage to compress them into the flash and use multiple pattern sequences?
With the current Firmware/Software you cannot. Work is being done to expand the capability.
Sorry for the inconvenience.
The reason for the limit is that the patterns are loaded into the controller DDR uncompressed. That fills over 3/4 of the memory and some of the memory above that is used by the OS.
In order to load groups of stored images will take Firmware work to make it so that it can read in other patterns from flash.
Understood. Thanks for the clarification.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.