Wednesday, June 2, 2010

SF.net SVN: atoygbagps:[18] trunk

Revision: 18
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=18&view=rev
Author: desordenado
Date: 2010-06-02 17:06:25 +0000 (Wed, 02 Jun 2010)
Log Message:
-----------
Added a tool to convert a garmin csv trackpoint file into a c source code that will be compiled later with the application
Added mapViewer example app that displays the map and allows zoom, move and rotation. This will be added to the application at some point.
Modified getNmeaLib so that the tools can use the nmea library.
Modified Paths:
--------------
trunk/getNmeaLib
Added Paths:
-----------
trunk/examples/mapViewer/
trunk/examples/mapViewer/Makefile
trunk/examples/mapViewer/mapViewer.c
trunk/tools/trackPointConverter/
trunk/tools/trackPointConverter/Makefile
trunk/tools/trackPointConverter/trackway_to_array.c

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Wednesday, May 19, 2010

SF.net SVN: atoygbagps:[17] trunk

Revision: 17
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=17&view=rev
Author: desordenado
Date: 2010-05-19 05:21:26 +0000 (Wed, 19 May 2010)
Log Message:
-----------
added 3 different behaviours for what to do when the trak log is full
improved fonts and modified gubia accordingly
Added some tools used to help the modification of the amiga.fnt in libgba
Modified Paths:
--------------
trunk/app/atoy.c
trunk/app/atoy.h
trunk/app/sram_access.c
trunk/app/ui.c
trunk/app/ui.h
trunk/examples/gubia_example/gubia_example.c
trunk/gubia/Makefile
trunk/gubia/gubia.c
trunk/gubia/gubia.h
Added Paths:
-----------
trunk/gubia/atoy_fnt.h
trunk/gubia/atoy_fnt.s
trunk/tools/
trunk/tools/fontStuff/
trunk/tools/fontStuff/Makefile
trunk/tools/fontStuff/font_to_txt.c
trunk/tools/fontStuff/font_to_txt_numbered.c
trunk/tools/fontStuff/txt_to_font.c

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

SF.net SVN: atoygbagps:[16] trunk/app

nRevision: 16
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=16&view=rev
Author: desordenado
Date: 2010-05-16 21:52:34 +0000 (Sun, 16 May 2010)
Log Message:
-----------
added more stuff to the ui
added missing file atoy.h (dumb mistake...)
Modified Paths:
--------------
trunk/app/atoy.c
trunk/app/sram_access.c
trunk/app/ui.c
trunk/app/ui.h
Added Paths:
-----------
trunk/app/atoy.h

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Thursday, May 6, 2010

SF.net SVN: atoygbagps:[15] trunk

Revision: 15
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=15&view=rev
Author: desordenado
Date: 2010-05-05 20:25:11 +0000 (Wed, 05 May 2010)
Log Message:
-----------
Moved ui stuff to a separate file ui.c and ui.h
Moved GUBI objects to the atoy handle
Modified Paths:
--------------
trunk/app/Makefile
trunk/app/atoy.c
trunk/gubia/gubia.h
Added Paths:
-----------
trunk/app/ui.c
trunk/app/ui.h

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Monday, May 3, 2010

Current Status of the Project

This post will try to summarize what is currently implemented in aToy GBA GPS.

  1. GUBIA: The UI engine for basic menus and simple display of the data. This was actually implemented way before the project was created, although it has been improved over the time as the project evolved.
  2. Serial input to application datapath: Implemented a couple of queues to handle the communication between the serial input ISR and the application. The ISR gets a message from the "empty queue", fills it up and sends it to the application through the "full queue". The application gets a message from the ISR from the "full queue", processes it and puts the message back to the empty queue.
  3. NMEA lib integration: I integrated the NMEA lib into the project. The script "getNmeaLib" downloads the library from sourceforge and copies it in a way that can be usable for the project.
  4. Basic Track logging: After some investigation with the libfat library, and learning that it requires the program compiled in multiboot format (or some modifications in the library), I decided not to use libfat and store my tracks in the "save" files. The downside of this is that I am limited in size (64KB), which makes it necessary to store the logs in binary format, but the good thing is that I do not need to care much about the possible corruption if powering off the console while writing to file. This method of logging the track was implemented although it still needs some improvement and a tool to convert the data to a "readable" format.
That is all for now. More to come soon...

SF.net SVN: atoygbagps:[14] trunk/app

Revision: 14
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=14&view=rev
Author: desordenado
Date: 2010-05-02 21:13:38 +0000 (Sun, 02 May 2010)
Log Message:
-----------
added missing sram access functions to log data into saves.
Changed app colors
Modified Paths:
--------------
trunk/app/atoy.c
Added Paths:
-----------
trunk/app/sram_access.c
trunk/app/sram_access.h

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

SF.net SVN: atoygbagps:[13] trunk

Revision: 13
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=13&view=rev
Author: desordenado
Date: 2010-05-02 10:43:36 +0000 (Sun, 02 May 2010)
Log Message:
-----------
added very basic logging of the track by storing it to sram
Modified Paths:
--------------
trunk/Makefile.top
trunk/app/Makefile
trunk/app/atoy.c
trunk/app/uartIsr.c
trunk/gubia/gubia.c

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Monday, April 19, 2010

SF.net SVN: atoygbagps:[12] trunk

Revision: 12
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=12&view=rev
Author: desordenado
Date: 2010-04-18 19:33:47 +0000 (Sun, 18 Apr 2010)
Log Message:
-----------
Added an statistics menu in which I display generic statistics of the software and GPS readings.
Modified Paths:
--------------
trunk/app/atoy.c
trunk/app/uartIsr.c
trunk/gubia/gubia.c
trunk/gubia/gubia.h

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Wednesday, April 14, 2010

SF.net SVN: atoygbagps:[11] trunk

Revision: 11
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=11&view=rev
Author: desordenado
Date: 2010-04-13 21:12:00 +0000 (Tue, 13 Apr 2010)
Log Message:
-----------
added svn repository revision number in the version info
fixed a bug in gubia
Modified Paths:
--------------
trunk/Makefile.top
trunk/app/atoy.c
trunk/gubia/gubia.c
trunk/include/version.h
Added Paths:
-----------
trunk/include/Makefile

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Tuesday, April 13, 2010

SF.net SVN: atoygbagps:[10] trunk

Revision: 10
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=10&view=rev
Author: desordenado
Date: 2010-04-12 22:10:57 +0000 (Mon, 12 Apr 2010)
Log Message:
-----------
Added ISR to application datapath using 2 FIFOs (msgQueue) an empty queue (from App to ISR) and a full queue (from ISR to app).
Added version.h file
Fixed a bug in GUBIA
Modified Paths:
--------------
trunk/app/Makefile
trunk/app/atoy.c
trunk/app/uartIsr.c
trunk/gubia/gubia.c
Added Paths:
-----------
trunk/app/msgQueue.c
trunk/app/msgQueue.h
trunk/app/uartIsr.h
trunk/include/version.h

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Thursday, April 8, 2010

NMEA library

I found this library to handle GPS NMEA messages. It seems to do everything I need and it is released under GPL license. I have added a script that downloads the library from sourceforge and gets the required source code and places it in the nmea directory where I already made a Makefile to build it for GBA.

Wednesday, April 7, 2010

SF.net SVN: atoygbagps:[9] trunk

Revision: 9
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=9&view=rev
Author: desordenado
Date: 2010-04-07 21:27:36 +0000 (Wed, 07 Apr 2010)
Log Message:
-----------
fixed a bug in GUBIA in the drawing function when having empty submenus.
Added the app directory to the compilation process
Modified Paths:
--------------
trunk/Makefile.top
trunk/gubia/gubia.c

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

SF.net SVN: atoygbagps:[8] trunk/app

Revision: 8
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=8&view=rev
Author: desordenado
Date: 2010-04-07 21:25:27 +0000 (Wed, 07 Apr 2010)
Log Message:
-----------
added the actual application. Not doing much yet, just initial menu structure...
Added Paths:
-----------
trunk/app/Makefile
trunk/app/atoy.c
trunk/app/uartIsr.c

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

SF.net SVN: atoygbagps:[7] trunk

Revision: 7
http://atoygbagps.svn.sourceforge.net/atoygbagps/?rev=7&view=rev
Author: desordenado
Date: 2010-04-06 21:20:58 +0000 (Tue, 06 Apr 2010)
Log Message:
-----------
added a script to get the nmea lib from sourceforge and the makefile to build it for GBA.
Added the necessary modifications to include the nmea lib in the makefiles
Modified Paths:
--------------
trunk/Makefile.apps
trunk/Makefile.top
Added Paths:
-----------
trunk/getNmeaLib
trunk/nmea/
trunk/nmea/Makefile

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Tuesday, March 23, 2010

Some Inspiration

Some webs that inspired me to do this project:

Monday, March 22, 2010

Directory Structure explanation

I will try to explain my logic in the directory tree that I created for this project, so that it is easier for other people to use:
  • Branches: Usual svn branches directory, empty now, as there are no branches yet.
  • Tags: Usual svn tags directory, empty now, as there are no tags yet.
  • Trunk: Usual svn trunk directory.
    • app: This is the main application, currently empty, as I have not yet started writting the application code
    • examples: This directory contains some examples that I created to test different characteristics of the GBA and the hardware (this is my current development place).
      • gubia_example: a very simple example to test gubia
      • test_cables: I implemented this app to be able to test which of the cables from the multiple cables inside the link cable. Identifying the different pins in the com port in the usual GBA is easy, but using the GBM it is a pain in the ***.
      • serial_input: This application tests the serial input in the GBA by implemented an interrupt driven receive example.
      • ... More examples to come...
    • gubia: Gubia is a very simple library that implements the GUI that I plan to use for this project. It still a work in progress, but it is fairly usable already.
    • ... More libraries to come...
    • include: Common include files should be placed here
    • library: Library object code gets placed here upon valid compilation
    • objects: This folder is used temporary in the compilation process of the project

I am ready to start the application development now!!! soon the track logging will be available... stay alert!!!

P.D. BTW...  I am using devKitPro as my toolchain and all my makefiles rely on DEVKITARM and DEVKITPRO correctly defined to the location of the devkitarm and devkitpro directories respectively.

Sunday, March 21, 2010

What is aToy GBA GPS?


aToy GBA GPS is an open source project that will try to implement a GPS tracking system + Bike computer in a Nintendo Game Boy Advance.

The picture above shows the ingredients of this DIY project:
  • Game Boy Micro (small version of the Game Boy Advance, AKA GBA)
  • MiniSD M3 perfect flash card, for using homebrew games in the GBA/GBM
  • Link cable (shown cut in half in the picture)
  • Custom Nintendo screwdriver (not really necessary, but just in case)
  • SKYLAB SKM53 GPS module (which I got from ctombaugh on eBay, excelent deal, BTW)
Another NMEA compatible GPS module working at 9600 bauds will also work (other baudrates could also be used with a simple code modification).

You may think that using a GBA is a bit outdated, but hey, it is what I got available.

You will be able to find the code for this project in the sourceforge page: https://sourceforge.net/projects/atoygbagps/
I will be posting all my progress in this blog so that it is easy to replicate/improve/fix. I might be redirecting my svn logs into this blog also, so that it is even easier to follow my changes