USB low-full-high speed peripherals Forum Discussions
Hi
In slavefifo mode, i can see that flagD is high assert.
Could you please let me know what when flagD is going to high? which case?
Why flagD is assert high?
Show LessWe are a small company selling bespoke scientific instruments. A few years ago, we contracted a local firm to design an electronics board for specialist fast timing. It uses the CY7C68013A microcontroller for management purposes and for communication with a PC over USB. It turned out that our sub-contractor did not write a device driver, but merely supplied the Cypress CyUSB.sys driver and a simple user mode wrapper around the required parts of the CyUSB.lib library. Indeed it turns out that the sub-contractor does not have the skills to write a driver, their speciality is electronics.
All the other higher level driver software has been written in-house, is user-mode and 32bit. We have not bothered to sign any of the code, as in our world it simply doesn't add any value. We sell only 5-10 units a year, mostly as part of instrument sales and mostly with a PC supplied by us. We have a personal relationship with our small number of clients and they have to trust us on a range of issues; possible errors with the drivers is the least of their worries. In any case, we haven't actually touched the driver code as such, CyUSB.sys, we have merely changed the .inf file to match the vendor and product IDs in the code that runs the board. We do have our own official USB vendor code, purchased a long time ago.
All this has been working absolutely fine with Windows XP based PCs; the message warning about the unsigned driver is usally only seen by us and one can elect to ignore it. Anyway, I am not embarrassed for the client to see such a warning message; they understand the specialist nature of what we do. Now, however, we are being forced towards Windows 7. We have run the hardware with Windows 7 32 bit, where one can still override the complaint about the lack of driver signing. We have also managed to make it run under Windows 7 64bit, having followed the procedure for disabling driver signing. I will be forced to use Windows 7 64bit in future; it now seems to be the default on all new PCs. I have not yet found a method for running our hardware that does not involve disabling all signing protection and requiring our users to run permanently in a test mode.
So, ideally there would be a way to make a given Windows 7 64bit installation run our hardware without disabling all protections. If anyone knows how to do this they would make me very happy by telling me, but I am coming to the conclusion that Microsoft have succeeded in making this impossible. Otherwise we have to get the driver signed. But there is a great deal of confusing information on this topic. I really need a walkthrough that is completly specific to Windows 7 64bit. I think I might have discovered that the driver has to go through the WHQL process, requiring a client server setup and test results submitted to Microsoft. Is this necessary even though the CyUSB comes from Cypress? I think that not all signing certificates will be suitable. I only need to do this once. There is not going to be any upgrades to this part of the software. It should last us until we have to design a completely new board - some more years - our world does not move at the pace of consumer electronics.
I would be very happy to use a sub-contractor, if I could find somone suitable at a sensible cost (bearing in mind the very small numbers). I am not sure whether the signing process requires one of our actual boards, as well as the driver; we only have a few available at a time. The hardware does not fall into any standard class, so there is very little that general testing software could do with it.
The whole thing is very frustrating, especially since we haven't actually touched any driver code. I would be very grateful for advice from someone who has been through this process. Sorry there is so much detail, but I wanted the context to be clear so the suggestions are appropriate.
TIA
Dears:
Hi! I am using the GPIF mode to get data from a AD chip. I read the note about GPIF from the cypress.com. There was a section about how to trigger a single read wavefrom and a single write wavefrom. read/write XGPIFSGLDATLX will trigger the transaction.
In the GPIF designer, we can design 4 wavefrom. in the example, there are single read, single write, fiforead and fifo write, in other. But if I changed the other, like the fast wavefrom is single write and second is single read. When I read a data from XGPIFSGLDATLX, will the CY68013 still can start the single read transaction exactly? or will it start the single write wavefrom wrongly?
my question is how can the cy68013 determine which wavefrom it is going to use when I read/write the XGPIFSGLDATLX to trigger a transaction?
thank you for your help
regard
Aaron
Show LessCyAPI.lib has unresolved external symbols:
1>cydesc.obj : error LNK2019: unresolved external symbol "public: void __cdecl CCyUSBDevice::Close(void)" (?Close@CCyUSBDevice@@QEAAXXZ) in function main
1>cydesc.obj : error LNK2019: unresolved external symbol "public: void __cdecl CCyUSBDevice::GetDeviceDescriptor(struct _USB_DEVICE_DESCRIPTOR *)" (?GetDeviceDescriptor@CCyUSBDevice@@QEAAXPEAU_USB_DEVICE_DESCRIPTOR@@@Z) in function main
1>cydesc.obj : error LNK2019: unresolved external symbol "public: bool __cdecl CCyUSBDevice:: Open(unsigned char)" (?Open@CCyUSBDevice@@QEAA_NE@Z) in function main
1>cydesc.obj : error LNK2019: unresolved external symbol "public: unsigned char __cdecl CCyUSBDevice:: DeviceCount(void)" (?DeviceCount@CCyUSBDevice@@QEAAEXZ) in function main
1>cydesc.obj : error LNK2019: unresolved external symbol "public: __cdecl CCyUSBDevice::CCyUSBDevice(void *,struct _GUID,int)" (??0CCyUSBDevice@@QEAA@PEAXU_GUID@@H@Z) in function main
This happens only when building for x64 while building for Win32 platform solution everything is OK!!!
Is there something to change in the project properties?
Does someone know how to resolve this problem? Show Less
dear sir
i have confusion about the same from where we get this bRequest 0xA0, can learn more about these commands n from where? m working with FX2LP.
Thanks & Regards
Rohan.
Show LessMyself and another poster here, andy, both experienced this problem and found solutions. Andy tried to contact Cypress and tell them about it, but he says they just ignored him. I posted here so that anyone else who runs into the problem might find a solution. We had a nice thread going three weeks ago, but it's not here anymore. I assume Cypress removed it, so I won't be surprised if this gets removed, too.
At least the C++ library and driver work. Show Less
Hello!
I am interested in connecting an I2C master to an I2C slave trough a wireless link! It is a fairly trough problem to me, becuse the Data Line (SDA) is bi-directional.The Master is CY764713, and Slave is a hearing aids hybrid development by On Semiconductors!Distance wireless communication within 1 meter.
Thanks for the ideas!
I ' m fresh. Now I am learning the USB control chip, CYUSb 3014. The VIO2 supply power for IO2. Which part is the IO2 power supply domain in the chip? Thanks for your reply.
Show LessHi,
I am working on Cypress USB FX2LP controller (Cy7C68013A). I need to enable the external interrupt on INT0, as negative edge detecting. I had tried the following changes on bulkloop example on FX2LP.
PORTACFG = 0x03; // PA0 and PA1 are INT0 and INT1
TCON |= 0x05; // Detect INT0 and INT1 on fallinfg edge
IE |= 0x05; // Enable External Interrupts 0 and 1
After adding these lines in TD_Init() of the bulkloop example, the USB device was not getting enumerated by the EZ-USB Interface tool.
Anyways, the enumeration works fine without these three lines of code in bulkloop example, and the device is detected as EZ-USB.
What is wrong with the above code ? Is there anything more needed to be added to the enumeration to happen ?
Thank You
With Regards
GIGIN JOSE
Show Less