Thursday, November 4, 2010

NMEA Parser

I wrote some nice code today to parse the NMEA input.  We are able to gather latitude, longitude, altitude, and depth data.  The code can be found in our svn repository.

Wednesday, October 27, 2010

SD Card socket

I mounted the SD card socket, and necessary resistors, onto a piece of perfboard.  Below is the pinout.  The pin numbers correspond to inputs on the Arduino for the SD card library we are using.


Below is the schematic 

Progress Report (Presentation)

Get the final draft here

Thursday, October 7, 2010

Desktop Application Update

Since Sage uses python, and I have experience using Python/Tk, it made sense to write the desktop application in Python.  The project has been codenamed Chamomile and has been imported into our SVN repository.  It's still very much a work in progress, but check out the screenshot below.

Thursday, September 30, 2010

Tuesday, September 28, 2010

UPDATE: Sage vs Mathematica

Sage is the winner.  Period.  It accomplishes the same thing that Mathematica does except it does so for free.  Sage is also open source.  It appears to integrate nicely with python (as does the Arduino).  Since I have experience using Tkinter to build GUIs in python, we should be able to get the desktop application complete on schedule.

Below is a graph I generated using Sage.  The data was generated using the (updated) java script I wrote before.  Just as in Mathematica, the graph is interactive and can be rotated with the mouse.



Below is the updated java code that generates a sample dataset for Mathematica and Sage.

import java.util.Random;
public class datamake {

    public static void main(String[] args) {
        Random gen = new Random();
        int rdm = 0;
        String mathematica = "";
        String sage ="";
        
        mathematica += ("ListSurfacePlot3D[{"); 
        sage += ("list_plot3d([");
        for(int i = 0; i < 10; i++){
            for(int j = 0; j < 10; j++){
                if(gen.nextInt() %4 == 0){
               rdm = gen.nextInt(5);
               mathematica += ("{" + i + "," + j + "," + rdm + "},");
               sage += "(" + i + "," + j + "," + rdm + "),";
                }
            }
        }
        mathematica = mathematica.substring(0,mathematica.length()-1);
        mathematica += ("}]");
        
        sage = sage.substring(0, sage.length()-1);
        sage += "])";
        
        
        System.out.println(mathematica);       
        System.out.println(sage);
    }

Saturday, September 25, 2010

Sage vs Mathematica

I found this program called Sage that claims to be an open source alternative to Mathematica.  It runs natively in Linux and inside a VMWare virtual machine in Windows.  The documentation makes it appear as if Sage will accomplish the same thing we are trying to use Mathematica for. I'm installing it now (about a 20 min process) and  I'll post an update later today explaining the outcome.