Simple Mbed Cloud client application using features of K64 & K66 including Ethernet and SD Card

Fork of mbed-cloud-example_K64_K66 by Mac Lobdell

DEPRECATED

This example application is not maintained and not recommended. It uses an old version of Mbed OS, Pelion DM, and Arm toolchain. It doesn't work with Mbed Studio.

Please use: https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-pelion/

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