⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hcieventpacketform.cpp

📁 蓝牙协议HCI层指令发送,主要用于测试HCI以下的代码及RF部分测试.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                              )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_COMMAND_COMPLETE_EVENT)

  //ADD_STD_PARAMETER(u8Flags)
  ADD_STD_PARAMETER(u16CommandOpcode)
  ADD_STD_PARAMETER(u8RetParameters)

  TRANSMIT_HCI_EVENT_PACKET()
  
}
//------------------------------------------------------------------------------
//
//  5.2.15 Command Status Event
//
//------------------------------------------------------------------------------

void    HCI_EventsInterfaceFormFunctions::CommandStatusEvent( teHCI_EVENT_ERROR_CODE teStatus,
                              uint8  u8NumHCICommandPackets,
                              uint16  u16CommandOpcode
                             )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_COMMAND_STATUS_EVENT)

  ADD_ENUM_PARAMETER(teStatus)
  ADD_STD_PARAMETER(u8NumHCICommandPackets)
  ADD_STD_PARAMETER(u16CommandOpcode)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::HardwareErrorEvent(uint8  HardwareCode )

{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_HARDWARE_ERROR_EVENT)
  ADD_STD_PARAMETER(HardwareCode)
  TRANSMIT_HCI_EVENT_PACKET()
  
}
void    HCI_EventsInterfaceFormFunctions::FlushOccuredEvent( tConnectionHandle ConnectionHandle)
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_FLUSH_OCCURED_EVENT)
  ADD_STD_PARAMETER(ConnectionHandle)
  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::RoleChangeEvent( teHCI_EVENT_ERROR_CODE teStatus,
                             sBD_ADDR  sDevAddr,
                             uint8    u8NewRole
                           )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_ROLE_CHANGE_EVENT)

  ADD_ENUM_PARAMETER(teStatus)
  ADD_STD_PARAMETER(u8NewRole)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::NumberOfCompletedPacketsEvent( uint8        NumOfHandles,
                                   tConnectionHandle  ConnectionHandle,
                                   uint8        HCNumOfCompletedPackets[],
                                   uint8        CurrentMode,
                                   tINTERVAL      tInterval
                                  )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_NUMBER_OF_COMPLETED_PACKETS_EVENT)

  ADD_STD_PARAMETER(NumOfHandles)
  ADD_STD_PARAMETER(ConnectionHandle)
  FOR_LOOP(i,0,NumOfHandles)
  {
    ADD_STD_PARAMETER(HCNumOfCompletedPackets[i])
  }
  ADD_STD_PARAMETER(CurrentMode)
  ADD_STD_PARAMETER(tInterval)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::ModeChangeEvent( teHCI_EVENT_ERROR_CODE teStatus,
                             tConnectionHandle ConnectionHandle,
                             uint8              u8CurrentMode,
                             tINTERVAL          tInterval
                           )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_MODE_CHANGE_EVENT)

  ADD_ENUM_PARAMETER(teStatus)
  ADD_STD_PARAMETER(ConnectionHandle)
  ADD_STD_PARAMETER(u8CurrentMode)
  ADD_STD_PARAMETER(tInterval)

  TRANSMIT_HCI_EVENT_PACKET()
}
//------------------------------------------------------------------------------
//
//  5.2.16 Hardware Error Event
//
//------------------------------------------------------------------------------

void    HCI_EventsInterfaceFormFunctions::ReturnLinkKeysEvent( uint8    u8NumKeys,
                               sBD_ADDR    asDevAddr[],
                               uint8    au8LinkKey[]
                             )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_RETURN_LINK_KEYS_EVENT)

  ADD_STD_PARAMETER(u8NumKeys)
  FOR_LOOP(i,0,u8NumKeys)
  {

    ADD_STRUCT_PARAMETER(asDevAddr[i])
    ADD_STD_PARAMETER(au8LinkKey[i])
  }

  TRANSMIT_HCI_EVENT_PACKET()
}


void    HCI_EventsInterfaceFormFunctions::PinCodeRequestEvent( sBD_ADDR  sDevAddr )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_PIN_CODE_REQUEST_EVENT)

  ADD_STRUCT_PARAMETER(sDevAddr)

  TRANSMIT_HCI_EVENT_PACKET()
  
}

void    HCI_EventsInterfaceFormFunctions::LinkKeyRequestEvent( sBD_ADDR  sDevAddr )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_LINK_KEY_REQUEST_EVENT)

  ADD_STRUCT_PARAMETER(sDevAddr)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::LinkKeyNotificationEvent( sBD_ADDR  sDevAddr,
                                uint8    u8LinkKey
                                )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_LINK_KEY_NOTIFICATION_EVENT)

  ADD_STRUCT_PARAMETER(sDevAddr)
  ADD_STD_PARAMETER(u8LinkKey)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::LoopbackCommandEvent( puint8  pu8HCICommandPackets )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_LOOPBACK_COMMAND_EVENT)

  sint32 n = *(pu8HCICommandPackets+2) + 3; // length of the packet
  if(n>0xff) n = 0xff;
  FOR_LOOP(i,0,n)
  {
    ADD_STD_PARAMETER((*(pu8HCICommandPackets+i)))
  }
  TRANSMIT_HCI_EVENT_PACKET()
  
}

void    HCI_EventsInterfaceFormFunctions::DataBufferOverflowEvent( tLINK_TYPE  tLinkType )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_DATA_BUFFER_OVERFLOW_EVENT)
  ADD_STD_PARAMETER(tLinkType)
  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::MaxSlotsChangeEvent( tConnectionHandle ConnectionHandle,
                               uint8        LMP_MaxSlots
                             )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_MAX_SLOTS_CHANGE_EVENT)

  ADD_STD_PARAMETER(ConnectionHandle)
  ADD_STD_PARAMETER(LMP_MaxSlots)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::ReadClockOffsetCompleteEvent( teHCI_EVENT_ERROR_CODE  teStatus,
                                  tConnectionHandle    ConnectionHandle,
                                  tCLOCK_OFFSET        tClockOffset
                                  )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_READ_CLOCK_OFFSET_COMPLETE_EVENT)

  ADD_ENUM_PARAMETER(teStatus)
  ADD_STD_PARAMETER(ConnectionHandle)
  ADD_STD_PARAMETER(tClockOffset)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::ChangeConnectionPacketTypeEvent( teHCI_EVENT_ERROR_CODE  teStatus,
                                    tConnectionHandle    ConnectionHandle,
                                    eBaseBandPacketType        tPacketType
                                    )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_CONNECTION_PACKET_TYPE_CHANGED_EVENT)

  ADD_ENUM_PARAMETER(teStatus)
  ADD_STD_PARAMETER(ConnectionHandle)
  ADD_STD_PARAMETER((uint16)tPacketType)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::QosViolationEvent( tConnectionHandle ConnectionHandle )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_QOS_VIOLATION_EVENT)
  ADD_STD_PARAMETER(ConnectionHandle)
  TRANSMIT_HCI_EVENT_PACKET()
  
}

void    HCI_EventsInterfaceFormFunctions::PageScanModeChangeEvent( sBD_ADDR      sDevAddr,
                                 ePageScanMode  atPageScanMode )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_PAGE_SCAN_MODE_CHANGE_EVENT)

  ADD_STRUCT_PARAMETER(sDevAddr)
  ADD_STD_PARAMETER((uint8)atPageScanMode)

  TRANSMIT_HCI_EVENT_PACKET()
}

void    HCI_EventsInterfaceFormFunctions::PageScanRepeatationModeChangeEvent( sBD_ADDR          sDevAddr,
                                      ePageScanRepMode  tPageScanRepetitionMode
                                    )
{
  BEGIN_HCI_EVENT_PACKET(eHCI_OPCODE_PAGE_SCAN_REPEATATION_MODE_CHANGE_EVENT)

  ADD_STRUCT_PARAMETER(sDevAddr)
  ADD_STD_PARAMETER((uint8)tPageScanRepetitionMode)

  TRANSMIT_HCI_EVENT_PACKET()
}

//------------------------------------------------------------------------------
//  End of HCIEvent.cpp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -