A c library to encapsulate and decapsulate AT strings for the ESP8266 module intended to be used on microcontrollers that don't support classes
This library provides a set of functions to prepare and read AT commands exchanged with the ESP8266 module. ####Important! The library doesn't actually sends or receive data from the module but only prepare the string to be sent by the user
For example, a receiving message is formatted like "+IPD,0,11:Hello World", the unwrap function decapsulates the message and fills an char array with "Hello World"
##References: Each following function need an array to be filled with the message
void reset(char* dst);
//Reset the module
Arguments:
dst: Char array where the generated string is putReturns:
null (nothing)
void setMode(char* dst, int mode);
//Set the wifi mode such as: Access Point, Station, or Mixed
Arguments:
dst: Char array where the generated string is put
mode: Integer that sets the wifi mode (STA, AP, APSTA)Returns:
null (nothing)
void connectWifi(char* dst, char *ssid, char *password);
//Estabilish a connection with a determinated wifi network in Station mode
Arguments:
dst: Char array where the generated string is put
ssid: Wifi name you want to connect
password: Wifi network passwordReturns:
null (nothing)
void setLinkMode(char* dst, int mode);
//Set the number of simultaneous connections allowed
Arguments:
dst: Char array where the generated string is put
mode: Integer that sets the link mode (ONE_CONNECTION, MULTIPLE_CONNECTIONS)Returns:
null (nothing)
void disconnectWifi(char* dst);
//Disconnect from the current wifi
Arguments:
dst: Char array where the generated string is putReturns:
null (nothing)
void startServer(char* dst, int port);
//Start a server listening in a specified port
Arguments:
dst: Char array where the generated string is put
port: Integer that specify on which port you want to accept connectionsReturns:
null (nothing)
void wrap(char* dst, int conn, char* data);
//Prepare data to be sent
Arguments:
dst: Char array where the generated string is put
conn: Integer containind the connection number you want to send data
data: Char array you should fill with data you want to send to the "conn" connectionReturns:
null (nothing)
int unwrap(char* src, int* conn, char* data);
//Decapsulate data from the received packet
Arguments:
src: Char array where you should put the entire packet arrived from the module
conn: Integer filled with the connection number specified in received packet
data: Char array filled with the actual data contained in the received packetReturns:
Integer that indicates data length
Thanks to ssokol where I retrived some useful information