FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - FTDI Community

Pages: 1 ... 54 55 [56] 57 58 ... 60
826
General Discussion / Re: FT82x
« on: May 17, 2018, 12:07:00 PM »
Hello,

The new series of BT81x ICs will have the same amount of VRAM as its predecessors.
We have some examples of what is possible with this at the following:
http://www.ftdichip.com/Support/SoftwareExamples/FT800_Projects.htm

Best Regards,
FTDI Community

827
General Discussion / Re: FT82x
« on: May 16, 2018, 11:01:22 AM »
Hello,

Our upcoming BT815/6 series of EVE ICs also include 1MByte of internal graphics RAM. However these new ICs include support for external flash memory which can be used to store/offload graphics elements such as images, custom fonts and widgets from the integrated RAM.
You can find out more about the BT815/6 at the following page:
http://brtchip.com/bt81x/

Best Regards,
FTDI Community

828
Hello Ritesh,

You have sent this exact question to me via email, as a result I have replied to your email enquiry.

Best Regards,
FTDI Community

829
Discussion - Software / Re: Cannot find FT4222 chip on Windows
« on: May 08, 2018, 11:32:16 AM »
Hello,

There should be no problems running the example code provided with the library.

Does the same thing happen on a different Windows PC?

Please ensure that you are using the latest version LibFT4222 Windows Library (v1.4.1) and Examples.

Mode 3 is the correct mode for using the device as 1 port for data stream (I2C or SPI) as per Table 5.1 in the FT4222H Datasheet.

You could try completely uninstalling and reinstalling the FTDI drivers. See FTDI_Driver_Uninstall_with_2-12-28_Install.pdf for details on how to do this.

Best Regards,
FTDI Community

830
Discussion - Drivers / Re: FTDIBUS \ VID_0403 + PID_6001
« on: May 04, 2018, 04:15:35 PM »
Hello,

Welcome to the FTDI Community forum. We have replied to your email today with installation details and hope this helps,

Best Regards,
FTDI Community


831
Discussion - Software / Re: VNC2 Firmware Update over USB
« on: May 04, 2018, 01:46:08 PM »
Hello,

Please see AN_151 Vinculum II User Guide for all available functionality.

You can also use the IDE's help menu to easily search. This function might be useful to you:



If you have any further detailed questions which might need involvement from R&D, please contust us directly.

Best Regards,
FTDI Community

832
Discussion - Software / Re: API for setting clock divider
« on: May 01, 2018, 12:04:35 PM »
Hello,

This has been answered via email and is pasted here for the benefit of the community:

If you wish to change the Clock Divider for the SPI master you would need to recall the FT4222_SPIMaster_Init() function.

Best Regards,
FTDI Community

833
Discussion - Software / Re: FT900 9bit UART
« on: May 01, 2018, 12:02:23 PM »
Hello Stephen,

An example demonstrating 9-bit UART can be found at the following link (for the benefit of the community):

UART_9Bit_mode_example.zip

This should be included as part of the API in a future release.

Best Regards,
FTDI Community

834
Discussion - Software / Re: Loading an image with FT813 issues
« on: May 01, 2018, 11:05:50 AM »
Hi Farid,

Could you tell us what is in your code for cmd_WrCmdBuf(home_start_icon,length);

What do you see when it fails, does it show as a black box in the screen of the same size that you expected for the image?

Best Regards, FTDI Community



835
Hi,
Each part is saved in a similar way. For example, as shown below we create 2 static sections.


Code: [Select]
void initMainStaticBackground1(void)   
{   

//########### Await FIFO Empty ###########

WaitCmdFifoEmpty();  //wait for FIFO read/write

//########### Create the static list in CMD FIFO ###########

ft813memWrite32(RAM_CMD + cmdOffset, (CMD_DLSTART));   // Start the display list
cmdOffset = incCMDOffset(cmdOffset, 4);   
       
[Your other commands here]
[Not including CLEAR(1,1,1) or DISPLAY or SWAP]
     

//########### Execute the commands to make the display list in RAM_DL ###########

ft813memWrite16(REG_CMD_WRITE, (cmdOffset));               // Update the ring buffer pointer so the graphics processor starts executing 

//########### Await completion ###########

WaitCmdFifoEmpty();

//########### Find the end of the new DL ###########

Static1Length = ft813memRead16(REG_CMD_DL);


//########### Copy the created DL into RAM_G @ address 4000 in this case ###########

// Could use your command
// ft813memWrite32(RAM_CMD + cmdOffset, CMD_MEMCPY(4000L, RAM_DL, dloffset));
// instead of this code below

ft813memWrite32(RAM_CMD + cmdOffset, CMD_MEMCPY);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, StaticLocation1);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, RAM_DL);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, Static1Length);
cmdOffset = incCMDOffset(cmdOffset, 4);

ft813memWrite16(REG_CMD_WRITE, (cmdOffset));

WaitCmdFifoEmpty();

//########### Your static part of the list will now be available ###########
}




void initMainStaticBackground2(void)   
{   

//########### Await FIFO Empty ###########

WaitCmdFifoEmpty();  //wait for FIFO read/write

//########### Create the static list in CMD FIFO ###########

ft813memWrite32(RAM_CMD + cmdOffset, (CMD_DLSTART));   // Start the display list
cmdOffset = incCMDOffset(cmdOffset, 4);   
       
[Your other commands here]
[Not including CLEAR(1,1,1) or DISPLAY or SWAP]
     

//########### Execute the commands to make the display list in RAM_DL ###########

ft813memWrite16(REG_CMD_WRITE, (cmdOffset));               // Update the ring buffer pointer so the graphics processor starts executing 

//########### Await completion ###########

WaitCmdFifoEmpty();

//########### Find the end of the new DL ###########

Static2Length= ft813memRead16(REG_CMD_DL);


//########### Copy the created DL into RAM_G @ address 4000 in this case ###########

// Could use your command
// ft813memWrite32(RAM_CMD + cmdOffset, CMD_MEMCPY(4000L, RAM_DL, dloffset));
// instead of this code below

ft813memWrite32(RAM_CMD + cmdOffset, CMD_MEMCPY);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, StaticLocation2);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, RAM_DL);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, Static2Length)
cmdOffset = incCMDOffset(cmdOffset, 4);

ft813memWrite16(REG_CMD_WRITE, (cmdOffset));

WaitCmdFifoEmpty();

//########### Your static part of the list will now be available ###########
}




Your code should keep a note of StaticLocation1, Static1Length, StaticLocation2, Static2Length, as these are required when recalling the sections with Append.

Ensure that the saved sections don't overlap. You can assure this by taking account the size of each static section (e.g.  end of static section1 would be StaticLocation1 + Static1Length)

We have an example in the application note below (see 4.3.2 onwards) where we make a chart using 2 static sections (a background and a scale) and then add the line. This is in Arduino format but uses the same techniques.
http://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/Modules/EVE/AN_356-FT800-Interfacing-I2C-Sensor-to-VM800P.pdf

Regards, FTDI Community



 

836
Hello Farid,

The code below should help when storing the static list.

Note that after sending commands, you should update the REG_CMD_WRITE and then wait for completion of the commands.

In general,

- Await the buffer empty (WaitCmdFifoEmpty)
- Send commands beginning at current REG_CMD_WRITE pointer value (keeping track of offset with each command)
- Update REG_CMD_WRITE to make the co-pro execute them
- Await the buffer empty (WaitCmdFifoEmpty) i.e.. when REG_CMD_READ catches up with your updated REG_CMD_WRITE value



Code: [Select]
void initMainStaticBackground(void)   
{   
// try without this first
//WaitCmdFifoEmpty();  //wait for FIFO read/write
//cmd_memset(0, 0, 300*1024);                           
//ft813memWrite16(REG_CMD_WRITE, (cmdOffset));
//WaitCmdFifoEmpty();


//########### Await FIFO Empty ###########

WaitCmdFifoEmpty();  //wait for FIFO read/write

//########### Create the static list in CMD FIFO ###########

ft813memWrite32(RAM_CMD + cmdOffset, (CMD_DLSTART));   // Start the display list
cmdOffset = incCMDOffset(cmdOffset, 4);   
       
//ft813memWrite32(RAM_CMD + cmdOffset, DL_CLEAR_RGB);   // same as CLEAR_COLOR_RGB(0, 0, 0) Start the display list
//cmdOffset = incCMDOffset(cmdOffset, 4);     
   
//ft813memWrite32(RAM_CMD + cmdOffset, (DL_CLEAR_RGB | BLUE));   // same as CLEAR_COLOR_RGB(0, 0, 0) Start the display list
//cmdOffset = incCMDOffset(cmdOffset, 4);     
               
//ft813memWrite32(RAM_CMD + cmdOffset, CLEAR(1,1,1))  ; 
//cmdOffset = incCMDOffset(cmdOffset, 4);   

ft813memWrite32(RAM_CMD + cmdOffset, TAG_MASK(1)); 
cmdOffset = incCMDOffset(cmdOffset, 4);
     
ft813memWrite32(RAM_CMD + cmdOffset, TAG(10)); 
cmdOffset = incCMDOffset(cmdOffset, 4);         
DisplayButton(10,10, 180, 60, 24,  OPT_FLAT, &Button1String[0],GREY,BLACK);
     
ft813memWrite32(RAM_CMD + cmdOffset, TAG(20)); 
cmdOffset = incCMDOffset(cmdOffset, 4);   
DisplayButton(10,110, 180, 60, 24, OPT_FLAT, &Button2String[0],GREY,BLACK);
     
ft813memWrite32(RAM_CMD + cmdOffset, TAG(30)); 
cmdOffset = incCMDOffset(cmdOffset, 4);   
DisplayButton(10,210, 180, 60, 24, OPT_FLAT, &Button3String[0],GREY,BLACK);

ft813memWrite32(RAM_CMD + cmdOffset, TAG(40)); 
cmdOffset = incCMDOffset(cmdOffset, 4);   
DisplayButton(10,310, 180, 60, 24, OPT_FLAT, &Button4String[0],GREY,BLACK);
   
ft813memWrite32(RAM_CMD + cmdOffset, TAG(50)); 
cmdOffset = incCMDOffset(cmdOffset, 4);
DisplayButton(10,410, 180, 60, 24, OPT_FLAT, &Button5String[0],GREY,BLACK);
     
ft813memWrite32(RAM_CMD + cmdOffset, TAG_MASK(0)); 
cmdOffset = incCMDOffset(cmdOffset, 4);

DisplayRECT(220,20,300,60,WHITE,10);
     
//########### Execute the commands to make the display list in RAM_DL ###########

ft813memWrite16(REG_CMD_WRITE, (cmdOffset));               // Update the ring buffer pointer so the graphics processor starts executing 

//########### Await completion ###########

WaitCmdFifoEmpty();

//########### Find the end of the new DL ###########

dloffset = ft813memRead16(REG_CMD_DL);


//########### Copy the created DL into RAM_G @ address 4000 in this case ###########

// Could use your command
// ft813memWrite32(RAM_CMD + cmdOffset, CMD_MEMCPY(4000L, RAM_DL, dloffset));
// instead of this code below

ft813memWrite32(RAM_CMD + cmdOffset, CMD_MEMCPY);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, 4000L);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, RAM_DL);
cmdOffset = incCMDOffset(cmdOffset, 4);
ft813memWrite32(RAM_CMD + cmdOffset, dloffset);
cmdOffset = incCMDOffset(cmdOffset, 4);

ft813memWrite16(REG_CMD_WRITE, (cmdOffset));

WaitCmdFifoEmpty();

//########### Your static part of the list will now be available ###########



Regards, FTDI Community




837
Discussion - Software / Re: Issue with FT4222 and I2C
« on: April 25, 2018, 04:19:22 PM »
Hello,

Unfortunately we don't have any particular experience using the PCA9570.

However, we do provide code examples as part of the LibFT4222, so it would be worth taking a look at these:

http://www.ftdichip.com/Products/ICs/FT4222H.html

There is also a lot of information in LibFT4222 User Guide including details of the FT4222_STATUS return codes (Appendix A – Enumeration and Structure Definitions) and FT4222_I2CMaster_GetStatus controllerStatus bit definitions which should help with your debug.

Best Regards,
FTDI Community

838
Discussion - Software / Re: Display issues with Special character
« on: April 20, 2018, 04:17:24 PM »
Hi,

Could you provide further information about how you created the degree symbol and how you use it in your code.

Did you create a custom font containing the ASCII character set plus some special symbols such as degrees?

You can also send any code or details to our support address below if you prefer
support1@ftdichip.com

Best Regards, FTDI Community

839
Discussion - Software / Re: Loading an image with FT813 issues
« on: April 20, 2018, 09:31:30 AM »
Hi,

We have a summary of how to load the data in the application note below (see pages 18 and 19 especially)

http://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/ICs/EVE/BRT_AN_008_FT81x_Creating_a_Simple_Library_For_PIC_MCU.pdf


In the code below, you would need to take account of the circular nature of the buffer so that the data does not run beyond the end of the 4K buffer. You would also need to check the read and write pointers to ensure that there is sufficient space in the buffer. Hopefully the flow chart and sample code linked in the application note above will help.
 
Code: [Select]
   for (i = 0; i < length; i++)
   {
     ft800memWrite8(RAM_CMD + cmdOffset, img);   
      cmdOffset++;
   }

Best regards, FTDI Community

840
Hello,

We have a description of the Append technique in the application note below:

http://www.ftdichip.com/Support/Documents/AppNotes/AN_340_FT800_Optimising%20screen%20updates%20with%20Macro%20and%20Append.pdf

This allows you to store the static parts of the screen and re-send only the numbers each time. The same technique works for both FT80x and FT81x.

Best Regards, FTDI Community


Pages: 1 ... 54 55 [56] 57 58 ... 60