Transmit data over WiFi modem
ESP_8266.h
- Committer:
- docent
- Date:
- 2019-06-13
- Revision:
- 0:0b46638559b3
File content as of revision 0:0b46638559b3:
#ifndef ESP_8266_h #define ESP_8266_h #include "mbed.h" const uint16_t RXWIFI_BUFFER_SIZE = 256*5; typedef struct { char IPaddr[16]; char UDPport[8]; volatile uint16_t in; // Circular buffer pointers, volatile makes read-modify-write atomic uint8_t event; uint8_t app; uint8_t answer; uint8_t ipd; uint8_t cipdinfo; int len; char buffer[RXWIFI_BUFFER_SIZE]; //1280 } RxWiFi_t; void WriteWiFi(uint8_t *sbuf, int len); void WiFiDataProcessing(); void IniWiFi(Serial *pwifi,DigitalOut *pCH_PD,DigitalOut *pled);//IniWiFi(); void SendResponseWiFi(); uint8_t wifi_executeCallback(char *buffer); void pc_printfCallback(char *buffer); void ResponseWiFiCallback(char *data,uint8_t answer); extern RxWiFi_t rx_wifi; /************************************************************************************************ * EXAMPLE * * !!!!!!!!!!!!!!!!!!! Befor connection with AP, set AT+CWMODE_DEF=1 !!!!!!!!!!!!!!!!!!!!!* *************************************************************************************************/ /* #include "mbed.h" #include "ESP_8266.h" const int buffer_size = 255; // might need to increase buffer size for high baud rates typedef struct { volatile uint8_t in; // Circular buffer pointers, volatile makes read-modify-write atomic uint8_t event; uint8_t app; uint8_t answer; char buffer[buffer_size]; } RxPc; //@************************************************************************ //@* Interface * //@************************************************************************ Serial wifi_modem(PB_6,PB_7); DigitalOut CH_PD(PA_8); DigitalOut wifi_led(LED1); CH_PD=0; IniWiFi(&wifi_modem,&CH_PD,&wifi_led); //@************************************************************************ //@* Global variables * //@************************************************************************ RxWiFi_t rx_wifi; //@************************************************************************ //@* functions * //@************************************************************************ void WriteWiFi(uint8_t *sbuf, int len); void WiFiDataProcessing(); void IniWiFi(Serial *pwifi,DigitalOut *pCH_PD,DigitalOut *pled);//IniWiFi(); void SendResponseWiFi(); uint8_t wifi_executeCallback(char *buffer); void pc_printfCallback(char *buffer); void ResponseWiFiCallback(char *data,uint8_t answer); //@************************************************************************ //@* main * //@************************************************************************ while(1) { ................... WiFiDataProcessing(); SendResponseWiFi(); .................. } //@*********************************************************************** //@* CALLBACK * //@*********************************************************************** void pc_printfCallback(char *buffer) { pc.printf("%s",buffer); } //-------------------------------------------------- void ResponseWiFiCallback(char *data,uint8_t answer) { Response(answer,data); //---------------------information feedback ----------------- //if(data[0]=='0') // rx_wifi.answer=0; } //--------------------------------------- uint8_t wifi_executeCallback(char *buffer) { WIFI_exist=1; PC_exist=0; return execute(buffer); } */ #endif