This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2564C: How to test/demo HID profile (over BLE) ?

Part Number: CC2564C

Hi,

 

BT stack: CC2564CMSP432BTBLESW

EVM: MSP-EXP432P401R + BOOST-CCEMADAPTER + CC256XCQFN-EM + CC3200AUDBOOST.

 

The step by step demonstration from HID Demo wiki link ("http://processors.wiki.ti.com/index.php/CC256x_TI_Bluetooth_Stack_HIDDemo_App)") only describe demo between 'host' & 'device' using 2 sets of (above-said) EVMs.

Please advise how to test/demo HID profile between the EVM and Windows-based-PC / mobile-phone (either Android or iOS) ?

How to configure the EVM as HID keyboard device ? and what's command (from the existing sample code) to send keyboard code (or string) from EVM to the 'host) ?

 

And, is there any sample application source code & step by step demonstration available for HID profile (over BLE) ?

 

Thank you.

  • Hi Hari,

    Thanks for the link.

     

    I tested the HOGPDemo sample code with iPhone6+ (iOS 1.x),

    * no prompt to keyin any passkey, but still able to be paired with the iPhone6+.

    * but command "NotifyKeyboardReport 8", encountered error message "Device has not registered for report notifications".

    Below, is the log.

    Please advise.

    Thank you

    OpenStack().

    Bluetooth Stack ID: 1

    LOW ENERGY Support initialized.

    Device Chipset: Unknown (greater 4.1)

    BTPS Version  : 4.2.1.0

    PLAT Version  : 1.0

    App Name      : HOGPDemo

    App Version   : 0.2

    Project Type  : 6

    FW Version    : 12.12

    Local BD_ADDR: 0x88C255D1DB27

    Device Information Service registered, Service ID = 3.

    Battery Service registered, Service ID = 4.

    HID Service registered, Service ID = 5.

    Advertising Data Configured Successfully.

     

    ******************************************************************

    * HOGPDemo                                                       *

    ******************************************************************

    * Command Options General: Help,                                 *

    *                          GetLocalName,                         *

    *                          GetLocalAddress,                      *

    *                          GetLocalAppearance,                   *

    *                          SetDiscoverabilityMode,               *

    *                          SetConnectabilityMode,                *

    *                          SetPairabilityMode,                   *

    *                          ChangePairingParameters,              *

    *                          Advertise,                            *

    *                          PassKeyResponse,                      *

    *                          Disconnect,                           *

    *                          DiscoverGAPS,                         *

    *                          GetRemoteName,                        *

    *                          GetRemoteAppearance,                  *

    * Command Options Device:  SetBatteryLevel,                      *

    *                          NotifyBatteryLevel,                   *

    *                          NotifyKeyboardReport                  *

    ******************************************************************

     

    HOGP>Advertise 1

    GAP_LE_Advertising_Enable success.

     

    HOGP>etLE_Connection_Complete with size 16.

       Status:       0x00.

       Role:         Slave.

       Address Type: Random.

       BD_ADDR:      0x438460841FD4.

     

     

    HOGP>

    etGATT_Connection_Device_Connection with size 16:

       Connection ID:   1.

       Connection Type: LE.

       Remote Device:   0x438460841FD4.

       Connection MTU:  23.

     

    NotifyBatteryLevel: Cannot send notification to device.

     

    HOGP>

    HOGP>HIDS Get Report Map Request: Offset = 0.

     

    HOGP>etLE_Authentication with size 36.

    Pairing Request: 0x438460841FD4.

       IO Capability:       lcKeyboardDisplay.

       MITM:                TRUE.

       Bonding Type:        Bonding.

       OOB:                 OOB Not Present.

       Encryption Key Size: 16.

       Sending Keys:

          LTK:              YES.

          IRK:              YES.

          CSRK:             NO.

       Receiving Keys:

          LTK:              YES.

          IRK:              YES.

          CSRK:             NO.

    Sending Pairing Response to 0x438460841FD4.

     

    HOGP>etLE_Authentication with size 36.

    latConfirmationRequest.

     

    HOGP>NotifyKeyboardReport 8

    NotifyKeyboardReport: Device has not registered for report notifications.

    Function Error.

     

    HOGP>

     

    .

  • Hi Hari,

    I tested the HOGPDemo sample code with 3 different iPhones (iPhone6, iPhone6+ iOs 10, and iPhone7+ iOS 10.3), all three having same problem (as described in my previous post).

    * no prompt to keyin any passkey, but still able to be paired with the iPhone (but sometimes get disconnected after awhile).

    * but command "NotifyKeyboardReport 8", encountered error message "Device has not registered for report notifications".

    Further test with Win10 PC, is working ok. Issuing command "NotifyKeyboardReport 8", can display '8' on the PC screen.

    As in the same project needs to use HFP using BT Classic, is there any sample application source code & step by step demonstration available for HOGP profile (using BT Classic) ?

    and how to test/demo HOGP (or HID profile) between the EVM and Windows-based-PC / mobile-phone (either Android or iOS) ?

    Thank you in advance.

  • William,

    In the code, in the HOGPDemo.c file line 1493 which reads

    LE_Parameters.IOCapability = licKeyboardDisplay;

    change licKeyboardDisplay to licKeyboardOnly. This solved the problem on my side when trying to connect to iPhone.