Communications Toolbox™ Library for the Bluetooth® Protocol uses value objects to organize properties required for generation of higher layer Bluetooth PDUs. After you create the various configuration objects described here, you can use them to generate waveforms.
This example shows how to create a BLE link layer data channel PDU configuration object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value
pairs when creating the object.
Create Object and Then Modify Properties
Create a BLE link layer data channel PDU configuration object with default settings.
lldatapdu = bleLLDataChannelPDUConfig
lldatapdu = bleLLDataChannelPDUConfig with properties: LLID: 'Data (continuation fragment/empty)' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: '012345'
Modify the defaults to specify a 'Data (start fragment/complete)'
PDU.
lldatapdu.LLID = 'Data (start fragment/complete)'
lldatapdu = bleLLDataChannelPDUConfig with properties: LLID: 'Data (start fragment/complete)' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: '012345'
Override Default Property Values During Object Creation
Create a BLE link layer data channel PDU configuration object, using Name,Value
pairs to specify a 'Control'
PDU.
lldatapdu2 = bleLLDataChannelPDUConfig('LLID','Control')
lldatapdu2 = bleLLDataChannelPDUConfig with properties: LLID: 'Control' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: '012345' ControlConfig: [1x1 bleLLControlPDUConfig]
This example shows how to create a BLE link layer advertising channel PDU configuration object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value
pairs when creating the object.
Create Object and Then Modify Properties
Create a BLE link layer advertising channel PDU configuration object with default settings.
lladvertpdu = bleLLAdvertisingChannelPDUConfig
lladvertpdu = bleLLAdvertisingChannelPDUConfig with properties: PDUType: 'Advertising indication' ChannelSelection: 'Algorithm1' AdvertiserAddressType: 'Random' AdvertiserAddress: '0123456789AB' AdvertisingData: [3x2 char]
Modify the defaults to specify a 'Advertising direct indication'
PDU.
lladvertpdu.PDUType = 'Advertising direct indication'
lladvertpdu = bleLLAdvertisingChannelPDUConfig with properties: PDUType: 'Advertising direct indication' ChannelSelection: 'Algorithm1' AdvertiserAddressType: 'Random' AdvertiserAddress: '0123456789AB' TargetAddressType: 'Random' TargetAddress: '0123456789CD'
Override Default Property Values During Object Creation
Create a BLE link layer advertising channel PDU configuration object, using Name,Value
pairs to specify a 'Scan response'
PDU using channel section algorithm 2.
lldatapdu2 = bleLLAdvertisingChannelPDUConfig('PDUType','Scan response','ChannelSelection','Algorithm2')
lldatapdu2 = bleLLAdvertisingChannelPDUConfig with properties: PDUType: 'Scan response' ChannelSelection: 'Algorithm2' AdvertiserAddressType: 'Random' AdvertiserAddress: '0123456789AB' ScanResponseData: [3x2 char]
This example shows how to create a BLE logical link control and adaptation protocol (L2CAP) frame configuration object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value
pairs when creating the object.
Create Object and Then Modify Properties
Create a BLE L2CAP frame configuration object with default settings.
l2capframe = bleL2CAPFrameConfig
l2capframe = bleL2CAPFrameConfig with properties: ChannelIdentifier: '0005' CommandType: 'Credit based connection request' SignalIdentifier: '01' SourceChannelIdentifier: '0040' LEPSM: '001F' MaxTransmissionUnit: 23 MaxPDUPayloadSize: 23 Credits: 1
Modify the defaults setting the channel identifier to '0004'
to specify an ATT channel.
l2capframe.ChannelIdentifier = '0004'
l2capframe = bleL2CAPFrameConfig with properties: ChannelIdentifier: '0004'
Override Default Property Values During Object Creation
Create a BLE L2CAP frame configuration object, using Name,Value
pairs to specify a 'Command reject'
signaling channel command with the reject reason 'Invalid CID in request'
.
l2capframe = bleL2CAPFrameConfig ('CommandType','Command reject','CommandRejectReason','Invalid CID in request')
l2capframe = bleL2CAPFrameConfig with properties: ChannelIdentifier: '0005' CommandType: 'Command reject' SignalIdentifier: '01' CommandRejectReason: 'Invalid CID in request' SourceChannelIdentifier: '0040' DestinationChannelIdentifier: '0040'
This example shows how to create a BLE GAP data block configuration object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value
pairs when creating the object.
Create Object and Then Modify Properties
Create a BLE GAP data block configuration object with default settings.
gapDataBlk = bleGAPDataBlockConfig
gapDataBlk = bleGAPDataBlockConfig with properties: AdvertisingDataTypes: {'Flags'} LEDiscoverability: 'General' BREDR: 0
Modify the defaults to specify for an advertising data block for 'Flags'
and 'Tx power level'
advertising data types.
gapDataBlk.AdvertisingDataTypes = {'Flags'; 'Tx power level'}
gapDataBlk = bleGAPDataBlockConfig with properties: AdvertisingDataTypes: {2x1 cell} LEDiscoverability: 'General' BREDR: 0 TxPowerLevel: 0
gapDataBlk.AdvertisingDataTypes
ans = 2x1 cell
{'Flags' }
{'Tx power level'}
Override Default Property Values During Object Creation
Create a BLE GAP data block configuration object, using Name,Value
pairs to specify 'Advertising interval'
and 'Local name' advertising data types
.
gapDataBlk = bleGAPDataBlockConfig ('AdvertisingDataTypes', {'Advertising interval', 'Local name'})
gapDataBlk = bleGAPDataBlockConfig with properties: AdvertisingDataTypes: {2x1 cell} LocalName: 'Bluetooth' LocalNameShortening: 0 AdvertisingInterval: 32
gapDataBlk.AdvertisingDataTypes
ans = 2x1 cell
{'Advertising interval'}
{'Local name' }
This example shows how to create a BLE attribute (ATT) PDU configuration object. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value
pairs when creating the object.
Create Object and Then Modify Properties
Create a BLE ATT PDU configuration object with default settings.
attpdu = bleATTPDUConfig
attpdu = bleATTPDUConfig with properties: Opcode: 'Read request' AttributeHandle: '0001'
Modify the defaults to specify a 'Read blob request'
operation code.
attpdu.Opcode = 'Read blob request'
attpdu = bleATTPDUConfig with properties: Opcode: 'Read blob request' AttributeHandle: '0001' Offset: 0
Override Default Property Values During Object Creation
Create a BLE ATT PDU configuration object, using Name,Value
pairs to specify 'Information request'
for the operation code of a request PDU that caused an error.
lldatapdu2 = bleATTPDUConfig('RequestedOpcode','Information request')
lldatapdu2 = bleATTPDUConfig with properties: Opcode: 'Read request' AttributeHandle: '0001'