PAN1026 with SDK version 4.2.1 problems

Hello,

I am working on PAN1026.I was using SDK version 2.0.4 but that has some issue with disconnect. I decided to use the latest SDK 4.2.1.
After make it working for PAN1026, I was able to add services. But It has many issues.

When I used the LONG_UUID for service/characteristics, the service discovery was not getting performed for those services. I have tested on many android phones.

When I used the SHORT_UUID for service/characteristics, the Master device was able to perform service discovery with the wrong handler (which were out of range). 

Is the SDK 4.2.1 compatible with PAN1026?

Would you suggest any other better version of SDK that can be used for PAN1026?

Regards
 

4replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Is the SDK 4.2.1 compatible with PAN1026?

    Yes, I can confirm that SDK 4.2.1 works with PAN1026.

    I took the BMSKTOPASM369BT(kc) evaluation platform for PAN1026 and used the project from software\host_mode_deployment\projects\TMPM369BT\TC35661_501\project.eww

    I modified it slightly so that it only uses the SPPoverBLE profile, which provides services with both 16-bit and 128-bit UUIDs.

    After startup I could connect / pair / disconnect to the Bluetooth Classic SPP portion of PAN1026.

    Also connect / disconnect to the Bluetooth Low Energy portion worked fine, including service discovery and usage of characteristics using both 16-bit and 128-bit UUIDs.

    So SDK 4.2.1 works as expected with PAN1026 on the BMSKTOPASM369BT(kc) evaluation platform.

    I decided to use the latest SDK 4.2.1.
    After make it working for PAN1026, I was able to add services. But It has many issues.

    You are coming from an SDK version that is quite old. I can imagine that a lot of the internal workings have changed and that the SDK now works quite differently.

    My guess is that after your transition the SDK is now either not correctly configured, or some functionality is missing or required initialization is not done as necessary.

    So even though the communication between your host controller and PAN1026 is technically working correctly, they may not "speak the same language" which may result in errors that you observed.

    Please carefully look at the example from the SDK and verify that the initialization is executed as required. If you open the example in IAR Embedded Workbench and switch the configuration to Debug - BLE you can compare which files that project is using from the Bluetooth SDK and compare it to the files that you include in your project.

    Also make sure that hci_api_tc35661.c is present and that in hci_api_switch_to_tcu_mode() the call to hci_api_tc35661_501_update_firmware() is taken, which will apply bugfixes to PAN1026.

    Older versions of the SDK were completely configured by having the right source files included in the project. For newer versions this is not true anymore.

    Please look out for the file user_configuration.h and check the compiler configuration for globally defined symbols.

    The sample application has the following symbols defined globally, which will affect how the SDK is working:

    • ROM_501
    • PERIPHERAL
    • SERVER
    Like
  • Thanks a lot for your reply.

     

    Michael Hunold said:
    Also make sure that hci_api_tc35661.c is present and that in hci_api_switch_to_tcu_mode() the call to hci_api_tc35661_501_update_firmware() is taken, which will apply bugfixes to PAN1026.

     I am already calling this function to apply patches.

    Can you tell me what is meaning of the parameters of the following function?
    int hci_api_set_i2_enable(uint8_t scl_freq_setting, uint8_t spike_removal_filter);

    What values should be used for the parameters?

    Like
  • The reference code can be found in software\host_mode_deployment\board\TMPM369BT\board-tc35661.c and uses

    hci_api_set_i2_enable(0x01, 0x01);

    The parameters are explained as "SCL frequency setting" and "Set spike removal filter number" in the documentation, but there are no further explanations about the possible parameters.

    So my suggestion is to go with the values from the reference code.

    Like
  • So background information that I could gather.

    The resulting SCL frequency is determined by the values Byte 12 (SCL frequency setting) and Byte 13 (Set spike removal filter number)

    • When the recommendation values are used ((Byte 12, Byte 13) = (0x03, 0x01)), SCL frequency is 293.23kHz.
    • When the values of the reference code are used ((Byte 12, Byte 13) = (0x01, 0x01)), SCL frequency is 1054.09kHz.

    All other combinations of the values for Byte 12 and Byte 13 shall be avoided.

    Like
Like Follow
  • Status Answered
  • 11 mths agoLast active
  • 4Replies
  • 101Views
  • 3 Following