= Building the rUNSWift code =

To build the cross-compiler, first download the code from

http://www.cse.unsw.edu.au/~cs3431/local/Openr-stuff.tgz

Untar this and follow the instructions to build the development environment.

=== Checkout ===

To build and install code on the AIBO ERS-7 robots check out a working copy from the [wiki:SubversionRepository Subversion Repository] and change to the trunk/robot directory, then:

=== Configuration ===

edit makefile.config to point to the directory of your memorystick
For example:
 * MEMSTICK=/mnt/ms under linux OR
 * MEMSTICK=/cygdrive/h under cygwin in windows (replace h with drive letter your memory stick appears under windows)

=== Make ===

Type "make". This will build the C++ code and do some configuration stuff.

=== Spip ===

Type
{{{
./spip playerModule IP_postfix [playerNum] [teamNum]
}}}

For example,
{{{
./spip pForward 141
}}}

Choose IP addresses above 30 or so (used by DHCP clients) and below 200 (used by workstations).

=== Team Numbers ===

Starting in 2005 the [wiki:GameController Game Controller] is no longer IP based, but uses team numbers (ie, each uni team will have their unique team number). The dogs needs to know this team number so they can extract their information from the [wiki:GameController Game Controller]. The team number is set by the spip script.

=== mountms === 

(If you are using windows XP, skip this step. just plug in and out your memory stick like it should be =)

Make sure you have a memory stick in your USB-connected card reader and mount it with "mountms" or possibly "mount /mnt/ms". If you just picked up the stick check it's not corrupt.

=== os ===

Install the [wiki:AperiosOpenR Aperios] OS on the memory stick with "./os". You should only have to do this once each time you get a new stick.

=== ins ===

"./ins" to install the rUNSWift code on the stick.

=== Boot ===

Install the memory stick and a battery into an ERS-7 AIBO and power on. After it boots (about 30 seconds) you should be able to telnet to the robot on port 59000.

See [wiki:TroubleshootingRobots Troubleshooting Robots] and [wiki:BuildingDevelopmentEnvironment Building Development Environment]

=== Notes ===

On some systems (particularly OSX), coverage.py is not found by pychecker - you need to copy this into somewhere that pychecker can find this. On OSX, this is:
"/System/Library/Frameworks/Python.framework/Versions/Current/lib/python2.x/" where x is your version of python (there should be only one folder there anyway)