init
Embed:
(wiki syntax)
Show/hide line numbers
ThreadInterface.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 THREADINTERFACE_H 00018 #define THREADINTERFACE_H 00019 00020 #include "MeshInterfaceNanostack.h" 00021 00022 class ThreadInterface : public MeshInterfaceNanostack { 00023 public: 00024 00025 /** Create an uninitialized LoWPANNDInterface 00026 * 00027 * Must initialize to initialize the mesh on a phy. 00028 */ 00029 ThreadInterface() : MeshInterfaceNanostack() { } 00030 00031 /** Create an initialized MeshInterface 00032 * 00033 */ 00034 ThreadInterface(NanostackRfPhy *phy) : MeshInterfaceNanostack(phy) { } 00035 00036 nsapi_error_t initialize(NanostackRfPhy *phy); 00037 00038 /** 00039 * \brief Sets the eui64 for the device configuration. 00040 * By default this value is read from the radio driver. 00041 * The value must be set before calling the connect function. 00042 * */ 00043 void device_eui64_set(const uint8_t *eui64); 00044 00045 /** 00046 * \brief sets the PSKd for the device configuration. 00047 * The default value is overwritten, which is defined in the mbed_lib.json file in the mesh-api 00048 * The value must be set before calling the connect function. 00049 * \return MESH_ERROR_NONE on success. 00050 * \return MESH_ERROR_PARAM in case of illegal parameters. 00051 * \return MESH_ERROR_MEMORY in case of memory error. 00052 * */ 00053 00054 mesh_error_t device_pskd_set(const char *pskd); 00055 00056 virtual int connect(); 00057 virtual int disconnect(); 00058 private: 00059 /* 00060 * \brief Initialization of the interface. 00061 * \return MESH_ERROR_NONE on success. 00062 * \return MESH_ERROR_PARAM when input parameters are illegal (also in case when RF device is already associated to other interface) 00063 * \return MESH_ERROR_MEMORY in case of memory error 00064 * \return MESH_ERROR_UNKNOWN in other error cases 00065 */ 00066 mesh_error_t init(); 00067 /** 00068 * \brief Connect interface to the mesh network 00069 * \return MESH_ERROR_NONE on success. 00070 * \return MESH_ERROR_PARAM in case of illegal parameters. 00071 * \return MESH_ERROR_MEMORY in case of memory error. 00072 * \return MESH_ERROR_STATE if interface is already connected to network. 00073 * \return MESH_ERROR_UNKNOWN in case of unspecified error. 00074 * */ 00075 mesh_error_t mesh_connect(); 00076 00077 /** 00078 * \brief Disconnect interface from the mesh network 00079 * \return MESH_ERROR_NONE on success. 00080 * \return MESH_ERROR_UNKNOWN in case of error. 00081 * */ 00082 mesh_error_t mesh_disconnect(); 00083 00084 /** 00085 * \brief Read own global IP address 00086 * 00087 * \param address is where the IP address will be copied 00088 * \param len is the length of the address buffer, must be at least 40 bytes 00089 * \return true if address is read successfully, false otherwise 00090 */ 00091 virtual bool getOwnIpAddress(char *address, int8_t len); 00092 }; 00093 00094 #endif // THREADINTERFACE_H
Generated on Tue Jul 12 2022 13:25:18 by
1.7.2