WIP. send a large constant string twice a second, in order to test out the transport with something indicative of our required load.

Dependencies:   FXOS8700CQ NTPClient azure_umqtt_c iothub_mqtt_transport mbed-rtos mbed wolfSSL Socket lwip-eth lwip-sys lwip

Fork of FXOS8700CQ_To_Azure_IoT by Mark Radbourne

Committer:
julianhigginson
Date:
Thu Jan 05 23:40:24 2017 +0000
Revision:
7:0d1a0fe537dc
Parent:
3:c0556ff7b8e3
modified dummy message for minimal data transport

Who changed what in which revision?

UserRevisionLine numberNew contents of line
markrad 3:c0556ff7b8e3 1 // Copyright (c) Microsoft. All rights reserved.
markrad 3:c0556ff7b8e3 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
markrad 3:c0556ff7b8e3 3
markrad 3:c0556ff7b8e3 4 #include <stdlib.h>
markrad 3:c0556ff7b8e3 5 #ifdef _CRTDBG_MAP_ALLOC
markrad 3:c0556ff7b8e3 6 #include <crtdbg.h>
markrad 3:c0556ff7b8e3 7 #endif
markrad 3:c0556ff7b8e3 8 #include "azure_c_shared_utility/platform.h"
markrad 3:c0556ff7b8e3 9 #include "EthernetInterface.h"
markrad 3:c0556ff7b8e3 10 #include "NTPClient.h"
markrad 3:c0556ff7b8e3 11 #include "azure_c_shared_utility/xio.h"
markrad 3:c0556ff7b8e3 12 #include "azure_c_shared_utility/tlsio_wolfssl.h"
markrad 3:c0556ff7b8e3 13
markrad 3:c0556ff7b8e3 14 #include <mbed.h>
markrad 3:c0556ff7b8e3 15
markrad 3:c0556ff7b8e3 16 int setupRealTime(void)
markrad 3:c0556ff7b8e3 17 {
markrad 3:c0556ff7b8e3 18 int result;
markrad 3:c0556ff7b8e3 19
markrad 3:c0556ff7b8e3 20 if (EthernetInterface::connect())
markrad 3:c0556ff7b8e3 21 {
markrad 3:c0556ff7b8e3 22 result = __LINE__;
markrad 3:c0556ff7b8e3 23 }
markrad 3:c0556ff7b8e3 24 else
markrad 3:c0556ff7b8e3 25 {
markrad 3:c0556ff7b8e3 26 NTPClient ntp;
markrad 3:c0556ff7b8e3 27 if (ntp.setTime("0.pool.ntp.org") != 0)
markrad 3:c0556ff7b8e3 28 {
markrad 3:c0556ff7b8e3 29 result = __LINE__;
markrad 3:c0556ff7b8e3 30 }
markrad 3:c0556ff7b8e3 31 else
markrad 3:c0556ff7b8e3 32 {
markrad 3:c0556ff7b8e3 33 result = 0;
markrad 3:c0556ff7b8e3 34 }
markrad 3:c0556ff7b8e3 35 EthernetInterface::disconnect();
markrad 3:c0556ff7b8e3 36 }
markrad 3:c0556ff7b8e3 37
markrad 3:c0556ff7b8e3 38 return result;
markrad 3:c0556ff7b8e3 39 }
markrad 3:c0556ff7b8e3 40
markrad 3:c0556ff7b8e3 41 int platform_init()
markrad 3:c0556ff7b8e3 42 {
markrad 3:c0556ff7b8e3 43 printf("In platform_init\r\n");
markrad 3:c0556ff7b8e3 44 int result = 0;
markrad 3:c0556ff7b8e3 45
markrad 3:c0556ff7b8e3 46 printf("EthernetInterface::init\r\n");
markrad 3:c0556ff7b8e3 47 if (EthernetInterface::init())
markrad 3:c0556ff7b8e3 48 {
markrad 3:c0556ff7b8e3 49 printf("EthernetInterface::init failed\r\n");
markrad 3:c0556ff7b8e3 50 result = __LINE__;
markrad 3:c0556ff7b8e3 51 }
markrad 3:c0556ff7b8e3 52
markrad 3:c0556ff7b8e3 53 if (result == 0)
markrad 3:c0556ff7b8e3 54 {
markrad 3:c0556ff7b8e3 55 float waitPeriod = 1.0;
markrad 3:c0556ff7b8e3 56 printf("EthernetInterface::connect\r\n");
markrad 3:c0556ff7b8e3 57 while (EthernetInterface::connect())
markrad 3:c0556ff7b8e3 58 {
markrad 3:c0556ff7b8e3 59 printf("EthernetInterface::connect failed\r\n");
markrad 3:c0556ff7b8e3 60 wait(waitPeriod);
markrad 3:c0556ff7b8e3 61 //waitPeriod = (waitPeriod > 120)? waitPeriod : waitPeriod * 2.0;
markrad 3:c0556ff7b8e3 62 //EthernetInterface::init();
markrad 3:c0556ff7b8e3 63 }
markrad 3:c0556ff7b8e3 64 }
markrad 3:c0556ff7b8e3 65
markrad 3:c0556ff7b8e3 66 if (result == 0)
markrad 3:c0556ff7b8e3 67 {
markrad 3:c0556ff7b8e3 68 NTPClient ntp;
markrad 3:c0556ff7b8e3 69
markrad 3:c0556ff7b8e3 70 printf("ntp.setTime\r\n");
markrad 3:c0556ff7b8e3 71 if (ntp.setTime("0.pool.ntp.org") != 0)
markrad 3:c0556ff7b8e3 72 {
markrad 3:c0556ff7b8e3 73 result = __LINE__;
markrad 3:c0556ff7b8e3 74 printf("ntp.setTime failed\r\n");
markrad 3:c0556ff7b8e3 75 }
markrad 3:c0556ff7b8e3 76 }
markrad 3:c0556ff7b8e3 77
markrad 3:c0556ff7b8e3 78 return result;
markrad 3:c0556ff7b8e3 79 }
markrad 3:c0556ff7b8e3 80
markrad 3:c0556ff7b8e3 81 const IO_INTERFACE_DESCRIPTION* platform_get_default_tlsio(void)
markrad 3:c0556ff7b8e3 82 {
markrad 3:c0556ff7b8e3 83 return tlsio_wolfssl_get_interface_description();
markrad 3:c0556ff7b8e3 84 }
markrad 3:c0556ff7b8e3 85
markrad 3:c0556ff7b8e3 86 void platform_deinit(void)
markrad 3:c0556ff7b8e3 87 {
markrad 3:c0556ff7b8e3 88 EthernetInterface::disconnect();
markrad 3:c0556ff7b8e3 89 }