NHD-4.3-480272FT-CSXN-CTP Bitmap Display and Formats Issues - VHDL
Hello,
I'm having a little trouble either loading bitmaps or displaying bitmaps on the NHD display. I'm using the EVE Asset Builder program to convert a .jpg into the ARGB1555 .raw format. From there I load the bitmap into RAM_G and I am using the CMD_SETBITMAPS(format = '0' for ARGB1555) to load the image from RAM_G. The problem I am having is that the image is displayed as two tiny bitmaps and the pixel colors are incorrect. When I set the format in CMD_SETBITMAPS to ARGB2(format = '4') the bitmap will display as one bitmap but again the colors are incorrect.
In the image I've attached, I'm trying to display a green 50x50 pixel "back arrow" in the upper right corner. As you can see, it creates a 50x50 pixel box, but it displays two tiny bitmaps. If I set the format in the command to ARGB2 it fills the box with the correct sized logo but the color is wrong, even though I formatted the raw file to ARGB1555.
I've tried converting the jpg to different formats but I get the same results. If its a 16bits/pixel format raw file, it will display two smaller images in the box. If I set the command to load the image as 8bits/pixel, it will display a single image in the correct size.
I know my information is a bit vague but I'm using an FPGA as the MCU and all of my code is in VHDL. I am able use every command, widget, and function of the display except for loading bitmaps so far. How is the bitmap supposed to be loaded into RAM_G? Is it still Little Endian like the commands? I'll try to show my code for the what I'm using but like I said it's VHDL. The DL_START, CLEAR, DISPLAY, and DL_SWAP commands are not shown.
Thanks for your help, and I can provide more code if it helps.
when "1001" =>
MEM_ADDRESS_R <= REG_CMDB_WRITE; --REG_CMDB_WRITE
COMMAND_EN_R <= '1';
PARAM0_R <= X"03000095"; --TAG 0x95
PARAM1_R <= X"FFFFFF43"; --CMD_SETBITMAP
PARAM2_R <= X"00000100"; --Address 0x100 in RAM_G
PARAM3_R <= X"00320000"; --width = 50 - format = 0
PARAM4_R <= X"00000032"; --height = 50
PARAM5_R <= X"1F000001"; --BEGIN(BITMAPS)
PARAM6_R <= X"B4203000"; --VERTEX2II - X location = 417 - Y location = 3
PARAM7_R <= X"21000000"; --END
I'm having a little trouble either loading bitmaps or displaying bitmaps on the NHD display. I'm using the EVE Asset Builder program to convert a .jpg into the ARGB1555 .raw format. From there I load the bitmap into RAM_G and I am using the CMD_SETBITMAPS(format = '0' for ARGB1555) to load the image from RAM_G. The problem I am having is that the image is displayed as two tiny bitmaps and the pixel colors are incorrect. When I set the format in CMD_SETBITMAPS to ARGB2(format = '4') the bitmap will display as one bitmap but again the colors are incorrect.
In the image I've attached, I'm trying to display a green 50x50 pixel "back arrow" in the upper right corner. As you can see, it creates a 50x50 pixel box, but it displays two tiny bitmaps. If I set the format in the command to ARGB2 it fills the box with the correct sized logo but the color is wrong, even though I formatted the raw file to ARGB1555.
I've tried converting the jpg to different formats but I get the same results. If its a 16bits/pixel format raw file, it will display two smaller images in the box. If I set the command to load the image as 8bits/pixel, it will display a single image in the correct size.
I know my information is a bit vague but I'm using an FPGA as the MCU and all of my code is in VHDL. I am able use every command, widget, and function of the display except for loading bitmaps so far. How is the bitmap supposed to be loaded into RAM_G? Is it still Little Endian like the commands? I'll try to show my code for the what I'm using but like I said it's VHDL. The DL_START, CLEAR, DISPLAY, and DL_SWAP commands are not shown.
Thanks for your help, and I can provide more code if it helps.
when "1001" =>
MEM_ADDRESS_R <= REG_CMDB_WRITE; --REG_CMDB_WRITE
COMMAND_EN_R <= '1';
PARAM0_R <= X"03000095"; --TAG 0x95
PARAM1_R <= X"FFFFFF43"; --CMD_SETBITMAP
PARAM2_R <= X"00000100"; --Address 0x100 in RAM_G
PARAM3_R <= X"00320000"; --width = 50 - format = 0
PARAM4_R <= X"00000032"; --height = 50
PARAM5_R <= X"1F000001"; --BEGIN(BITMAPS)
PARAM6_R <= X"B4203000"; --VERTEX2II - X location = 417 - Y location = 3
PARAM7_R <= X"21000000"; --END

0
-
Hi ggeissler,
This topic may be better supported directly by FTDI. Please email support1@ftdichip.com for assistance with this issue.
Regards,0
Please sign in to leave a comment.
Comments
1 comment