Mistake on this page?
Report an issue in GitHub or email us
pal_bb_ble_tester.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief BLE Baseband tester interface file.
6  *
7  * Copyright (c) 2018 Arm Ltd. All Rights Reserved.
8  *
9  * Copyright (c) 2019-2020 Packetcraft, Inc.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  * http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  */
23 /*************************************************************************************************/
24 
25 #ifndef PAL_BB_BLE_TESTER_H
26 #define PAL_BB_BLE_TESTER_H
27 
28 #include "pal_types.h"
29 
30 /**************************************************************************************************
31  Function Declarations
32 **************************************************************************************************/
33 
34 /*************************************************************************************************/
35 /*!
36  * \brief Enable bypassing PDU filtering.
37  *
38  * \param enable If TRUE enable bypass PDU filtering, FALSE otherwise.
39  *
40  * Enable bypassing PDU filtering.
41  */
42 /*************************************************************************************************/
43 void PalBbTesterEnablePduFilterBypass(bool_t enable);
44 
45 /*************************************************************************************************/
46 /*!
47  * \brief Invalidate next access address.
48  *
49  * \param forRx For Rx or Tx boolean.
50  */
51 /*************************************************************************************************/
52 void PalBbTesterInvalidateNextAccAddr(bool_t forRx);
53 
54 /*************************************************************************************************/
55 /*!
56  * \brief Invalidate access address value.
57  *
58  * \param chanMask Invalidate channel mask.
59  * \param invalidMask Enable mask for invalidating access address (0 to disable).
60  * \param shiftMask TRUE if corrupting AA by one bit and corrupted bit location is shifted every TX/RX.
61  * \param forRx TRUE for Rx, FALSE for Tx.
62  *
63  * Force the receiver to receive a miss a packet if the receive channel is in
64  * \b chanMask while stepping through the invalid pattern in \b invalidMask.
65  */
66 /*************************************************************************************************/
67 void PalBbTesterSetInvalidAccessAddress(uint64_t chanMask, uint32_t invalidMask, bool_t shiftMask, bool_t forRx);
68 
69 /*************************************************************************************************/
70 /*!
71  * \brief Invalidate CRC initialization value.
72  *
73  * \param chanMask Invalidate channel mask.
74  * \param adjMask Number of adjustments (0 to disable).
75  * \param forRx TRUE for Rx, FALSE for Tx.
76  *
77  * Force the receiver to receive a packet with CRC error if the receive channel is in
78  * \b chanMask while stepping through the invalid pattern in \b invalidMask.
79  */
80 /*************************************************************************************************/
81 void PalBbTesterSetInvalidCrcInit(uint64_t chanMask, uint32_t adjMask, bool_t forRx);
82 
83 /*************************************************************************************************/
84 /*!
85  * \brief Trigger channel modifications on matching Tx packet header.
86  *
87  * \param hdrMask Header mask.
88  * \param hdrValue Match value.
89  *
90  * Modify the transmit channel parameters of a packet only when the Tx packet header matches
91  * the given parameters. This applies to the modification parameter provided by the following
92  * routines:
93  *
94  * - \ref PalBbTesterSetInvalidCrcInit()
95  * - \ref PalBbTesterSetInvalidAccessAddress()
96  */
97 /*************************************************************************************************/
98 void PalBbTesterSetModifyTxPktTrigger(uint16_t hdrMask, uint16_t hdrValue);
99 
100 /*************************************************************************************************/
101 /*!
102  * \brief Adjust Tx TIFS timing value.
103  *
104  * \param adjNs Adjustment value in nanoseconds.
105  *
106  * Adjust the TIFS timing of transmit by the given signed value of timer ticks.
107  * If adjustment value is out of range, maximum allowed value is used.
108  */
109 /*************************************************************************************************/
110 
111 void PalBbTesterAdjTxTifsNs(int16_t adjNs);
112 #ifdef __cplusplus
113 };
114 #endif
115 
116 #endif /* PAL_BB_BLE_TESTER_H */
void PalBbTesterSetInvalidAccessAddress(uint64_t chanMask, uint32_t invalidMask, uint8_t shiftMask, uint8_t forRx)
Invalidate access address value.
void PalBbTesterAdjTxTifsNs(int16_t adjNs)
Adjust Tx TIFS timing value.
void PalBbTesterInvalidateNextAccAddr(uint8_t forRx)
Invalidate next access address.
void PalBbTesterEnablePduFilterBypass(uint8_t enable)
Enable bypassing PDU filtering.
Platform-independent data types.
void PalBbTesterSetModifyTxPktTrigger(uint16_t hdrMask, uint16_t hdrValue)
Trigger channel modifications on matching Tx packet header.
void PalBbTesterSetInvalidCrcInit(uint64_t chanMask, uint32_t adjMask, uint8_t forRx)
Invalidate CRC initialization value.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.