- "." is a string literal, and so is treated as the char '.' plus the null char '\0'.
- Single quotes reduces the necessary memory for this literal to only one char instead.
A string literal as the one actually present may require the use of the
method "write(const char *str)", so there could be also a performance overhead.
- Another reason to change quotes style is for consistency with line 235.
Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
On Linux, setting autosuspend_delay_ms to N and control to auto allows the host pc to suspend the peripheral. Some Linux distro (Ubuntu, Mint) apply this behaviour by default.
If the sketch's prints where less frequent than N milliseconds the sketch prints would never arrive.
This patch allows sending a remote wakeup event to unsuspend the peripheral and allow the serial prints to be received.
to allow WebUSB development, provide a way to change the USB_VERSION reported
using an additional core.
The additional (webUSB) core will survive IDE and AVR core updates
In an excess of confidence, these defines were added to Leonardo's variant.h
3rd party boards sometimes avoid inheriting this variant but they still define USBCON, thus breaking the build
As I was not able to base the return types of `begin()` & `end()` off the c_str() function, I have changed the source so the features can be used by C++98 code, while still allowing ranged loops in C++11.
Replaces #4280, only checks for the bootloader once
Tested with Hoodloader2, should work with every LUFA-derived bootloader released after 2014 (.apitable_signatures section must be placed at end of the flash)
BootloaderAPITable.S :
.global BootloaderAPI_Signatures
BootloaderAPI_Signatures:
.long BOOT_START_ADDR ; Start address of the bootloader
.word 0xDF00 ; Signature for the CDC class bootloader
.word 0xDCFB ; Signature for a LUFA class bootloader
makefile:
BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
Avoid using the overload of print() for signed integer since a negative value is not allowed here.
This results in a smaller (unless print(int) is used somewhere else in the program) and faster code because the overload for unsigned integer is simpler.
The current code is very verbose and a painful to maintain (Change ISR implementation in 20 different places? No Thanks!).
(This was originally part of #4519, but we all agreeded it deserved it's own PR)
Stream::parseInt & Stream::parseFloat previously had protected
overloads which allowed skipping a custom character. This commit
brings this feature to the public interface.
To keep the public API simpler, the single paramter overload remains
protected. However its functionality is available in the public
interface using the two parameter overload.
Its default is SKIP_ALL which reflects previous versions.
However SKIP_NONE, and SKIP_WHITESPACE can refine this behaviour.
A parameter used in the protected overloads of parseInt/Float has been
changed from `skipChar` to `ignore`.