Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
thread_tasklet.h
00001 /* 00002 * Copyright (c) 2015 ARM Limited. All rights reserved. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * Licensed under the Apache License, Version 2.0 (the License); you may 00005 * not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 00012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #ifndef __INCLUDE_THREAD_TASKLET__ 00018 #define __INCLUDE_THREAD_TASKLET__ 00019 #include "ns_types.h" 00020 #include "eventOS_event.h" 00021 #include "mbed-mesh-api/mesh_interface_types.h" 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /** 00028 * Type of the network status callback. 00029 */ 00030 typedef void (*mesh_interface_cb)(mesh_connection_status_t mesh_status); 00031 00032 /* 00033 * \brief Read own global IP address 00034 * 00035 * \param address where own IP address will be written 00036 * \param len length of provided address buffer 00037 * 00038 * \return 0 on success 00039 * \return -1 if address reading fails 00040 */ 00041 int8_t thread_tasklet_get_ip_address(char *address, int8_t len); 00042 00043 /* 00044 * \brief Connect to mesh network 00045 * 00046 * \param callback to be called when network state changes 00047 * \param nwk_interface_id to use for networking 00048 * 00049 * \return >= 0 on success 00050 * \return -1 if callback function is used in another tasklet 00051 * \return -2 if memory allocation fails 00052 * \return -3 if network is already connected 00053 */ 00054 int8_t thread_tasklet_connect(mesh_interface_cb callback, int8_t nwk_interface_id); 00055 00056 /* 00057 * \brief Initialize mesh system. 00058 * Memory pool, timers, traces and support are initialized. 00059 */ 00060 void thread_tasklet_init(void); 00061 00062 /* 00063 * \brief Create network interface. 00064 * 00065 * \param device_id registered physical device 00066 * \return interface ID that can be used to communication with this interface 00067 */ 00068 int8_t thread_tasklet_network_init(int8_t device_id); 00069 00070 /* 00071 * \brief Sets eui64 for the device configuration 00072 * \param eui64 eui64 to be set 00073 * \param pskd private shared key 00074 */ 00075 void thread_tasklet_device_eui64_set(const uint8_t *eui64); 00076 00077 /* 00078 * \brief Sets PSKd for the device configuration 00079 * \param pskd private shared key to be set 00080 */ 00081 uint8_t thread_tasklet_device_pskd_set(const char *pskd); 00082 00083 /* 00084 * \brief Disconnect network interface. 00085 * 00086 * \param send_cb send possible network status change event if set to true. 00087 * \return >= 0 if disconnected successfully. 00088 * \return < 0 in case of errors 00089 */ 00090 int8_t thread_tasklet_disconnect(bool send_cb); 00091 00092 /* 00093 * \brief Set device data polling rate 00094 * 00095 * \param timeout timeout between data polls 00096 * \return 0 on success 00097 * \return < 0 in case of errors 00098 */ 00099 int8_t thread_tasklet_data_poll_rate_set(uint32_t timeout); 00100 00101 #ifdef __cplusplus 00102 } 00103 #endif 00104 #endif /* __INCLUDE_THREAD_TASKLET__ */
Generated on Tue Jul 12 2022 14:25:02 by
