Datasheet

if(memcmp (@getRequest, @tmp, 5) <> 0) then ' only GET method is
supported here
result = 0
exit
end if
httpCounter = httpCounter + 1 ' one more request done
if(getRequest[5] = "s") then ' if request path
name starts with s, store dynamic data in transmit buffer
' the text string replied by this request can be interpreted
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(";")
else
if(getRequest[5] = "t") then ' if request path
name starts with t, toggle PORTD (LED) bit number that comes after
bitMask = 0
if(isdigit(getRequest[6]) <> 0) then ' if 0 <=
bit number <= 9, bits 8 & 9 does not exist but does not matter
bitMask = getRequest[6] - "0" ' convert ASCII
to integer
bitMask = 1 << bitMask ' create bit mask
PORTD = PORTD xor bitMask ' toggle PORTD
with xor operator
end if
end if
end if
386
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroBasic PRO for AVR
CHAPTER 6