Datasheet
if(getRequest[5] = 's') then // if request path
name starts with s, store dynamic data in transmit buffer
begin
// the text string replied by this request can be interpret-
ed as javascript statements
// by browsers
len := putConstString(@httpHeader) ; // HTTP header
len := len + putConstString(@httpMimeTypeScript) ; // with
text MIME type
// add PORTC value (buttons) to reply
len := len + putString('var PINC= ') ;
WordToStr(PINC, dyna) ;
len := len + putString(dyna) ;
len := len + putString(';') ;
// add PORTD value (LEDs) to reply
len := len + putString('var PORTD= ') ;
WordToStr(PORTD, dyna) ;
len := len + putString(dyna) ;
len := len + putString(';') ;
// add HTTP requests counter to reply
WordToStr(httpCounter, dyna) ;
len := len + putString('var REQ= ') ;
len := len + putString(dyna) ;
len := len + putString(';') ;
end
else
if(getRequest[5] = 't') then // if
request path name starts with t, toggle PORTD (LED) bit number that
comes after
begin
bitMask := 0;
if(isdigit(getRequest[6]) <> 0) then // if 0
<= bit number <= 9, bits 8 & 9 does not exist but does not matter
begin
bitMask := getRequest[6] - '0' ; // con-
vert ASCII to integer
bitMask := 1 shl bitMask ; // create bit mask
PORTD := PORTD xor bitMask ; // tog-
gle PORTD with xor operator
end;
end;
if(len = 0) then // what do to by default
begin
len := putConstString(@httpHeader) ; // HTTP header
397
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroPASCAL PRO for AVR
CHAPTER 6