Hello
1-Actually, Im using the http_demo project to control the mcb2300 through some web pages. But Im wondering why the LCD or the LED pages don't work. I can't make the leds blink. After some debugging, I found out that the program does'nt step into the "do{}...while(dat)" of the cgi function cgi_process_data and I don't no why.
Can someone help me on this matter?
In order to compile the http_demo project, I had to modifiy the function cgi_process_data: Instead of 3 arguments, it takes only 2 arguments according to the function declaration in config.h; I removed the part that depends on the removed argument "code":
void cgi_process_data (U8 *dat, U16 len) { /* This function is called by HTTP server to process the returned Data */ /* for the CGI Form POST method. It is called on SUBMIT from the browser. */ U8 passw[12],retyped[12]; U8 *var,stpassw; P2 = 0; LEDrun = __TRUE; if (len == 0) { /* No data or all items (radio, checkbox) are off. */ LED_out (P2); return; } stpassw = 0; var = (U8 *)alloc_mem (40); do { /* Parse all returned parameters. */ dat = http_get_var (dat, var, 40); PutHexUart0(var, 40); sendchar('O'); if (var[0] != 0) { /* Parameter found, returned string is non 0-length. */ if (str_scomp (var, "led0=on") == __TRUE) { P2 |= 0x01; } else if (str_scomp (var, "led1=on") == __TRUE) { P2 |= 0x02; } else if (str_scomp (var, "led2=on") == __TRUE) { P2 |= 0x04; } else if (str_scomp (var, "led3=on") == __TRUE) { P2 |= 0x08; } else if (str_scomp (var, "led4=on") == __TRUE) { P2 |= 0x10; } else if (str_scomp (var, "led5=on") == __TRUE) { P2 |= 0x20; } else if (str_scomp (var, "led6=on") == __TRUE) { P2 |= 0x40; } else if (str_scomp (var, "led7=on") == __TRUE) { P2 |= 0x80; } else if (str_scomp (var, "ctrl=Browser") == __TRUE) { LEDrun = __FALSE; } else if (str_scomp (var, "pw=") == __TRUE) { /* Change password. */ str_copy (passw, var+3); stpassw |= 1; } else if (str_scomp (var, "pw2=") == __TRUE) { /* Retyped password. */ str_copy (retyped, var+4); stpassw |= 2; } else if (str_scomp (var, "lcd1=") == __TRUE) { /* LCD Module Line 1 text. */ str_copy (lcd_text[0], var+5); LCDupdate = __TRUE; } else if (str_scomp (var, "lcd2=") == __TRUE) { /* LCD Module Line 2 text. */ str_copy (lcd_text[1], var+5); LCDupdate = __TRUE; } } }while (dat); free_mem ((OS_FRAME *)var); LED_out (P2); if (stpassw == 0x03) { len = strlen ((const S8 *)passw); if (mem_comp (passw, retyped, len) == __TRUE) { /* OK, both entered passwords the same, change it. */ str_copy (http_auth_passw, passw); } } }
the lcd_cgi and led_cgi are unmodified. Any Idea?
2-How can I execute some c instructions by clicking on some html buttons put on a page?? Here a page example:
const U8 commands_cgi[] = { "t <html><head><title>Button inputs</title>\r\n" "t <script language=JavaScript type=\"text/javascript\" src=\"xml_http.js\"></script>\r\n" "t <script language=JavaScript type=\"text/javascript\">\r\n" "# Define URL and refresh timeout\r\n" "t var formUpdate = new periodicObj(\"buttons.cgx\", 300);\r\n" "t function periodicUpdate(f, indx) {\r\n" "t f.cmd.value=indx; \r\n" "t f.submit(); \r\n" "t }\r\n" "t </script></head>\r\n" "i pg_header.inc\r\n" "t <form action=\"commands.cgi\" method=\"post\" id=\"form1\" name=\"form1\">\r\n" "t <table align=\"center\" border=\"0\" vAlign=\"center\" width=99%><font size=\"3\">\r\n" "t <tr bgcolor=#aaccff>\r\n" "t <th width=60%>900 Commands</th>\r\n" "t </tr>\r\n" "t <tr>\r\n" "t <td height = \"40\">\r\n" "t </td>\r\n" "t </tr>\r\n" "t <tr>\r\n" "t <tr><td align=\"left\">\r\n" "c g 0 <input type=text name=cmd value=\"0\" size=2 maxlength=6 >\r\n" "t <br /><br /></td></tr>\r\n" "t <tr>\r\n" "t <td align=\"left\" width = 30%>\r\n" "c g 1 <input id=\"Button1\" type=\"button\" value=\"Move to Front\" onclick=\"submit()\">Â Â Â \r\n" "c g 2 <input id=\"Button2\" type=\"button\" value=\"Move to Rear\" onclick=\"periodicUpdate(this.form, 2)\">Â Â \r\n" "c g 3 <input id=\"Button3\" type=\"button\" value=\"Move to Printer\" onclick=\"periodicUpdate(this.form, 3)\"\">Â \r\n" "c g 4 <input id=\"Button4\" type=\"button\" value=\"Move to Reader\" onclick=\"periodicUpdate(this.form, 4)\"\">Â \r\n" "c g 5 <input id=\"Button5\" type=\"button\" value=\"Move to Feeder\" onclick=\"periodicUpdate(this.form, 5)\"\">\r\n" "t </td>\r\n" "t </tr>\r\n" "t </font></table>\r\n" "t </form>\r\n" "i pg_footer.inc\r\n" ". End of script must be closed with period.\r\n" };
Thanks for your help! Thanks in advance