Commit Graph

286 Commits

Author SHA1 Message Date
Iván Pérez 24cba16802 Spaces to tab 2016-09-12 09:00:04 +02:00
Iván Pérez 4650c2c3d8 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 6c54454d1c 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 a2a17a0c83 Requested changes to not change code for non ATtinyX5s 2016-09-07 19:02:48 +02:00
Kyle Chisholm b23e7193be remove extra semicolon
I was compiling with -Werror and this little error popped up
2016-08-28 21:48:09 -04:00
Niklas Mischkulnig 5d15f091a8 Add all analog references supported by the ATtinyX5 series 2016-08-27 11:48:04 +02:00
Martino Facchin e6d7cea175 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 ce81675549 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 1884d1d331 Cast to "unsigned int" instead of just "unsigned" for consistency 2016-07-18 15:04:29 -04:00
Sandeep Mistry 87643f93d5 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 98134a4aee 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 a5caee68a8 Merge branch 'invalidated-string-move' of https://github.com/sandeepmistry/Arduino 2016-07-18 18:30:23 +02:00
Martino Facchin 003d22f2a5 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 28e10e95da [AVR][USB] fix IRQ flags clearing 2016-07-14 18:22:41 +02:00
Martino Facchin 40d7ab0dc5 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 f49c7ae3de Make String::move of an invalidated String result in an invalidated String 2016-07-12 17:29:13 -04:00
Arturo Guadalupi bbd3ae274b 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 f68a722bde WString.h: allow modifying the string while iterating 2016-06-28 20:58:38 +02:00
Ivan-Perez 07fa22fd52 WString.h: Add const qualifier to `begin` and `end` functions 2016-06-28 20:58:38 +02:00
Martino Facchin a73c18c1f4 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 9492d5ee05 Removed extra whitespaces in WString.h 2016-04-20 20:30:24 +02:00
Christopher Andrews 500a3fdbe7 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 8e385bfbaf 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 817d700a75 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 4c901d3f9f [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 5bfd17f231 Add getTimeout accessor method. 2016-03-18 22:26:37 +00:00
Benoît Blanchon 9509587472 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 84f16283bb huh? i guess it's just 'modulo'. let's save even more 2016-03-03 10:53:25 -05:00
Paulo Costa 0ab9245f41 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 b1231c39e9 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 d893aa0b65 Merge NicoHood's fix for USB_SendControl with len>64
Fix #4325
2015-12-23 15:35:08 +01:00
NicoHood 6367168925 Added >64 byte USB_RecvControl() support 2015-12-23 15:31:55 +01:00
NicoHood ced86a9c48 Added Long USB RecvControl call for >64 bytes 2015-12-19 01:53:24 +01:00
Sandeep Mistry 1b63cfa6a4 Cleanup some Stream compiler warnings from #3337 2015-11-23 16:45:29 -05:00
Chris--A 9f8feea8b7 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 7857216e69 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 12d0487258 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
Chris--A 24a994019f This commit improves the parsing capability by allowing decimals only
prefixed by an '.' character. Previously the preceeding zero must be
present: '0.'
2015-11-23 15:46:23 -05:00
Martino Facchin b945df9220 [USB] use plugged modules name to create iSerial field 2015-10-21 15:23:56 +02:00
Cristian Maglie 11440d3fd7 [PUSB] Renamed PUSBListNode to PluggableUSBModule 2015-10-12 12:14:07 +02:00
Nico 2cc3bb605b [PUSB] Minor Style change 2015-10-09 22:10:45 +02:00
Cristian Maglie fb4f5066bf [HID] Improved checks in getDescriptor() method 2015-10-08 16:38:57 +02:00
NicoHood 05477fc85d [PUSB] Removed unnecessary endpoint and interface function 2015-10-07 20:39:50 +02:00
NicoHood 0f9f63f2a5 [PUSB] Made getDescriptor() and setup() more flexible
Alternatively we can only pass the wIndex to getDescriptor but I suggest to just pass the pointer aka reference of the whole setup.
In guess (havent tested this) that this results in more or less the code size but its a) idential with the other functions and b) we late have more flexibility here.
The Code got a quick SerialKeyboard.ino test
2015-10-07 19:02:40 +02:00
NicoHood 6151972b74 [PUSB] Changed Interface + Endpoint to unsigned variables
The iterations in the for loop also use unsigned and the setup struct etc as well.
There was no change in HID required since we just init the inherited variables via constructor and the type is never mentioned.
2015-10-07 18:45:10 +02:00
Cristian Maglie 5b1b0330b2 [PUSB] renamed some parameters 2015-10-07 13:21:21 +02:00
NicoHood 8bc21f7e36 Small return value error check correction 2015-10-07 12:39:18 +02:00
NicoHood 7fdb0efc98 Removed not needed public statement for root node 2015-10-03 07:56:48 +02:00
Martino Facchin 65b8430fec [PUSB] Fix static initialization order fiasco
For details see:
https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
2015-10-02 11:59:24 +02:00
Cristian Maglie 214b260a82 [HID] Code cleanup (no semantic changes) 2015-10-02 11:59:23 +02:00