Wi-Fi communication thread

Dependencies:   Commands charQueue esp8266-driver

Committer:
williampeers
Date:
Wed Aug 23 02:26:14 2017 +0000
Revision:
0:69f99583ac66

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
williampeers 0:69f99583ac66 1 #ifndef __WIFI_INCLUDED__
williampeers 0:69f99583ac66 2 #define __WIFI_INCLUDED__
williampeers 0:69f99583ac66 3
williampeers 0:69f99583ac66 4 #define DEBUG
williampeers 0:69f99583ac66 5 #define DELAY 15
williampeers 0:69f99583ac66 6 #define BUFFERSIZE 256
williampeers 0:69f99583ac66 7 #define QUEUESIZE 1024
williampeers 0:69f99583ac66 8 #define CONNECTDELAY 3000
williampeers 0:69f99583ac66 9 #define SOCKETTIMEOUT 5000
williampeers 0:69f99583ac66 10
williampeers 0:69f99583ac66 11 #include "mbed.h"
williampeers 0:69f99583ac66 12 #include "TCPSocket.h"
williampeers 0:69f99583ac66 13 #include "ESP8266Interface.h"
williampeers 0:69f99583ac66 14 #include "objectQueue.h"
williampeers 0:69f99583ac66 15 #include "commands.h"
williampeers 0:69f99583ac66 16 #include <string>
williampeers 0:69f99583ac66 17 #include <sstream>
williampeers 0:69f99583ac66 18
williampeers 0:69f99583ac66 19 class Wifi : public ESP8266Interface{
williampeers 0:69f99583ac66 20 private:
williampeers 0:69f99583ac66 21 Thread wifi_thread;
williampeers 0:69f99583ac66 22 TCPSocket *sender, *receiver;
williampeers 0:69f99583ac66 23 int port;
williampeers 0:69f99583ac66 24 char host[15];
williampeers 0:69f99583ac66 25
williampeers 0:69f99583ac66 26 DigitalOut ch_pd, rst;
williampeers 0:69f99583ac66 27
williampeers 0:69f99583ac66 28 StrQueue sendQueue;
williampeers 0:69f99583ac66 29 StrQueue recvQueue;
williampeers 0:69f99583ac66 30
williampeers 0:69f99583ac66 31 char rbuffer[BUFFERSIZE];
williampeers 0:69f99583ac66 32 char ssbuffer[BUFFERSIZE];
williampeers 0:69f99583ac66 33 char srbuffer[BUFFERSIZE];
williampeers 0:69f99583ac66 34
williampeers 0:69f99583ac66 35 bool sendConnected, recvConnected;
williampeers 0:69f99583ac66 36 int sendState, recvState;
williampeers 0:69f99583ac66 37 bool sendReady, recvReady;
williampeers 0:69f99583ac66 38
williampeers 0:69f99583ac66 39 void run();
williampeers 0:69f99583ac66 40 int connectWifi();
williampeers 0:69f99583ac66 41 int connectSockets();
williampeers 0:69f99583ac66 42
williampeers 0:69f99583ac66 43 public:
williampeers 0:69f99583ac66 44 Wifi(osPriority, int);
williampeers 0:69f99583ac66 45 void start();
williampeers 0:69f99583ac66 46 int send(string message);
williampeers 0:69f99583ac66 47 int send(char* message);
williampeers 0:69f99583ac66 48 int send(int message);
williampeers 0:69f99583ac66 49
williampeers 0:69f99583ac66 50 Message recv();
williampeers 0:69f99583ac66 51 };
williampeers 0:69f99583ac66 52
williampeers 0:69f99583ac66 53 #endif