zhang chenhong / Mbed 2 deprecated IDW01M1_Cloud_IBM

Dependencies:   mbed Servo X_NUCLEO_IKS01A2 X_NUCLEO_IDW01M1v2 NetworkSocketAPI NDefLib MQTT

Committer:
mridup
Date:
Wed Apr 13 10:14:35 2016 +0000
Revision:
2:ba0531d896f0
Parent:
0:cbf8bc43bc9e
file-name changes. wifi-wakeup() delay. Socket.recv() returns bytes_read on time_out, even if bytes_read is 0.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mridup 0:cbf8bc43bc9e 1 /* mbed Microcontroller Library
mridup 0:cbf8bc43bc9e 2 * Copyright (c) 2006-2013 ARM Limited
mridup 0:cbf8bc43bc9e 3 *
mridup 0:cbf8bc43bc9e 4 * Licensed under the Apache License, Version 2.0 (the "License");
mridup 0:cbf8bc43bc9e 5 * you may not use this file except in compliance with the License.
mridup 0:cbf8bc43bc9e 6 * You may obtain a copy of the License at
mridup 0:cbf8bc43bc9e 7 *
mridup 0:cbf8bc43bc9e 8 * http://www.apache.org/licenses/LICENSE-2.0
mridup 0:cbf8bc43bc9e 9 *
mridup 0:cbf8bc43bc9e 10 * Unless required by applicable law or agreed to in writing, software
mridup 0:cbf8bc43bc9e 11 * distributed under the License is distributed on an "AS IS" BASIS,
mridup 0:cbf8bc43bc9e 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mridup 0:cbf8bc43bc9e 13 * See the License for the specific language governing permissions and
mridup 0:cbf8bc43bc9e 14 * limitations under the License.
mridup 0:cbf8bc43bc9e 15 */
mridup 0:cbf8bc43bc9e 16
mridup 0:cbf8bc43bc9e 17 /**
mridup 0:cbf8bc43bc9e 18 ******************************************************************************
mridup 0:cbf8bc43bc9e 19 * @file intermediate.c
mridup 0:cbf8bc43bc9e 20 * @author STMicroelectronics
mridup 0:cbf8bc43bc9e 21 * @brief Wrapper Functions for access to SPWFSADevice class/vice-versa
mridup 0:cbf8bc43bc9e 22 ******************************************************************************
mridup 0:cbf8bc43bc9e 23 * @copy
mridup 0:cbf8bc43bc9e 24 *
mridup 0:cbf8bc43bc9e 25 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
mridup 0:cbf8bc43bc9e 26 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
mridup 0:cbf8bc43bc9e 27 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
mridup 0:cbf8bc43bc9e 28 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
mridup 0:cbf8bc43bc9e 29 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
mridup 0:cbf8bc43bc9e 30 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
mridup 0:cbf8bc43bc9e 31 *
mridup 0:cbf8bc43bc9e 32 * <h2><center>&copy; COPYRIGHT 2016 STMicroelectronics</center></h2>
mridup 0:cbf8bc43bc9e 33 ******************************************************************************
mridup 0:cbf8bc43bc9e 34 */
mridup 0:cbf8bc43bc9e 35
mridup 2:ba0531d896f0 36 #include "SpwfSADevice.h"
mridup 0:cbf8bc43bc9e 37
mridup 0:cbf8bc43bc9e 38 SpwfSADevice * device;
mridup 0:cbf8bc43bc9e 39
mridup 0:cbf8bc43bc9e 40 void setSpwfSADevice(SpwfSADevice * dev);
mridup 0:cbf8bc43bc9e 41
mridup 0:cbf8bc43bc9e 42 void setSpwfSADevice(SpwfSADevice * dev)
mridup 0:cbf8bc43bc9e 43 {
mridup 0:cbf8bc43bc9e 44 device = dev;
mridup 0:cbf8bc43bc9e 45 }
mridup 0:cbf8bc43bc9e 46
mridup 0:cbf8bc43bc9e 47 #ifdef __cplusplus
mridup 0:cbf8bc43bc9e 48 extern "C" {
mridup 0:cbf8bc43bc9e 49 #endif
mridup 0:cbf8bc43bc9e 50
mridup 0:cbf8bc43bc9e 51
mridup 0:cbf8bc43bc9e 52
mridup 0:cbf8bc43bc9e 53 void callSpwfSADevice_init(void* object);
mridup 0:cbf8bc43bc9e 54 char callSpwfSADevice_getChar(void* object);
mridup 0:cbf8bc43bc9e 55 void callSpwfSADevice_write(void* object, const char * cmd, uint16_t size);
mridup 0:cbf8bc43bc9e 56 void callSpwfSADevice_wakeup(void* object, int wake);
mridup 0:cbf8bc43bc9e 57 void callSpwfSADevice_reset(void* object, int reset);
mridup 0:cbf8bc43bc9e 58 void callSpwfSADevice_rts(void* object, int rts);
mridup 0:cbf8bc43bc9e 59 void callSpwfSADevice_attach(wifi_bool attach);
mridup 0:cbf8bc43bc9e 60 void callSpwfSADevice_debug(void* object, const char * string);
mridup 0:cbf8bc43bc9e 61 void destroySpwfSADevice(void);
mridup 0:cbf8bc43bc9e 62 int callSpwfSADevice_read_rts(void* object);
mridup 0:cbf8bc43bc9e 63
mridup 0:cbf8bc43bc9e 64
mridup 0:cbf8bc43bc9e 65 void callSpwfSADevice_init(void* object)
mridup 0:cbf8bc43bc9e 66 {
mridup 0:cbf8bc43bc9e 67 //static_cast<SpwfSADevice*>(object)->init();
mridup 0:cbf8bc43bc9e 68 device->init();
mridup 0:cbf8bc43bc9e 69 return;
mridup 0:cbf8bc43bc9e 70 }
mridup 0:cbf8bc43bc9e 71
mridup 0:cbf8bc43bc9e 72 char callSpwfSADevice_getChar(void* object)
mridup 0:cbf8bc43bc9e 73 {
mridup 0:cbf8bc43bc9e 74 return(device->spwf_get());
mridup 0:cbf8bc43bc9e 75 }
mridup 0:cbf8bc43bc9e 76
mridup 0:cbf8bc43bc9e 77 void callSpwfSADevice_write(void* object, const char * cmd, uint16_t size)
mridup 0:cbf8bc43bc9e 78 {
mridup 0:cbf8bc43bc9e 79 device->spwf_send(cmd, size);
mridup 0:cbf8bc43bc9e 80 }
mridup 0:cbf8bc43bc9e 81
mridup 0:cbf8bc43bc9e 82 void callSpwfSADevice_wakeup(void* object, int wake)
mridup 0:cbf8bc43bc9e 83 {
mridup 0:cbf8bc43bc9e 84 device->spwf_wakeup(wake);
mridup 0:cbf8bc43bc9e 85 }
mridup 0:cbf8bc43bc9e 86
mridup 0:cbf8bc43bc9e 87 void callSpwfSADevice_reset(void* object, int reset)
mridup 0:cbf8bc43bc9e 88 {
mridup 0:cbf8bc43bc9e 89 device->spwf_reset(reset);
mridup 0:cbf8bc43bc9e 90 }
mridup 0:cbf8bc43bc9e 91
mridup 0:cbf8bc43bc9e 92 void callSpwfSADevice_rts(void* object, int rts)
mridup 0:cbf8bc43bc9e 93 {
mridup 0:cbf8bc43bc9e 94 device->spwf_rts(rts);
mridup 0:cbf8bc43bc9e 95 }
mridup 0:cbf8bc43bc9e 96
mridup 0:cbf8bc43bc9e 97 int callSpwfSADevice_read_rts(void* object)
mridup 0:cbf8bc43bc9e 98 {
mridup 0:cbf8bc43bc9e 99 return(device->spwf_read_rts());
mridup 0:cbf8bc43bc9e 100 }
mridup 0:cbf8bc43bc9e 101
mridup 0:cbf8bc43bc9e 102 void callSpwfSADevice_attach(wifi_bool attach)
mridup 0:cbf8bc43bc9e 103 {
mridup 0:cbf8bc43bc9e 104 device->spwf_attach_irq(attach);
mridup 0:cbf8bc43bc9e 105 }
mridup 0:cbf8bc43bc9e 106
mridup 0:cbf8bc43bc9e 107 void callSpwfSADevice_debug(void* object, const char * string)
mridup 0:cbf8bc43bc9e 108 {
mridup 0:cbf8bc43bc9e 109 device->debug_print(string);
mridup 0:cbf8bc43bc9e 110 }
mridup 0:cbf8bc43bc9e 111
mridup 0:cbf8bc43bc9e 112 void destroySpwfSADevice()
mridup 0:cbf8bc43bc9e 113 {
mridup 0:cbf8bc43bc9e 114
mridup 0:cbf8bc43bc9e 115 }
mridup 0:cbf8bc43bc9e 116
mridup 0:cbf8bc43bc9e 117 /*Callbacks implementation*/
mridup 0:cbf8bc43bc9e 118
mridup 0:cbf8bc43bc9e 119 void ind_wifi_on()
mridup 0:cbf8bc43bc9e 120 {
mridup 0:cbf8bc43bc9e 121 device->signal_synch_wait(WiFi_MODULE_SUCCESS);
mridup 0:cbf8bc43bc9e 122 }
mridup 0:cbf8bc43bc9e 123
mridup 0:cbf8bc43bc9e 124 void ind_wifi_connected()
mridup 0:cbf8bc43bc9e 125 {
mridup 0:cbf8bc43bc9e 126 device->signal_synch_wait(WiFi_MODULE_SUCCESS);
mridup 0:cbf8bc43bc9e 127 }
mridup 0:cbf8bc43bc9e 128
mridup 0:cbf8bc43bc9e 129 void ind_wifi_connection_error(WiFi_Status_t code)
mridup 0:cbf8bc43bc9e 130 {
mridup 0:cbf8bc43bc9e 131 switch(code)
mridup 0:cbf8bc43bc9e 132 {
mridup 0:cbf8bc43bc9e 133 case WiFi_DISASSOCIATION:
mridup 0:cbf8bc43bc9e 134 device->signal_synch_wait(code);
mridup 0:cbf8bc43bc9e 135 break;
mridup 0:cbf8bc43bc9e 136 case WiFi_DE_AUTH:
mridup 0:cbf8bc43bc9e 137 break;
mridup 0:cbf8bc43bc9e 138 default:
mridup 0:cbf8bc43bc9e 139 break;
mridup 0:cbf8bc43bc9e 140 }
mridup 0:cbf8bc43bc9e 141 }
mridup 0:cbf8bc43bc9e 142
mridup 0:cbf8bc43bc9e 143 void ind_wifi_socket_data_received(uint8_t socket_id, uint8_t * data_ptr, uint32_t message_size, uint32_t chunk_size)
mridup 0:cbf8bc43bc9e 144 {
mridup 0:cbf8bc43bc9e 145 device->signal_data_receive(socket_id, data_ptr, message_size, chunk_size);
mridup 0:cbf8bc43bc9e 146 }
mridup 0:cbf8bc43bc9e 147
mridup 0:cbf8bc43bc9e 148 void ind_wifi_http_data_available(uint8_t * data_ptr, uint32_t message_size)
mridup 0:cbf8bc43bc9e 149 {
mridup 0:cbf8bc43bc9e 150 //spwf->debug("\r\nrx>>\r\n");
mridup 0:cbf8bc43bc9e 151 //memcpy(user_buffer, data_ptr, 511);
mridup 0:cbf8bc43bc9e 152 }
mridup 0:cbf8bc43bc9e 153
mridup 2:ba0531d896f0 154 void ind_wifi_socket_client_remote_server_closed(uint8_t * socket_closed_id)
mridup 2:ba0531d896f0 155 {
mridup 2:ba0531d896f0 156 device->signal_synch_wait(WiFi_MODULE_SUCCESS);
mridup 2:ba0531d896f0 157 }
mridup 2:ba0531d896f0 158
mridup 0:cbf8bc43bc9e 159 #ifdef __cplusplus
mridup 0:cbf8bc43bc9e 160 }
mridup 0:cbf8bc43bc9e 161 #endif
mridup 0:cbf8bc43bc9e 162
mridup 0:cbf8bc43bc9e 163
mridup 0:cbf8bc43bc9e 164