Initial commit

Dependencies:   FastPWM

Revision:
0:bb348c97df44
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-dev-master/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/cb_bt_test_man.h	Wed Sep 16 01:11:49 2020 +0000
@@ -0,0 +1,253 @@
+/*---------------------------------------------------------------------------
+ * Copyright (c) 2016, u-blox Malmö, All Rights Reserved
+ * SPDX-License-Identifier: LicenseRef-PBL
+ *
+ * This file and the related binary are licensed under the
+ * Permissive Binary License, Version 1.0 (the "License");
+ * you may not use these files except in compliance with the License.
+ *
+ * You may obtain a copy of the License here:
+ * LICENSE-permissive-binary-license-1.0.txt and at
+ * https://www.mbed.com/licenses/PBL-1.0
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Component   : Bluetooth Test
+ * File        : cb_bt_test_man.h
+ *
+ * Description : Functionality for Bluetooth radio tests and qualification.
+ *-------------------------------------------------------------------------*/
+
+/**
+* @file cb_bt_test_man.h
+* @brief Functionality for Bluetooth radio tests and qualification.
+ */
+
+#ifndef _CB_BT_TEST_MAN_H_
+#define _CB_BT_TEST_MAN_H_
+
+#include "cb_comdefs.h"
+
+#include "cb_bt_man.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*===========================================================================
+ * DEFINES
+ *=========================================================================*/
+#define cbBTM_OK             (0)
+#define cbBTM_ERROR          (-1)
+
+/*===========================================================================
+ * TYPES
+ *=========================================================================*/
+typedef enum
+{
+    cbBTM_TEST_CONF_POS,
+    cbBTM_TEST_CONF_NEG
+} cbBTM_TestEvt;
+
+typedef void (*cbBTM_TestCallback)(cbBTM_TestEvt evt);
+typedef void (*cbBTM_LeTestEndCallback)(cbBTM_TestEvt evt, cb_uint16 nbrOfPackets);
+
+
+/*===========================================================================
+ * FUNCTIONS
+ *=========================================================================*/
+
+/**
+ * Init Bluetooth test manager
+ * @returns None 
+ */
+extern void cbBTM_init(void);
+
+/**
+ * Enable Device under test mode. Used for Bluetooth Classic radio tests.
+ *
+ * @param callback Test callback used to notify if the test was successfully started.
+ * @returns cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_enableDUT(cbBTM_TestCallback callback);
+
+/**
+ * This command operates the RF transceiver in continuous transmission mode (which is most likely used in
+ * regulatory and standardization procedures and tests, such as FCC and ETSI certifications). Activating the
+ * VS runs the TX START sequence code using the configured frequency, modulation, pattern, and power
+ * level. The VS also enables the generation of a user-defined pattern (or correcting definitions without a
+ * patch) by setting a new pattern generator (also known as a PN generator) init value and mask.
+ * based on HCI_VS_DRPb_Tester_Con_TX, HCI Opcode 0xFDCA
+ * The cbBTM_TestCallback is used to notify if the test is sucessfully started.
+ * 
+ * @param frequency Transmission frequency in MHz Range: 2402 - 2480
+ * @param modulationScheme Range: 0x00 - 0x05 where
+ *                         0x00 = CW
+ *                         0x01 = BT BR (GFSK)
+ *                         0x02 = BT EDR 2MB (p/4-DQPSK)
+ *                         0x03 = BT EDR 3MB (8-DPSK)
+ *                         0x04 = BT LE (BLE, GMSK)
+ *                         0x05 = ANT (GFSK)
+ * @param testPattern Range: 0x00 - 0x07
+ *                         0x00 = PN9
+ *                         0x01 = PN15
+ *                         0x02 = ZOZO (101010101010101010)
+ *                         0x03 = All 1
+ *                         0x04 = All 0
+ *                         0x05 = FOFO (1111000011110000)
+ *                         0x06 = FFOO (1111111100000000)
+ *                         0x07 = Not used
+ * @param powerLevelIndex Range: 0-7: 7 = Max Output Power, 0 = Min Output Power, 0x08 (PA off) 8 = PA Off (leakage)
+ * @param reserved1 shall be set to 0
+ * @param reserved2 shall be set to 0
+ * @param callback Test callback used to notify if the test was successfully started.
+ *
+ * @return  cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_tiDrpbTesterConTx(
+    cb_uint16 frequency,
+    cb_uint8 modulationScheme,
+    cb_uint8 testPattern,
+    cb_uint8 powerLevelIndex,
+    cb_uint32 reserved1,
+    cb_uint32 reserved2,
+    cbBTM_TestCallback callback);
+
+/**
+ *This command operates the RF transceiver in continuous reception mode (most likely used in regulatory
+ * and standardization procedures and tests, such as FCC and ETSI certifications). By activating the VS, the
+ * RX START sequence code runs, using the configured frequency, RX mode, and modulation type.
+ * based on HCI_VS_DRPb_Tester_Con_RX, HCI Opcode 0xFDCB
+ *
+ * The cbBTM_TestCallback is used to notify if the test is successfully started.
+ * @param frequency Transmission frequency in MHz Range: 2402 - 2480
+ * @param rxMode Range: 0 -3:
+ *                         0x00 = Connection mode
+ *                         0x01 = Best RF mode (ADPL closed loop) - For expert use only!
+ *                         0x02 = Low current mode (ADPLL open loop) - For expert use only!
+ *                         0x03 = Scan mode
+ * @param modulationScheme Range: 0x03 - 0x05 where
+ *                         0x03 = BT (BR, EDR 2MB, EDR 3MB)
+ *                         0x04 = BT LE (BLE, GMSK)
+ *                         0x05 = ANT (GFSK)
+ * @param callback Test callback used to notify if the test was successfully started.
+ *
+ * @return  cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_tiDrpbTesterConRx(
+    cb_uint16 frequency,
+    cb_uint8 rxMode,
+    cb_uint8 modulationScheme,
+    cbBTM_TestCallback callback);
+
+/**
+ * 
+ * This command operates the RF transceiver in continuous reception mode (most likely used in regulatory
+ * and standardization procedures and tests, such as FCC and ETSI certifications). Activating the VS runs
+ * the RX START sequence code using the configured frequency, RX mode, and modulation type.
+ * This command emulates Bluetooth connection mode. Connection does not require a setup procedure.
+ * Based on HCI_VS_DRPb_Tester_Packet_TX_RX  HCI Opcode 0xFDCC
+ * 
+ * @param aclPacketType ACL TX packet type. Range: 0x00 - 0x0B
+ *                         0x00 = DM1
+ *                         0x01 = DH1
+ *                         0x02 = DM3
+ *                         0x03 = DH3
+ *                         0x04 = DM5
+ *                         0x05 = DH5
+ *                         0x06 = 2-DH1
+ *                         0x07 = 2-DH3
+ *                         0x08 = 2-DH5
+ *                         0x09 = 3-DH1
+ *                         0x0A = 3-DH3
+ *                         0x0B = 3-DH5
+ * @param frequencyMode 0x00 = Hopping 0x03 = Single frequency
+ * @param txSingleFrequency Transmission frequency in MHz,Range 2402 - 2480, 0xFFFF = no TX
+ * @param rxSingleFrequency Transmission frequency in MHz,Range 2402 - 2480, 0xFFFF = no RX
+ * @param aclDataPattern ACL TX packet data pattern Range: 0x00 - 0x05
+ *                         0x00 = All 0
+ *                         0x01 = All 1
+ *                         0x02 = ZOZO (101010101010101010)
+ *                         0x03 = FOFO (1111000011110000)
+ *                         0x04 = Ordered (1, 2, 3, 4, and so on)
+ *                         0x05 = PRBS9 (pseudo-random bit sequence)
+ * @param useExtendedFeatures Shall be SET to 0
+ * @param aclDataLength ACL packet data length.
+ *                         DM1: 0 - 17 ACL packet data length in bytes
+ *                         DH1: 0 - 27
+ *                         DM3: 0 - 121
+ *                         DH3: 0 - 183
+ *                         DM5: 0 - 224
+ *                         DH5: 0 - 339
+ *                         2-DH1: 0 - 54
+ *                         2-DH3: 0 - 367
+ *                         2-DH5: 0 - 679
+ *                         3-DH1: 0 - 83
+ *                         3-DH3: 0 - 552
+ *                         3-DH5: 0 - 1021
+ * @param powerLevel       Range 0-7: 7 = Max Output Power; 0 = Min Output; Power 8 = PA Off (leakage) 0x08 (PA off)
+ * @param disableWhitening 0x00 = Enable whitening, 0x01 = Disable whitening
+ * @param prbs9Init PRBS9 Init, range 0x0000 - 0x01FF
+ * @param callback Test callback used to notify if the test was successfully started.
+ *
+ * @return cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_tiDrpbTesterPacketTxRx(
+    cb_uint8 aclPacketType,
+    cb_uint8 frequencyMode,
+    cb_uint16 txSingleFrequency,
+    cb_uint16 rxSingleFrequency,
+    cb_uint8 aclDataPattern,
+    cb_uint8 useExtendedFeatures,
+    cb_uint16 aclDataLength,
+    cb_uint8 powerLevel,
+    cb_uint8 disableWhitening,
+    cb_uint16 prbs9Init,
+    cbBTM_TestCallback callback);
+
+/**
+ * Enable Bluetooth Low Energy Transmitter test.
+ * @param   txFreq          Transmit frequency. N = (F - 2402) / 2, Range: 0x00 to 0x27, Frequency Range : 2402 MHz to 2480 MHz,
+                            Use oxFF to generate a pseudo random hopping frequency useful for some scenarios during type approval.
+ * @param   length          Length in bytes of payload data in each packet
+ * @param   packetPayload   0x00 Pseudo-Random bit sequence 9
+ *                          0x01 Pattern of alternating bits 11110000
+ *                          0x02 Pattern of alternating bits 10101010
+ *                          0x03 Pseudo-Random bit sequence 15
+ *                          0x04 Pattern of All 1 bits
+ *                          0x05 Pattern of All 0 bits
+ *                          0x06 Pattern of alternating bits 00001111
+ *                          0x07 Pattern of alternating bits 0101
+ * @param   callback Test callback used to notify if the test was successfully started.
+ * @return  cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_enableBleTransmitterTest(
+    cb_uint8 txFreq, 
+    cb_uint8 length,
+    cb_uint8 packetPayload, 
+    cbBTM_TestCallback callback);
+
+/**
+ * Enable Bluetooth Low Energy Receiver test.
+ * @param   rxFreq      Receive frequency. N = (F - 2402) / 2, Range: 0x00 to 0x27, Frequency Range : 2402 MHz to 2480 MHz,
+ * @param   callback    Test callback used to notify if the test was successfully started.
+ * @returns cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_enableBleReceiverTest(
+    cb_uint8 rxFreq,
+    cbBTM_TestCallback callback);
+
+/**
+ * End Bluetooth Low Energy Receiver or Transmitter test.
+ * @param   callback    Test callback used to notify if the test was successfully ended.
+ * @returns cbBTM_OK is returned 
+ */
+extern cb_int32 cbBTM_bleTestEnd(cbBTM_LeTestEndCallback callback);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CB_BT_TEST_MAN_H_ */
+