Extending the X_NUCLEO_IDW01M1 to allow configuration of the board as an access point
Dependents: X_NUCLEO_IDW01M1_AP_Test
Fork of X_NUCLEO_IDW01M1 by
Spwf_API/utils/ItfTranslator.cpp@22:a1276b7d3b2d, 2016-07-07 (annotated)
- Committer:
- scsims
- Date:
- Thu Jul 07 13:54:06 2016 +0000
- Revision:
- 22:a1276b7d3b2d
- Parent:
- 12:3799f8475c8a
Added wifi_connected_to_ap extern to indicate when BSSS beacons have been lost/picked up. Also added some debugging to get a better idea as to what's going to and from the SPWF01SA.11 over the UART
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mridup | 1:bd9db471d47d | 1 | /* mbed Microcontroller Library |
mridup | 1:bd9db471d47d | 2 | * Copyright (c) 2006-2013 ARM Limited |
mridup | 1:bd9db471d47d | 3 | * |
mridup | 1:bd9db471d47d | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
mridup | 1:bd9db471d47d | 5 | * you may not use this file except in compliance with the License. |
mridup | 1:bd9db471d47d | 6 | * You may obtain a copy of the License at |
mridup | 1:bd9db471d47d | 7 | * |
mridup | 1:bd9db471d47d | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
mridup | 1:bd9db471d47d | 9 | * |
mridup | 1:bd9db471d47d | 10 | * Unless required by applicable law or agreed to in writing, software |
mridup | 1:bd9db471d47d | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
mridup | 1:bd9db471d47d | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
mridup | 1:bd9db471d47d | 13 | * See the License for the specific language governing permissions and |
mridup | 1:bd9db471d47d | 14 | * limitations under the License. |
mridup | 1:bd9db471d47d | 15 | */ |
mridup | 1:bd9db471d47d | 16 | |
mridup | 1:bd9db471d47d | 17 | /** |
mridup | 1:bd9db471d47d | 18 | ****************************************************************************** |
mridup | 1:bd9db471d47d | 19 | * @file ItfTranslator.cpp |
mridup | 1:bd9db471d47d | 20 | * @author STMicroelectronics |
mridup | 1:bd9db471d47d | 21 | * @brief Wrapper Functions for access to SPWFSADevice class/vice-versa |
mridup | 1:bd9db471d47d | 22 | ****************************************************************************** |
mridup | 1:bd9db471d47d | 23 | * @copy |
mridup | 1:bd9db471d47d | 24 | * |
mridup | 1:bd9db471d47d | 25 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
mridup | 1:bd9db471d47d | 26 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE |
mridup | 1:bd9db471d47d | 27 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY |
mridup | 1:bd9db471d47d | 28 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING |
mridup | 1:bd9db471d47d | 29 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE |
mridup | 1:bd9db471d47d | 30 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
mridup | 1:bd9db471d47d | 31 | * |
mridup | 1:bd9db471d47d | 32 | * <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2> |
mridup | 1:bd9db471d47d | 33 | ****************************************************************************** |
mridup | 1:bd9db471d47d | 34 | */ |
mridup | 1:bd9db471d47d | 35 | |
mridup | 1:bd9db471d47d | 36 | #include "SpwfSADevice.h" |
mridup | 1:bd9db471d47d | 37 | #include "ItfTranslator.h" |
mridup | 1:bd9db471d47d | 38 | |
mridup | 1:bd9db471d47d | 39 | SpwfSADevice * device; |
mridup | 1:bd9db471d47d | 40 | |
mridup | 1:bd9db471d47d | 41 | void setSpwfSADevice(SpwfSADevice * dev); |
mridup | 1:bd9db471d47d | 42 | |
mridup | 1:bd9db471d47d | 43 | void setSpwfSADevice(SpwfSADevice * dev) |
mridup | 1:bd9db471d47d | 44 | { |
mridup | 1:bd9db471d47d | 45 | device = dev; |
mridup | 1:bd9db471d47d | 46 | } |
mridup | 1:bd9db471d47d | 47 | |
mridup | 1:bd9db471d47d | 48 | #ifdef __cplusplus |
mridup | 1:bd9db471d47d | 49 | extern "C" { |
mridup | 1:bd9db471d47d | 50 | #endif |
mridup | 1:bd9db471d47d | 51 | |
mridup | 12:3799f8475c8a | 52 | /** |
mridup | 12:3799f8475c8a | 53 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 54 | * Calls SpwfSADevice init |
mridup | 12:3799f8475c8a | 55 | * @param void* not used |
mridup | 12:3799f8475c8a | 56 | * @retval None |
mridup | 12:3799f8475c8a | 57 | */ |
mridup | 1:bd9db471d47d | 58 | void callSpwfSADevice_init(void* object) |
mridup | 1:bd9db471d47d | 59 | { |
mridup | 1:bd9db471d47d | 60 | //static_cast<SpwfSADevice*>(object)->init(); |
mridup | 1:bd9db471d47d | 61 | device->init(); |
mridup | 1:bd9db471d47d | 62 | return; |
mridup | 1:bd9db471d47d | 63 | } |
mridup | 1:bd9db471d47d | 64 | |
mridup | 12:3799f8475c8a | 65 | /** |
mridup | 12:3799f8475c8a | 66 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 67 | * Calls SpwfSADevice getChar |
mridup | 12:3799f8475c8a | 68 | * @param void* not used |
mridup | 12:3799f8475c8a | 69 | * @retval None |
mridup | 12:3799f8475c8a | 70 | */ |
mridup | 1:bd9db471d47d | 71 | char callSpwfSADevice_getChar(void* object) |
mridup | 1:bd9db471d47d | 72 | { |
mridup | 1:bd9db471d47d | 73 | return(device->spwf_get()); |
mridup | 1:bd9db471d47d | 74 | } |
mridup | 1:bd9db471d47d | 75 | |
mridup | 12:3799f8475c8a | 76 | /** |
mridup | 12:3799f8475c8a | 77 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 78 | * Calls SpwfSADevice write |
mridup | 12:3799f8475c8a | 79 | * @param void* not used |
mridup | 12:3799f8475c8a | 80 | * cmd: data to write |
mridup | 12:3799f8475c8a | 81 | * size: size of data |
mridup | 12:3799f8475c8a | 82 | * @retval None |
mridup | 12:3799f8475c8a | 83 | */ |
mridup | 8:0f302a13e21b | 84 | int callSpwfSADevice_write(void* object, const char * cmd, uint16_t size) |
mridup | 1:bd9db471d47d | 85 | { |
mridup | 8:0f302a13e21b | 86 | return (device->spwf_send(cmd, size)); |
mridup | 1:bd9db471d47d | 87 | } |
mridup | 12:3799f8475c8a | 88 | |
mridup | 12:3799f8475c8a | 89 | /** |
mridup | 12:3799f8475c8a | 90 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 91 | * Calls SpwfSADevice wakeup |
mridup | 12:3799f8475c8a | 92 | * @param void* not used |
mridup | 12:3799f8475c8a | 93 | * wake: (re)set wakeup pin value |
mridup | 12:3799f8475c8a | 94 | * @retval None |
mridup | 12:3799f8475c8a | 95 | */ |
mridup | 1:bd9db471d47d | 96 | void callSpwfSADevice_wakeup(void* object, int wake) |
mridup | 1:bd9db471d47d | 97 | { |
mridup | 1:bd9db471d47d | 98 | device->spwf_wakeup(wake); |
mridup | 1:bd9db471d47d | 99 | } |
mridup | 1:bd9db471d47d | 100 | |
mridup | 12:3799f8475c8a | 101 | /** |
mridup | 12:3799f8475c8a | 102 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 103 | * Calls SpwfSADevice reset |
mridup | 12:3799f8475c8a | 104 | * @param void* not used |
mridup | 12:3799f8475c8a | 105 | * reset: (re)set reset pin value |
mridup | 12:3799f8475c8a | 106 | * @retval None |
mridup | 12:3799f8475c8a | 107 | */ |
mridup | 1:bd9db471d47d | 108 | void callSpwfSADevice_reset(void* object, int reset) |
mridup | 1:bd9db471d47d | 109 | { |
mridup | 1:bd9db471d47d | 110 | device->spwf_reset(reset); |
mridup | 1:bd9db471d47d | 111 | } |
mridup | 12:3799f8475c8a | 112 | |
mridup | 12:3799f8475c8a | 113 | /** |
mridup | 12:3799f8475c8a | 114 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 115 | * Calls SpwfSADevice read_rts |
mridup | 12:3799f8475c8a | 116 | * @param void* not used |
mridup | 12:3799f8475c8a | 117 | * rts: (re)set RTS pin value |
mridup | 12:3799f8475c8a | 118 | * @retval None |
mridup | 12:3799f8475c8a | 119 | */ |
mridup | 1:bd9db471d47d | 120 | void callSpwfSADevice_rts(void* object, int rts) |
mridup | 1:bd9db471d47d | 121 | { |
mridup | 1:bd9db471d47d | 122 | device->spwf_rts(rts); |
mridup | 1:bd9db471d47d | 123 | } |
mridup | 1:bd9db471d47d | 124 | |
mridup | 12:3799f8475c8a | 125 | /** |
mridup | 12:3799f8475c8a | 126 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 127 | * Calls SpwfSADevice read_rts |
mridup | 12:3799f8475c8a | 128 | * @param void* not used |
mridup | 12:3799f8475c8a | 129 | * @retval RTS value |
mridup | 12:3799f8475c8a | 130 | */ |
mridup | 1:bd9db471d47d | 131 | int callSpwfSADevice_read_rts(void* object) |
mridup | 1:bd9db471d47d | 132 | { |
mridup | 1:bd9db471d47d | 133 | return(device->spwf_read_rts()); |
mridup | 1:bd9db471d47d | 134 | } |
mridup | 1:bd9db471d47d | 135 | |
mridup | 12:3799f8475c8a | 136 | /** |
mridup | 12:3799f8475c8a | 137 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 138 | * Calls SpwfSADevice attach |
mridup | 12:3799f8475c8a | 139 | * @param attach boolean |
mridup | 12:3799f8475c8a | 140 | * @retval None |
mridup | 12:3799f8475c8a | 141 | */ |
mridup | 1:bd9db471d47d | 142 | void callSpwfSADevice_attach(wifi_bool attach) |
mridup | 1:bd9db471d47d | 143 | { |
mridup | 1:bd9db471d47d | 144 | device->spwf_attach_irq(attach); |
mridup | 1:bd9db471d47d | 145 | } |
mridup | 1:bd9db471d47d | 146 | |
mridup | 12:3799f8475c8a | 147 | /** |
mridup | 12:3799f8475c8a | 148 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 149 | * Calls SpwfSADevice debug |
mridup | 12:3799f8475c8a | 150 | * @param void* not used |
mridup | 12:3799f8475c8a | 151 | * string: data string to debug print |
mridup | 12:3799f8475c8a | 152 | * @retval None |
mridup | 12:3799f8475c8a | 153 | */ |
mridup | 1:bd9db471d47d | 154 | void callSpwfSADevice_debug(void* object, const char * string) |
mridup | 1:bd9db471d47d | 155 | { |
mridup | 1:bd9db471d47d | 156 | device->debug_print(string); |
mridup | 1:bd9db471d47d | 157 | } |
mridup | 1:bd9db471d47d | 158 | |
mridup | 12:3799f8475c8a | 159 | /** |
mridup | 12:3799f8475c8a | 160 | * @brief Wrapper function to CPP |
mridup | 12:3799f8475c8a | 161 | * not used |
mridup | 12:3799f8475c8a | 162 | * @param void* not used |
mridup | 12:3799f8475c8a | 163 | * @retval None |
mridup | 12:3799f8475c8a | 164 | */ |
mridup | 1:bd9db471d47d | 165 | void destroySpwfSADevice() |
mridup | 1:bd9db471d47d | 166 | { |
mridup | 1:bd9db471d47d | 167 | |
mridup | 1:bd9db471d47d | 168 | } |
mridup | 1:bd9db471d47d | 169 | |
mridup | 1:bd9db471d47d | 170 | /*Callbacks implementation*/ |
mridup | 1:bd9db471d47d | 171 | |
mridup | 1:bd9db471d47d | 172 | void ind_wifi_on() |
mridup | 1:bd9db471d47d | 173 | { |
mridup | 1:bd9db471d47d | 174 | device->signal_synch_wait(WiFi_MODULE_SUCCESS); |
mridup | 1:bd9db471d47d | 175 | } |
mridup | 1:bd9db471d47d | 176 | |
mridup | 1:bd9db471d47d | 177 | void ind_wifi_connected() |
mridup | 1:bd9db471d47d | 178 | { |
mridup | 1:bd9db471d47d | 179 | device->signal_synch_wait(WiFi_MODULE_SUCCESS); |
mridup | 1:bd9db471d47d | 180 | } |
mridup | 1:bd9db471d47d | 181 | |
mridup | 1:bd9db471d47d | 182 | void ind_wifi_connection_error(WiFi_Status_t code) |
mridup | 1:bd9db471d47d | 183 | { |
mridup | 1:bd9db471d47d | 184 | switch(code) |
mridup | 1:bd9db471d47d | 185 | { |
mridup | 1:bd9db471d47d | 186 | case WiFi_DISASSOCIATION: |
mridup | 1:bd9db471d47d | 187 | device->signal_synch_wait(code); |
mridup | 1:bd9db471d47d | 188 | break; |
mridup | 1:bd9db471d47d | 189 | case WiFi_DE_AUTH: |
mridup | 1:bd9db471d47d | 190 | break; |
mridup | 1:bd9db471d47d | 191 | default: |
mridup | 1:bd9db471d47d | 192 | break; |
mridup | 1:bd9db471d47d | 193 | } |
mridup | 1:bd9db471d47d | 194 | } |
mridup | 1:bd9db471d47d | 195 | |
mridup | 1:bd9db471d47d | 196 | void ind_wifi_socket_data_received(uint8_t socket_id, uint8_t * data_ptr, uint32_t message_size, uint32_t chunk_size) |
mridup | 1:bd9db471d47d | 197 | { |
mridup | 1:bd9db471d47d | 198 | device->signal_data_receive(socket_id, data_ptr, message_size, chunk_size); |
mridup | 1:bd9db471d47d | 199 | } |
mridup | 1:bd9db471d47d | 200 | |
mridup | 1:bd9db471d47d | 201 | void ind_wifi_http_data_available(uint8_t * data_ptr, uint32_t message_size) |
mridup | 1:bd9db471d47d | 202 | { |
mridup | 6:e7a3fca2df10 | 203 | //spwf->debug("\r\nrx>>\r\n"); |
mridup | 6:e7a3fca2df10 | 204 | //memcpy(user_buffer, data_ptr, 511); |
mridup | 1:bd9db471d47d | 205 | } |
mridup | 1:bd9db471d47d | 206 | |
mridup | 1:bd9db471d47d | 207 | void ind_wifi_socket_client_remote_server_closed(uint8_t * socket_closed_id) |
mridup | 1:bd9db471d47d | 208 | { |
mridup | 5:c83ffd44f40a | 209 | //device->debug_print("\r\nsocket closed!\r\n"); |
mridup | 5:c83ffd44f40a | 210 | //device->signal_synch_wait(WiFi_MODULE_SUCCESS); |
mridup | 1:bd9db471d47d | 211 | } |
mridup | 1:bd9db471d47d | 212 | |
mridup | 6:e7a3fca2df10 | 213 | void ind_socket_server_client_joined(void) |
mridup | 6:e7a3fca2df10 | 214 | { |
mridup | 6:e7a3fca2df10 | 215 | //device->debug_print("\r\nclient connected!\r\n"); |
mridup | 6:e7a3fca2df10 | 216 | device->set_wait_for_incoming_client(true); |
mridup | 6:e7a3fca2df10 | 217 | } |
mridup | 6:e7a3fca2df10 | 218 | |
mridup | 6:e7a3fca2df10 | 219 | void ind_socket_server_client_left(void) |
mridup | 6:e7a3fca2df10 | 220 | { |
mridup | 6:e7a3fca2df10 | 221 | |
mridup | 6:e7a3fca2df10 | 222 | } |
mridup | 6:e7a3fca2df10 | 223 | |
mridup | 6:e7a3fca2df10 | 224 | void ind_wifi_socket_server_data_lost(void) |
mridup | 6:e7a3fca2df10 | 225 | { |
mridup | 6:e7a3fca2df10 | 226 | |
mridup | 6:e7a3fca2df10 | 227 | } |
mridup | 6:e7a3fca2df10 | 228 | |
mridup | 1:bd9db471d47d | 229 | #ifdef __cplusplus |
mridup | 1:bd9db471d47d | 230 | } |
mridup | 1:bd9db471d47d | 231 | #endif |
mridup | 1:bd9db471d47d | 232 | |
mridup | 1:bd9db471d47d | 233 | |
mridup | 1:bd9db471d47d | 234 |