Updates and additions required by mbed-os 5.2.2
Dependents: x-nucleo-iks01a1-test x-nucleo-iks01a1-test
Fork of X_NUCLEO_IDW01M1v2 by
Diff: SpwfInterface.h
- Revision:
- 13:3d28a8c18182
- Parent:
- 0:907910bfb0b5
--- a/SpwfInterface.h Thu Nov 03 06:57:03 2016 +0000 +++ b/SpwfInterface.h Sun Nov 20 20:31:30 2016 +0000 @@ -50,41 +50,61 @@ public: SpwfSAInterface(PinName tx, PinName rx, bool debug = false); - virtual ~SpwfSAInterface(); + virtual ~SpwfSAInterface(); // Implementation of WiFiInterface - virtual int connect(const char *ssid, + virtual nsapi_error_t set_credentials(const char *ssid, const char *pass, + nsapi_security_t security = NSAPI_SECURITY_NONE); + virtual nsapi_error_t connect(const char *ssid, const char *pass, - nsapi_security_t security = NSAPI_SECURITY_NONE); - - virtual int disconnect(); - virtual const char *get_mac_address(); - void debug(const char * string); + nsapi_security_t security = NSAPI_SECURITY_NONE, + uint8_t channel = 0); + virtual nsapi_error_t connect() { + if (_ssid == 0 || _pass == 0) return NSAPI_ERROR_PARAMETER; + return connect(_ssid, _pass, _security, _channel); + } + virtual nsapi_error_t set_channel(uint8_t channel) { + _channel = channel; + return NSAPI_ERROR_OK; + } + virtual int8_t get_rssi(); + virtual int disconnect(); + virtual nsapi_size_or_error_t scan(WiFiAccessPoint *res, nsapi_size_t count) { + return NSAPI_ERROR_UNSUPPORTED; // TODO! Add scan support + } + + virtual const char *get_mac_address(); + void debug(const char * string); //Implementation of NetworkStack - virtual const char *get_ip_address(); + virtual const char *get_ip_address(); protected: //Implementation of NetworkStack - virtual int socket_open(void **handle, nsapi_protocol_t proto); - virtual int socket_close(void *handle); - virtual int socket_bind(void *handle, const SocketAddress &address); //not supported - virtual int socket_listen(void *handle, int backlog); - virtual int socket_connect(void *handle, const SocketAddress &address); - virtual int socket_accept(void **handle, void *server); - virtual int socket_send(void *handle, const void *data, unsigned size); - virtual int socket_recv(void *handle, void *data, unsigned size); - virtual int socket_sendto(void *handle, const SocketAddress &address, const void *data, unsigned size); - virtual int socket_recvfrom(void *handle, SocketAddress *address, void *buffer, unsigned size); - virtual void socket_attach(void *handle, void (*callback)(void *), void *data); - + virtual int socket_open(void **handle, nsapi_protocol_t proto); + virtual int socket_close(void *handle); + virtual int socket_bind(void *handle, const SocketAddress &address); //not supported + virtual int socket_listen(void *handle, int backlog); + virtual int socket_connect(void *handle, const SocketAddress &address); + virtual nsapi_error_t socket_accept(nsapi_socket_t server, + nsapi_socket_t *handle, SocketAddress *address=0); + virtual int socket_send(void *handle, const void *data, unsigned size); + virtual int socket_recv(void *handle, void *data, unsigned size); + virtual int socket_sendto(void *handle, const SocketAddress &address, const void *data, unsigned size); + virtual int socket_recvfrom(void *handle, SocketAddress *address, void *buffer, unsigned size); + virtual void socket_attach(void *handle, void (*callback)(void *), void *data); + virtual NetworkStack* get_stack() {return this;} private: - int init(void); + int init(void); SPWFSA01 _spwf; bool _ids[SPWFSA_SOCKET_COUNT]; bool isListening; - bool isInitialized; + bool isInitialized; + const char *_ssid; + const char *_pass; + nsapi_security_t _security; + uint8_t _channel; };