Commit Graph

296 Commits

Author SHA1 Message Date
per1234 178294896c Update comments to reflect Stream functions changed from private to protected
These functions were changed from private to protected in 99f2a27553 but the comments were not updated at that time.

In conjunction with equivalent pull requests to Arduino SAM Boards and Arduino SAMD Boards, solves https://github.com/arduino/Arduino/issues/6146.
2017-07-07 01:28:27 +02:00
Cristian Maglie 4fabd443da Removed unneeded include in Print.h
see https://github.com/arduino/Arduino/pull/5789#discussion_r118007759
2017-05-23 17:03:42 +02:00
Matthijs Kooijman 24aa744168 Move the flush method from Stream to Print
This method originally flushed pending input bytes, which makes sense in
Stream. At some point it was changed to flush output bytes instead, but
it was never moved to Print to reflect this.

Since Stream inherits from Print, this should not really affect any
users of the Stream or Print classes. However to prevent problems with
existing implementations of the Print class that do not provide a
flush() implementation, a default implementation is provided. We should
probably remove this at some point in the future, though.
2017-05-23 17:03:42 +02:00
Eric Wieser f368d61c8d Add Print::availableForWrite
If available() is in the base Stream class, then availableForWrite() should be in the base Print class
2017-05-16 14:52:47 +02:00
Cristian Maglie dc542f5791 Fixed warning about unused variable 2017-03-20 17:36:08 +01:00
liu nick ab1f4156e7 use IAD Descriptor for device descriptor per the definition in "USB 2.0 ECN Interface Association Descriptor" and "USB Interface Association Descriptor Device Class Code and Use Model" 2017-03-16 19:38:01 +02:00
Cristian Maglie 8d04a6a117 [AVR] USB send ZLP when needed
See #5732 #4864 #4138 #3946
2017-03-16 19:35:47 +02:00
Cristian Maglie 1c404ac145 Revert "Subtract one from USB_EP_SIZE in USB_SendSpace"
This reverts commit 817d700a7503b269f986075cad637ce56c657e37.
2017-03-16 19:35:47 +02:00
Cristian Maglie 6267c73268 AVR: Prevent warnings if BIN is previously defined
Fix #4784
Close #4791
2017-03-08 13:34:17 +01:00
Sandeep Mistry 4dd3086e7a Add virtual beginMulticast(...) stub to UDP class 2017-02-08 15:33:41 +01:00
Martino Facchin b9502a83cf Merge pull request #5815 from roncapat/master
Change double quotes to single quotes
2017-01-09 10:43:59 +01:00
Patrick Roncagliolo 9f94e0b85a Remove old TODOs for non-standard ipv4 format support
Signed-off-by: Patrick Roncagliolo <ronca.pat@gmail.com>
2017-01-08 23:51:53 +01:00
Patrick Roncagliolo 10d04be828 Change double quotes to single quotes
- "." 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>
2017-01-07 19:48:12 +01:00
Iván Pérez 153e2e5985 Spaces to tab 2016-09-12 09:00:04 +02:00
Iván Pérez 0ff75111b6 WString: add `toDouble`
`toFloat` internally converts into double and then truncates into a
float, so why not add a method to return the double?
2016-09-12 08:56:02 +02:00
Sandeep Mistry 1ed54f8f3d Merge pull request #5300 from mischnic/attiny_anlReference
Add all analog references supported by the ATtinyX5 series
2016-09-08 15:37:27 -04:00
Niklas Mischkulnig fef2f714a8 Requested changes to not change code for non ATtinyX5s 2016-09-07 19:02:48 +02:00
Kyle Chisholm b5a08fd370 remove extra semicolon
I was compiling with -Werror and this little error popped up
2016-08-28 21:48:09 -04:00
Niklas Mischkulnig 835efacdb7 Add all analog references supported by the ATtinyX5 series 2016-08-27 11:48:04 +02:00
Martino Facchin 5afffc4b6a Merge pull request #5128 from facchinm/configurable_usb210
[AVR][USB] Configurable USB_VERSION value via define
2016-07-22 10:08:04 +02:00
Martino Facchin 3f1370bb9c Merge pull request #5135 from facchinm/usbsuspend_resume
Send an USB remote wakeup if data need to be written
2016-07-21 10:42:40 +02:00
Sandeep Mistry 7259ab4941 Cast to "unsigned int" instead of just "unsigned" for consistency 2016-07-18 15:04:29 -04:00
Sandeep Mistry 2d21ce200e Merge pull request #4667 from bblanchon/patch-1
Speed and size improvement in Print::printFloat()
2016-07-18 14:50:09 -04:00
Sandeep Mistry e33cc8c104 Merge pull request #4718 from mattb5906/new-feature/stream-timeout-get-4680
Add getTimeout accessor method.
2016-07-18 14:18:59 -04:00
Cristian Maglie 86bfda76c4 Merge branch 'invalidated-string-move' of https://github.com/sandeepmistry/Arduino 2016-07-18 18:30:23 +02:00
Martino Facchin 2781d1f886 Send an USB remote wakeup if data need to be written
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.
2016-07-14 18:43:43 +02:00
Martino Facchin 6f167d43f6 [AVR][USB] fix IRQ flags clearing 2016-07-14 18:22:41 +02:00
Martino Facchin d019fdfb1e configurable USB_VERSION string via define
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
2016-07-13 14:28:17 +02:00
Sandeep Mistry 5636b0488c Make String::move of an invalidated String result in an invalidated String 2016-07-12 17:29:13 -04:00
Arturo Guadalupi 786057ea58 Merge pull request #4864 from sandeepmistry/avr-usb-tx
Subtract one from USB_EP_SIZE in USB_SendSpace
2016-07-11 18:02:38 +02:00
Ivan-Perez 5423f745c0 WString.h: allow modifying the string while iterating 2016-06-28 20:58:38 +02:00
Ivan-Perez e973916b4f WString.h: Add const qualifier to `begin` and `end` functions 2016-06-28 20:58:38 +02:00
Martino Facchin c948d6fd1a Move Caterina_BL related defines into generic USBCore.h
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
2016-05-18 14:23:40 +02:00
Cristian Maglie 98e2783b88 Removed extra whitespaces in WString.h 2016-04-20 20:30:24 +02:00
Christopher Andrews 4839440364 Removed C++11 dependency for `begin()` and `end()`
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.
2016-04-20 16:07:52 +02:00
Christopher Andrews 63e6354f70 Updated String library to use C++11 iterators.
This will allow using the String library in a ranged for loop:

```C++
String s = "Hi, this is a test";

for( char c : s )
  Serial.print( c );
```
2016-04-20 16:07:52 +02:00
Sandeep Mistry 059f7b170c Subtract one from USB_EP_SIZE in USB_SendSpace
This avoids dealing with ZLP’s in USB_Send, because the max packet size
will be EP size - 1.
2016-04-14 10:06:47 -04:00
Martino Facchin d1e46f9070 [AVR] Discover newer bootloader at runtime
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)
2016-04-06 17:41:06 +02:00
mattb5906 1005e8bb07 Add getTimeout accessor method. 2016-03-18 22:26:37 +00:00
Benoît Blanchon cb38e4d586 Speed and size improvement in Print::printFloat()
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.
2016-03-08 22:13:10 +01:00
tico-tico 11db98c425 huh? i guess it's just 'modulo'. let's save even more 2016-03-03 10:53:25 -05:00
Paulo Costa feee822caa Boilerplate compression on ISR declaration
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)
2016-02-03 22:43:57 -02:00
vbextreme cc90c73ee9 fix delay/yield on avr, if function called by yield takes more a millisecond the delay fails 2015-12-27 14:50:56 +01:00
Cristian Maglie 8ebb912d30 Merge NicoHood's fix for USB_SendControl with len>64
Fix #4325
2015-12-23 15:35:08 +01:00
NicoHood eb18cae855 Added >64 byte USB_RecvControl() support 2015-12-23 15:31:55 +01:00
NicoHood d596f45771 Added Long USB RecvControl call for >64 bytes 2015-12-19 01:53:24 +01:00
Sandeep Mistry af0e712b12 Cleanup some Stream compiler warnings from #3337 2015-11-23 16:45:29 -05:00
Chris--A 699041da60 Make protected Stream::parseInt/Float overloads public.
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.
2015-11-23 15:46:24 -05:00
Chris--A 02909a5d39 This adds control of Stream::parseInt/float lookahead.
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`.
2015-11-23 15:46:24 -05:00
Chris--A f536bf5ced This is a bug fix which prevents parseFloat from proceeding past
multiple decimals '.' in the stream. Only one can be accepted for
valid decimal numbers.
2015-11-23 15:46:24 -05:00