void HciLeSetRandomAddress(const vector<uint8_t>& args);
// OGF: 0x0008
+ // OCF: 0x0006
+ // Bluetooth Core Specification Version 4.2 Volume 2 Part E 7.8.5
+ void HciLeSetAdvertisingParameters(const vector<uint8_t>& args);
+
+ // OGF: 0x0008
+ // OCF: 0x0008
+ // Bluetooth Core Specification Version 4.2 Volume 2 Part E 7.8.7
+ void HciLeSetAdvertisingData(const vector<uint8_t>& args);
+
+ // OGF: 0x0008
// OCF: 0x000B
// Bluetooth Core Specification Version 4.2 Volume 2 Part E 7.8.10
void HciLeSetScanParameters(const vector<uint8_t>& args);
case BT_VND_OP_FW_CFG:
LOG_INFO(LOG_TAG, "Unsupported op: BT_VND_OP_FW_CFG");
- manager->GetVendorCallbacks().fwcfg_cb(BT_VND_OP_RESULT_FAIL);
+ manager->GetVendorCallbacks().fwcfg_cb(BT_VND_OP_RESULT_SUCCESS);
+ return -1;
+
+ case BT_VND_OP_SCO_CFG:
+ LOG_INFO(LOG_TAG, "Unsupported op: BT_VND_OP_SCO_CFG");
+ manager->GetVendorCallbacks().scocfg_cb(BT_VND_OP_RESULT_SUCCESS);
+ return -1;
+
+ case BT_VND_OP_GET_LPM_IDLE_TIMEOUT:
+ LOG_INFO(LOG_TAG, "Doing op: BT_VND_OP_SCO_CFG");
+ *((uint32_t*)param) = 1000;
+ return 0;
+
+ case BT_VND_OP_LPM_SET_MODE:
+ LOG_INFO(LOG_TAG, "Unsupported op: BT_VND_OP_LPM_SET_MODE");
+ manager->GetVendorCallbacks().lpm_cb(BT_VND_OP_RESULT_SUCCESS);
+ return -1;
+
+ case BT_VND_OP_LPM_WAKE_SET_STATE:
+ LOG_INFO(LOG_TAG, "Unsupported op: BT_VND_OP_LPM_WAKE_SET_STATE");
+ return -1;
+
+ case BT_VND_OP_SET_AUDIO_STATE:
+ LOG_INFO(LOG_TAG, "Unsupported op: BT_VND_OP_SET_AUDIO_STATE");
+ return -1;
+
+ case BT_VND_OP_EPILOG:
+ LOG_INFO(LOG_TAG, "Unsupported op: BT_VND_OP_EPILOG");
+ manager->GetVendorCallbacks().epilog_cb(BT_VND_OP_RESULT_SUCCESS);
return -1;
default:
SET_HANDLER(HCI_BLE_READ_BUFFER_SIZE, HciLeReadBufferSize);
SET_HANDLER(HCI_BLE_READ_LOCAL_SPT_FEAT, HciLeReadLocalSupportedFeatures);
SET_HANDLER(HCI_BLE_WRITE_RANDOM_ADDR, HciLeSetRandomAddress);
+ SET_HANDLER(HCI_BLE_WRITE_ADV_DATA, HciLeSetAdvertisingData);
+ SET_HANDLER(HCI_BLE_WRITE_ADV_PARAMS, HciLeSetAdvertisingParameters);
SET_HANDLER(HCI_BLE_WRITE_SCAN_PARAMS, HciLeSetScanParameters);
SET_HANDLER(HCI_BLE_WRITE_SCAN_ENABLE, HciLeSetScanEnable);
SET_HANDLER(HCI_BLE_READ_WHITE_LIST_SIZE, HciLeReadWhiteListSize);
SendCommandCompleteSuccess(HCI_BLE_WRITE_RANDOM_ADDR);
}
+void DualModeController::HciLeSetAdvertisingParameters(const vector<uint8_t>& args){
+ LogCommand("LE SetAdvertisingParameters");
+ SendCommandCompleteSuccess(HCI_BLE_WRITE_ADV_PARAMS);
+}
+
+void DualModeController::HciLeSetAdvertisingData(const vector<uint8_t>& args){
+ LogCommand("LE SetAdvertisingData");
+ SendCommandCompleteSuccess(HCI_BLE_WRITE_ADV_DATA);
+}
+
void DualModeController::HciLeSetScanParameters(const vector<uint8_t>& args) {
LogCommand("LE SetScanParameters");
CHECK(args.size() == 8);