Reads DISCO-L475VG-IOT01A sensor data and sends it over WIFI

Dependencies:   mbed DISCO_L475VG_IOT01A_wifi BSP_B-L475E-IOT01

Committer:
samilive2011
Date:
Wed Jul 10 19:42:07 2019 +0000
Revision:
0:c3aca5198054
Sensor data over WIFI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samilive2011 0:c3aca5198054 1 #include "mbed.h"
samilive2011 0:c3aca5198054 2 #include "wifi.h"
samilive2011 0:c3aca5198054 3 #include "stm32l475e_iot01_tsensor.h"
samilive2011 0:c3aca5198054 4 #include "stm32l475e_iot01_hsensor.h"
samilive2011 0:c3aca5198054 5 #include "stm32l475e_iot01_psensor.h"
samilive2011 0:c3aca5198054 6 #include "stm32l475e_iot01_magneto.h"
samilive2011 0:c3aca5198054 7 #include "stm32l475e_iot01_gyro.h"
samilive2011 0:c3aca5198054 8 #include "stm32l475e_iot01_accelero.h"
samilive2011 0:c3aca5198054 9
samilive2011 0:c3aca5198054 10 #define WIFI_WRITE_TIMEOUT 10000
samilive2011 0:c3aca5198054 11 #define WIFI_READ_TIMEOUT 10000
samilive2011 0:c3aca5198054 12 #define PORT 80
samilive2011 0:c3aca5198054 13 #define MBED_RAM_SIZE 0xCE30
samilive2011 0:c3aca5198054 14
samilive2011 0:c3aca5198054 15
samilive2011 0:c3aca5198054 16 /* Private typedef------------------------------------------------------------*/
samilive2011 0:c3aca5198054 17 typedef enum
samilive2011 0:c3aca5198054 18 {
samilive2011 0:c3aca5198054 19 WS_IDLE = 0,
samilive2011 0:c3aca5198054 20 WS_CONNECTED,
samilive2011 0:c3aca5198054 21 WS_DISCONNECTED,
samilive2011 0:c3aca5198054 22 WS_ERROR,
samilive2011 0:c3aca5198054 23 } WebServerState_t;
samilive2011 0:c3aca5198054 24
samilive2011 0:c3aca5198054 25 /* Private macro -------------------------------------------------------------*/
samilive2011 0:c3aca5198054 26 static int wifi_sample_run(void);
samilive2011 0:c3aca5198054 27 static void WebServerProcess(void);
samilive2011 0:c3aca5198054 28 /*Declaring variables*/
samilive2011 0:c3aca5198054 29 float Tsensor_value = 0;
samilive2011 0:c3aca5198054 30 float Hsensor_value = 0;
samilive2011 0:c3aca5198054 31 float Psensor_value = 0;
samilive2011 0:c3aca5198054 32 int16_t ACCELERO_DataXYZ[3] = {0};
samilive2011 0:c3aca5198054 33 int16_t MAGNETO_DataXYZ[3] = {0};
samilive2011 0:c3aca5198054 34 float pGyroDataXYZ[3] = {0};
samilive2011 0:c3aca5198054 35
samilive2011 0:c3aca5198054 36 static WIFI_Status_t SendWebPage(uint8_t ledIsOn, float Tsensor_value, float Hsensor_value, float Psensor_value, int16_t ACCELERO_DataXYZ[3], int16_t MAGNETO_DataXYZ[3], float pGyroDataXYZ[3]);
samilive2011 0:c3aca5198054 37 /* Private variables ---------------------------------------------------------*/
samilive2011 0:c3aca5198054 38 Serial pc(USBTX, USBRX);
samilive2011 0:c3aca5198054 39 static uint8_t http[1024];
samilive2011 0:c3aca5198054 40 static uint8_t resp[1024];
samilive2011 0:c3aca5198054 41 uint16_t respLen;
samilive2011 0:c3aca5198054 42 uint8_t IP_Addr[4];
samilive2011 0:c3aca5198054 43 uint8_t MAC_Addr[6];
samilive2011 0:c3aca5198054 44 int32_t Socket = -1;
samilive2011 0:c3aca5198054 45 static WebServerState_t State = WS_ERROR;
samilive2011 0:c3aca5198054 46 char ModuleName[32];
samilive2011 0:c3aca5198054 47
samilive2011 0:c3aca5198054 48 DigitalOut Led_WIFI(LED2);
samilive2011 0:c3aca5198054 49 AnalogIn adc_temp(ADC_TEMP); /*to work on---*/
samilive2011 0:c3aca5198054 50
samilive2011 0:c3aca5198054 51 DigitalOut led(LED1);
samilive2011 0:c3aca5198054 52
samilive2011 0:c3aca5198054 53 int main()
samilive2011 0:c3aca5198054 54 {
samilive2011 0:c3aca5198054 55
samilive2011 0:c3aca5198054 56 BSP_TSENSOR_Init();
samilive2011 0:c3aca5198054 57 BSP_HSENSOR_Init();
samilive2011 0:c3aca5198054 58 BSP_PSENSOR_Init();
samilive2011 0:c3aca5198054 59
samilive2011 0:c3aca5198054 60 BSP_MAGNETO_Init();
samilive2011 0:c3aca5198054 61 BSP_GYRO_Init();
samilive2011 0:c3aca5198054 62 BSP_ACCELERO_Init();
samilive2011 0:c3aca5198054 63
samilive2011 0:c3aca5198054 64 while(1) {
samilive2011 0:c3aca5198054 65
samilive2011 0:c3aca5198054 66 led = 1;
samilive2011 0:c3aca5198054 67
samilive2011 0:c3aca5198054 68 Tsensor_value = BSP_TSENSOR_ReadTemp();
samilive2011 0:c3aca5198054 69 pc.printf("\nTEMPERATURE = %.2f degC\n", Tsensor_value);
samilive2011 0:c3aca5198054 70
samilive2011 0:c3aca5198054 71 Hsensor_value = BSP_HSENSOR_ReadHumidity();
samilive2011 0:c3aca5198054 72 pc.printf("HUMIDITY = %.2f %%\n", Hsensor_value);
samilive2011 0:c3aca5198054 73
samilive2011 0:c3aca5198054 74 Psensor_value = BSP_PSENSOR_ReadPressure();
samilive2011 0:c3aca5198054 75 pc.printf("PRESSURE is = %.2f mBar\n", Psensor_value);
samilive2011 0:c3aca5198054 76
samilive2011 0:c3aca5198054 77 Led_WIFI = 0;
samilive2011 0:c3aca5198054 78
samilive2011 0:c3aca5198054 79 wait(1);
samilive2011 0:c3aca5198054 80
samilive2011 0:c3aca5198054 81 led = 1;
samilive2011 0:c3aca5198054 82
samilive2011 0:c3aca5198054 83 BSP_MAGNETO_GetXYZ(MAGNETO_DataXYZ);
samilive2011 0:c3aca5198054 84 pc.printf("\nMAGNETO_X = %d\n", MAGNETO_DataXYZ[0]);
samilive2011 0:c3aca5198054 85 pc.printf("MAGNETO_Y = %d\n", MAGNETO_DataXYZ[1]);
samilive2011 0:c3aca5198054 86 printf("MAGNETO_Z = %d\n", MAGNETO_DataXYZ[2]);
samilive2011 0:c3aca5198054 87
samilive2011 0:c3aca5198054 88 BSP_GYRO_GetXYZ(pGyroDataXYZ);
samilive2011 0:c3aca5198054 89 pc.printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]);
samilive2011 0:c3aca5198054 90 pc.printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]);
samilive2011 0:c3aca5198054 91 pc.printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]);
samilive2011 0:c3aca5198054 92
samilive2011 0:c3aca5198054 93 BSP_ACCELERO_AccGetXYZ(ACCELERO_DataXYZ);
samilive2011 0:c3aca5198054 94 pc.printf("\nACCELERO_X = %d\n", ACCELERO_DataXYZ[0]);
samilive2011 0:c3aca5198054 95 pc.printf("ACCELERO_Y = %d\n", ACCELERO_DataXYZ[1]);
samilive2011 0:c3aca5198054 96 pc.printf("ACCELERO_Z = %d\n", ACCELERO_DataXYZ[2]);
samilive2011 0:c3aca5198054 97
samilive2011 0:c3aca5198054 98 led = 0;
samilive2011 0:c3aca5198054 99 int ret = 0;
samilive2011 0:c3aca5198054 100 led = 0;
samilive2011 0:c3aca5198054 101 pc.baud(115200);
samilive2011 0:c3aca5198054 102 pc.printf("\n");
samilive2011 0:c3aca5198054 103 pc.printf("************************************************************\n\r");
samilive2011 0:c3aca5198054 104 pc.printf("*** WIFI Web Server ***\n\r");
samilive2011 0:c3aca5198054 105 pc.printf("************************************************************\n\r");
samilive2011 0:c3aca5198054 106
samilive2011 0:c3aca5198054 107 /* Working application */
samilive2011 0:c3aca5198054 108 ret = wifi_sample_run();
samilive2011 0:c3aca5198054 109
samilive2011 0:c3aca5198054 110 if (ret != 0) {
samilive2011 0:c3aca5198054 111 return -1;
samilive2011 0:c3aca5198054 112 }
samilive2011 0:c3aca5198054 113
samilive2011 0:c3aca5198054 114
samilive2011 0:c3aca5198054 115 while(1) {
samilive2011 0:c3aca5198054 116 WebServerProcess ();
samilive2011 0:c3aca5198054 117 }
samilive2011 0:c3aca5198054 118
samilive2011 0:c3aca5198054 119 wait(1);
samilive2011 0:c3aca5198054 120
samilive2011 0:c3aca5198054 121 }
samilive2011 0:c3aca5198054 122 }
samilive2011 0:c3aca5198054 123
samilive2011 0:c3aca5198054 124 int wifi_sample_run(void)
samilive2011 0:c3aca5198054 125 {
samilive2011 0:c3aca5198054 126
samilive2011 0:c3aca5198054 127 /*Initialisation module WIFI */
samilive2011 0:c3aca5198054 128 if(WIFI_Init() == WIFI_STATUS_OK) {
samilive2011 0:c3aca5198054 129 pc.printf("WIFI Initialise.\n\r");
samilive2011 0:c3aca5198054 130
samilive2011 0:c3aca5198054 131 if(WIFI_GetMAC_Address(MAC_Addr) == WIFI_STATUS_OK) {
samilive2011 0:c3aca5198054 132 pc.printf("> adresse MAC: %X:%X:%X:%X:%X:%X\n\r",
samilive2011 0:c3aca5198054 133 MAC_Addr[0],
samilive2011 0:c3aca5198054 134 MAC_Addr[1],
samilive2011 0:c3aca5198054 135 MAC_Addr[2],
samilive2011 0:c3aca5198054 136 MAC_Addr[3],
samilive2011 0:c3aca5198054 137 MAC_Addr[4],
samilive2011 0:c3aca5198054 138 MAC_Addr[5]);
samilive2011 0:c3aca5198054 139 } else {
samilive2011 0:c3aca5198054 140 pc.printf("> ERREUR : CANNOT get MAC address\n\r");
samilive2011 0:c3aca5198054 141 }
samilive2011 0:c3aca5198054 142
samilive2011 0:c3aca5198054 143 if( WIFI_Connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, WIFI_ECN_WPA2_PSK) == WIFI_STATUS_OK) {
samilive2011 0:c3aca5198054 144 pc.printf("> module WIFI connecté \n\r");
samilive2011 0:c3aca5198054 145
samilive2011 0:c3aca5198054 146 if(WIFI_GetIP_Address(IP_Addr) == WIFI_STATUS_OK) {
samilive2011 0:c3aca5198054 147 pc.printf("> IP Address : %d.%d.%d.%d\n\r",
samilive2011 0:c3aca5198054 148 IP_Addr[0],
samilive2011 0:c3aca5198054 149 IP_Addr[1],
samilive2011 0:c3aca5198054 150 IP_Addr[2],
samilive2011 0:c3aca5198054 151 IP_Addr[3]);
samilive2011 0:c3aca5198054 152
samilive2011 0:c3aca5198054 153 pc.printf(">Serveur HTTP ... \n\r");
samilive2011 0:c3aca5198054 154 State = WS_IDLE;
samilive2011 0:c3aca5198054 155 } else {
samilive2011 0:c3aca5198054 156 pc.printf("> ERROR :module CANNOT get IP address\n\r");
samilive2011 0:c3aca5198054 157 return -1;
samilive2011 0:c3aca5198054 158 }
samilive2011 0:c3aca5198054 159 } else {
samilive2011 0:c3aca5198054 160 pc.printf("> ERROR : module NOT connected\n\r");
samilive2011 0:c3aca5198054 161 return -1;
samilive2011 0:c3aca5198054 162 }
samilive2011 0:c3aca5198054 163 } else {
samilive2011 0:c3aca5198054 164 pc.printf("> ERROR : WIFI Module cannot be initialized.\n");
samilive2011 0:c3aca5198054 165 return -1;
samilive2011 0:c3aca5198054 166 }
samilive2011 0:c3aca5198054 167 return 0;
samilive2011 0:c3aca5198054 168 }
samilive2011 0:c3aca5198054 169
samilive2011 0:c3aca5198054 170
samilive2011 0:c3aca5198054 171 static void WebServerProcess(void)
samilive2011 0:c3aca5198054 172 {
samilive2011 0:c3aca5198054 173 uint8_t LedState = 0;
samilive2011 0:c3aca5198054 174 float temp;
samilive2011 0:c3aca5198054 175 switch(State)
samilive2011 0:c3aca5198054 176 {
samilive2011 0:c3aca5198054 177 case WS_IDLE:
samilive2011 0:c3aca5198054 178 Socket = 0;
samilive2011 0:c3aca5198054 179 WIFI_StartServer(Socket, WIFI_TCP_PROTOCOL, "", PORT);
samilive2011 0:c3aca5198054 180
samilive2011 0:c3aca5198054 181 if(Socket != -1)
samilive2011 0:c3aca5198054 182 {
samilive2011 0:c3aca5198054 183 pc.printf("> HTTP Server Started \n");
samilive2011 0:c3aca5198054 184 State = WS_CONNECTED;
samilive2011 0:c3aca5198054 185 }
samilive2011 0:c3aca5198054 186 else
samilive2011 0:c3aca5198054 187 {
samilive2011 0:c3aca5198054 188 pc.printf("> ERROR : Connection cannot be established.\n");
samilive2011 0:c3aca5198054 189 State = WS_ERROR;
samilive2011 0:c3aca5198054 190 }
samilive2011 0:c3aca5198054 191 break;
samilive2011 0:c3aca5198054 192
samilive2011 0:c3aca5198054 193 case WS_CONNECTED:
samilive2011 0:c3aca5198054 194
samilive2011 0:c3aca5198054 195 WIFI_ReceiveData(Socket, resp, 1200, &respLen, WIFI_READ_TIMEOUT);
samilive2011 0:c3aca5198054 196
samilive2011 0:c3aca5198054 197 if( respLen > 0)
samilive2011 0:c3aca5198054 198 {
samilive2011 0:c3aca5198054 199 if(strstr((char *)resp, "GET")) /* GET: put web page */
samilive2011 0:c3aca5198054 200 {
samilive2011 0:c3aca5198054 201 temp = (adc_temp.read()*100);
samilive2011 0:c3aca5198054 202 if(SendWebPage(LedState, Tsensor_value, Hsensor_value, Psensor_value, ACCELERO_DataXYZ, MAGNETO_DataXYZ, pGyroDataXYZ) != WIFI_STATUS_OK)
samilive2011 0:c3aca5198054 203 {
samilive2011 0:c3aca5198054 204 pc.printf("> ERROR : Cannot send web page\n");
samilive2011 0:c3aca5198054 205 State = WS_ERROR;
samilive2011 0:c3aca5198054 206 }
samilive2011 0:c3aca5198054 207 }
samilive2011 0:c3aca5198054 208 else if(strstr((char *)resp, "POST"))/* POST: received info */
samilive2011 0:c3aca5198054 209 {
samilive2011 0:c3aca5198054 210 if(strstr((char *)resp, "radio"))
samilive2011 0:c3aca5198054 211 {
samilive2011 0:c3aca5198054 212 if(strstr((char *)resp, "radio=0"))
samilive2011 0:c3aca5198054 213 {
samilive2011 0:c3aca5198054 214 LedState = 0;
samilive2011 0:c3aca5198054 215 Led_WIFI = 0;
samilive2011 0:c3aca5198054 216 }
samilive2011 0:c3aca5198054 217 else if(strstr((char *)resp, "radio=1"))
samilive2011 0:c3aca5198054 218 {
samilive2011 0:c3aca5198054 219 LedState = 1;
samilive2011 0:c3aca5198054 220 Led_WIFI = 1;
samilive2011 0:c3aca5198054 221 }
samilive2011 0:c3aca5198054 222
samilive2011 0:c3aca5198054 223 temp = (adc_temp.read()*100);
samilive2011 0:c3aca5198054 224 if(SendWebPage(LedState, Tsensor_value, Hsensor_value, Psensor_value, ACCELERO_DataXYZ, MAGNETO_DataXYZ, pGyroDataXYZ) != WIFI_STATUS_OK)
samilive2011 0:c3aca5198054 225 {
samilive2011 0:c3aca5198054 226 pc.printf("> ERROR : Cannot send web page\n");
samilive2011 0:c3aca5198054 227 State = WS_ERROR;
samilive2011 0:c3aca5198054 228 }
samilive2011 0:c3aca5198054 229 }
samilive2011 0:c3aca5198054 230 }
samilive2011 0:c3aca5198054 231 }
samilive2011 0:c3aca5198054 232 if(WIFI_StopServer(Socket) == WIFI_STATUS_OK)
samilive2011 0:c3aca5198054 233 {
samilive2011 0:c3aca5198054 234 WIFI_StartServer(Socket, WIFI_TCP_PROTOCOL, "", PORT);
samilive2011 0:c3aca5198054 235 }
samilive2011 0:c3aca5198054 236 else
samilive2011 0:c3aca5198054 237 {
samilive2011 0:c3aca5198054 238 State = WS_ERROR;
samilive2011 0:c3aca5198054 239 }
samilive2011 0:c3aca5198054 240 break;
samilive2011 0:c3aca5198054 241 case WS_ERROR:
samilive2011 0:c3aca5198054 242 default:
samilive2011 0:c3aca5198054 243 break;
samilive2011 0:c3aca5198054 244 }
samilive2011 0:c3aca5198054 245 }
samilive2011 0:c3aca5198054 246
samilive2011 0:c3aca5198054 247
samilive2011 0:c3aca5198054 248 /**
samilive2011 0:c3aca5198054 249 * @brief Send HTML page
samilive2011 0:c3aca5198054 250 * @param None
samilive2011 0:c3aca5198054 251 * @retval None
samilive2011 0:c3aca5198054 252 */
samilive2011 0:c3aca5198054 253 static WIFI_Status_t SendWebPage(uint8_t ledIsOn, float Tsensor_value, float Hsensor_value, float Psensor_value, int16_t ACCELERO_DataXYZ[3], int16_t MAGNETO_DataXYZ[3], float pGyroDataXYZ[3])
samilive2011 0:c3aca5198054 254 {
samilive2011 0:c3aca5198054 255 uint8_t temp[50];
samilive2011 0:c3aca5198054 256 uint16_t SentDataLength;
samilive2011 0:c3aca5198054 257 WIFI_Status_t ret;
samilive2011 0:c3aca5198054 258
samilive2011 0:c3aca5198054 259 /* construct web page content */
samilive2011 0:c3aca5198054 260 strcpy((char *)http, (char *)"HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n");
samilive2011 0:c3aca5198054 261 strcat((char *)http, (char *)"<html>\r\n<body>\r\n");
samilive2011 0:c3aca5198054 262 strcat((char *)http, (char *)"<title>STM32 Web Server</title>\r\n");
samilive2011 0:c3aca5198054 263 strcat((char *)http, (char *)"<h2>Server WIFI</h2>\r\n");
samilive2011 0:c3aca5198054 264 strcat((char *)http, (char *)"<br /><hr>\r\n");
samilive2011 0:c3aca5198054 265
samilive2011 0:c3aca5198054 266 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Pression: <input type=\"text\" size=6 value=\"");
samilive2011 0:c3aca5198054 267 sprintf((char *)temp, "%f", Psensor_value);
samilive2011 0:c3aca5198054 268 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 269 strcat((char *)http, (char *)"\"> mBar");
samilive2011 0:c3aca5198054 270
samilive2011 0:c3aca5198054 271 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Temperature: <input type=\"text\" size=2 value=\"");
samilive2011 0:c3aca5198054 272 sprintf((char *)temp, "%f", Tsensor_value);
samilive2011 0:c3aca5198054 273 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 274 strcat((char *)http, (char *)"\"> <sup>O</sup>C");
samilive2011 0:c3aca5198054 275
samilive2011 0:c3aca5198054 276 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Humidity: <input type=\"text\" size=2 value=\"");
samilive2011 0:c3aca5198054 277 sprintf((char *)temp, "%f", Hsensor_value);
samilive2011 0:c3aca5198054 278 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 279 strcat((char *)http, (char *)"\">%");
samilive2011 0:c3aca5198054 280
samilive2011 0:c3aca5198054 281 /*ACCELERO_DataXYZ*/
samilive2011 0:c3aca5198054 282 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>ACCELERO_X: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 283 sprintf((char *)temp, "%d", ACCELERO_DataXYZ[0]);
samilive2011 0:c3aca5198054 284 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 285 strcat((char *)http, (char *)"\"> ");
samilive2011 0:c3aca5198054 286 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>ACCELERO_Y: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 287 sprintf((char *)temp, "%d", ACCELERO_DataXYZ[1]);
samilive2011 0:c3aca5198054 288 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 289 strcat((char *)http, (char *)"\"> ");
samilive2011 0:c3aca5198054 290 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>ACCELERO_Z: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 291 sprintf((char *)temp, "%d", ACCELERO_DataXYZ[2]);
samilive2011 0:c3aca5198054 292 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 293 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 294
samilive2011 0:c3aca5198054 295 /*MAGNETO_DataXYZ*/
samilive2011 0:c3aca5198054 296 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>MAGNETO_X: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 297 sprintf((char *)temp, "%d", MAGNETO_DataXYZ[0]);
samilive2011 0:c3aca5198054 298 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 299 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 300 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>MAGNETO_Y: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 301 sprintf((char *)temp, "%d", MAGNETO_DataXYZ[1]);
samilive2011 0:c3aca5198054 302 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 303 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 304 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>MAGNETO_Z: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 305 sprintf((char *)temp, "%d", MAGNETO_DataXYZ[2]);
samilive2011 0:c3aca5198054 306 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 307 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 308
samilive2011 0:c3aca5198054 309 /*Gyro_Data*/
samilive2011 0:c3aca5198054 310 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Gyro_X: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 311 sprintf((char *)temp, "%.2f", pGyroDataXYZ[0]);
samilive2011 0:c3aca5198054 312 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 313 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 314 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Gyro_Y: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 315 sprintf((char *)temp, "%.2f", pGyroDataXYZ[1]);
samilive2011 0:c3aca5198054 316 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 317 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 318 strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Gyro_Z: <input type=\"text\" size=4 value=\"");
samilive2011 0:c3aca5198054 319 sprintf((char *)temp, "%.2f", pGyroDataXYZ[2]);
samilive2011 0:c3aca5198054 320 strcat((char *)http, (char *)temp);
samilive2011 0:c3aca5198054 321 strcat((char *)http, (char *)"\">");
samilive2011 0:c3aca5198054 322
samilive2011 0:c3aca5198054 323
samilive2011 0:c3aca5198054 324
samilive2011 0:c3aca5198054 325 ret = WIFI_SendData(0, (uint8_t *)http, strlen((char *)http), &SentDataLength, WIFI_WRITE_TIMEOUT);
samilive2011 0:c3aca5198054 326
samilive2011 0:c3aca5198054 327 if((ret == WIFI_STATUS_OK) && (SentDataLength != strlen((char *)http)))
samilive2011 0:c3aca5198054 328 {
samilive2011 0:c3aca5198054 329 ret = WIFI_STATUS_ERROR;
samilive2011 0:c3aca5198054 330 }
samilive2011 0:c3aca5198054 331
samilive2011 0:c3aca5198054 332 return ret;
samilive2011 0:c3aca5198054 333 }