|
| 1 | +/* |
| 2 | + * Copyright (c) 2015-2017, Arm Limited and affiliates. |
| 3 | + * SPDX-License-Identifier: Apache-2.0 |
| 4 | + * |
| 5 | + * Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | + * you may not use this file except in compliance with the License. |
| 7 | + * You may obtain a copy of the License at |
| 8 | + * |
| 9 | + * http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | + * |
| 11 | + * Unless required by applicable law or agreed to in writing, software |
| 12 | + * distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | + * See the License for the specific language governing permissions and |
| 15 | + * limitations under the License. |
| 16 | + */ |
| 17 | + |
| 18 | +/** |
| 19 | + * \file fhss_ws_extension.h |
| 20 | + * \brief |
| 21 | + */ |
| 22 | + |
| 23 | +#ifndef FHSS_WS_EXT_H |
| 24 | +#define FHSS_WS_EXT_H |
| 25 | + |
| 26 | + |
| 27 | +#ifdef __cplusplus |
| 28 | +extern "C" { |
| 29 | +#endif |
| 30 | + |
| 31 | +/** |
| 32 | + * @brief unicast_timing_info Unicast timing/hopping schedule information structure. |
| 33 | + */ |
| 34 | +typedef struct unicast_timing_info { |
| 35 | + unsigned unicast_channel_function:3; /**< Unicast schedule channel function */ |
| 36 | + uint8_t unicast_dwell_interval; /**< Unicast dwell interval */ |
| 37 | + uint_fast24_t ufsi; /**< Unicast fractional sequence interval */ |
| 38 | + uint32_t utt_rx_timestamp; /**< UTT-IE reception timestamp */ |
| 39 | +} unicast_timing_info_t; |
| 40 | + |
| 41 | +/** |
| 42 | + * @brief broadcast_timing_info Broadcast timing/hopping schedule information structure. |
| 43 | + */ |
| 44 | +typedef struct broadcast_timing_info { |
| 45 | + unsigned broadcast_channel_function:3; /**< Broadcast schedule channel function */ |
| 46 | + uint8_t broadcast_dwell_interval; /**< Broadcast dwell interval */ |
| 47 | + uint16_t broadcast_slot; /**< Broadcast slot number */ |
| 48 | + uint16_t broadcast_schedule_id; /**< Broadcast schedule identifier */ |
| 49 | + uint_fast24_t broadcast_interval_offset; /**< Broadcast interval offset */ |
| 50 | + uint32_t broadcast_interval; /**< Broadcast interval */ |
| 51 | + uint32_t bt_rx_timestamp; /**< BT-IE reception timestamp */ |
| 52 | +} broadcast_timing_info_t; |
| 53 | + |
| 54 | +/** |
| 55 | + * @brief fhss_ws_neighbor_timing_info Neighbor timing/hopping schedule information structure. |
| 56 | + */ |
| 57 | +typedef struct fhss_ws_neighbor_timing_info { |
| 58 | + uint8_t clock_drift; /**< Neighbor clock drift */ |
| 59 | + uint8_t timing_accuracy; /**< Neighbor timing accuracy */ |
| 60 | + unicast_timing_info_t uc_timing_info; /**< Neighbor unicast timing info */ |
| 61 | + broadcast_timing_info_t bc_timing_info; /**< Neighbor broadcast timing info */ |
| 62 | +} fhss_ws_neighbor_timing_info_t; |
| 63 | + |
| 64 | + |
| 65 | +#ifdef __cplusplus |
| 66 | +} |
| 67 | +#endif |
| 68 | + |
| 69 | +#endif // FHSS_WS_EXT_H |
0 commit comments