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.

Topics - ffred

Pages: [1]
1
Discussion - Software / FTProg & FT260 - not perfect ?
« on: June 12, 2022, 02:22:18 PM »
Hi,
I want to be able to recognize which FT260 I have connected, so want to set a specific serial number to each FT260 I will use.
I use FTProg to set the EEPROM (actually I'm using UMFT260EV1A boards for my tests) and only want to change the serial number and keep the other parameters as default.

I used USDBview from Nirsoft and also Microsoft USBView I found on FTDI download page to compare how the FT260 enumerate on my computer. (links at the bottom).

here are the two screenshots (before & after FTPROG) from USBDView :



I just changed the serial number for "F0001A" on FTProg. it seems to work because with LibFT260 I can open the device with "FT260_OpenBySerialNumber", but why now the 3 lines for the FT260 doesn't still appear as FT260 in USBDView "device name" column ?

I also save the data from Microsoft USBView, before & after FTPROG. here are the files :
before:
Code: [Select]
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:           0x0403 (Future Technology Devices International Limited)
idProduct:          0x6030
bcdDevice:          0x2200
iManufacturer:        0x01
0x0409: "FTDI"
iProduct:             0x02
0x0409: "FT260"
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x02
Open Pipes:              4

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x83  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x04  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Configuration Descriptor:
wTotalLength:       0x0049
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xA0 (Bus Powered Remote Wakeup)
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

HID Descriptor:
bcdHID:             0x0111
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0117

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

HID Descriptor:
bcdHID:             0x0111
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0117

Endpoint Descriptor:
bEndpointAddress:     0x83  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x04  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

after:
Code: [Select]
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
idVendor:           0x0403 (Future Technology Devices International Limited)
idProduct:          0x6030
bcdDevice:          0x2200
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x03
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x02
Open Pipes:              4

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x83  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x04  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Configuration Descriptor:
wTotalLength:       0x0049
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xA0 (Bus Powered Remote Wakeup)
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

HID Descriptor:
bcdHID:             0x0111
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0117

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

HID Descriptor:
bcdHID:             0x0111
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0117

Endpoint Descriptor:
bEndpointAddress:     0x83  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x04  OUT
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

the only differences seems to be in the first "device descriptor" block.
does this seems normal to you ? why the way it's showing in USBDView doesn't stay the same ?

thanks,
ffred
 

https://www.nirsoft.net/utils/usb_devices_view.html
https://ftdichip.com/utilities/

2
Hi,
the documentation is nearly the same for the two functions FT260_GetInterruptFlag & FT260_CleanInterruptFlag. they're defined the same way, with the same parameters.
the only difference is the "summary" : get interrupt flag for one and clean the interrupt flag for the other, but they both got the same pbFlag parameter.
could be nice to have more explanation about that.

it's clear that with FT260_GetInterruptFlag we can read the interrupt flag and probably it's not reset after that.
but can I imagine that FT260_CleanInterruptFlag also read the interrupt flag AND reset it..??
if not, what is the pbFlag for ?

you should add a few words to FT260_CleanInterruptFlag summary to make things clearer...

thanks.
ffred

3
Discussion - Software / LibFT260: missing doc for FT260_SetFeature ?
« on: June 05, 2022, 08:03:52 PM »
Hi,
there's a FT260_SetFeature function in LibFT260.h, but there's no documentation for it in "AN_395_User_Guide_for_LibFT260.pdf".
(and still not in the more recent doc you mailed me..).
what can we do with it ?

thanks.
ffred

4
Hi,
in LibFT260 library documentation, the explanations are quite limited for FT260_GetChipVersion & FT260_GetLibVersion functions.
it only says : "Version 1.0.0.0 is shows as 16777216 in decimal" for FT260_GetChipVersion.

so 16777216 is 0x01000000 in hex > 01 00 00 00 for v1.0.0.0  ok, simple !
but in my soft I made a simple code for converting the value and got : v1.1.5.0 for lib version (ok) &  v2.60.2.0 (?) for the chip version.
your sample code "getting_started" was giving me 2.0.2.0 !

so I looked into your code and saw that there's a mask with 0x0F for each byte, which explain the result.  (but should be in the doc)

but is it really a 2.0.2.0 version or maybe a 2.0 version for an FT260, because it's a really strange coincidence to have 2.60.2.0 ..  :o

thanks
ffred

5
Discussion - Drivers / missing DLL on Windows 11 for LibFT260 ?
« on: May 28, 2022, 01:08:47 PM »
Hello,
I'm writing a program using LibFT260 on a Windows 10 computer and for now all is good, but I tried it on a new Windows 11 computer and it seems to be missing DLLs. (screenshot from Dependency Walker : https://postimg.cc/18Q058PF ).
I installed the last 64bits Visual C++ redistributable, but nothing change. does someone know which DLLs are needed ??
thanks.
ffred

6
Discussion - Software / LibFT260 update needed ?
« on: May 25, 2022, 01:34:57 PM »
Hi,
I'm on my way creating a Rust binding to LibFT260 (while still learning Rust)..
I discovered the FT260 few weeks ago while searching something to replace the unavailable IC I was planning to use. it was a good thing because it suits better my needs. so at this time I downloaded all I found (doc & library) about FT260.
now I read a part of the doc and I'm beginning to use the library, but found inconsistencies.
first of all, I initially downloaded LibFT260 v1.1.5 but can't remember where and now only found v1.1.3 on the FT260 webpage !??
was it removed or is there another place to download the library ?
https://www.ftdichip.com/old2020/Products/ICs/FT260.html

if I compare LibFT260.h from v1.1.3 and v1.1.5, the only difference is a new function in v1.1.5 : FT260_SetFeature

both versions still have a top description saying :
Code: [Select]
* @file LibFT260.h
 *
 * @author FTDI
 * @date 2015-07-01
 *
 * Copyright © 2015 Future Technology Devices International Limited
 * Company Confidential
 *
 * Rivision History:
 * 1.0 - initial version

maybe you could update the version number in the comment according with the library version..

now a bigger problem, the "AN_395_User_Guide_for_LibFT260.pdf" documentation is really older than even the v1.1.3; several functions are missing in it.

the sample codes are not updated according to the library version (some error codes missing for example).
I haven't looked at all the sample codes, but for example in open_device.cpp lines 143 & 149, the comments seems to be inverted..

in the library there are functions to open by serial number or by product description in v1.1.3 or .5 libraries, but no function to read serial number or device description of the HID devices. would be great also to have function to modify them and then don't have to use FTProg (witch I have to test again later, but I had odd results at my rapid first try with FT260 - more about it later if I can confirm it..).

still working on it. will let you know of my progress..
thanks.
ffred


Pages: [1]