- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does anyone know the details of the format of the following commands use in BLE Dongle
0400 | CyBleEvtGetDeviceIdRsp |
0401 | CyBleEvtGetSupportedToolVersionRsp |
0402 | CyBleEvtGetFirmwareVersionRsp |
0403 | CyBleEvtGetBleStackVersionRsp |
0404 | CyBleEvtMiscNotification |
0405 | CyBleEvtGetSupportedGapRolesRsp |
0406 | CyBleEvtGetCurrentGapRoleRsp |
0407 | CyBleEvtGetSupportedGattRolesRsp |
0408 | CyBleEvtGetCurrentGattRoleRsp |
0409 | CyBleEvtGetRssiRsp |
040A | CyBleEvtGetDeviceDescriptionRsp |
040B | CyBleEvtGetHardwareVersionRsp |
047E | CyBleEvtCmdStatus |
047F | CyBleEvtCmdComplete |
0500 | CyBleEvtCbfcConnectionIndication |
0501 | CyBleEvtCbfcConnectionConfirmation |
0502 | CyBleEvtCbfcDisconnectIndication |
0503 | CyBleEvtCbfcDisconnectConfirmation |
0504 | CyBleEvtCbfcDataReceivedNotification |
0505 | CyBleEvtCbfcRxCreditIndication |
0506 | CyBleEvtCbfcTxCreditIndication |
0600 | CyBleEvtDiscoverAllPrimaryServicesResultProgress |
0601 | CyBleEvtDiscoverPrimaryServicesByUUIDResultProgress |
0602 | CyBleEvtFindIncludedServicesResultProgress |
0603 | CyBleEvtDiscoverAllCharacteristicsResultProgress |
0604 | CyBleEvtDiscoverCharacteristicsByUUIDResultProgress |
0605 | CyBleEvtDiscoverAllCharacteristicDescriptorsResultProgress |
0606 | CyBleEvtReadCharacteristicValueRsp |
0607 | CyBleEvtReadUsingCharacteristicUUIDRsp |
0608 | CyBleEvtReadLongCharacteristicValueRsp |
0609 | CyBleEvtReadMultipleCharacteristicsValueRsp |
060A | CyBleEvtReadCharacteristicDescriptorRsp |
060B | CyBleEvtReadLongCharacteristicDescriptorRsp |
060C | CyBleEvtCharacteristicValueNotification |
060D | CyBleEvtCharacteristicValueIndication |
060E | CyBleEvtGattErrorNotification |
060F | CyBleEvtExchangeGattMtuSizeRsp |
0610 | CyBleEvtGattStopNotification |
0680 | CyBleEvtGetDeviceIoCapabilitiesRsp |
0681 | CyBleEvtGetLocalBDAddrRsp |
0682 | CyBleEvtGetPeerBDAddrRsp |
0683 | CyBleEvtGetPeerDeviceHandleRsp |
0684 | CyBleEvtUpdateConnectionParametersRsp |
0685 | CyBleEvtGetConnectionParametersRsp |
0686 | CyBleEvtGetScanParametersRsp |
0687 | CyBleEvtGetLocalDeviceSecurityRsp |
0688 | CyBleEvtGetPeerDeviceSecurityRsp |
0689 | CyBleEvtGetWhiteListRsp |
0690 | CyBleEvtConnectionTerminatedNotification |
068A | CyBleEvtScanProgressResult |
068B | CyBleEvtGenerateBdAddrRsp |
068C | CyBleEvtGenerateKeysRsp |
068D | CyBleEvtPasskeyEntryRequest |
068E | CyBleEvtPasskeyDisplayRequest |
068F | CyBleEvtEstablishConnectionRsp |
0690 | CyBleEvtConnectionTerminatedNotification |
0691 | CyBleEvtScanStoppedNotification |
0692 | CyBleEvtPairingRequestReceivedNotificaion |
0693 | CyBleEvtAuthenticationErrorNotificaion |
0694 | CyBleEvtConnectionCancelledNotification |
0695 | CyBleEvtGetBondedDevicesListRsp |
06FF | CyBleEvtInternalScanStopInProgressNotification |
FC00 | CyBleCmdGetDeviceId |
FC01 | CyBleCmdGetSupportedToolVersion |
FC02 | CyBleCmdGetFirmwareVersion |
FC03 | CyBleCmdGetSupportedGapRoles |
FC04 | CyBleCmdGetCurrentGapRole |
FC05 | CyBleCmdGetSupportedGattRoles |
FC06 | CyBleCmdGetCurrentGattRole |
FC07 | CyBleCmdInitBleStack |
FC08 | CyBleCmdHostDisconnectNotification |
FC09 | CyBleCmdHostTimedoutNotification |
FC0A | CyBleCmdGetDeviceDescription |
FC0B | CyBleCmdGetHardwareVersion |
FC0C | CyBleCmdGetBleStackVersion |
FC0D | CyBleCmdGetRssi |
FC0E | CyBleCmdResetBleStack |
FD00 | CyBleCmdRegisterPsm |
FD01 | CyBleCmdUnregisterPsm |
FD02 | CyBleCmdCbfcEstablishConnection |
FD03 | CyBleCmdCbfcSendConnectionResponse |
FD04 | CyBleCmdCbfcSendFlowControlCredit |
FD05 | CyBleCmdCbfcSendData |
FD06 | CyBleCmdCbfcSendDisconnect |
FE00 | CyBleCmdDiscoverAllPrimaryServices |
FE01 | CyBleCmdDiscoverPrimaryServicesByUUID |
FE02 | CyBleCmdFindIncludedServices |
FE03 | CyBleCmdDiscoverAllCharacteristics |
FE04 | CyBleCmdDiscoverCharacteristicsByUUID |
FE05 | CyBleCmdDiscoverAllCharacteristicDescriptors |
FE06 | CyBleCmdReadCharacteristicValue |
FE07 | CyBleCmdReadUsingCharacteristicUUID |
FE08 | CyBleCmdReadLongCharacteristicValue |
FE09 | CyBleCmdReadMultipleCharacteristicValues |
FE0A | CyBleCmdWriteCharacteristicValueWithoutResponse |
FE0B | CyBleCmdWriteCharacteristicValue |
FE0C | CyBleCmdWriteLongCharacteristicValue |
FE0D | CyBleCmdReliableCharacteristicValueWrites |
FE0E | CyBleCmdReadCharacteristicDescriptor |
FE0F | CyBleCmdReadLongCharacteristicDescriptor |
FE10 | CyBleCmdWriteCharacteristicDescriptor |
FE11 | CyBleCmdWriteLongCharacteristicDescriptor |
FE12 | CyBleCmdExchangeGattMtuSize |
FE13 | CyBleCmdGattStop |
FE80 | CyBleCmdSetDeviceIoCapabilities |
FE81 | CyBleCmdGetDeviceIoCapabilities |
FE82 | CyBleCmdGetLocalBDAddr |
FE83 | CyBleCmdSetLocalBDAddr |
FE84 | CyBleCmdGetPeerBDAddr |
FE85 | CyBleCmdGetPeerDeviceHandle |
FE86 | CyBleCmdGenerateBdAddr |
FE87 | CyBleCmdSetOOBData |
FE88 | CyBleCmdGetConnectionParameters |
FE89 | CyBleCmdSetConnectionParameters |
FE8A | CyBleCmdGetScanParameters |
FE8B | CyBleCmdSetScanParameters |
FE8C | CyBleCmdGetLocalDeviceSecurity |
FE8D | CyBleCmdSetLocalDeviceSecurity |
FE8E | CyBleCmdGetPeerDeviceSecurity |
FE8F | CyBleCmdGetWhiteList |
FE90 | CyBleCmdAddDeviceToWhiteList |
FE91 | CyBleCmdRemoveDeviceFromWhiteList |
FE92 | CyBleCmdClearWhiteList |
FE93 | CyBleCmdStartScan |
FE94 | CyBleCmdStopScan |
FE95 | CyBleCmdGenerateKeys |
FE96 | CyBleCmdSetAuthenticationKeys |
FE97 | CyBleCmdEstablishConnection |
FE98 | CyBleCmdTerminateConnection |
FE99 | CyBleCmdInitiatePairingRequest |
FE9A | CyBleCmdTerminatePairingRequest |
FE9B | CyBleCmdPairingPasskeyResponse |
FE9C | CyBleCmdUpdateConnectionParameters |
FE9D | CyBleCmdCancelConnection |
FE9E | CyBleCmdGetBondedDevicesList |
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Since these numbers are not Cypress specific it would be best to dig through www.bluetooth.org/en-us/specification/assigned-numbers.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think these are SIG assigned UUIDs. These should be Cypress implementation specific command/packet identifiers to communicate between the dongle and the CySmart tool.
I don't see details of these commands or packet format in any document, going through the code we can quickly figure out some of the basic operations.
For example, the packet format used for CySmart to dongle communication is (see CySmt_protocol.h file in Dongle firmware that is part of the kit installer):
typedef struct _Command_Format
{
/*command opcode as per protocol*/
uint16 opcode;
/*Total length of payload*/
uint16 paramlen;
/*Payload pointer to buffer*/
uint8 *parameters;
}Command_Format;
The opcode is split into two parts, the command ID and the command group. The list of commands supported per layer is present in generalMap, gapMap, gattMap etc. structures.
For every command, there are three types of responses.:
1. As soon as the command is received, a command status is sent back to the CySmart tool (probably for book keeping) - See CySmt_SendCommandStatus routine that is called from CySmt_ProcessCommands routine. The command status can either be hardcoded ALL_OK value (for simple read operation) or return state of the BLE stack API (for stack related commands)
2. The response that is received from the peer device (Read Characteristic Value for example) is sent as an Event (See CyS_SendEvent routine in CySmt_Protocol.c file)
3. Irrespective of #1 or #2 above, a command complete (see CySmt_SendCommandComplete routine in CySmt_Protocol.c file) is sent back to indicate that the interface is free to accept new commands.
and so on..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would agree with @kris.p's opinion that the numbers are specific to the Cypress dongle.