SNICInterface for ThingPlug Example

Dependents:   ThingPlug_WiFi_Example ThingPlug_WiFi_Example_2

Fork of SNICInterface by muRata

Committer:
kishino
Date:
Thu May 29 03:23:21 2014 +0000
Revision:
31:15c22824cc46
Parent:
29:6a0ba999597d
Child:
39:a1233ca02edf
Created a command of IP address settings.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kishino 14:54378c96d285 1 /******************* Murata Manufacturing Co.,Ltd. 2014 *****************
kishino 14:54378c96d285 2 *
kishino 14:54378c96d285 3 * Filename: SNIC_WifiInterface.h
kishino 14:54378c96d285 4 *
kishino 14:54378c96d285 5 * Purpose: This module has define of API for SNIC UART of Wi-Fi.
kishino 14:54378c96d285 6 *
kishino 14:54378c96d285 7 * $Author: kishino $
kishino 14:54378c96d285 8 *
kishino 14:54378c96d285 9 * $Date: 2014/03/26 $
kishino 14:54378c96d285 10 *
kishino 14:54378c96d285 11 * $Revision: 0.0.0.1 $
kishino 14:54378c96d285 12 * ***********************************************************************/
kishino 12:0254eaccfda2 13 #ifndef _SNIC_WIFIINTERFACE_H_
kishino 12:0254eaccfda2 14 #define _SNIC_WIFIINTERFACE_H_
kishino 12:0254eaccfda2 15
kishino 12:0254eaccfda2 16 #include "SNIC_Core.h"
kishino 25:67183ed15708 17 #include "MurataObject.h"
kishino 12:0254eaccfda2 18
kishino 23:4ff2231ff9ba 19 /** Wi-Fi status used by getWifiStatus(). */
kishino 12:0254eaccfda2 20 typedef struct
kishino 12:0254eaccfda2 21 {
kishino 12:0254eaccfda2 22 /** status */
kishino 12:0254eaccfda2 23 E_WIFI_STATUS status;
kishino 12:0254eaccfda2 24 /** Mac address */
kishino 12:0254eaccfda2 25 char mac_address[BSSID_MAC_LENTH];
kishino 12:0254eaccfda2 26 /** SSID */
kishino 12:0254eaccfda2 27 char ssid[SSID_MAX_LENGTH+1];
kishino 12:0254eaccfda2 28 }tagWIFI_STATUS_T;
kishino 12:0254eaccfda2 29
kishino 23:4ff2231ff9ba 30 /** Interface class for using SNIC UART.
kishino 12:0254eaccfda2 31 */
kishino 25:67183ed15708 32 class C_SNIC_WifiInterface : public C_MurataObject {
kishino 31:15c22824cc46 33
kishino 12:0254eaccfda2 34 public:
kishino 12:0254eaccfda2 35 /** Constructor
kishino 12:0254eaccfda2 36 @param tx mbed pin to use for tx line of Serial interface
kishino 12:0254eaccfda2 37 @param rx mbed pin to use for rx line of Serial interface
kishino 12:0254eaccfda2 38 @param cts mbed pin to use for cts line of Serial interface
kishino 12:0254eaccfda2 39 @param rts mbed pin to use for rts line of Serial interface
kishino 12:0254eaccfda2 40 @param reset reset pin of the wifi module
kishino 12:0254eaccfda2 41 @param alarm alarm pin of the wifi module (default: NC)
kishino 12:0254eaccfda2 42 @param baud baud rate of Serial interface (default: 9600)
kishino 12:0254eaccfda2 43 */
kishino 12:0254eaccfda2 44 C_SNIC_WifiInterface(PinName tx, PinName rx, PinName cts, PinName rts, PinName reset, PinName alarm = NC, int baud = 115200);
kishino 26:f2e1030964e4 45 virtual ~C_SNIC_WifiInterface();
kishino 12:0254eaccfda2 46
kishino 12:0254eaccfda2 47 /** Initialize the interface.
kishino 12:0254eaccfda2 48 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 49 */
kishino 12:0254eaccfda2 50 int init();
kishino 12:0254eaccfda2 51
kishino 12:0254eaccfda2 52 /** Get Firmware version string.
kishino 12:0254eaccfda2 53 @param version_p Pointer of FW version string.(null terminated)[output]
kishino 12:0254eaccfda2 54 @return 0:success/other:fail
kishino 12:0254eaccfda2 55 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 56 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 57 */
kishino 12:0254eaccfda2 58 int getFWVersion( unsigned char *version_p );
kishino 12:0254eaccfda2 59
kishino 12:0254eaccfda2 60 /** Connect to AP
kishino 12:0254eaccfda2 61 @param ssid_p Wi-Fi SSID(null terminated)
kishino 12:0254eaccfda2 62 @param ssid_len Wi-Fi SSID length
kishino 12:0254eaccfda2 63 @param sec_type Wi-Fi security type.
kishino 12:0254eaccfda2 64 @param sec_key_len Wi-Fi passphrase or security key length
kishino 12:0254eaccfda2 65 @param sec_key_p Wi-Fi passphrase or security key
kishino 12:0254eaccfda2 66 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 67 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 68 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 69 */
kishino 12:0254eaccfda2 70 int connect(const char *ssid_p, unsigned char ssid_len, E_SECURITY sec_type, const char *sec_key_p, unsigned char sec_key_len);
kishino 12:0254eaccfda2 71
kishino 12:0254eaccfda2 72 /** Disconnect from AP
kishino 12:0254eaccfda2 73 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 74 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 75 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 76 */
kishino 12:0254eaccfda2 77 int disconnect();
kishino 12:0254eaccfda2 78
kishino 12:0254eaccfda2 79 /** Scan AP
kishino 12:0254eaccfda2 80 @param ssid_p Wi-Fi SSID(null terminated)
kishino 12:0254eaccfda2 81 If do not specify SSID, set to NULL.
kishino 12:0254eaccfda2 82 @param bssid_p Wi-Fi BSSID(null terminated)
kishino 12:0254eaccfda2 83 If do not specify SSID, set to NULL.
kishino 12:0254eaccfda2 84 @param result_handler_p Pointer of scan result callback function.
kishino 12:0254eaccfda2 85 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 86 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 87 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 88 Scan results will be notified by asynchronous callback function.
kishino 12:0254eaccfda2 89 If there is no continuity data, result_handler_p will be set NULL..
kishino 12:0254eaccfda2 90 */
kishino 12:0254eaccfda2 91 int scan( const char *ssid_p, unsigned char *bssid_p
kishino 12:0254eaccfda2 92 ,void (*result_handler_p)(tagSCAN_RESULT_T *scan_result) );
kishino 12:0254eaccfda2 93
kishino 12:0254eaccfda2 94 /** Wi-Fi Turn on
kishino 12:0254eaccfda2 95 @param country_p Pointer of country code.
kishino 12:0254eaccfda2 96 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 97 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 98 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 99 */
kishino 12:0254eaccfda2 100 int wifi_on( const char *country_p );
kishino 12:0254eaccfda2 101
kishino 12:0254eaccfda2 102 /** Wi-Fi Turn off
kishino 12:0254eaccfda2 103 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 104 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 105 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 106 */
kishino 12:0254eaccfda2 107 int wifi_off();
kishino 12:0254eaccfda2 108
kishino 12:0254eaccfda2 109 /** Get Wi-Fi RSSI
kishino 12:0254eaccfda2 110 @param rssi_p Pointer of RSSI.[output]
kishino 12:0254eaccfda2 111 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 112 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 113 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 114 */
kishino 12:0254eaccfda2 115 int getRssi( signed char *rssi_p );
kishino 12:0254eaccfda2 116
kishino 12:0254eaccfda2 117 /** Get Wi-Fi status
kishino 12:0254eaccfda2 118 @param status_p Pointer of status structure.[output]
kishino 12:0254eaccfda2 119 @return 0 on success, a negative number on failure
kishino 12:0254eaccfda2 120 @note This function is blocked until a returns.
kishino 12:0254eaccfda2 121 When you use it by UI thread, be careful.
kishino 12:0254eaccfda2 122 */
kishino 12:0254eaccfda2 123 int getWifiStatus( tagWIFI_STATUS_T *status_p);
kishino 12:0254eaccfda2 124
kishino 31:15c22824cc46 125 /** Set IP configuration
kishino 31:15c22824cc46 126 @param is_DHCP true:DHCP false:static IP.
kishino 31:15c22824cc46 127 @param ip_p Pointer of strings of IP address.(null terminate).
kishino 31:15c22824cc46 128 @param mask_p Pointer of strings of Netmask.(null terminate).
kishino 31:15c22824cc46 129 @param gateway_p Pointer of strings of gateway address.(null terminate).
kishino 31:15c22824cc46 130 @return 0 on success, a negative number on failure
kishino 31:15c22824cc46 131 @note This function is blocked until a returns.
kishino 31:15c22824cc46 132 When you use it by UI thread, be careful.
kishino 31:15c22824cc46 133 */
kishino 31:15c22824cc46 134 int setIPConfig( bool is_DHCP, const char *ip_p=NULL, const char *mask_p=NULL, const char *gateway_p=NULL );
kishino 12:0254eaccfda2 135
kishino 12:0254eaccfda2 136 private:
kishino 12:0254eaccfda2 137 PinName mUART_tx;
kishino 12:0254eaccfda2 138 PinName mUART_rx;
kishino 12:0254eaccfda2 139 PinName mUART_cts;
kishino 12:0254eaccfda2 140 PinName mUART_rts;
kishino 12:0254eaccfda2 141 int mUART_baud;
kishino 12:0254eaccfda2 142 PinName mModuleReset;
kishino 12:0254eaccfda2 143 };
kishino 12:0254eaccfda2 144 #endif /* _YD_WIFIINTERFACE_H_ */