SNICInterface for ThingPlug Example
Dependents: ThingPlug_WiFi_Example ThingPlug_WiFi_Example_2
Fork of SNICInterface by
Diff: SNIC_WifiInterface.h
- Revision:
- 12:0254eaccfda2
- Child:
- 14:54378c96d285
diff -r c49007d49e52 -r 0254eaccfda2 SNIC_WifiInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SNIC_WifiInterface.h Tue Mar 25 01:42:25 2014 +0000 @@ -0,0 +1,146 @@ +#ifndef _SNIC_WIFIINTERFACE_H_ +#define _SNIC_WIFIINTERFACE_H_ + +#include "SNIC_Core.h" + +namespace murata_wifi +{ + +/** Wi-Fi status */ +typedef struct +{ + /** status */ + E_WIFI_STATUS status; + /** Mac address */ + char mac_address[BSSID_MAC_LENTH]; + /** SSID */ + char ssid[SSID_MAX_LENGTH+1]; +}tagWIFI_STATUS_T; + +/** C_SNIC_WifiInterface class + */ +class C_SNIC_WifiInterface { +public: + /** Constructor + @param tx mbed pin to use for tx line of Serial interface + @param rx mbed pin to use for rx line of Serial interface + @param cts mbed pin to use for cts line of Serial interface + @param rts mbed pin to use for rts line of Serial interface + @param reset reset pin of the wifi module + @param alarm alarm pin of the wifi module (default: NC) + @param baud baud rate of Serial interface (default: 9600) + */ + C_SNIC_WifiInterface(PinName tx, PinName rx, PinName cts, PinName rts, PinName reset, PinName alarm = NC, int baud = 115200); + + /** Initialize the interface. + @return 0 on success, a negative number on failure + */ + int init(); + + /** Get Firmware version string. + @param version_p Pointer of FW version string.(null terminated)[output] + @return 0:success/other:fail + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int getFWVersion( unsigned char *version_p ); + + /** Connect to AP + @param ssid_p Wi-Fi SSID(null terminated) + @param ssid_len Wi-Fi SSID length + @param sec_type Wi-Fi security type. + @param sec_key_len Wi-Fi passphrase or security key length + @param sec_key_p Wi-Fi passphrase or security key + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int connect(const char *ssid_p, unsigned char ssid_len, E_SECURITY sec_type, const char *sec_key_p, unsigned char sec_key_len); + + /** Disconnect from AP + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int disconnect(); + + /** Scan AP + @param ssid_p Wi-Fi SSID(null terminated) + If do not specify SSID, set to NULL. + @param bssid_p Wi-Fi BSSID(null terminated) + If do not specify SSID, set to NULL. + @param result_handler_p Pointer of scan result callback function. + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + Scan results will be notified by asynchronous callback function. + If there is no continuity data, result_handler_p will be set NULL.. + */ + int scan( const char *ssid_p, unsigned char *bssid_p + ,void (*result_handler_p)(tagSCAN_RESULT_T *scan_result) ); + + /** Wi-Fi Turn on + @param country_p Pointer of country code. + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int wifi_on( const char *country_p ); + + /** Wi-Fi Turn off + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int wifi_off(); + + /** Get Wi-Fi RSSI + @param rssi_p Pointer of RSSI.[output] + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int getRssi( signed char *rssi_p ); + + /** Get Wi-Fi status + @param status_p Pointer of status structure.[output] + @return 0 on success, a negative number on failure + @note This function is blocked until a returns. + When you use it by UI thread, be careful. + */ + int getWifiStatus( tagWIFI_STATUS_T *status_p); + +#if 0 + /** Get the MAC address of your Ethernet interface + * \return a pointer to a string containing the MAC address + */ + char* getMACAddress(); + + /** Get the IP address of your Ethernet interface + * \return a pointer to a string containing the IP address + */ + char* getIPAddress(); + + /** Get the Gateway address of your Ethernet interface + * \return a pointer to a string containing the Gateway address + */ + char* getGateway(); + + /** Get the Network mask of your Ethernet interface + * \return a pointer to a string containing the Network mask + */ + char* getNetworkMask(); +#endif + +private: + C_SNIC_Core *mSNICWifi_p; + + PinName mUART_tx; + PinName mUART_rx; + PinName mUART_cts; + PinName mUART_rts; + int mUART_baud; + PinName mModuleReset; +}; +} +#endif /* _YD_WIFIINTERFACE_H_ */ \ No newline at end of file