forked from ARMmbed/mbed-os
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ARMmbed#1610 from ARMmbed/IOTTHD-2313
FHSS: Implemented WS timing/schedule info structure
- Loading branch information
Showing
1 changed file
with
69 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/* | ||
* Copyright (c) 2015-2017, Arm Limited and affiliates. | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/** | ||
* \file fhss_ws_extension.h | ||
* \brief | ||
*/ | ||
|
||
#ifndef FHSS_WS_EXT_H | ||
#define FHSS_WS_EXT_H | ||
|
||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/** | ||
* @brief unicast_timing_info Unicast timing/hopping schedule information structure. | ||
*/ | ||
typedef struct unicast_timing_info { | ||
unsigned unicast_channel_function:3; /**< Unicast schedule channel function */ | ||
uint8_t unicast_dwell_interval; /**< Unicast dwell interval */ | ||
uint_fast24_t ufsi; /**< Unicast fractional sequence interval */ | ||
uint32_t utt_rx_timestamp; /**< UTT-IE reception timestamp */ | ||
} unicast_timing_info_t; | ||
|
||
/** | ||
* @brief broadcast_timing_info Broadcast timing/hopping schedule information structure. | ||
*/ | ||
typedef struct broadcast_timing_info { | ||
unsigned broadcast_channel_function:3; /**< Broadcast schedule channel function */ | ||
uint8_t broadcast_dwell_interval; /**< Broadcast dwell interval */ | ||
uint16_t broadcast_slot; /**< Broadcast slot number */ | ||
uint16_t broadcast_schedule_id; /**< Broadcast schedule identifier */ | ||
uint_fast24_t broadcast_interval_offset; /**< Broadcast interval offset */ | ||
uint32_t broadcast_interval; /**< Broadcast interval */ | ||
uint32_t bt_rx_timestamp; /**< BT-IE reception timestamp */ | ||
} broadcast_timing_info_t; | ||
|
||
/** | ||
* @brief fhss_ws_neighbor_timing_info Neighbor timing/hopping schedule information structure. | ||
*/ | ||
typedef struct fhss_ws_neighbor_timing_info { | ||
uint8_t clock_drift; /**< Neighbor clock drift */ | ||
uint8_t timing_accuracy; /**< Neighbor timing accuracy */ | ||
unicast_timing_info_t uc_timing_info; /**< Neighbor unicast timing info */ | ||
broadcast_timing_info_t bc_timing_info; /**< Neighbor broadcast timing info */ | ||
} fhss_ws_neighbor_timing_info_t; | ||
|
||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif // FHSS_WS_EXT_H |