QN9080 cannot send more than 20 bytes through QPP service. Is there any way to increase it?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

QN9080 cannot send more than 20 bytes through QPP service. Is there any way to increase it?

2,758 次查看
cicerodomingosj
Contributor II

Hello everybody,


I would like to know how to increase QPP tx packet size. I tried to increase the value length in the characteristic declaration but does not affect the transmission: sending data with length above 20 bytes appears no arrives in the client.

Any idea?

标签 (1)
  • QN

4 回复数

2,651 次查看
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

Could you please refer to this post ?

How to increase MTU size b/w qn9080 and Android 

Regards,
Estephania

2,651 次查看
cicerodomingosj
Contributor II

Hello Estephania,

Thanks.

The following steps were taken to resolve:

- Increased MTU size to 192 bytes in ble_constants.h, below to max ATT size found in Bluetooth 4.2 specification;

- Increased characteristic value size in gatt_db.h;

- Increased max payload size (CFG_MAX_MPS) to 192 bytes in qn_ble_config.h;

- On Android application, after BLE connect event, negotiate a new MTU size (mBluetoothGatt.requestMtu(MTUSIZE));

After these steps, exchange data with 192 bytes becomes possible.

 

 

Regards,

Cicero

0 项奖励
回复

1,843 次查看
mjkimbravo
Contributor III

Hello,

I try similar things to communicate with QN9080 and PC through QPP service. In your post, which characteristic value size in gatt_db.h should be increased?

In addition, I'm now using Connectivity QTool (PC) or loT toolbox (phone) for communication. However, both are hard to use (limited data length, hard to extract data, etc...). Is there any other way in PC to communicate with QN9080 through QPP?

 

Thanks, 

 

PRIMARY_SERVICE(service_gatt, gBleSig_GenericAttributeProfile_d)

CHARACTERISTIC(char_service_changed, gBleSig_GattServiceChanged_d, (gGattCharPropIndicate_c) )

VALUE(value_service_changed, gBleSig_GattServiceChanged_d, (gPermissionNone_c), 4, 0x00, 0x00, 0x00, 0x00)

CCCD(cccd_service_changed)

 

PRIMARY_SERVICE(service_gap, gBleSig_GenericAccessProfile_d)

CHARACTERISTIC(char_device_name, gBleSig_GapDeviceName_d, (gGattCharPropRead_c) )

VALUE(value_device_name, gBleSig_GapDeviceName_d, (gPermissionFlagReadable_c), 12, "NXP_BLE_QPPS")

CHARACTERISTIC(char_appearance, gBleSig_GapAppearance_d, (gGattCharPropRead_c) )

VALUE(value_appearance, gBleSig_GapAppearance_d, (gPermissionFlagReadable_c), 2, UuidArray(gGenericHeartrateSensor_c))

CHARACTERISTIC(char_ppcp, gBleSig_GapPpcp_d, (gGattCharPropRead_c) )

VALUE(value_ppcp, gBleSig_GapPpcp_d, (gPermissionFlagReadable_c), 8, 0x0A, 0x00, 0x10, 0x00, 0x64, 0x00, 0xE2, 0x04)

 

PRIMARY_SERVICE_UUID128(service_qpps, uuid_service_qpps)

CHARACTERISTIC_UUID128(char_qpps_rx, uuid_qpps_characteristics_rx, (gGattCharPropWriteWithoutRsp_c) )

VALUE_UUID128_VARLEN(value_qpps_rx, uuid_qpps_characteristics_rx, (gPermissionFlagWritable_c), 512, 1, 0x00)

CHARACTERISTIC_UUID128(char_qpps_tx, uuid_qpps_characteristics_tx, (gGattCharPropNotify_c))

VALUE_UUID128_VARLEN(value_qpps_tx, uuid_qpps_characteristics_tx, (gPermissionNone_c), 512, 2, 0x00, 0xB4)

CCCD(cccd_qpps_tx)

 

PRIMARY_SERVICE(service_battery, gBleSig_BatteryService_d)

CHARACTERISTIC(char_battery_level, gBleSig_BatteryLevel_d, (gGattCharPropNotify_c | gGattCharPropRead_c))

VALUE(value_battery_level, gBleSig_BatteryLevel_d, (gPermissionFlagReadable_c), 1, 0x5A)

DESCRIPTOR(desc_bat_level, gBleSig_CharPresFormatDescriptor_d, (gPermissionFlagReadable_c), 7, 0x04, 0x00, 0xAD, 0x27, 0x01, 0x01, 0x00)

CCCD(cccd_battery_level)

 

PRIMARY_SERVICE(service_device_info, gBleSig_DeviceInformationService_d)

CHARACTERISTIC(char_manuf_name, gBleSig_ManufacturerNameString_d, (gGattCharPropRead_c) )

VALUE(value_manuf_name, gBleSig_ManufacturerNameString_d, (gPermissionFlagReadable_c), sizeof(MANUFACTURER_NAME)-1, MANUFACTURER_NAME)

CHARACTERISTIC(char_model_no, gBleSig_ModelNumberString_d, (gGattCharPropRead_c) )

VALUE(value_model_no, gBleSig_ModelNumberString_d, (gPermissionFlagReadable_c), 9, "QPPS Demo")

CHARACTERISTIC(char_serial_no, gBleSig_SerialNumberString_d, (gGattCharPropRead_c) )

VALUE(value_serial_no, gBleSig_SerialNumberString_d, (gPermissionFlagReadable_c), 7, "BLESN01")

CHARACTERISTIC(char_hw_rev, gBleSig_HardwareRevisionString_d, (gGattCharPropRead_c) )

VALUE(value_hw_rev, gBleSig_HardwareRevisionString_d, (gPermissionFlagReadable_c), sizeof(BOARD_NAME)-1, BOARD_NAME)

CHARACTERISTIC(char_fw_rev, gBleSig_FirmwareRevisionString_d, (gGattCharPropRead_c) )

VALUE(value_fw_rev, gBleSig_FirmwareRevisionString_d, (gPermissionFlagReadable_c), 5, "1.1.1")

CHARACTERISTIC(char_sw_rev, gBleSig_SoftwareRevisionString_d, (gGattCharPropRead_c) )

VALUE(value_sw_rev, gBleSig_SoftwareRevisionString_d, (gPermissionFlagReadable_c), 5, "1.1.4")

CHARACTERISTIC(char_system_id, gBleSig_SystemId_d, (gGattCharPropRead_c) )

VALUE(value_system_id, gBleSig_SystemId_d, (gPermissionFlagReadable_c), 8, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x9F, 0x04, 0x00)

CHARACTERISTIC(char_rcdl, gBleSig_IeeeRcdl_d, (gGattCharPropRead_c) )

VALUE(value_rcdl, gBleSig_IeeeRcdl_d, (gPermissionFlagReadable_c), 4, 0x00, 0x00, 0x00, 0x00)

 

 

标记 (4)
0 项奖励
回复

2,651 次查看
estephania_mart
NXP TechSupport
NXP TechSupport

it is good that you solve it.

Regards ,

Estephania

0 项奖励
回复