FX2LP hid_kb Firmware

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
LoPe_3204351
Level 1
Level 1

Hi, i'm trying to run the hid_kb firmware with my fx2lp but when I load the .hex file in the RAM of fx2lp I read the writing "program successed" but after 1/2 min mi OS (windows 7 Pro) doesn't recognize the device (unknown device). I tried to manually install the firmware present in CY_3684DVK but it seems that the driver is up to date.

So my demand is : is there any specific driver for use the fx2lp like an HID device?

thanks in advance.

0 Likes
1 Solution

Hello,

Please use the below code to display 'a' on the notepad whenever PA0 is pressed (LOW).

pastedImage_0.png

Best regards,

Srinath S

View solution in original post

11 Replies
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello Lorenzo,

- Please let know if you have modified the hid_kb firmware that comes with the CY3684 FX2LP DVK.

- In the device manager, does the 'Unknown Device' come under 'Unknown Devices' section or under 'USB Controllers' section.

- Since this example enumerates the device as an HID class compliant device, it uses the Microsoft provided driver and Cypress does not provide a driver.

Best regards,

Srinath S

Hello srnt and thanks for your quick response,

in order :

- I didn't change the hid_kb firmware, only built it with uVision2

- I see the "unknown Device" under USB Controllers section

- So, in your opinion do I need a generic HID driver ?

Thanks

0 Likes

Hello Lorenzo Perillo,

- Please let know if you are using your custom design and not the CY3684 DVK. If you are using custom board, kindly, comment out the below lines, rebuild and check the firmware.

EZUSB_WriteI2C(LED_ADDR, 0x01, &leds);

EZUSB_WaitForEEPROMWrite(LED_ADDR);

Best regards,

Srinath S

I'm using a Custom board with a FPGA  on board.

Now I can see " Cypress FX2LP No EEPROM Device" under USB Controller section, but how can I do to see my board in the HID or in keyboards section?

Thank you so much.

0 Likes

Hello Lorenzo Perillo,

- After you load the hid_kb firmware with the modification mentioned, the device should come under 'Keyboards' section in the device manager.

- Please let know if you manually bound the device to Cypress driver.

- Also, the VID/PID of the device should be 04B4/1005 for the new device configuration.

Kindly, check and post your findings.

Best regards,

Srinath S

I tried to manually install the driver (win7 x64) but is already updated.

I have VID = 04B4 and PID = 8613, I tried to change PID in dscr.a51 file, rebuild an load the .hex file in the RAM memory but nothing change.

How can I change it?

Thank you

0 Likes

Hello Lorenzo Perillo,

- You don't need to manually install the driver for this application.

- The VID/PID in the firmware that comes with the CY3684 DVK is 04B4/1005 and not 04B4/8613. Kindly, test it using the same descriptor file.


Best regards,

Srinath S

ok, my custom board with FX2LP is recognized as a keyboard, but now I have a problem with the simulation of a keypress.

My test board is made with the FX2, power supply, USB socket , EEPROM, one LED and one push button.

When i push the button (1 to 0 logical level at the FX2 port) I want  to write "a" on the notepad and turn on the LED but on the notepad I see that BC is written endless times (as if the keys remain pressed).

Is there any command I have to give to say that the key press is terminated?

This is my code :

Cattura1.PNG

Cattura2.PNG

Cattura3.PNG

0 Likes

Hello,

Please use the below code to display 'a' on the notepad whenever PA0 is pressed (LOW).

pastedImage_0.png

Best regards,

Srinath S

LoPe_3204351
Level 1
Level 1

Hello, thanks for the reply
I had already solved the problem with just one button, but now I want to do the same with 4 buttons that write "a" "b" "c" and "d", without using the I2C, how could I do?

0 Likes

Hello,

Please refer to the below link for USB HID keyboard scan codes.

USB HID Keyboard scan codes · GitHub

The EP1INBUF should be set to corresponding values for the characters. Eg. 0x04 - A or a, 0x05 - B or b and so on.

Best regards,

Srinath S