Skip to content

Commit 3d98860

Browse files
author
Jarkko Paso
committed
FHSS: Implemented WS timing/schedule info structure
1 parent f96db0c commit 3d98860

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

nanostack/fhss_ws_extension.h

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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

Comments
 (0)