122 Commits (9a9ff8ed2a66e24dfac89938fccc22e6aaa2c70b)
 

Author SHA1 Message Date
follower 9a9ff8ed2a Use new 'EchoServer' classes for demo instead of old non-class demo. Run two echo servers simultaneously on ports 7 & 8 for one connection each. Note: When I first did this I didn't realise that the driver/chip seems to function quite happily when two servers listen on the same port--it seems to queue them.
17 years ago
follower 43c20bf422 Add guts of 'EchoServer' state machine. (Currently unused.)
17 years ago
follower 11551d3b61 Add defines for echo server state machine states. Add place to store current state. Initialise first state and listen. (Currently unused.)
17 years ago
follower b2ed21239a Add rough hacky method to allow multiple sockets to be created. This needs to be fixed to (a) not create more than MAX sockets and (b) reuse sockets that have been closed. TODO: DO THIS PROPERLY\!
17 years ago
follower a1e0e9864b Add comment about the need to investigate if we need to use 'disconnect' or not.
17 years ago
follower e9e5b4dd44 Remove redundant 'NetworkConnection::' namespace reference.
17 years ago
follower 677877160c Add initial skeleton for EchoServer class. (Not yet used.)
17 years ago
follower 4f372c3010 Add single byte 'print' function to send data. The name is to match the 'Serial.print' function. TODO: Print strings etc? Change demo to echo data received to sender.
17 years ago
follower 7d38f68179 Add 'available()' method to connection to match 'Serial.available()'. Change 'read()' method to match behaviour of 'Serial.read()'. Document some of this. Print bytes received from the demo to the console.
17 years ago
follower e76648310b Change 'read' declaration to return an int to match the 'Serial.read' functionality--I don't overly like the approach but that's what I'm wanting to be compatible with. Note: We haven't actually matched the behaviour yet.
17 years ago
follower 695136deb2 Correct comment about 'read' blocking for data--it seems that 'recv' actually doesn't block after all.
17 years ago
follower 89bb89f05a Close connection when demo is finished.
17 years ago
follower 265a634089 If the connection 'listen' method fails we bail into an infinite loop. TODO: Provide a way for the caller to detect and handle this kind of error?
17 years ago
follower 2fc2cf46a8 Change connection listen method to return a boolean indicating whether the socket began to listen successfully. TODO: Use this value usefully.
17 years ago
follower b0cfc84abe Add a comment about default socket possibility.
17 years ago
follower 4979f30019 Add connection byte read method--not yet used.
17 years ago
follower c89615a4a3 Store maximum number of sockets available to us. Note: We don't use this currently as we hardcode to always use socket number 0--which means things will break if someone tries to create more than one socket. TODO: Fix this, obviously... :-)
17 years ago
follower 5e153c539e A quick fix to enable things to work again. The bug occurred because the socket number supplied to the socket creation/activation routine was never correctly initialised. I had thought a call to 'socket' routine returned the socket number in the first parameter, but it turns out I was supposed to _supply_ the socket number. (I had misunderstood what was hidden behind the 'SOCKET' type definition.) Oddly enough it took nearly two months before this mistake caused something to stop working (seemingly)--it seems nonsensical values didn't always cause failure. TODO: Investigate this further? TODO: FIx properly to allow multiple sockets and tracking thereof.
17 years ago
follower 8247d829a2 Add method to close socket. NOTE: This change BREAKS THINGS and the demo NO LONGER FUNCTIONS. The problem is however unrelated to the commit--this code simply reveals an already existing bug due to the socket number being uninitialised. Now I've found out why the problem occurs I can fix it in the next commit.
17 years ago
follower e4dfd94a4c Change 'listen' methods to take a 'uint16_t'. Temporarily include a test socket creation--THIS BREAKS the webserver demo. NOTE/TODO: Supplying port numbers greater than 255 IS BROKEN--I don't know why--see comments for more details.
17 years ago
follower 6e0f16aec1 Add 'isConnected' method to 'NetworkConnection' in prepartion for use.
17 years ago
follower 45481088d4 Add initial skeleton of the plain socket wrapping 'NetworkConnection' class--it is not yet used though.
17 years ago
follower 228508d0a9 Move and reword configuration debug messages.
17 years ago
follower 06f8f9a220 Remove test code. TODO: Add check/diagnostic ability to determine if the module and driver are functioning correctly?
17 years ago
follower 4aaf08a396 Move default configuration into NetworkInterface constructor. Change default values.
17 years ago
follower 3e04fbc259 (*Much* later...) Include skeleton of 'NetworkInterface' class and enable it to be initialised with a pre-configured 'Wiz810MjDevice' instance. (This required the use of 'References' and an 'initialization list' which was all news to me...)
17 years ago
follower 0252654324 Remove old configuration data.
17 years ago
follower d8f3eb266e Convert MAC address configuration to class method.
17 years ago
follower b7867b8f80 Add six-byte buffer packing method to allow for MAC address configuration.
17 years ago
follower 0abd75b40c Fix variable name in 'setIp' declaration. Add and convert to methods for configuring net mask and gateway.
17 years ago
follower 0cc5fc9107 Move scratch buffer manipulation into helper method. Convert IP address configuration to use new method.
17 years ago
follower 395266e282 Begin moving network configuration into Wiz class and convert IP address configuration to the new method.
17 years ago
follower c61d2ef510 Move network module initialisation into class.
17 years ago
follower 732e4ac846 Add skeleton of Wiz810MJ class.
17 years ago
follower 5f2b65048d Change SPI configuration to use an object so we can match the 'Foo.begin()' convention of the standard Arduino Serial configuration people are used to seeing.
17 years ago
follower 11ab05e210 Move SPI configuration function into a static class method of the SPI class.
17 years ago
follower 89111a4e8c Add skeleton of SPI class.
17 years ago
follower 4377145f3e Fix the filename.
17 years ago
follower 2f5c9a5c42 Now that we've slightly tidied up WizDemo3 we'll leave it in peace.
17 years ago
follower 621951f38a Simplify state machine defs and remove unneeded ones.
17 years ago
follower fb104053ee Remove now unused 'sendPrompt' routine.
17 years ago
follower 2e4f5189df Add some comments to 'readMatch'.
17 years ago
follower 3d3d14263a Use new 'readMatch' routine to match start of the request to simplify state machine.
17 years ago
follower e732cd1a42 Add routine to read and match bytes received. (Essentially strcmp replacement without requiring a large receive buffer.) Note that failed matches drop any bytes matched successfully.
17 years ago
follower a099cfd0af Tidy up code by removing now unused rx buffer and other dead code/comments.
17 years ago
follower b2fe6b8e9c Move the byte receiving into a convenience function and stop using the rx buffer.
17 years ago
follower 5e9cbb88e0 Of course, it might be nice if we change the filename to be consistent too. (Also, the following changes are really 'back-porting' from a demo version I have on local disk.)
17 years ago
follower 346522a470 Start working on a new 'tidier' version of the webserver demo but keep the old one around so we don't confuse people with a broken one...
17 years ago
follower 3d6b27c0e3 Fix for Safari not displaying the response correctly--the issue was it displayed the Content-Type header in the page--seemingly due to using '\r' in the response (I thought this was required...). Also change the buffer offset used to change the page background colour to match the corrected response string.
17 years ago
follower 3b8dab23f0 Apply xSmurf's fix for the order of socket close/disconnect. With this fix Safari isn't left hanging, but the response isn't displayed 100% correct due to another bug--a fix for that comes up next.
17 years ago