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 remote-tracking branch 'origin/koli'
* origin/koli: (254 commits) Put smarter dag max rank increment 2048. 0 affect a lot of troubles. RPL print update, nud and aneighbour update Fix merge compile problems Fix LLC unit test's LLC data indication and fhss channel set update Fix crash which will happen if address registration fail and operation is triggered again by NULL pointer. Enabled proper wi-sun security level 6. Fix data for 6lowpan when mle is disabled. Wi-sun trigle timer update: Function name code conventions fix. mac_neighbor_info() macro defned for simplify code Added check when weighting rule update must do network scan. Fix ns_dyn_mem_init stub Added Neighbor connected and trusted state update for wisun Integrate Mac neighbour table to Thread and 6Lowpan code Mac neighbour table update Thread Neighbor class update Removed almost duplicate mle entry discover for ll64 Rename some parameters which will help integration to new neighbor table. Function parameter and name refactor. ...
- Loading branch information
Showing
325 changed files
with
22,470 additions
and
8,436 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
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
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
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,113 @@ | ||
/* | ||
* 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 | ||
|
||
#include "ns_types.h" | ||
#include "fhss_api.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 */ | ||
uint16_t unicast_number_of_channels; /**< Unicast number of channels */ | ||
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 */ | ||
uint32_t *excluded_channels; /**< Neighbor excluded channels (bit mask) */ | ||
} fhss_ws_neighbor_timing_info_t; | ||
|
||
/** | ||
* @brief Get neighbor timing/hopping schedule. | ||
* @param api FHSS instance. | ||
* @param eui64 EUI-64 address of node for which the info is requested. | ||
* @return Neighbor timing/hopping schedule. | ||
*/ | ||
typedef fhss_ws_neighbor_timing_info_t *fhss_get_neighbor_info(const fhss_api_t *api, uint8_t eui64[8]); | ||
|
||
/** | ||
* @brief Set parent which broadcast channels must be listened by FHSS. | ||
* @param fhss_api FHSS instance. | ||
* @param eui64 EUI-64 address of parent. | ||
* @param bc_timing_info Pointer to parent broadcast timing/hopping schedule info. | ||
* @return 0 on success, -1 on fail. | ||
*/ | ||
extern int ns_fhss_ws_set_parent(const fhss_api_t *fhss_api, const uint8_t eui64[8], const broadcast_timing_info_t *bc_timing_info); | ||
|
||
/** | ||
* @brief Remove parent which was set by ns_fhss_ws_set_parent function. | ||
* @param fhss_api FHSS instance. | ||
* @param eui64 EUI-64 address of parent. | ||
* @return 0 on success, -1 on fail. | ||
*/ | ||
extern int ns_fhss_ws_remove_parent(const fhss_api_t *fhss_api, const uint8_t eui64[8]); | ||
|
||
/** | ||
* @brief Set neighbor timing/hopping schedule request function. | ||
* @param fhss_api FHSS instance. | ||
* @param get_neighbor_info Neighbor info function pointer. | ||
* @return 0 on success, -1 on fail. | ||
*/ | ||
extern int ns_fhss_set_neighbor_info_fp(const fhss_api_t *fhss_api, fhss_get_neighbor_info *get_neighbor_info); | ||
|
||
/** | ||
* @brief Set node hop count. Hop count is used to specify TX/RX slot. When hop count is set to 0xFF, TX/RX slots are ignored. | ||
* @param fhss_api FHSS instance. | ||
* @param hop_count Hop count to be set. | ||
* @return 0 on success, -1 on fail. | ||
*/ | ||
extern int ns_fhss_ws_set_hop_count(const fhss_api_t *fhss_api, const uint8_t hop_count); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif // FHSS_WS_EXT_H |
Oops, something went wrong.