Toyomasa Watarai / Mbed OS mbed-cloud-connect-example-esp8266

Fork of mbed-cloud-connect-example-ethernet by NXP

Committer:
MarceloSalazar
Date:
Tue Feb 13 10:07:23 2018 +0000
Revision:
0:e13a8a944e25
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MarceloSalazar 0:e13a8a944e25 1 // ----------------------------------------------------------------------------
MarceloSalazar 0:e13a8a944e25 2 // Copyright 2016-2017 ARM Ltd.
MarceloSalazar 0:e13a8a944e25 3 //
MarceloSalazar 0:e13a8a944e25 4 // SPDX-License-Identifier: Apache-2.0
MarceloSalazar 0:e13a8a944e25 5 //
MarceloSalazar 0:e13a8a944e25 6 // Licensed under the Apache License, Version 2.0 (the "License");
MarceloSalazar 0:e13a8a944e25 7 // you may not use this file except in compliance with the License.
MarceloSalazar 0:e13a8a944e25 8 // You may obtain a copy of the License at
MarceloSalazar 0:e13a8a944e25 9 //
MarceloSalazar 0:e13a8a944e25 10 // http://www.apache.org/licenses/LICENSE-2.0
MarceloSalazar 0:e13a8a944e25 11 //
MarceloSalazar 0:e13a8a944e25 12 // Unless required by applicable law or agreed to in writing, software
MarceloSalazar 0:e13a8a944e25 13 // distributed under the License is distributed on an "AS IS" BASIS,
MarceloSalazar 0:e13a8a944e25 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
MarceloSalazar 0:e13a8a944e25 15 // See the License for the specific language governing permissions and
MarceloSalazar 0:e13a8a944e25 16 // limitations under the License.
MarceloSalazar 0:e13a8a944e25 17 // ----------------------------------------------------------------------------
MarceloSalazar 0:e13a8a944e25 18
MarceloSalazar 0:e13a8a944e25 19 #ifndef SETUP_H
MarceloSalazar 0:e13a8a944e25 20 #define SETUP_H
MarceloSalazar 0:e13a8a944e25 21
MarceloSalazar 0:e13a8a944e25 22 #include <stdint.h>
MarceloSalazar 0:e13a8a944e25 23
MarceloSalazar 0:e13a8a944e25 24 //FORWARD DECLARATION
MarceloSalazar 0:e13a8a944e25 25 class M2MObject;
MarceloSalazar 0:e13a8a944e25 26 namespace m2m {
MarceloSalazar 0:e13a8a944e25 27 template<class ObjectTemplate> class Vector;
MarceloSalazar 0:e13a8a944e25 28 }
MarceloSalazar 0:e13a8a944e25 29
MarceloSalazar 0:e13a8a944e25 30 using namespace m2m;
MarceloSalazar 0:e13a8a944e25 31
MarceloSalazar 0:e13a8a944e25 32 typedef Vector<M2MObject *> M2MObjectList;
MarceloSalazar 0:e13a8a944e25 33
MarceloSalazar 0:e13a8a944e25 34 #ifdef __cplusplus
MarceloSalazar 0:e13a8a944e25 35 extern "C" {
MarceloSalazar 0:e13a8a944e25 36 #endif
MarceloSalazar 0:e13a8a944e25 37
MarceloSalazar 0:e13a8a944e25 38 // Interval to update resource value in ms
MarceloSalazar 0:e13a8a944e25 39 #define INCREMENT_INTERVAL 25000
MarceloSalazar 0:e13a8a944e25 40
MarceloSalazar 0:e13a8a944e25 41 typedef void (*main_t)(void);
MarceloSalazar 0:e13a8a944e25 42
MarceloSalazar 0:e13a8a944e25 43 // Initialize platform
MarceloSalazar 0:e13a8a944e25 44 // This function initializes screen and any other non-network
MarceloSalazar 0:e13a8a944e25 45 // related platform specific initializations required.
MarceloSalazar 0:e13a8a944e25 46 //
MarceloSalazar 0:e13a8a944e25 47 // @returns
MarceloSalazar 0:e13a8a944e25 48 // 0 for success, anything else for error
MarceloSalazar 0:e13a8a944e25 49 extern int initPlatform();
MarceloSalazar 0:e13a8a944e25 50
MarceloSalazar 0:e13a8a944e25 51 // Initialize network connection
MarceloSalazar 0:e13a8a944e25 52 extern bool init_connection();
MarceloSalazar 0:e13a8a944e25 53
MarceloSalazar 0:e13a8a944e25 54 // Returns network interface.
MarceloSalazar 0:e13a8a944e25 55 extern void *get_network_interface();
MarceloSalazar 0:e13a8a944e25 56
MarceloSalazar 0:e13a8a944e25 57 // Toggle led (if available)
MarceloSalazar 0:e13a8a944e25 58 extern void toggle_led(void);
MarceloSalazar 0:e13a8a944e25 59
MarceloSalazar 0:e13a8a944e25 60 // Put led off (if available)
MarceloSalazar 0:e13a8a944e25 61 extern void led_off(void);
MarceloSalazar 0:e13a8a944e25 62
MarceloSalazar 0:e13a8a944e25 63 // Check if button has been pressed (if available)
MarceloSalazar 0:e13a8a944e25 64 extern uint8_t button_clicked(void);
MarceloSalazar 0:e13a8a944e25 65
MarceloSalazar 0:e13a8a944e25 66 // Thread for updating resource value
MarceloSalazar 0:e13a8a944e25 67 extern void increment_resource_thread(void* client);
MarceloSalazar 0:e13a8a944e25 68
MarceloSalazar 0:e13a8a944e25 69 // Print heap allocations
MarceloSalazar 0:e13a8a944e25 70 extern void print_heap_stats();
MarceloSalazar 0:e13a8a944e25 71
MarceloSalazar 0:e13a8a944e25 72 // Print m2mobject sizes
MarceloSalazar 0:e13a8a944e25 73 extern void print_m2mobject_stats();
MarceloSalazar 0:e13a8a944e25 74
MarceloSalazar 0:e13a8a944e25 75 // Create set of objects to test size
MarceloSalazar 0:e13a8a944e25 76 extern void create_m2mobject_test_set(M2MObjectList *object_list);
MarceloSalazar 0:e13a8a944e25 77
MarceloSalazar 0:e13a8a944e25 78 // Wait
MarceloSalazar 0:e13a8a944e25 79 extern void do_wait(int timeout_ms);
MarceloSalazar 0:e13a8a944e25 80
MarceloSalazar 0:e13a8a944e25 81 int run_application(int(*function)(void));
MarceloSalazar 0:e13a8a944e25 82
MarceloSalazar 0:e13a8a944e25 83 extern bool runProgram(main_t mainFunc);
MarceloSalazar 0:e13a8a944e25 84
MarceloSalazar 0:e13a8a944e25 85 extern bool application_init(void);
MarceloSalazar 0:e13a8a944e25 86
MarceloSalazar 0:e13a8a944e25 87 extern bool rmFirmwareImages(void);
MarceloSalazar 0:e13a8a944e25 88
MarceloSalazar 0:e13a8a944e25 89 extern int reformat_storage(void);
MarceloSalazar 0:e13a8a944e25 90
MarceloSalazar 0:e13a8a944e25 91 #ifdef __cplusplus
MarceloSalazar 0:e13a8a944e25 92 }
MarceloSalazar 0:e13a8a944e25 93 #endif
MarceloSalazar 0:e13a8a944e25 94
MarceloSalazar 0:e13a8a944e25 95 #endif