CY5672 Dongle + BLE Keyboard Example

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

cross mob
Anonymous
Not applicable

Hi All,

   

I saw yesterday the the CY5672 reference design software was finally available on the product page.

   

So I flashed the dongle's PSOC4 with the CY5672 firmware and then the PSOC5 also with the CY5672 firmware. The dongle now ennumerates as the mouse+keyboard+serial+audio.

   

 

   

I then flashed the BLE keyboard example from Creator 3.2 to my BLE Pioneer kit. The kit is now a BLE HID keyboard that types "abcdefg" etc. This works fine when connected to my android 4.4 phone and I see the keystrokes.

   

But if I connect it to the CY5672 dongle, then it connects as the led on both boards stop flashing and the led on the dongle stays solid, but no keystrokes comes though.

   

Anybody else tried this?

   

Thank you,
Errol

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hmm. Got the replay notification last night, 8 days late?

   

And why does the link in the email point to http://cypresscomstg.prod.acquia-sites.com/forum/psoc-4-ble/cy5672-dongle-ble-keyboard-example#comme...

   

Is this forum hosted off site or copied by them?

   

 

   

Anyway. Sorry for the lare reply Marco.

   

What I did was to export the HID table from the CY5672 RC firmware from the BLE component. Then I imported it into the keyboard example's HID component. Then I told it to Recreate Report charistiristics. Then I had to rename one ReportIn2 to Report In. I also had to remove the code for the ReportOut as this keyboard does not have caps lock leds defined.

   

I have attached the project.

   

Thank you,
Errol
 

View solution in original post

0 Likes
6 Replies
Anonymous
Not applicable

Hi all,

   

 

   

Ok, it seems as if the dongle firmware from the CY5672 kit expects the BLE device to have the HID reports in specific places. The first HID report must be a mouse, second must be the keyboard, etc.

   

 

   

#define MOUSE_REPORT_ID                                 (1u)
#define KEYBOARD_REPORT_ID                              (2u)
#define MULTIMEDIA_REPORT_ID                            (3u)
#define POWER_REPORT_ID                                 (4u)
#define BATTERY_FEATURE_REPORT_ID                       (5u)

   

 

   

So I changed the keyboard example to duplicate the Remote HID report from the CY5672 kit. Now the dongle connects and relays the keypresses... 🙂

   

 

   

Thank you,
Errol

0 Likes
Anonymous
Not applicable

Hi Errol,

   

I am trying to do the same thing, use a baseboard kit to connect to dongle and send keystrokes. Can you explain in more detail what you did? What file you changed and why...etc.

   

Thanks

   

Marco

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Errol, if you can post your project archive for Marco to look at.

   

 

   

“File”                                                             Creator

   

“Create Workspace Bundle”

   

 

   

 

   

Regards, Dana.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hmm. Got the replay notification last night, 8 days late?

   

And why does the link in the email point to http://cypresscomstg.prod.acquia-sites.com/forum/psoc-4-ble/cy5672-dongle-ble-keyboard-example#comme...

   

Is this forum hosted off site or copied by them?

   

 

   

Anyway. Sorry for the lare reply Marco.

   

What I did was to export the HID table from the CY5672 RC firmware from the BLE component. Then I imported it into the keyboard example's HID component. Then I told it to Recreate Report charistiristics. Then I had to rename one ReportIn2 to Report In. I also had to remove the code for the ReportOut as this keyboard does not have caps lock leds defined.

   

I have attached the project.

   

Thank you,
Errol
 

0 Likes
Anonymous
Not applicable

Thanks Errol,

   

it works now. I have some questions if you don't mind answering. How did you figure out that you needed to make these changes HID reports? My first thought was that the issue was in the USB bridge.

   

Thanks again,

   

Marco

0 Likes
Anonymous
Not applicable

Hi Marco,

   

I looked at the code of the CY5672 dongle and the remote that goes with it. I saw the defines, that I posted in the second post, i the dongle's code. That was when I realized that all keyboard data must be sent via the second report ID. I then copied the some data from the BLE component in the CY5672 Remote to the keyboard project.

   

If you open the BLE component's properties then Profiles, then you will see a node in the list named Report Map. That was where all the change was. Also had to rename some reports as outlined in post #5

   

I probably could have changed the dongle code, but this seamed easier at the time... 🙂