Support for a Microchip 24xx32A EEPROM module attached to the I2C bus, like the DigiX has onboard
set ENDDB to 4k when using Microchip 24xx32A EEPROM.
implemented read cache for external i2c eeprom
Merge pull request #19 from remcoder/master

Support for a Microchip 24xx32A EEPROM module attached to the I2C bus, like the DigiX has
Remove conioh.h and mygetch.c, these were unused
Only add the "baud" function when SOFTWARE_SERIAL_TX is defined

The setBaud function used by the "baud" function (e.g., called by
func_setBaud) was only defined when SOFTWARE_SERIAL_TX, but the "baud"
function was enabled whenever TINY_BUILD was not defined. This caused a
compilation failure when SOFTWARE_SERIAL_TX was disabled but TINY_BUILD
was not enabled.
Don't reference find_user_function with TINY_BUILD

That function will not be defined, causing a compiler error. To properly
fix this, the USER_FUNCTIONS macro is moved from bitlash-functions.c to
bitlash.h, so it can be used in bitlash-parser.c as well.
Fix use of AVR GPIO registers

The previous macros were syntacticaly invalid and caused a compiler
warning. Additionally, for targets that have GPIOR0 but not GPIOR1 they
would cause compiler errors. This fixes both issues.
Don't include Arduino.h in bitlash.cpp

This is already done in bitlash.h, so this is not needed.
Don't include bitlash-unix.c from bitlash.cpp

Since there is a Makefile in src that just compiles the individual
source files in src/ which does not need bitlash.cpp at all, it seems
pointless to also support compiling the unix build by compiling
bitlash.cpp manually.
Rename all source files from .c to .cpp

In the Arduino build, they were being compiled as cpp already, since
they were included by bitlash.cpp. This makes this fact more clear. In
the UNIX build, they were compiled as .c, so this commit temporarily
breaks the unix build.
Update the UNIX build Makefile to work with .cpp files

This allows the Makefile to compile the code again, though it cannot be
compiled correctly yet.
Make sure all functions are properly declared

Now that we changed the filenames to .cpp, the UNIX_BUILD actually
compiles them as C++ instead of C. This means we have to make sure that
all functions are properly declared before being used (in C, using a
function without a declaration would make the compiler just declare it
on the spot, but this is not possible in C++ due to name mangling).

Since the regular Arduino build already happened under C++, all the
functions needed there were already declared.

Additionally, this adds a "mode" parameter to the mkdir call, since that
was left out (which didn't cause any compilation errors previously, but
probably caused a random undefined value to be passed to mkdir).
Explicitely set -DUNIX_BUILD in the Makefile

Previously, UNIX_BUILD was automatically set, but this only worked on
x86 and x86_64. Since the only point of the Makefile is to do UNIX
builds, it might as well set the define explicitely, which could make
the code work on other architectures out of the box as well.
Only enable fprintf and save when SERIAL_OVERRIDE is enabled

Their implementations need to override the output function and cannot work
without that.