47#ifndef HCI_DRV_APOLLO3_H
48#define HCI_DRV_APOLLO3_H
63 TX_POWER_LEVEL_MINUS_10P0_dBm = 0x3,
64 TX_POWER_LEVEL_0P0_dBm = 0x8,
65 TX_POWER_LEVEL_PLUS_3P0_dBm = 0xF,
66 TX_POWER_LEVEL_INVALID = 0x10,
69#define HCI_DRV_SPECIFIC_ERROR_START 0x09000000
72 HCI_DRV_TRANSMIT_QUEUE_FULL = HCI_DRV_SPECIFIC_ERROR_START,
73 HCI_DRV_TX_PACKET_TOO_LARGE,
74 HCI_DRV_RX_PACKET_TOO_LARGE,
75 HCI_DRV_BLE_STACK_UNABLE_TO_ACCEPT_PACKET,
76 HCI_DRV_PACKET_TRANSMIT_FAILED,
77 HCI_DRV_IRQ_STUCK_HIGH,
78 HCI_DRV_TOO_MANY_PACKETS,
81 typedef void (*hci_drv_error_handler_t)(uint32_t ui32Error);
83 bool_t HciVsA3_SetRfPowerLevelEx(txPowerLevel_t txPowerlevel);
84 void HciVsA3_ConstantTransmission(uint8_t txchannel);
85 void HciVsA3_CarrierWaveMode(uint8_t txchannel);
92 extern void HciDrvHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg);
93 extern void HciDrvHandlerInit(wsfHandlerId_t handlerId);
94 extern void HciDrvIntService(
void);
96 uint16_t ap3_hciDrvWrite(uint8_t type, uint16_t len, uint8_t *pData);
98 extern void HciDrvRadioBoot(
bool bColdBoot);
99 extern void HciDrvRadioShutdown(
void);