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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

1,328 Views
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?

Labels (1)
  • QN

4 Replies

1,221 Views
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

1,221 Views
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 Kudos
Reply

413 Views
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)

 

 

0 Kudos
Reply

1,221 Views
estephania_mart
NXP TechSupport
NXP TechSupport

it is good that you solve it.

Regards ,

Estephania

0 Kudos
Reply