mbed Connector Interface simplification API on top of mbed-client

Fork of mbedConnectorInterfaceV3 by Doug Anson

NOTE:

This repo has been replaced with https://github.com/ARMmbed/mbedConnectorInterface. No further updates will occur with this repo. Please use the github repo instead. Thanks!

Committer:
ansond
Date:
Tue Sep 26 16:01:31 2017 +0000
Revision:
127:b4a661ff6fb9
Parent:
126:f37e34daa100
minor re-ordering of FCC init

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ansond 0:1f1f55e73248 1 /**
ansond 0:1f1f55e73248 2 * @file mbedConnectorInterface.h
ansond 0:1f1f55e73248 3 * @brief mbed Connector Inteface configuration header file
ansond 0:1f1f55e73248 4 * @author Doug Anson
ansond 0:1f1f55e73248 5 * @version 1.0
ansond 0:1f1f55e73248 6 * @see
ansond 0:1f1f55e73248 7 *
ansond 0:1f1f55e73248 8 * Copyright (c) 2014
ansond 0:1f1f55e73248 9 *
ansond 0:1f1f55e73248 10 * Licensed under the Apache License, Version 2.0 (the "License");
ansond 0:1f1f55e73248 11 * you may not use this file except in compliance with the License.
ansond 0:1f1f55e73248 12 * You may obtain a copy of the License at
ansond 0:1f1f55e73248 13 *
ansond 0:1f1f55e73248 14 * http://www.apache.org/licenses/LICENSE-2.0
ansond 0:1f1f55e73248 15 *
ansond 0:1f1f55e73248 16 * Unless required by applicable law or agreed to in writing, software
ansond 0:1f1f55e73248 17 * distributed under the License is distributed on an "AS IS" BASIS,
ansond 0:1f1f55e73248 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ansond 0:1f1f55e73248 19 * See the License for the specific language governing permissions and
ansond 0:1f1f55e73248 20 * limitations under the License.
ansond 0:1f1f55e73248 21 */
ansond 0:1f1f55e73248 22
ansond 0:1f1f55e73248 23 #ifndef __MBED_CONNECTOR_INTERFACE_H__
ansond 0:1f1f55e73248 24 #define __MBED_CONNECTOR_INTERFACE_H__
ansond 0:1f1f55e73248 25
ansond 54:dfee8691c83a 26 // mbed
ansond 54:dfee8691c83a 27 #include "mbed.h"
ansond 54:dfee8691c83a 28 #include "rtos.h"
ansond 0:1f1f55e73248 29
ansond 71:5069a202e892 30 // Enable/Disable mbed Cloud support
ansond 71:5069a202e892 31 #include "security.h"
ansond 71:5069a202e892 32
ansond 0:1f1f55e73248 33 /************** DEFAULT CONFIGURATION PARAMETERS ************************/
ansond 0:1f1f55e73248 34
ansond 94:25ce0592620f 35 // Network Selection Definitions (must match easy-connect.h)
ansond 71:5069a202e892 36 #define ETHERNET 1
ansond 94:25ce0592620f 37 #define WIFI_ESP8266 2
ansond 71:5069a202e892 38 #define MESH_LOWPAN_ND 3
ansond 71:5069a202e892 39 #define MESH_THREAD 4
ansond 94:25ce0592620f 40 #define WIFI_ODIN 5
ansond 54:dfee8691c83a 41
ansond 126:f37e34daa100 42 //
ansond 126:f37e34daa100 43 // ResourceObserver type: EventQueue, Threading, or Ticker (only ONE may be uncommented)
ansond 126:f37e34daa100 44 //
ansond 126:f37e34daa100 45 //#define CONNECTOR_USING_EVENT_QUEUES 1 // currently broken... please do not use
ansond 126:f37e34daa100 46 #define CONNECTOR_USING_THREADS 1 // Threads used
ansond 126:f37e34daa100 47 //#define CONNECTOR_USING_TICKER 1 // Tickers - resource's get() method called from within ISR!!!
ansond 125:4bf229bf14a3 48
ansond 125:4bf229bf14a3 49 // mbedOS5 uses LWIP
ansond 125:4bf229bf14a3 50 #define MCI_LWIP_INTERFACE true
ansond 125:4bf229bf14a3 51
ansond 125:4bf229bf14a3 52 // mbed-client utilizes execute parameters
ansond 125:4bf229bf14a3 53 #define HAS_EXECUTE_PARAMS true
ansond 0:1f1f55e73248 54
ansond 71:5069a202e892 55 // Default node name
ansond 71:5069a202e892 56 #define NODE_NAME_LENGTH 128
ansond 71:5069a202e892 57 #define NODE_NAME "mbed-endpoint"
ansond 54:dfee8691c83a 58
ansond 105:aeaaee8fbb1d 59 // Connection URL to mbed Connector (not used for R1.2+ mbed Cloud)
ansond 71:5069a202e892 60 #if MBED_CONF_APP_NETWORK_INTERFACE == MESH_LOWPAN_ND || MBED_CONF_APP_NETWORK_INTERFACE == MESH_THREAD
ansond 71:5069a202e892 61 // IPv6 URL Configuration
ansond 59:dd395412bd19 62 #define CONNECTOR_URL "coaps://[2607:f0d0:2601:52::20]:5684"
ansond 59:dd395412bd19 63
ansond 59:dd395412bd19 64 // OVERRIDE (until patched in mbed-client)
ansond 59:dd395412bd19 65 #define IPV4_OVERRIDE true
ansond 71:5069a202e892 66 #else
ansond 54:dfee8691c83a 67 // IPv4 URL Configuration
ansond 54:dfee8691c83a 68 #define CONNECTOR_URL "coap://api.connector.mbed.com:5684"
ansond 71:5069a202e892 69 #endif
ansond 54:dfee8691c83a 70
ansond 71:5069a202e892 71 // Default Endpoint Type specification
ansond 71:5069a202e892 72 #define ENDPOINT_TYPE_LENGTH 128
ansond 71:5069a202e892 73 #define DEFAULT_ENDPOINT_TYPE "mbed-device"
ansond 54:dfee8691c83a 74
ansond 71:5069a202e892 75 // Default Domain used
ansond 71:5069a202e892 76 #define DOMAIN_LENGTH 128
ansond 71:5069a202e892 77 #define DEFAULT_DOMAIN "domain"
ansond 54:dfee8691c83a 78
ansond 71:5069a202e892 79 // Main loop iteration wait time (ms)
ansond 71:5069a202e892 80 #define MAIN_LOOP_WAIT_TIME_MS 1000
ansond 54:dfee8691c83a 81
ansond 71:5069a202e892 82 // mbed-client endpoint lifetime
ansond 54:dfee8691c83a 83 #define REG_LIFETIME_SEC 100 // Lifetime of the endpoint in seconds
ansond 54:dfee8691c83a 84
ansond 54:dfee8691c83a 85 // default observation period (ms)
ansond 54:dfee8691c83a 86 #define DEFAULT_OBS_PERIOD 0 // 0 - disabled (manual invocation), otherwise "n" in ms...
ansond 0:1f1f55e73248 87
ansond 33:1d0b855df5a5 88 // Maximum CoAP URL length
ansond 49:c603a22495bb 89 #define MAX_CONN_URL_LENGTH 128 // Maximum Connection URL length
ansond 0:1f1f55e73248 90
ansond 0:1f1f55e73248 91 // DynamicResource Configuration
ansond 91:179b5cb420de 92 #define MAX_VALUE_BUFFER_LENGTH 1024 // largest "value" a dynamic resource may assume as a string (max CoAP packet length)
ansond 0:1f1f55e73248 93
ansond 0:1f1f55e73248 94 // Logger buffer size
ansond 54:dfee8691c83a 95 #define LOGGER_BUFFER_LENGTH 128 // largest single print of a given debug line
ansond 0:1f1f55e73248 96
ansond 0:1f1f55e73248 97 // WiFi Configuration
ansond 49:c603a22495bb 98 #define WIFI_SSID_LENGTH 64
ansond 0:1f1f55e73248 99 #define WIFI_DEFAULT_SSID "changeme"
ansond 49:c603a22495bb 100 #define WIFI_AUTH_KEY_LENGTH 64
ansond 0:1f1f55e73248 101 #define WIFI_DEFAULT_AUTH_KEY "changeme"
ansond 60:0d9e607dd678 102
ansond 60:0d9e607dd678 103 // Default context address string for mbed-client
ansond 60:0d9e607dd678 104 #define CONTEXT_ADDRESS_STRING ""
ansond 121:dfe65a93f26b 105
ansond 121:dfe65a93f26b 106 // Uncomment (and implement) for Update authorization and progress handlers
ansond 121:dfe65a93f26b 107 //#define ENABLE_UPDATE_AUTHORIZE_HANDLER true // MUST go into ConnectorEndpoint.cpp and implement... otherwise, update request will not get serviced.
ansond 121:dfe65a93f26b 108 //#define ENALBE_UPDATE_PROGRESS_HANDLER true
ansond 54:dfee8691c83a 109
ansond 0:1f1f55e73248 110 /************** DEFAULT CONFIGURATION PARAMETERS ************************/
ansond 0:1f1f55e73248 111
ansond 0:1f1f55e73248 112 #endif // __MBED_CONNECTOR_INTERFACE___
ansond 0:1f1f55e73248 113