Stoopid Net Trick
Dennis Crowley // dens@dodgeball.com
Lost? Back to the description of this project
' set up input and output buffers in memory:
dim outputBuffer(1 To 42) as byte 'remember, BX needs 9 bytes of its own // 42 bytes - 9 for bx = 31 chars in http GET command (see below)
dim inputBuffer(1 To 11) as byte '9 bytes // 11 bytes - 9 for bx = 2 bytes for data from web page (which is only 2 chars anyway)
' variables for dealing with incoming serial data:
dim bConnected as boolean
dim gotaByte as boolean
dim dataByte as byte
dim dataValue as byte
' strings for sending out through the CoBox:
dim sendString as String
dim connectString as String
dim sendGetInfo as String
' constants for the serial port and the ADC:
const serOutPin as byte = 11
const serInPin as byte = 12
'variables for CoBoxGame
dim inData as byte
dim switchDown as byte
dim helloString as String
dim strData as String
Sub main()
call delay(0.5)
'debug.print ":: start"
debug.print "stage 2"
bConnected = false
'connect to stage.itp.nyu.edu, port 80
connectString = "C128.122.253.189/80" & chr(10)
debug.print "stage 3"
' set up serial port:
call defineCom3(serInPin, serOutPin, bx1000_1000)
' open the input and output buffers:
call openQueue(outputBuffer, 42)
call openQueue(inputBuffer, 11)
call openCom(3, 9600, inputBuffer, outputBuffer)
' connect:
debug.print "stage 4"
if bConnected = False then
' tell the coBox to open a connection: // this is basic serial shit from last semester
call putQueueStr(outputBuffer, connectString)
debug.print "connected"
bConnected = True
elseif bConnected = True then
debug.print "connection = true"
else
'added this before we figured out you could bump "Maxium String Length" in the BasicX env
debug.print "connection = not getting into loop"
end if
'add delays after the connect string (give the cobox some time to think)...
call delay(0.5)
sendGetInfo = "GET /~dc788/cobox/cobox.html" & chr(10) & chr(13) '31 chars + 9 for the bx = 40 buffer size
call putQueueStr(outputBuffer, sendGetInfo)
'add delays after sending the GET command
call delay(0.5)
call doStuff
end sub
sub doStuff()
do
call serialCheck()
call delay(1.0)
loop
End Sub
sub serialCheck()
' find out if anything is in the queue. // gotaByte = true or false
gotaByte = statusQueue(inputBuffer)
debug.print cstr(gotaByte)
if (gotaByte = true) then
call getQueue(inputBuffer, dataByte, 1)
strData = chr(dataByte)
debug.print strData
else
'if the bx starts spitting FALSE, then the buffer is empty. this sends the cobox back to refill the buffer
call delay(1.0)
call Main()
'i may need somthing here that CLOSES the connection
end if
end sub
|