mirror of https://github.com/ARMmbed/mbed-os.git
Mesh API: Functions to set/get/validate FAN v1.1 domain configuration.
parent
6c7789e31e
commit
37e42fb1b7
|
@ -158,20 +158,46 @@ public:
|
||||||
mesh_error_t validate_network_regulatory_domain(uint8_t regulatory_domain, uint8_t operating_class, uint8_t operating_mode);
|
mesh_error_t validate_network_regulatory_domain(uint8_t regulatory_domain, uint8_t operating_class, uint8_t operating_mode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set Wi-SUN network PHY mode and channel plan IDs.
|
* \brief Set Wi-SUN network regulatory domain, PHY mode ID and channel plan ID.
|
||||||
*
|
*
|
||||||
* Function stores new parameters to mbed-mesh-api and uses them when connect() is called next time.
|
* Function stores new parameters to mbed-mesh-api and uses them when connect() is called next time.
|
||||||
* If device is already connected to the Wi-SUN network then device will restart network discovery after
|
* If device is already connected to the Wi-SUN network then device will restart network discovery after
|
||||||
* changing the phy_mode_id or channel_plan_id.
|
* changing the regulatory_domain, phy_mode_id or channel_plan_id.
|
||||||
*
|
*
|
||||||
* Function overwrites parameters defined by Mbed OS configuration.
|
* \param regulatory_domain Values defined in Wi-SUN PHY-specification. Use 0 to leave parameter unchanged or 0xff to use default value.
|
||||||
*
|
* \param phy_mode_id Values defined in Wi-SUN PHY-specification. Use 0 to leave parameter unchanged or 0xff to use default value.
|
||||||
* \param phy_mode_id Values defined in Wi-SUN PHY-specification. Use 0xff to leave parameter unchanged.
|
* \param channel_plan_id Values defined in Wi-SUN PHY-specification. Use 0 to leave parameter unchanged or 0xff to use default value.
|
||||||
* \param channel_plan_id Values defined in Wi-SUN PHY-specification. Use 0xff to leave parameter unchanged.
|
|
||||||
* \return MESH_ERROR_NONE on success.
|
* \return MESH_ERROR_NONE on success.
|
||||||
* \return MESH_ERROR_UNKNOWN in case of failure.
|
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||||
* */
|
* */
|
||||||
mesh_error_t set_network_phy_mode_and_channel_plan_id(uint8_t phy_mode_id, uint8_t channel_plan_id);
|
mesh_error_t set_network_domain_configuration(uint8_t regulatory_domain, uint8_t phy_mode_id, uint8_t channel_plan_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Get Wi-SUN network regulatory domain, PHY mode ID and channel plan ID.
|
||||||
|
*
|
||||||
|
* Function reads regulatory_domain, phy_mode_id and channel_plan_id from mbed-mesh-api.
|
||||||
|
*
|
||||||
|
* \param regulatory_domain Values defined in Wi-SUN PHY-specification.
|
||||||
|
* \param phy_mode_id Values defined in Wi-SUN PHY-specification.
|
||||||
|
* \param channel_plan_id Values defined in Wi-SUN PHY-specification.
|
||||||
|
* \return MESH_ERROR_NONE on success.
|
||||||
|
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||||
|
* */
|
||||||
|
mesh_error_t get_network_domain_configuration(uint8_t *regulatory_domain, uint8_t *phy_mode_id, uint8_t *channel_plan_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Validate Wi-SUN network regulatory domain, PHY mode ID and channel plan ID.
|
||||||
|
*
|
||||||
|
* Function validates regulatory_domain, phy_mode_id and channel_plan_id. Function can be used to test that values that will
|
||||||
|
* be used on set function are valid.
|
||||||
|
*
|
||||||
|
* \param regulatory_domain Values defined in Wi-SUN PHY-specification.
|
||||||
|
* \param phy_mode_id Values defined in Wi-SUN PHY-specification.
|
||||||
|
* \param channel_plan_id Values defined in Wi-SUN PHY-specification.
|
||||||
|
* \return MESH_ERROR_NONE on success.
|
||||||
|
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||||
|
* */
|
||||||
|
mesh_error_t validate_network_domain_configuration(uint8_t regulatory_domain, uint8_t phy_mode_id, uint8_t channel_plan_id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set Wi-SUN network size.
|
* \brief Set Wi-SUN network size.
|
||||||
|
|
|
@ -99,10 +99,11 @@ nsapi_error_t WisunInterface::configure()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (MBED_CONF_MBED_MESH_API_WISUN_PHY_MODE_ID != 255) || (MBED_CONF_MBED_MESH_API_WISUN_CHANNEL_PLAN_ID != 255)
|
#if (MBED_CONF_MBED_MESH_API_WISUN_PHY_MODE_ID != 255) || (MBED_CONF_MBED_MESH_API_WISUN_CHANNEL_PLAN_ID != 255)
|
||||||
status = set_network_phy_mode_and_channel_plan_id(MBED_CONF_MBED_MESH_API_WISUN_PHY_MODE_ID,
|
status = set_network_domain_configuration(MBED_CONF_MBED_MESH_API_WISUN_REGULATORY_DOMAIN,
|
||||||
|
MBED_CONF_MBED_MESH_API_WISUN_PHY_MODE_ID,
|
||||||
MBED_CONF_MBED_MESH_API_WISUN_CHANNEL_PLAN_ID);
|
MBED_CONF_MBED_MESH_API_WISUN_CHANNEL_PLAN_ID);
|
||||||
if (status != MESH_ERROR_NONE) {
|
if (status != MESH_ERROR_NONE) {
|
||||||
tr_error("Failed to set PHY mode and channel plan ID!");
|
tr_error("Failed to set domain configuration!");
|
||||||
return NSAPI_ERROR_PARAMETER;
|
return NSAPI_ERROR_PARAMETER;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -317,13 +318,29 @@ mesh_error_t WisunInterface::validate_network_regulatory_domain(uint8_t regulato
|
||||||
return MESH_ERROR_NONE;
|
return MESH_ERROR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
mesh_error_t WisunInterface::set_network_phy_mode_and_channel_plan_id(uint8_t phy_mode_id, uint8_t channel_plan_id)
|
mesh_error_t WisunInterface::set_network_domain_configuration(uint8_t regulatory_domain, uint8_t phy_mode_id, uint8_t channel_plan_id)
|
||||||
{
|
{
|
||||||
int status = ws_management_phy_mode_id_set(get_interface_id(), phy_mode_id);
|
int status = ws_management_domain_configuration_set(get_interface_id(), regulatory_domain, phy_mode_id, channel_plan_id);
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
return MESH_ERROR_UNKNOWN;
|
return MESH_ERROR_UNKNOWN;
|
||||||
}
|
}
|
||||||
status = ws_management_channel_plan_id_set(get_interface_id(), channel_plan_id);
|
|
||||||
|
return MESH_ERROR_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
mesh_error_t WisunInterface::get_network_domain_configuration(uint8_t *regulatory_domain, uint8_t *phy_mode_id, uint8_t *channel_plan_id)
|
||||||
|
{
|
||||||
|
int status = ws_management_domain_configuration_get(get_interface_id(), regulatory_domain, phy_mode_id, channel_plan_id);
|
||||||
|
if (status != 0) {
|
||||||
|
return MESH_ERROR_UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
return MESH_ERROR_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
mesh_error_t WisunInterface::validate_network_domain_configuration(uint8_t regulatory_domain, uint8_t phy_mode_id, uint8_t channel_plan_id)
|
||||||
|
{
|
||||||
|
int status = ws_management_domain_configuration_validate(get_interface_id(), regulatory_domain, phy_mode_id, channel_plan_id);
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
return MESH_ERROR_UNKNOWN;
|
return MESH_ERROR_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue