1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-28 09:24:14 +01:00
Commit Graph

1943 Commits

Author SHA1 Message Date
Phil Manofsky
4be3e49172 3rd party can use own Product/manufacturer string
now "myboard.build.usb_product" and "myboard.build.usb_manufacturer" from a 3rd party board in "boards.txt" are used in source code. if they aren't defined in "boards.txt", default values are used.
2016-03-14 23:16:36 -04:00
Phil Manofsky
f5282f2ce6 allows use of "myboard.build.vid" in boards.txt
allows people to create board that depends on sam core to use their own Vendor ID instead of Arduino's
2016-03-14 23:09:26 -04:00
Sandeep Mistry
98699dfa7c Make SoftwareSerial receive buffer a uint8_t array 2016-03-10 10:23:50 -05:00
Sandeep Mistry
dfc3a64744 Add missing cast to SoftwareSerial::peek() when returning buffered value 2016-03-10 10:23:50 -05:00
Paolo Paolucci
26e25a4d58 Fix Wire register
Move TWBR register from Wire.cpp to twi.c file.
2016-03-09 15:47:55 -05: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
Martino Facchin
5f9168d3a2 update sam core to version 1.6.7 2016-03-08 11:45:52 +01:00
Sandeep Mistry
10ef7ef7e1 Move AVR Wire library utility folder under source 2016-03-04 17:11:56 -05:00
Cristian Maglie
576ac3ca30 AVR core version to 1.6.10 2016-03-04 14:56:09 +01:00
Sandeep Mistry
244b20b7cc Merge pull request #4646 from arduino/SimonePDA-patch-3
Update library.properties
2016-03-03 15:19:26 -05:00
Sandeep Mistry
391a015de0 Merge pull request #4645 from arduino/SimonePDA-patch-2
Update library.properties
2016-03-03 15:19:06 -05:00
SimonePDA
1eabcfbefa Update library.properties 2016-03-03 19:57:04 +01:00
SimonePDA
65eac8e892 Update library.properties 2016-03-03 19:34:02 +01:00
SimonePDA
bb8ee5ac95 Update library.properties 2016-03-03 19:26:22 +01:00
SimonePDA
8bd908c446 Update library.properties 2016-03-03 19:13:25 +01:00
Sandeep Mistry
b7f279610b Use modulo operator in Print::printNumber
Port of @tico-tico’s change in
https://github.com/tico-tico/Arduino/commit/a7454b6b5c59187b95c4224aad87
bb01faa06e85 to SAM core.
2016-03-03 12:00:54 -05:00
tico-tico
84f16283bb huh? i guess it's just 'modulo'. let's save even more 2016-03-03 10:53:25 -05:00
Alice Pintus
d3065cbaeb add src folder when missing 2016-03-02 14:45:57 +01:00
Alice Pintus
b9e83657b4 moved .h file in src folder 2016-03-02 10:49:39 +01:00
Alice Pintus
8d3c4dbfec update sentences 2016-03-01 16:09:50 +01:00
Martino Facchin
3c1bdb0fc5 Merge pull request #4490 from sandeepmistry/sam-usb-send-string-descriptor
[SAM - USB Device] USB_SendStringDescriptor fixes
2016-02-16 16:51:44 +01: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
Brent Wilkins
7f13f63599 Fixed typo 2016-02-01 12:52:29 -07:00
Sandeep Mistry
aeec344b21 Set string descriptor length to the string length + 2, and send up to wLength bytes 2016-01-26 17:14:40 -05:00
techpaul
fa0d580846 Compiler Warning UARTClass.cpp and RingBuffer.h correction 2016-01-19 14:26:49 -05:00
Brent Wilkins
91df079b09 Update Wire.cpp
Removed implicit conversions from unsigned, to signed, back to unsigned.
2016-01-18 13:12:11 -07:00
Sandeep Mistry
dcfcbefc32 Update indentation 2016-01-18 09:13:29 -05:00
Sandeep Mistry
9759f2cc60 Port AVR Serial_::readBreak() API to SAM core 2016-01-15 12:09:46 -05:00
Sandeep Mistry
86e34b9940 Support receiving a USB CDC SEND_BREAK 2016-01-15 12:05:41 -05:00
Sandeep Mistry
2007b623c9 Add CDC_SEND_BREAK define 2016-01-15 12:05:40 -05:00
Martino Facchin
74c70ba10b Merge pull request #3524 from facchinm/pins_DUE
Due: solve issues with nonstandard pin operations
2016-01-07 10:28:07 +00:00
Arturo Guadalupi
1ad17fb372 Merge pull request #3983 from antodom/pio_handlers
PIO[ABCD] handlers improvement using ATSAM3X8E CLZ instruction
2016-01-05 15:07:36 +01: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
NicoHood
bab9b6c4f7 Added HID_REPORT_TYPE definitions 2015-12-10 10:30:04 +01:00
Cristian Maglie
463046d691 Merge branch 'remove-wire-keywords' of https://github.com/per1234/Arduino 2015-11-30 10:20:10 +01:00
per1234
d21e054836 Remove unused keywords from Wire libraries keywords.txt
These functions have been replaced by read() and write() since Arduino
1.0.
2015-11-28 17:56:21 -08:00
per1234
ffbcfa781f eeprom_clear example: Set pinMode of LED pin 2015-11-24 16:23:16 -08:00
Cristian Maglie
4c2af08bb2 Merge branch 'led_fix' of https://github.com/NicoHood/Arduino 2015-11-24 16:44:51 +01:00
Cristian Maglie
1da7979984 Merge branch 'leonardo-usbserial' of https://github.com/cmaglie/Arduino 2015-11-24 16:34:27 +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
245b948a27 Add Stream::find(char); to SAM core.
This is a feature added to the AVR core here:
ed1b8eb486
It allows using the find method with a single char (#847).
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
Cristian Maglie
e46375c089 Added SerialUSB alias for Serial on 32u4 boards 2015-11-20 12:08:35 +01:00
Cristian Maglie
ca5aff00e8 Merge branch 'fix-flush' of https://github.com/cmaglie/Arduino 2015-11-18 10:06:01 +01:00
Cristian Maglie
a259f9c6dc Merge branch 'sam-serial-flush-tx-empty' of https://github.com/sandeepmistry/Arduino 2015-11-18 09:58:57 +01:00
Federico Fissore
802c745690 Modified AVR preproc recipe to match the one used by arduino-builder 2015-11-18 09:34:33 +01:00
Sandeep Mistry
435f6790da Check TXEMPTY flag instead of TXRDY flag on Serial.flush()
As suggested by @borisff in #4128.
2015-11-17 13:21:42 -05:00
agdl
cdd925b58d Added defines for gemma
As pointed out in #4063
2015-11-17 15:04:11 +01:00
Cristian Maglie
934475b75b SoftwareSerial: fix flush() behaviour
Fix #4029
2015-11-11 16:28:48 +01:00
Cristian Maglie
02bb3b96b3 Update recipe.ar.pattern in SAM platform to us archive_file_path 2015-11-06 23:57:10 +01:00
Cristian Maglie
abcc75bcf1 Upgraded SAM core version to 1.6.6 2015-11-06 23:25:31 +01:00
Sandeep Mistry
7380750a69 Remove tx_pin_write from SoftwareSerial.h
It’s not implemented anywhere and unused.
2015-11-05 15:39:11 -05:00
Sandeep Mistry
6318f1bf2a Remove unused param warning 2015-11-05 14:28:40 -05:00
Sandeep Mistry
12ebdfe8a0 Add inline to recv and setRxIntMsk to remove warning (#4078) 2015-11-05 14:28:29 -05:00
Cristian Maglie
f678ad423a [SAM] Remove useless <cstddef> includes (fix regression)
See #4082
2015-11-05 20:07:02 +01:00
Sandeep Mistry
5be4466fd7 Set mode to SPI_CONTINUE for first byte transfer in SPI.transfer16(...)
Update to #4081
2015-11-05 10:02:50 -05:00
Sandeep Mistry
ed5597dad0 Add SPI.transfer16(...) API's 2015-11-04 15:49:08 -05:00
Cristian Maglie
53fd24e8aa Updated sam core version to 1.6.5 2015-11-03 14:38:45 +01:00
Cristian Maglie
9b070aa90f Updated avr core version to 1.6.9 2015-11-03 11:34:03 +01:00
Cristian Maglie
a7a12037c7 [HID] Added return value to HID SendReport (sam core) 2015-10-30 13:23:46 +01:00
Cristian Maglie
21168e1b5d [PUSB] Fixed return value for HID_::SendReport 2015-10-30 13:00:33 +01:00
Nico
741d5dff9e [PHID] send data if report ID was sent successful
If the first sending was not successful it is better to abort. Then we get a return value of -1 (instead of -2 if the 2nd call will also fail) and we do not need to block even longer, with another timeout.
2015-10-30 12:58:14 +01:00
NicoHood
cf4d7e1ffb Added return value to HID SendReport 2015-10-30 12:58:14 +01:00
Cristian Maglie
d3e3b8b377 Merge branch 'sam-wire-repeated-starts' of https://github.com/sandeepmistry/Arduino 2015-10-29 21:18:11 +01:00
Sandeep Mistry
77179d78d0 Add support for repeated starts in slave mode
From the data sheet TXCOMP is only set after a stop or repeated start
and address change, but EOSACC is set for a stop or repeated start when
the address remains the same. This change removes the check for TXCOMP
when not idle, to support repeated starts for both RX and TX.
2015-10-29 16:15:52 -04:00
Sandeep Mistry
851efaefd7 Remove steps to disable pull ups as they are not needed
The Due has external pull-ups on the SDA0 and SCL0, and PIO_Configure
in Wire*_Init does not enable then.
2015-10-29 16:03:32 -04:00
Sandeep Mistry
fdef4f27fe Rebuild libsam 2015-10-29 16:03:32 -04:00
Sandeep Mistry
d655bd5af9 Add end callback for deinitialization on end 2015-10-29 16:03:32 -04:00
Sandeep Mistry
2737305f54 implement Wire.end() for SAM core
also moved common reset and disable code in libsam TWI_ConfigureMaster
and TWI_ConfigureSlave functions to new TWI_Disable function, which is
used in TwoWire::end()
2015-10-29 16:03:32 -04:00
Cristian Maglie
b01eda179a Print not aborting on write failure
See #3614
2015-10-26 12:00:47 +01:00
Cristian Maglie
9552cc6ce2 Merge branch 'arduinoGemmaInterrupts' of https://github.com/agdl/Arduino 2015-10-23 11:00:25 +02:00
Arturo Guadalupi
d52b5a87ba Gemma digitalPinToInterrupt support
Added support for Arduino Gemma as required in #3929
2015-10-23 10:44:02 +02:00
Nico
6fe9294368 Increased 32u4 maximum pin number 2015-10-23 10:41:56 +02:00
Arturo Guadalupi
e3351f6fb1 Ethernet digitalPinToInterrupt support
Added support for Arduino Ethernet as required in #3929
2015-10-23 10:16:43 +02:00
Sandeep Mistry
c71f5e9f88 check TWWC (Write Collision Flag) bit after setting TWDR
as suggested by @earlyprogrammer in #2173, to ensure TWDR value is set
if there is a write collision
2015-10-22 16:33:00 +02:00
Sandeep Mistry
48ff3a10ad release TWI bus right after stop or repeated start is condition
this resolves timing issues seen in #1477
2015-10-22 16:29:43 +02:00
Cristian Maglie
22dd1cbb99 Merge branch 'nativeUSB_serialNumber_due' of https://github.com/facchinm/Arduino into HEAD 2015-10-21 16:54:59 +02:00
Martino Facchin
775c82bbed SAM: add iSerial USB field 2015-10-21 16:16:52 +02:00
Cristian Maglie
c102995e92 Merge remote-tracking branch 'arduino/master' into HEAD 2015-10-21 15:53:59 +02:00
Martino Facchin
b945df9220 [USB] use plugged modules name to create iSerial field 2015-10-21 15:23:56 +02:00
Antonio C. Domínguez Brito
296c5f0fbf PIO[ABCD] handlers improvement using ATSAM3X8E CLZ instruction 2015-10-15 09:04:12 +01:00
NicoHood
9fe2023c28 [PHID] Fixes protocol on reenumeration 2015-10-12 18:05:34 +02:00
Martino Facchin
bf609ecc4c [USB] remove all warnings from SAM USB core 2015-10-12 14:43:24 +02:00
Martino Facchin
ddae105dc3 [HID] port to stable PluggableUSB API 2015-10-12 14:41:23 +02:00
Martino Facchin
b4541209cb adapt SAM core to PluggableUSB stable API 2015-10-12 14:41:05 +02:00
Cristian Maglie
a151349a01 [HID] renamed HIDDescriptorListNode to HIDSubDescriptor 2015-10-12 12:24:07 +02:00
Cristian Maglie
11440d3fd7 [PUSB] Renamed PUSBListNode to PluggableUSBModule 2015-10-12 12:14:07 +02:00
Cristian Maglie
80b79002fd [HID] made HIDDescriptorListNode.length constant 2015-10-12 11:59:08 +02:00
NicoHood
e69021550e [PHID] Added missing GET_IDLE Request 2015-10-11 14:39:36 +02:00
NicoHood
5e813b314b [PHID] Added some hints for further optional implementations 2015-10-10 13:11:31 +02:00
NicoHood
14ddc8b0bf Added official HID definitions
Since the HID library adds some general HID definitions and structs, it is very useful to also include this in a custom library.
If you dupe the information you have problems of redeclaration.
Having those defintions inside the official HID library is essential for a good working additional  HID API.
2015-10-10 12:49:45 +02:00
Nico
2cc3bb605b [PUSB] Minor Style change 2015-10-09 22:10:45 +02:00
Nico
79f5715c21 Remove unnecessary include
Its included by HID.h anyways.
2015-10-08 17:24:09 +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
c8867462a8 [PHID] Added SetReport function
This commit just shows other that this option is available and not implemented.
You may use this to determine the Led Lights state of a keyboard or transmit data via RAWHID from the PC.

Quick usage guide:
int length = ((setup.wValueH << 8) | setup.wLength);
USB_RecvControl((uint8_t* data, USB_EP_SIZE); // Needs to be splitted into USB_EP_SIZE packets, not shown here. See HID Project.
2015-10-07 20:37:05 +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
d13aadc7d5 [HID] removed HIDDescriptor field
The field is now built on-the-fly on the stack and sent over USB.
This change increase Flash usage and decrease SRAM usage:

before: 6114 / 241
after:  6152 / 216 (removed HIDDescriptor field)

delta:   +38 / -25

SRAM is a much more scarse resource and this change free up to
about 10% of the "base" usage.
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
Cristian Maglie
81aa7df093 [HID] removed unused modules_count field 2015-10-02 11:59:23 +02:00
Cristian Maglie
8a5ad75c50 [PUSB] Fixed checks on return values 2015-10-02 11:59:23 +02:00
Cristian Maglie
1851fcc23c [USB] Fixed some compiler warnings 2015-10-02 11:59:23 +02:00
Cristian Maglie
d1f0c6953a [PUSB] Fixed the correct number of endpoints 2015-10-02 11:59:23 +02:00
Cristian Maglie
e823ef0c16 [PUSB] Fixed check for available endpoints
The check for available slot in PluggableUSB is done on the endpoint
and not on the number of plugged modules.

The modulesCount field is no longer useful and it has been removed.
2015-10-02 11:59:23 +02:00
Cristian Maglie
183ec1c83f [PUSB] No more static fields in PluggableUSB class 2015-10-02 11:59:23 +02:00
Cristian Maglie
9acbbe63c0 [PUSB] epType array is now part of HID class 2015-10-02 11:59:23 +02:00
Cristian Maglie
2d70691dbe [HID] Removed static fields in HID class
There is still the epType[] array to be handled in some way.
2015-10-02 11:59:23 +02:00
Cristian Maglie
0369b8ec33 [PUSB] The latest fields are now set via constructor 2015-10-02 11:59:23 +02:00
Cristian Maglie
0dfa815ce4 [PUSB] callbacks are now pure virtual methods
This change allows the compiler to handle callbacks resolution.

Callbacks now must be implemented on the class that extends
PUSBListNode and this is forced by compiler by means of pure
virtual methods.

Also the calls to HID.interface() and HID.endpoint() can now
be simplified to interface() and endpoint() respectively since
the methods are no more static.
2015-10-02 11:59:23 +02:00
Cristian Maglie
2ac2a27173 [PUSB] Moved static members inside HID_ class
This commit prepares for the next refactoring
2015-10-02 11:59:22 +02:00
Cristian Maglie
6ffd7e39ba [PUSB] replaced u8 with uint8_t 2015-10-02 11:59:22 +02:00
Cristian Maglie
8f259c8a80 [PUSB] Selected interface and endpoint are now part of PUSBListNode
The method

   int8_t PluggableUSB::addFunction(PUSBListNode *, uint8_t *)

has been changed to

   bool PluggableUSB::plug(PUSBListNode *node)

since both EP and Interfaces are now saved directly into node
2015-10-02 11:59:22 +02:00
Cristian Maglie
5e14b1fe37 [HID] Now HID extends directly PluggableUSBListNode
This avoid duplicate instatiation of callback and save a
considerable amount of flash.
2015-10-02 11:59:22 +02:00
Cristian Maglie
5aeff8ec25 [PUSB] Global functions PUSB_* are now methods of PluggableUSB class 2015-10-02 11:59:22 +02:00
Cristian Maglie
3fe6272feb [PUSB] PUSBCallback struct has been merged into PUSBListNode
This slightly simplifies PluggableUSB API.
2015-10-02 11:59:22 +02:00
Arturo Guadalupi
7af5e7af23 Added LED_BUILTIN to GEMMA
as asked in #3907
2015-10-01 17:09:59 +02:00
Cristian Maglie
e3d629d591 Merge remote-tracking branch 'arduino/master' 2015-09-29 18:52:38 +02:00
Cristian Maglie
abe05b90fa Removed not used PUSB_Begin() (also in SAM)
See #3892
2015-09-29 18:50:43 +02:00
Sandeep Mistry
cc3a1e7bff Correct typo 2015-09-29 11:35:13 -04:00
Nico
d257764862 Removed not used PUSB_Begin() 2015-09-29 17:02:07 +02:00
Cristian Maglie
ffd2943955 [HID] Added missing return in HID.begin() 2015-09-28 17:05:36 +02:00
Cristian Maglie
43d3428d2b [HID] Added missing const in length 2015-09-28 17:05:36 +02:00
Cristian Maglie
953e6fa206 [HID] Removed unused PUSBReturn structure 2015-09-28 17:05:35 +02:00
Cristian Maglie
7d985f97a3 [HID] Changed 'u8' to 'uint8_t' in definitions 2015-09-28 17:05:35 +02:00
Nico
fa52c41ede Removed not needed Timer warning
Timer is declared above, so nothing is missing here.
2015-09-28 16:30:40 +02:00
Nico
5e1b4c7434 Removed Timer warnings when Timer 2 is not present 2015-09-28 16:30:40 +02:00
Nico
3bbff6fd2a Remove Compiler Warning in Tone.cpp 2015-09-28 16:30:39 +02:00
Nico
900ae49ee7 Fix compiler warning in CDC.cpp 2015-09-28 16:30:39 +02:00
Nico
228fa37568 Fix compiler warnings in USBCore.cpp 2015-09-28 16:30:39 +02:00
Cristian Maglie
209b0796e6 [HID] added 'const' qualifier in HID initialization
See https://github.com/arduino/Arduino/pull/3840#discussion_r40438845
2015-09-28 13:32:01 +02:00
Cristian Maglie
fba6ca88ed [HID] fixed wrong datatype for descriptor len
See https://github.com/arduino/Arduino/pull/3840/files#r40438845
2015-09-28 13:23:12 +02:00
Cristian Maglie
e4d63adf45 Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino 2015-09-28 12:06:35 +02:00
Arturo Guadalupi
bb1f584019 Added Arduino Zero exclusion to README 2015-09-28 11:29:18 +02:00
Cristian Maglie
435fc323e0 SAM: tidy up -mcpu and -mthumb params in platform.txt 2015-09-25 17:00:22 +02:00
Cristian Maglie
9eeeb50050 SAM: small cosmetic fix to platform.txt 2015-09-25 16:58:38 +02:00
Martino Facchin
53049046cb Merge pull request #3864 from facchinm/pulseInLongOVF
fix pulseInLong considering overflow
2015-09-25 16:05:35 +02:00
Cristian Maglie
563a7306b9 Fixed another regression in IPAddress.h
If the includer tries to inlcude IPAddress.h without first including
WString.h the build will fail.
2015-09-24 15:52:32 +02:00
Federico Fissore
737faaaba5 {build.path}/{archive_file} is now {archive_file_path} in recipe.ar.pattern 2015-09-24 11:28:26 +02:00
Cristian Maglie
7d0355c8f1 SAM: Stop build on unresolved symbols
Previously the linker flag:

  -Wl,--warn-unresolved-symbols

prevented the build to fail (the unresolved symbols were just
displayed as a warning).

See also: https://github.com/arduino/arduino-builder/issues/14
2015-09-24 10:31:15 +02:00
Cristian Maglie
401c4f0cf8 HID: merged HID_Descriptor into HIDDescriptorListNode
This simplifies the object model and produce a small gain in code
size and performance.
2015-09-22 16:51:30 +02:00
Cristian Maglie
f0cf13c89b HID: Renamed fields in HIDDescriptorListNode and HID_Descriptor
In particular HIDDescriptorListNode.cb has been renamed to
HIDDescriptorListNode.descriptor because it contains decriptor data
and not callbacks.

Moreover the HID_Descriptor.descriptor field has been renamed
to HID_Descriptor.data so the structure has now two fields length
and data.

   typedef struct __attribute__((packed)) {
     uint16_t length;
     const void* data;
   } HID_Descriptor;

   class HIDDescriptorListNode {
   public:
     HIDDescriptorListNode *next = NULL;
     const HID_Descriptor *descriptor;
     HIDDescriptorListNode(const HID_Descriptor *d) : descriptor(d) { }
   };

This imply a change in the use of the node from:

  node->cb->lenght
  node->cd->descriptor

to

  node->descriptor->length
  node->descriptor->data
2015-09-22 16:49:14 +02:00
Arturo Guadalupi
9eaea4205d Modified reference to Leonardo only in the examples
According to #3786 removed the reference to Leonardo only in while(!Serial) of the examples.
Changed in in "wait for serial port to connect. Needed for native USB port only"
2015-09-21 14:58:58 +02:00
Cristian Maglie
8c3c54ea28 Merge branch 'patch-7' of https://github.com/NicoHood/Arduino 2015-09-21 12:03:26 +02:00
Martino Facchin
480cd227ea fix pulseInLong considering overflow
fixes #3830
2015-09-21 11:59:20 +02:00
Martino Facchin
606d56b3e5 SAM: fix pulseInLong timeout using micros() 2015-09-21 11:10:33 +02:00
Martino Facchin
6cdafbc20c Merge pull request #3825 from NicoHood/patch-6
Remove Raw HID definitions at wrong place
2015-09-21 10:31:53 +02:00
Martino Facchin
c7b27431a9 pulseInLong: fix incorrect timeout handling 2015-09-21 10:24:48 +02:00
Nico
8a96e75645 Fix CDC Serial buffer size determination 2015-09-20 11:08:49 +02:00
Nico
441fd561cf Fix HW Serial buffer size determination 2015-09-20 11:07:19 +02:00
Nico
9b91da35b7 Remove Raw HID definitions at wrong place 2015-09-20 11:04:42 +02:00
Federico Fissore
3030a5c57a Updating arduino-builder to 1.0.0-beta8 2015-09-18 13:32:27 +02:00
Cristian Maglie
3bd810deb8 Merge branch 'ethernet-dns-fix' of https://github.com/cmaglie/Arduino 2015-09-18 11:30:45 +02:00
Cristian Maglie
a1e2c4fa8e Fixed wrong category in EEPROM
See #3812
2015-09-18 11:23:11 +02:00
Cristian Maglie
e2f625290f Moved build artifacts into root build folder
The intermediate files used for build (.o, .a ...) are still
in subfolders to avoid conflicts.

Fix #3807
2015-09-18 11:21:13 +02:00
Cristian Maglie
949ef094f1 Added categories to libraries
Fix #3812
2015-09-18 11:01:08 +02:00
Cristian Maglie
cc0d3322d1 Fixed wrong condition in turnOffPWM(..)
Fix #2163
2015-09-18 11:01:08 +02:00
Federico Fissore
455d03e460 Adding preprocessing recipes to AVR core 2015-09-15 12:15:48 +02:00
Federico Fissore
de8390f6db Updating arduino-builder to 1.0.0-beta4 2015-09-15 12:15:39 +02:00
Martino Facchin
d9a7b5df41 Merge pull request #3542 from facchinm/plugUSB_sam
Add pluggableUSB capabilities to SAM core
2015-09-10 18:18:31 +02:00
Cristian Maglie
e3909b4e2c Added IPAddress::fromString(....) function 2015-09-09 12:03:29 +02:00
Martino Facchin
a5ad4744b5 fix OUT endpoints
was using only lower 8 bits of configuration registers
2015-09-04 10:03:40 +02:00
Cristian Maglie
f8b764a3a6 ...and also a leading ','... (oops 2)
See #2408
2015-09-01 10:58:48 +02:00
Cristian Maglie
8720384f68 Added missing #ifdef in WInterrupts.c... (oops)
See #2408
2015-09-01 10:11:43 +02:00
Cristian Maglie
53db220016 Added EXTERNAL_NUM_INTERRUPTS for AVR xxU2 series 2015-08-31 18:12:13 +02:00
Andrew J. Kroll
8c440df280 AVR: Faster Interrupts, no size change.
Fixes #2408
2015-08-31 13:55:07 +02:00
Cristian Maglie
d8bf00b951 Release new boards as AVR core 1.6.8 2015-08-27 11:00:25 +02:00
Cristian Maglie
1c1ecb65ac Added support to Genuino boards (drivers, boards.txt entries, bootloaders) 2015-08-27 10:40:03 +02:00
Nate Williams
64cee7bbbc Wire (AVR): Fix bug with repeated START
Fix #66
2015-08-26 16:02:02 +02:00
Sandeep Mistry
d00a3ceba3 implement Wire.end() for AVR core 2015-08-25 10:24:24 -04:00
onovy
bf2ef13b50 Tone: Added missing break 2015-08-15 21:11:52 +02:00
NicoHood
4de21f7d1d Added TXLed to Leonardo pin definition file 2015-08-15 15:50:57 +02:00
Cristian Maglie
695fc40fbd Merge branch 'cdc-settings' of https://github.com/matthijskooijman/Arduino 2015-08-14 13:37:00 +02:00
Martino Facchin
5fe796d52e Merge pull request #3640 from NicoHood/USB-Core-Fixes
Usb core fixes
2015-08-13 09:39:21 +02:00
NicoHood
60e64cfd35 Added u2 Series support 2015-08-12 17:48:17 +02:00
NicoHood
7bd77de70b Precised USB Endpoint definitions 2015-08-12 17:48:17 +02:00
NicoHood
fd6f57d2d7 Added 16 byte endpoint support 2015-08-12 17:48:17 +02:00
NicoHood
a1cf7042b2 Fixed HID Reports >255 bytes 2015-08-12 17:48:17 +02:00
NicoHood
b97b2519d1 Added missing static inline to USB Recv function 2015-08-12 17:48:17 +02:00
NicoHood
344897301c Made Magic Key Settings more flexible 2015-08-12 17:48:09 +02:00
Chuck Todd
25d81c98e4 Print not Aborting on Write() failure
Print::write(const uint8_t *buffer, size_t size) and Print::print(const
__FlashStringHelper *ifsh) would continue calling write(char) after a
failed write(char) this behavior would render returned count unuseable
see arduino/Arduino issue #3614
2015-08-12 11:47:57 +02:00
Reilly Grant
a20b44801a Fix links to 3rd party hardware specification.
The number of hyphens in this URL has apparently changed.
2015-07-31 15:54:22 -07:00
Peter Van Hoyweghen
4f87112c2e Add Serial_::availableForWrite().
This makes the CDC "Serial" object on the Leonardo and similar boards
support this recently introduced method as well. The CDC code in the sam
core is not changed.
2015-07-31 14:06:20 +02:00
Matthijs Kooijman
9b7b23f045 Prevent losing bytes in HardwareSerial::end()
end() already waited for the buffer to be empty, but then there could
still be two bytes in the hardware registers that still need to be
transmitted (which were dropped or kept in the buffer, depending on the
exact timing).

This changes the wait loop to a call to the flush() function, which
already takes care of really waiting for all bytes to be transmitted,
meaning it is safe to turn off the transmitter.
2015-07-31 14:06:20 +02:00
Matthijs Kooijman
b58f239400 Add Serial_::readBreak() to process SEND_BREAK requests
This allows detecting when the USB host sends a break request and what
the value of the request was. See the comments in USBAPI.h for details.

This just modifies the avr core, not the sam core.
2015-07-31 14:06:19 +02:00
Matthijs Kooijman
96f7b966bc Expose serial settings from CDC virtual serial port
This allows a sketch to find out the settings chosen by the USB host
(computer) and act accordingly.

Other than reading the DTR flag and checking if the baudrate is 1200,
the regular CDC code doesn't actually use any of these settings.

By exposing these settings to the sketch, it can for example copy them
to the hardware UART, turning the Leonardo into a proper USB-to-serial
device. This can be useful to let the computer directly talk to whatever
device is connected to the hardware serial port (like an XBee module).

The Teensy core already supported these methods. This code was
independently developed, but the method names were chosen to match the
Teensy code, for compatibility (except that `dtr()` and `rtr()` return
`bool`, while the Teensy version return a `uint8_t`).

This change is applied to both the avr and sam cores, which have a very
similar CDC implementation.
2015-07-31 13:40:43 +02:00
Martino Facchin
2acda414aa port PluggableUSB to sam core 2015-07-17 12:16:38 +02:00
Martino Facchin
a261e6cf7c remove HID from core 2015-07-17 12:16:09 +02:00
Martino Facchin
b2381506a2 sam: add HID library 2015-07-17 12:13:21 +02:00
Martino Facchin
af290fc5a3 rework HID-based libraries and add Due fallback 2015-07-16 13:13:53 +02:00