119 Commits (master)

Author SHA1 Message Date
follower e444588173 Add author, license and copyright details. (Which weren't permitted in competition entry source.)
17 years ago
follower 455c965626 Add the tidied up code from my Circuit Cellar design competition entry. This will be the new base for further development.
17 years ago
follower f31d49e1e4 Enable sketches to be uploaded without the Arduino being power-cycled--by waiting for a connection again once a sketch has been uploaded.
17 years ago
follower c27a9e3d25 Argh. That last commit was unintentional--what a mess... :-/ Okay, well, that was the IRC functionality... Gratuitous version change.
17 years ago
follower aac1dc7f2a Change PIN_RESET to match pin on Netduino sheild prototype. NOTE: This is an INCOMPATIBLE change with existing connections. Add SPI_EN pin usage to allow future use of other items on the SPI bus. NOTE: This is *also* INCOMPATIBLE with existing connections. Add sketch upload functionality comment.
17 years ago
follower 7e1137fa16 Quick commit of code to program sketch onto another ATMega chip.
17 years ago
follower bedd180b0f Bah, that previous commit was the *current* uncommited code, which I hadn't intended to commit... Ummm. Yeah. So let's through this stupid thing in.
17 years ago
follower 6dccead96d Fix the file name.
17 years ago
follower a7b171f433 Copy current (old) version of demo to serve as base for serial/net proxy demo.
17 years ago
follower 411a834cd5 Switch our test code back to the non-class style for temporary development purposes.
17 years ago
follower f803ac7c6b Now do the annoying rename...
17 years ago
follower 4813578111 Copy current echo server demo to serve as base for client demo.
17 years ago
follower 2b9fcedc53 Exclude currently unused code so we get a more accurate idea of demo code size (<8.9K).
17 years ago
follower c63aa9aca5 Change demo to enable *four* simultaneous echo server connections at once\!
17 years ago
follower f9153bf652 Update head comments and revision information.
17 years ago
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