iowfehu;gdbjwHJAOPIHO?L

Fork of X_NUCLEO_IDW01M1 by ST

Committer:
awmiller
Date:
Thu Aug 11 23:26:26 2016 +0000
Revision:
18:224f8d3bf6d8
Parent:
16:156be7b55904
added support for UART

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mridup 0:dc55f40eb04f 1 /* mbed Microcontroller Library
mridup 0:dc55f40eb04f 2 * Copyright (c) 2006-2013 ARM Limited
mridup 0:dc55f40eb04f 3 *
mridup 0:dc55f40eb04f 4 * Licensed under the Apache License, Version 2.0 (the "License");
mridup 0:dc55f40eb04f 5 * you may not use this file except in compliance with the License.
mridup 0:dc55f40eb04f 6 * You may obtain a copy of the License at
mridup 0:dc55f40eb04f 7 *
mridup 0:dc55f40eb04f 8 * http://www.apache.org/licenses/LICENSE-2.0
mridup 0:dc55f40eb04f 9 *
mridup 0:dc55f40eb04f 10 * Unless required by applicable law or agreed to in writing, software
mridup 0:dc55f40eb04f 11 * distributed under the License is distributed on an "AS IS" BASIS,
mridup 0:dc55f40eb04f 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mridup 0:dc55f40eb04f 13 * See the License for the specific language governing permissions and
mridup 0:dc55f40eb04f 14 * limitations under the License.
mridup 0:dc55f40eb04f 15 */
mridup 0:dc55f40eb04f 16
mridup 0:dc55f40eb04f 17 /**
mridup 0:dc55f40eb04f 18 ******************************************************************************
mridup 0:dc55f40eb04f 19 * @file SpwfSADevice.h
mridup 0:dc55f40eb04f 20 * @author STMicroelectronics
mridup 0:dc55f40eb04f 21 * @brief Header File of SpwfSADevice class for Wi-Fi mbed
mridup 0:dc55f40eb04f 22 ******************************************************************************
mridup 0:dc55f40eb04f 23 * @copy
mridup 0:dc55f40eb04f 24 *
mridup 0:dc55f40eb04f 25 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
mridup 0:dc55f40eb04f 26 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
mridup 0:dc55f40eb04f 27 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
mridup 0:dc55f40eb04f 28 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
mridup 0:dc55f40eb04f 29 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
mridup 0:dc55f40eb04f 30 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
mridup 0:dc55f40eb04f 31 *
mridup 0:dc55f40eb04f 32 * <h2><center>&copy; COPYRIGHT 2016 STMicroelectronics</center></h2>
mridup 0:dc55f40eb04f 33 ******************************************************************************
mridup 0:dc55f40eb04f 34 */
mridup 0:dc55f40eb04f 35
mridup 0:dc55f40eb04f 36 #ifndef __SPWFSA_DEVICE_H__
mridup 0:dc55f40eb04f 37 #define __SPWFSA_DEVICE_H__
mridup 0:dc55f40eb04f 38
mridup 0:dc55f40eb04f 39
mridup 0:dc55f40eb04f 40 #include "mbed.h"
mridup 0:dc55f40eb04f 41 #include "RawSerial.h"
mridup 0:dc55f40eb04f 42 #include "Ticker.h"
mridup 0:dc55f40eb04f 43 #include "Timer.h"
mridup 0:dc55f40eb04f 44 #include "wifi_interface.h"
mridup 0:dc55f40eb04f 45
mridup 0:dc55f40eb04f 46
mridup 16:156be7b55904 47 /** SpwfSADevice class
mridup 16:156be7b55904 48 * Implementation of the SPWF Device
mridup 16:156be7b55904 49 */
mridup 0:dc55f40eb04f 50 class SpwfSADevice
mridup 0:dc55f40eb04f 51 {
mridup 0:dc55f40eb04f 52
mridup 0:dc55f40eb04f 53 public:
mridup 0:dc55f40eb04f 54 SpwfSADevice(PinName tx, PinName rx, PinName rst, PinName wkup, PinName rts);
mridup 0:dc55f40eb04f 55 ~SpwfSADevice(void);
mridup 0:dc55f40eb04f 56
mridup 6:e7a3fca2df10 57 int init(void);
mridup 6:e7a3fca2df10 58 int connect(char * ssid, char * sec_key, WiFi_Priv_Mode priv_mode);
mridup 6:e7a3fca2df10 59 int disconnect(void);
mridup 0:dc55f40eb04f 60 const char *getIPAddress();
mridup 0:dc55f40eb04f 61 const char *getMACAddress();
mridup 0:dc55f40eb04f 62 void network_scan(wifi_scan *scan_result, uint16_t max_scan_number);
mridup 0:dc55f40eb04f 63
mridup 6:e7a3fca2df10 64 int socket_client_open(uint8_t * hostname, uint32_t port_number, uint8_t * protocol, uint8_t * sock_id);
mridup 6:e7a3fca2df10 65 int socket_client_write(uint8_t sock_id, uint16_t DataLength,char * pData);
mridup 6:e7a3fca2df10 66 int socket_client_recv(uint8_t sock_id, uint16_t RecvLength,char * pData);
mridup 6:e7a3fca2df10 67 int socket_client_close(uint8_t sock_close_id);
mridup 0:dc55f40eb04f 68 void socket_client_security(uint8_t* tls_mode, uint8_t* root_ca_server, uint8_t* client_cert, uint8_t* client_key, uint8_t* client_domain, uint32_t tls_epoch_time);
mridup 0:dc55f40eb04f 69
mridup 6:e7a3fca2df10 70 int socket_server_open(uint32_t port_number, uint8_t * protocol);
mridup 6:e7a3fca2df10 71 int socket_server_write(uint16_t data_length,char * pdata);
mridup 6:e7a3fca2df10 72 int socket_server_close(void);
mridup 0:dc55f40eb04f 73
mridup 0:dc55f40eb04f 74 void http_get(uint8_t * hostname, uint8_t * path, uint32_t port_number);
mridup 0:dc55f40eb04f 75 void http_post(uint8_t * url_path);
mridup 0:dc55f40eb04f 76
mridup 0:dc55f40eb04f 77 char spwf_get(void);
mridup 8:0f302a13e21b 78 int spwf_send(const char * cmd, uint16_t size);
mridup 0:dc55f40eb04f 79 void spwf_wakeup(int wake);
mridup 0:dc55f40eb04f 80 void spwf_reset(int reset);
mridup 0:dc55f40eb04f 81 void spwf_rts(int rts);
mridup 0:dc55f40eb04f 82 void spwf_attach_irq(wifi_bool attach);
mridup 0:dc55f40eb04f 83 int spwf_read_rts();
mridup 0:dc55f40eb04f 84
mridup 0:dc55f40eb04f 85 const char *getVersion(void);
mridup 0:dc55f40eb04f 86 void waitForEvent(void);
mridup 0:dc55f40eb04f 87 void signal_data_receive(uint8_t socket_id, uint8_t * data_ptr, uint32_t message_size, uint32_t chunk_size);
mridup 0:dc55f40eb04f 88 void signal_synch_wait(WiFi_Status_t code);
mridup 6:e7a3fca2df10 89 void set_wait_for_incoming_client(bool set);
mridup 6:e7a3fca2df10 90 bool get_wait_for_incoming_client();
mridup 0:dc55f40eb04f 91 bool getIsInitialized(void);
mridup 0:dc55f40eb04f 92 void setTimeout(int timeout) {
mridup 0:dc55f40eb04f 93 _timeout = timeout;
mridup 0:dc55f40eb04f 94 }
mridup 0:dc55f40eb04f 95 void debug_print(const char * string);
mridup 0:dc55f40eb04f 96
mridup 0:dc55f40eb04f 97 private:
mridup 0:dc55f40eb04f 98 bool isInitialized;
mridup 0:dc55f40eb04f 99
mridup 0:dc55f40eb04f 100 RawSerial uart_;
mridup 0:dc55f40eb04f 101 RawSerial term_;
mridup 0:dc55f40eb04f 102 Ticker wifi_isr;
mridup 0:dc55f40eb04f 103 Ticker wifi_callback;
mridup 0:dc55f40eb04f 104 DigitalInOut wakeup_;
mridup 0:dc55f40eb04f 105 DigitalInOut rst_;
mridup 0:dc55f40eb04f 106 DigitalInOut rts_;
mridup 0:dc55f40eb04f 107 wifi_config config;
mridup 0:dc55f40eb04f 108 bool sync_wait_signal;
mridup 6:e7a3fca2df10 109 bool wait_for_incoming_client;
mridup 7:0fdd186a7d90 110 bool wait_for_socket_data;
mridup 0:dc55f40eb04f 111 uint16_t bytes_read;
mridup 0:dc55f40eb04f 112 uint16_t bytes_to_read;
mridup 0:dc55f40eb04f 113 uint8_t * recv_buff;
mridup 0:dc55f40eb04f 114 int _timeout;
mridup 0:dc55f40eb04f 115
mridup 0:dc55f40eb04f 116 char _ip_buffer[16];
mridup 0:dc55f40eb04f 117 char _mac_buffer[18];
mridup 0:dc55f40eb04f 118 };
mridup 0:dc55f40eb04f 119
mridup 0:dc55f40eb04f 120 #endif