@chapter Various Searduino functions/macros
Searduino provides a small set of macros for you. When building for
your local computer they are enabled, and when building for the
Arduino hw they are disabled.

@multitable  @columnfractions .0 .30 .70
@item 
@tab @b{Macro}
@tab @b{Description}
@item
@tab @code{SEARDUINO_STUB}
@tab SEARDUINO_STUB is set when compiling for stub (not Arduino boards)
@item
@tab @code{SEARDUINO_ARDUINO}
@tab SEARDUINO_ARDUINO is set when compiling for Arduino boards
@item
@tab @code{SEARDUINO_LOOP}
@tab On the Arduino boards this is the same as a for loop
(@code{for(;;)}). When using this macro your code can be paused in the simulator.
@item 
@tab @code{SEARDUINO_DEBUG((msg))}
@tab The macro (if not building for Arduino boards) takes what is inside
the parenthesies and passes that to printf. It does a bit more than
that, but put simply, that's what it does. 
Example use: @code{SEARDUINO_DEBUG(("The variable x is:%d",x));}
@*
@i{Note: @b{You must use double paranthesises!}}

@item 
@tab @code{searduino_usb_init()}
@tab If building for Arduino boards this macro initialises the
USB Device (USBDevice). If building for simulator this macro is not
doing anything.
Example use: @code{searduino_usb_init();}

@item 
@tab @code{SEARDUINO_FLUSH_USB}
@tab Flushes the serial buffer. When using USB Devices you must use
this every now and theh, typically in once per loop
Example use: @code{SEARDUINO_FLUSH_USB();}


@end multitable
@*
@*


