diff --git a/examples/testusbhostFAT/Arduino_Makefile_master b/examples/testusbhostFAT/Arduino_Makefile_master new file mode 160000 index 00000000..f379bae0 --- /dev/null +++ b/examples/testusbhostFAT/Arduino_Makefile_master @@ -0,0 +1 @@ +Subproject commit f379bae02aa3d9c3da558ba2041558b88db95bbb diff --git a/examples/testusbhostFAT/generic_storage b/examples/testusbhostFAT/generic_storage new file mode 160000 index 00000000..071b65b9 --- /dev/null +++ b/examples/testusbhostFAT/generic_storage @@ -0,0 +1 @@ +Subproject commit 071b65b923b2656bb1e1b622de5272b4ed9a4996 diff --git a/examples/testusbhostFAT/xmem2 b/examples/testusbhostFAT/xmem2 new file mode 160000 index 00000000..8bcf5f90 --- /dev/null +++ b/examples/testusbhostFAT/xmem2 @@ -0,0 +1 @@ +Subproject commit 8bcf5f90f8bd967378b6eeebd7fd943f125fbc18 diff --git a/printhex.h b/printhex.h new file mode 100644 index 00000000..0c2952e1 --- /dev/null +++ b/printhex.h @@ -0,0 +1,80 @@ +/* Copyright (C) 2011 Circuits At Home, LTD. All rights reserved. + +This software may be distributed and modified under the terms of the GNU +General Public License version 2 (GPL2) as published by the Free Software +Foundation and appearing in the file GPL2.TXT included in the packaging of +this file. Please note that GPL2 Section 2[b] requires that all works based +on this software must also be made publicly available under the terms of +the GPL2 ("Copyleft"). + +Contact information +------------------- + +Circuits At Home, LTD +Web : http://www.circuitsathome.com +e-mail : support@circuitsathome.com + */ +#if !defined(__PRINTHEX_H__) +#define __PRINTHEX_H__ + +#if defined(ARDUINO) && ARDUINO >=100 +#include "Arduino.h" +#else +#include +#endif + +void E_Notifyc(char c, int lvl); + +template +void PrintHex(T val, int lvl) { +#ifdef DEBUG_USB_HOST + int num_nibbles = sizeof(T) * 2; + + do { + char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0f); + if(v > 57) v += 7; + E_Notifyc(v, lvl); + } while(--num_nibbles); +#endif +} + +template +void PrintBin(T val, int lvl) { +#ifdef DEBUG_USB_HOST + for(T mask = (((T) 1) << ((sizeof(T) << 3) - 1)); mask; mask >>= 1) + if(val & mask) + E_Notifyc('1', lvl); + else + E_Notifyc('0', lvl); +#endif +} + +template +void SerialPrintHex(T val) { +#ifdef DEBUG_USB_HOST + int num_nibbles = sizeof(T) * 2; + + do { + char v = 48 + (((val >> (num_nibbles - 1) * 4)) & 0x0f); + if(v > 57) v += 7; + USB_HOST_SERIAL.print(v); + } while(--num_nibbles); +#endif +} + +template +void PrintHex2(Print *prn, T val) { +#ifdef DEBUG_USB_HOST + T mask = (((T) 1) << (((sizeof(T) << 1) - 1) << 2)); + + while(mask > 1) { + if(val < mask) + prn->print("0"); + + mask >>= 4; + } + prn->print((T) val, HEX); +#endif +} + +#endif // __PRINTHEX_H__