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