X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/a7be12a4e68fcaaa92f81a394bc316a592ec6270..0e08764c8201f13bd03e685bfc7a2e5ee65dc540:/sysinit.c?ds=sidebyside diff --git a/sysinit.c b/sysinit.c index 9734d23..0385a21 100644 --- a/sysinit.c +++ b/sysinit.c @@ -39,6 +39,7 @@ #include #include #include +#include #include "sysinit.h" @@ -54,7 +55,7 @@ #endif #ifdef CFG_CHIBI - #include "drivers/chibi/chb.h" + #include "drivers/rf/chibi/chb.h" #endif #ifdef CFG_USBHID @@ -87,8 +88,8 @@ #endif #ifdef CFG_I2CEEPROM - #include "drivers/eeprom/mcp24aa/mcp24aa.h" - #include "drivers/eeprom/eeprom.h" + #include "drivers/storage/eeprom/mcp24aa/mcp24aa.h" + #include "drivers/storage/eeprom/eeprom.h" #endif #ifdef CFG_PWM @@ -102,8 +103,16 @@ DWORD get_fattime () { - // ToDo! - return 0; + DWORD tmr = 0; + + // tmr = (((DWORD)rtcYear - 80) << 25) + // | ((DWORD)rtcMon << 21) + // | ((DWORD)rtcMday << 16) + // | (WORD)(rtcHour << 11) + // | (WORD)(rtcMin << 5) + // | (WORD)(rtcSec >> 1); + + return tmr; } #endif @@ -298,3 +307,61 @@ int puts(const char * str) return 0; } + +// Override printf here if we're using Crossworks for ARM +// so that we can still use the custom libc libraries. +// For Codelite and compiling from the makefile (Yagarto, etc.) +// this is done in /core/libc + +#ifdef __CROSSWORKS_ARM + +/**************************************************************************/ +/*! + @brief Outputs a formatted string on the DBGU stream. Format arguments + are given in a va_list instance. + + @param[in] pFormat + Format string + @param[in] ap + Argument list +*/ +/**************************************************************************/ +signed int vprintf(const char *pFormat, va_list ap) +{ + char pStr[CFG_PRINTF_MAXSTRINGSIZE]; + char pError[] = "stdio.c: increase CFG_PRINTF_MAXSTRINGSIZE\r\n"; + + // Write formatted string in buffer + if (vsprintf(pStr, pFormat, ap) >= CFG_PRINTF_MAXSTRINGSIZE) { + + puts(pError); + while (1); // Increase CFG_PRINTF_MAXSTRINGSIZE + } + + // Display string + return puts(pStr); +} + +/**************************************************************************/ +/*! + @brief Outputs a formatted string on the DBGU stream, using a + variable number of arguments + + @param[in] pFormat + Format string +*/ +/**************************************************************************/ +signed int printf(const char *pFormat, ...) +{ + va_list ap; + signed int result; + + // Forward call to vprintf + va_start(ap, pFormat); + result = vprintf(pFormat, ap); + va_end(ap); + + return result; +} + +#endif