cancel
Showing results for 
Search instead for 
Did you mean: 

We are using an STM32F429 Nucleo for a display (GEN4-FT813-43CTB) and we are trying to produce a red dot on a blue background. Seemed simple. We have the ability to change the background but, we can't produce the red dot.

Hiram Hyman
Associate III

Does anyone know what we are doing wrong?

  ramDisplayList = RAM_DL;                      // point to next location

  ramDisplayList += 0; // Clear 00100110 -------- -------- -----CST (C/S/T define which parameters to clear)

  FT813memWrite32(ramDisplayList,DL_CLEAR_COLOR_RGB | BLUE );   //0x024B83A0 turquoise (01001011 |10000011 | 10100000

 // HAL_Delay(500); //0x02000000 black for sample code

  FT813memWrite32(DL_CLEAR,0x07 );

  ramDisplayList += 4;   //DL_CLEAR  C,S,T

  FT813memWrite32(ramDisplayList, (0x26000000 | 0x00000007)); //Orange 0x02D1631A

   //PURPLE 0x02BDE0E6    //BROWN 0x8E6B51

  ramDisplayList += 4;                            // point to next location

  FT813memWrite32(ramDisplayList, 0x00000000);                 // DISPLAY command 00000000 00000000 00000000 00000000 (end of display list)

  HAL_Delay(100);

  FT813memWrite32(REG_DLSWAP, SWAP_FRAME);                  // Swap display list to make the edited one active

  // This list will draw a RED DOT with a diameter of 20 pixels at the location (192, 133):

   FT813memWrite32(ramDisplayList += 0, DL_CLEAR|0x07); //Clear the screen

   FT813memWrite32(ramDisplayList += 4, 0x04A01616); //Set the draw colour to red (DL_COLOR_RGB)

   FT813memWrite32(ramDisplayList += 8, 0x0D000086); //DL_POINT_SIZE Set size to 320/16 = 20 pixels

   FT813memWrite32(ramDisplayList += 12, 0x1F000200); //Start the point draw 0100

   FT813memWrite32(ramDisplayList += 16, 0x2C085000); //VERTEX2II X192 , Y 133 on screen

   //Draw circle 192 pixels from

   //left and 133 down

   FT813memWrite32(RAM_DL + 20, END); //End the point draw

   FT813memWrite32(RAM_DL + 24, DISPLAY); //End the display list (28 bytes used)

   FT813memWrite32(REG_DLSWAP, SWAP_FRAME); //Make this display list active

All of the registers for this particular piece where checked and the analyzer is receiving what's written however, we believe that we are missing something.

Can anyone help us?

HXE

0 REPLIES 0