Commit Graph

596 Commits

Author SHA1 Message Date
per1234 f22b9cb94c 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 c7f8e5b207 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 ba9d416862 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 716fba8dd9 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 2a4e2b968f Fixed warning about unused variable 2017-03-20 17:36:08 +01:00
liu nick 611df3c4cc 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 3b0765979d [AVR] USB send ZLP when needed
See #5732 #4864 #4138 #3946
2017-03-16 19:35:47 +02:00
Cristian Maglie f27e8fe194 Revert "Subtract one from USB_EP_SIZE in USB_SendSpace"
This reverts commit 817d700a7503b269f986075cad637ce56c657e37.
2017-03-16 19:35:47 +02:00
Cristian Maglie 1138485b6d AVR: Prevent warnings if BIN is previously defined
Fix #4784
Close #4791
2017-03-08 13:34:17 +01:00
Sandeep Mistry 5a05bf01f4 Add virtual beginMulticast(...) stub to UDP class 2017-02-08 15:33:41 +01:00
Martino Facchin af7655dfcc Merge pull request #5815 from roncapat/master
Change double quotes to single quotes
2017-01-09 10:43:59 +01:00
Patrick Roncagliolo a4227cf02c 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 5cd4e8c399 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 54c0b616b1 Spaces to tab 2016-09-12 09:00:04 +02:00
Iván Pérez b74a02cb21 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 0f959829ba 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 bb567ae644 Requested changes to not change code for non ATtinyX5s 2016-09-07 19:02:48 +02:00
Kyle Chisholm 671619100d remove extra semicolon
I was compiling with -Werror and this little error popped up
2016-08-28 21:48:09 -04:00
Niklas Mischkulnig 1a280c0d5b Add all analog references supported by the ATtinyX5 series 2016-08-27 11:48:04 +02:00
Martino Facchin 9a4f49b20e 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 a03982445a 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 c48cb93b2c Cast to "unsigned int" instead of just "unsigned" for consistency 2016-07-18 15:04:29 -04:00
Sandeep Mistry 6f3d25ea84 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 0fd650271c 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 8ae5b5f43b Merge branch 'invalidated-string-move' of https://github.com/sandeepmistry/Arduino 2016-07-18 18:30:23 +02:00
Martino Facchin 7874386ce2 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 5e146c415d [AVR][USB] fix IRQ flags clearing 2016-07-14 18:22:41 +02:00
Martino Facchin c20e271050 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 5dd628a2c2 Make String::move of an invalidated String result in an invalidated String 2016-07-12 17:29:13 -04:00
Arturo Guadalupi 2717fbe05b 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 2d13ebbb3e WString.h: allow modifying the string while iterating 2016-06-28 20:58:38 +02:00
Ivan-Perez 69421dc2c7 WString.h: Add const qualifier to `begin` and `end` functions 2016-06-28 20:58:38 +02:00
Martino Facchin cc4ddc3587 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 0e80ea6603 Removed extra whitespaces in WString.h 2016-04-20 20:30:24 +02:00
Christopher Andrews 6d6c9d3622 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 0489fe3ae8 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 5e3d08af24 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 5e194bd8ef [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 5976bcabcb Add getTimeout accessor method. 2016-03-18 22:26:37 +00:00
Benoît Blanchon 437eabeaad 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 487bbfde38 huh? i guess it's just 'modulo'. let's save even more 2016-03-03 10:53:25 -05:00
Paulo Costa be2eb2635f 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 ccb832c224 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 c96d9bc6ec Merge NicoHood's fix for USB_SendControl with len>64
Fix #4325
2015-12-23 15:35:08 +01:00
NicoHood 2369610047 Added >64 byte USB_RecvControl() support 2015-12-23 15:31:55 +01:00
NicoHood 87b4f726a7 Added Long USB RecvControl call for >64 bytes 2015-12-19 01:53:24 +01:00
Sandeep Mistry e2c80d0389 Cleanup some Stream compiler warnings from #3337 2015-11-23 16:45:29 -05:00
Chris--A 507f2ee84a 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 db295bda6a 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 475bcd1d4f 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