Archive for the ‘Detailed log’ Category

Networking

Wednesday, September 20th, 2006

It turns up that making the network thing work correctly isn’t that easy. When the client is connected and the server quits, the recv call doesn’t terminate even though we send a signal to the thread.

However, when the client resets the connection (by quitting without disconnecting the proper way), the recv call terminates and sets errno to ECONNRESET.

Both cases should be handled correctly by the threads and the socket class. This includes joining the threads because one of the threads segfaults otherwise. Perhaps using different exception classes for different conditions (e.g. ECONNRESET) is a viable solution.

Apart from diagnosing this problem, a simple simulation was made to work today. It just moves the ball from side to side on the table.

Two-way conversations are more fun

Monday, September 18th, 2006

Today we continued our work on the simulator. The user interface is now two-ways on the server-side, since we are planning on using the client GUI as a UI for the simulator. Which means setting the ball position. In practice this was accomplished by using two threads instead of one, because the socket implementation we are using doesn’t allow non-blocking receive calls.

Random coding

Thursday, September 14th, 2006

Today we didn’t accomplish a whole lot. The debugging system in the AI program has been renamed to “Logger” and is now improved by having different logging levels. A lot more info is now being logged.

We looked around for the client program for a while but couldn’t find the latest version. An older version was recovered though, and it turned out to work after a few adjustments. Did you know that when converting strings to floats in C#, you have to provide formatting info, telling the framework whether you’re using a comma or a dot as the decimal separator? Well, it does. And if you don’t provide it, it will take a guess based on your OS setting. If the guess is wrong (say, trying to convert “1.23″ but using a comma as the separator), the conversion fails silently. That’s kind of nice to know I think.

Our computer turns out not to be too stable – sometimes it just hangs and a reboot is necessary. It’s a bit weird since it’s a fresh installation. Perhaps it has to do with the image it was installed from, not being completely compatible with the hardware?

Wednesday, September 13th, 2006

Got the new machine today. Also made the sshmount program work using ethernet connection, so now we have two workstations. Fixed the rotation MC so it doesn’t oscillate at the wanted position. Decided to use ifdef’s instead of interfaces to implement the simulator.

One of these days…

Monday, September 11th, 2006

Ordered a 64-bit machine with VS 2005 and AVR Studio for delivery wednesday. Found a tool for mounting sftp connections as network drives for my mac. Unfortunately there seems too be a connection problem at our desk when running windows through parallels, every fifth package is lost when pinging, making it impossible to use the sftp mounting program.
This problem is probably fixable if a wirebased connection could be obtained. We might have to dual-boot into windows using boot camp, since that also solves the problem. It would be nice using parallels though, dual-booting is never a fantastic solution.
Also tampered with the MC software for the rotation, trying to minimize the area of slack (where the mc software thinks its close enough to the desired position), but unsuccesfully.

Preliminary stuff

Friday, September 8th, 2006

Installed VS 2005 on my macbook pro. Created a map of the entire AI app. Also created some interfaces to allow easy swaps of classes which are needed when the simulator of the table is complete.

All nice and clean

Thursday, September 7th, 2006

Handed in introductory report. Cleaned up the mess our workspace had become. Getting a new machine hopefully monday.
Tomorrow it’s time for creating a piece of software that acts as a simulator of the table. This will allow us to work on the AI without relying on the working state of the hardware.

Finished introductory report

Wednesday, September 6th, 2006

Done with the introductory report. Hopefully to be printed out tomorrow and handed in.