After putting it off long enough I started working on updating Sanguino to work with Arduino 1.0 and higher. It looks like this could actually be easier then any version since. It looks like the Arduino guys are now doing all core features based on register values. I first saw this tactic from msproul at http://www.avr-developers.com/ and used the same method whenever possible when I was modifying the core for Sanguino.
I haven’t really done any extensive testing but I was able to get blink, SPI, and UART functions working by just adding a ‘variant’ to the original core. This brings up an interesting delema, which is how to install Sanguino. If I stick with it as just a ‘variant’ (which I would really like to do) I need to be able to install into the variant directory which isn’t a big deal, but also append to the board.txt. This is no longer as simple as unzipping an archive into a directory, the boards.txt step would have to be manual or some sort of setup routine run. Not to mention making all of that cross platform. I need to dig deeper but I’m guessing that using things like extra interrupts or UARTs might require actually modifying the core which will make my decision for me. The traditional approach of adding a completely new directory under hardware is an option but I want to make that a last resort.
Anyways, here is my first stab Sanguino-0101-alpha1.zip. NOTE this is meant for people who know the structure of Arduino and aren’t afraid of breaking it. Like I said I have not tested many functions on this version and the install is completely manual at this point. YOU HAVE BEEN WARNED!
— INSTALL.TXT —
******************************************************************************* * Sanguino 0101 * INSTALL.TXT ******************************************************************************* * Changelog * ---------- * 07/15/12 - ryan@ryanmsutton.com - Created Document *******************************************************************************
This is a pre-release version!
It may or may not work with your hardware/software at all. Before installing you should have a good grasp at how to uninstall if you experience issues as well as a full backup of your Arduino enviroment.
Tested Enviroment(s): Arduino 1.0.1 (Linux 32 and 64bit)
Tested board(s): atmega1284p @ 8mhz
Tested Functions: Blink (basic IO) UART0 SPI
Important Stuff not tested: Bootloader Upload I2C Interupts PWM
INSTALL: ***[ARDUINODIR] is the directory where you installed arduino ( ie where the arduino executable exists ) Close Arduino if open Copy the 'sanguino' folder to [ARDUINODIR]/hardware/arduino/variants Append the included boards.txt to [ARDUINODIR]/hardware/arduino/boards.txt
— END —