Competitors - getting started


Getting entry

In order to compete in Formula Pi you must first purchase your entry ticket via our PiBorg website.

For the Summer 2017 series click here.
For the Winter 2017 series click here.

After we have received your entry we will send you the "Formula Pi Registration Information" document via email to fill in.
This has your entry number and the FTP access details needed to send us your Race Code for each event.

Please make sure you have info@piborg.org and info@formulapi.com added to your email allow list to make sure you receive messages from us.


Getting the standard Race Code

The code will be available on SourceForge here: https://sourceforge.net/p/formulapi/code/ci/monster/tree/

As the code will only be available to competitors you will all need a SourceForge login to access the project.
Anyone who does not have a SourceForge account can sign up for one here: https://sourceforge.net/user/registration

We will send you an email asking for your SourceForge details, please reply to this email with your username so we can add you to the access list for the project.
Your SourceForge details can also be provided in the "Formula Pi Registration Information" document, if we have them already they will be filled in for you.

If you are setting up a Raspberry Pi to test the code with we recommend following our instructions to build a standard SD card image.
This will be the same SD card image we transfer your code onto on race day.
You can find the instructions to do this here.

Once you have access you will be able to clone it onto your Raspberry Pi using git.
Run the commands below, but replace username with your SourceForge username:

cd ~
git clone -b monster ssh://username@git.code.sf.net/p/formulapi/code formulapi


Running the simulator

We have some help in the Guides directory to help with getting started modifying code and running simulations.
Once you have access they can be found here: https://sourceforge.net/p/formulapi/code/ci/monster/tree/Guides/

The simulation can be found in the Simulation directory.
See the Guides/Simulation modes.txt guide for getting going with the simulation.
Look for the [SimulationFull.py] section for the instructions to get the simulation to run correctly.


Submitting your Race Code entry

We have a helper script for uploading your modified Race Code to our FTP server as part of the standard Race Code.
This will make the process of sending your code to us easier.

Your FTP access details will be provided in the email with the "Formula Pi Registration Information" document.

If you need to customise your Raspberry Pi installation you will need to send us your fully setup SD card.
In this case please contact us and let us know this is your intention, also make sure you allow enough time for the card to be posted to us.

To be able to submit your code using our script from a Raspberry Pi you will need to first install the ftp program using these commands:

sudo apt-get update
sudo apt-get -y install ftp

To upload your code run these commands replacing EntryNumber and FtpPassword with the details on your registration form:

cd ~/formulapi
./fpi-upload.sh EntryNumber FtpPassword

For example:

cd ~/formulapi
./fpi-upload.sh 99 2q50t756q3

Alternatively you can login to our FTP server at 217.36.211.159 and upload your code manually.
This should be the contents of the ~/formulapi directory compressed using tar like this:

tar -czvf formulapi.tar.gz -X tar.exclude *

Make sure your code is saved as formulapi.tar.gz on the FTP or it will not be correctly installed on the YetiBorg on race day!

After a race or test session we will upload the content of the logs directory back to this FTP server.
They will be compressed with tar like the code is to keep the log sizes small.


Event dates and submission deadlines

You can find the full list of dates here.

In general the submission deadline for testing and race rounds is 13:00 GMT on the Friday before an event week.
The actual races will all be on the same week, starting from the Monday.

We suggest submitting your code for each round as early as possible in case there are problems and you need to contact us.