// HEADER OF DISPLAY LIST START - BEGIN ft800memWrite32 (RAM_CMD + cmdOffset, (CMD_DLSTART));// Start the display list cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (DL_CLEAR_RGB | BackgroundColor));// Set the default clear color to black cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (DL_CLEAR | CLR_COL | CLR_STN | CLR_TAG));// Clear the screen - this and the previous prevent artifacts between lists // Attributes are the color, stencil and tag buffers cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // HEADER OF DISPLAY LIST START - END #if (CREATE_BUTTON_METHOD_NUMBER == 0) // BUTTON - BEGIN // Command Button // Address 0-3; 4 bytes ft800memWrite32 (RAM_CMD + cmdOffset, (CMD_BUTTON)); cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // X-coordinate of button top-left, in pixels; Address 4-5; 2 bytes // Y-coordinate of button top-left, in pixels; Address 6-7; 2 bytes ft800memWrite32 (RAM_CMD + cmdOffset, ( (100 << 16) | (100) )); cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // Width of button, in pixels; Address 8-9; 2 byte // Height of button, in pixels; Address 10-11; 2 bytes ft800memWrite32 (RAM_CMD + cmdOffset, ( (50 << 16) | (25) )); cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // Font of button; Address 12-13; 2 bytes // Options of button; Address 14-15; 2 bytes // ft800memWrite32 (RAM_CMD + cmdOffset, ( (31 << 16) | (0) )); cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // Text of button - "OK": "O" + "K" + "NULL" // Address 16-19; 4 byte ft800memWrite32 (RAM_CMD + cmdOffset, ( (0x4F << 24) | (0x4B << 16) | (0x00 << 8) | (0x00 << 0))); cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // BUTTON - END #endif #if (CREATE_BUTTON_METHOD_NUMBER == 1) // BUTTON - BEGIN // Command Button // Address 0-3; 4 bytes ft800memWrite32 (RAM_CMD + cmdOffset, (CMD_BUTTON)); cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // X-coordinate of button top-left, in pixels // Address 4-5; 2 bytes ft800memWrite16 (RAM_CMD + cmdOffset, 100); cmdOffset = incCMDOffset (cmdOffset, 2);// Update the command pointer // Y-coordinate of button top-left, in pixels // Address 6-7; 2 bytes ft800memWrite16 (RAM_CMD + cmdOffset, 100); cmdOffset = incCMDOffset (cmdOffset, 2);// Update the command pointer // Width of button, in pixels // Address 8-9; 2 byte ft800memWrite16 (RAM_CMD + cmdOffset, 50); cmdOffset = incCMDOffset (cmdOffset, 2);// Update the command pointer // Height of button, in pixels // Address 10-11; 2 bytes ft800memWrite16 (RAM_CMD + cmdOffset, 25); cmdOffset = incCMDOffset (cmdOffset, 2);// Update the command pointer // Font of button // Address 12-13; 2 bytes ft800memWrite16 (RAM_CMD + cmdOffset, 31); cmdOffset = incCMDOffset (cmdOffset, 2);// Update the command pointer // Options of button // Address 14-15; 2 bytes ft800memWrite16 (RAM_CMD + cmdOffset, 0); cmdOffset = incCMDOffset (cmdOffset, 2);// Update the command pointer // Text of button - "OK": "O" // Address 16; 1 byte ft800memWrite8 (RAM_CMD + cmdOffset, 0x4F); cmdOffset = incCMDOffset (cmdOffset, 1);// Update the command pointer // Text of button - "OK": "K" // Address 17; 1 byte ft800memWrite8 (RAM_CMD + cmdOffset, 0x4B); cmdOffset = incCMDOffset (cmdOffset, 1);// Update the command pointer // String terminated with null character, i.e. '\0' ft800memWrite8 (RAM_CMD + cmdOffset, 0x00); cmdOffset = incCMDOffset (cmdOffset, 1);// Update the command pointer // BUTTON - END #endif #if (CREATE_TOGGLE_POINT == 1) // DRAW POINT - BEGIN ft800memWrite32 (RAM_CMD + cmdOffset, (DL_COLOR_RGB | color));// Set the color of the following item(s) - toggle red/white from above cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (DL_POINT_SIZE | point_size));// Select the size of the dot to draw cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (DL_BEGIN | FTPOINTS));// Indicate to draw a point (dot) cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (DL_VERTEX2F | (point_x << 15) | point_y));// Set the point center location cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (DL_END));// End the point cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer // DRAW POINT - END #endif // ENDING OF DISPLAY LIST START - BEGIN ft800memWrite32 (RAM_CMD + cmdOffset, (DL_DISPLAY));// Instruct the graphics processor to show the list cmdOffset = incCMDOffset(cmdOffset, 4);// Update the command pointer ft800memWrite32 (RAM_CMD + cmdOffset, (CMD_SWAP));// Make this list active cmdOffset = incCMDOffset (cmdOffset, 4);// Update the command pointer ft800memWrite16 (REG_CMD_WRITE, (cmdOffset));// Update the ring buffer pointer so the graphics processor starts executing // ENDING OF DISPLAY LIST START - END ////////////////////////////////////////////////////////////////////////////////////// //////////////////////// DISPLAY LIST - END ////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// |
Original Attachment has been moved to: main_24.c.zip
Original Attachment has been moved to: ssp_0.h.zip
Original Attachment has been moved to: FT800.h.zip
Original Attachment has been moved to: ssp_1.c.zip
Hi,
Have you solved your problem?
I am interested in about but with the i.MX RT1020 EVK and ft800 or bt 815