Martino Facchin
b9ac48c782
Implement low power functionality on USB subsystem
...
This enables remote wakeup on CDC driver, so we can safely call standby() and maintain the Serial prints on resume.
2017-04-04 10:50:22 +02:00
Cristian Maglie
213cc933d5
small fix to indentation
2017-03-31 15:12:58 +02:00
Arturo Guadalupi
91bee1d2ee
Merge pull request #203 from sandeepmistry/ota
...
Add support for updating sketches from an SD card
2017-03-02 12:30:14 +01:00
Cristian Maglie
647e729651
Removed wrong cast to uint8
...
Fix #216
2017-03-01 09:51:34 +01:00
Martino Facchin
4ac0cc1df0
Fix 8MHz clock being generated incorrectly
...
CMSIS-Atmel 4.5 changed the prescaler defines to match the bit mask, not the actual prescaler value, thus `SYSCTRL_OSC8M_PRESC_1_Val` now means "divide by 2"
Fixes https://github.com/arduino/ArduinoCore-samd/issues/214
2017-02-28 09:43:02 +01:00
Sandeep Mistry
a15d190ada
Add support for updating sketches from an SD card
...
Via 2nd stage boot code that checks SD card for UPDATE.bin
2017-02-15 15:31:18 -05:00
Martino Facchin
9dac5f1679
Merge pull request #196 from sandeepmistry/udp-begin-multi
...
Add virtual beginMulticast(...) stub to UDP class
2017-02-08 15:36:24 +01:00
Johnny Willemsen
280d92d9de
Fixed unused variable warning, see issue #209
...
* cores/arduino/wiring.c:
2017-02-07 12:49:55 +01:00
Sandeep Mistry
33efce53f5
Set full PINCFG register on pinMode(pin, OUTPUT)
2017-01-24 10:07:12 -05:00
Sandeep Mistry
d4210ea2d0
Add virtual beginMulticast(...) stub to UDP class
2017-01-03 13:41:58 -05:00
Bumsik Kim
e046d4337e
fixed utoa type conflict
2017-01-03 09:09:50 -05:00
Cristian Maglie
428433f963
Merge branch 'bootloader-cmsis-fix'
2016-12-20 16:59:12 +01:00
Martino Facchin
95963e6ff7
Merge pull request #185 from facchinm/autoconf_sketch_start_banzai_mainline
...
Add method to automatically retrieve sketch start
2016-12-20 14:39:08 +01:00
Sandeep Mistry
80f629c379
Correct epBank1EnableTransferComplete
2016-12-19 16:30:52 -05:00
Cristian Maglie
2f3b976652
Updated crystalless startup to be compliant with CMSIS-Atmel 4.5
2016-12-19 16:02:20 +01:00
Cristian Maglie
7b8e0b11ed
Added support for crystal-less configurations
2016-12-19 14:48:29 +01:00
Martino Facchin
7ddb26678f
Avoid erasing the chip if the sketch doesn't contain a bootloader
...
Use the information retrieved from the linker script in use to simply call a reset without any erase
2016-12-16 10:25:06 +01:00
Martino Facchin
ce5405f396
Add method to automatically retrieve sketch start
...
The exported variable is used by banzai() to avoid erasing any bootloader part
2016-12-15 18:48:40 +01:00
Martino Facchin
d2b2ff928e
Declare main and init so the user can't "overwrite" them
2016-12-15 18:34:15 +01:00
Martino Facchin
86ae860677
Enlarge USB serialNumber buffer
2016-12-15 18:34:05 +01:00
Sandeep Mistry
38683e36b6
Changes required for new CMSIS package upgrade
...
Fixes some compile errors and warnings
2016-12-02 10:48:52 -05:00
Sandeep Mistry
5a033fed7d
Add I2S support
2016-11-25 09:37:26 -05:00
Sandeep Mistry
e77ae8fe8e
Optimize SPI transfers
2016-11-17 17:17:05 -05:00
Cristian Maglie
ce89e7e244
Launch libc initialization after hardware setup
...
This pachs allows C++ global constructors to run after hardware
initialization. This helps some libraries that setups hardware
in class constructor to work properly.
See also #169
2016-10-11 18:40:20 +02:00
Cristian Maglie
8737fd8fb5
Merge branch 'fix-usbserial-available'
2016-10-11 00:00:17 +02:00
Cristian Maglie
b06501baee
Fix regression: SerialUSB.available() do not return correct values
...
Fix #172
2016-10-10 12:43:14 +02:00
Mike D
126b167693
Fixed issue where pins were not being configured properly in analogWrite when multiple channels of the same TCC/TC module were being used to drive outputs.
2016-10-03 11:55:43 -07:00
Cristian Maglie
13b371ba37
Merge remote-tracking branch 'sandeep/usb-send-timeout-take-2' into HEAD
2016-09-15 15:08:36 +02:00
Sandeep Mistry
c7c6f709b5
WString: add toDouble
...
Port of https://github.com/arduino/Arduino/pull/5362
2016-09-14 13:46:30 -04:00
Sandeep Mistry
b2462a5a1a
Remove line state check in Serial_::write
...
It’s no longer needed with the timeout mechanism in USBCore.
2016-08-31 11:21:40 -04:00
Sandeep Mistry
8f7873cea5
Add comment on inspiration
2016-08-31 11:21:40 -04:00
Sandeep Mistry
8afe969ed2
Make transmit timeout per endpoint
2016-08-31 11:21:40 -04:00
Sandeep Mistry
b627e00b17
Add USB send timeout
...
Timeout is checked on the next send attempt. Initial timeout is set to
70ms, after a time out occurs and the previous transfer is still not
complete a send will report as failed. If a send times out, a ZLP will
be in the send queue to check for future timeouts.
2016-08-31 11:21:40 -04:00
Cristian Maglie
5dd2adc41d
USBD: Rewritten RX/TX LED conditions in a slighlty more clear way
2016-08-29 17:06:56 +02:00
Cristian Maglie
0605c11e76
USBD: RX LED now blinks again (fixed regression)
2016-08-29 17:05:16 +02:00
Cristian Maglie
4691ef4ba0
USB: Added optimized Stream::readBytes for EP OUT handler
...
This bypass the generic (but inefficient) implementation of Stream::readBytes
and uses an optimized version of readBytes than can do efficient multi-byte reads.
2016-08-24 12:50:37 +02:00
Cristian Maglie
3127d1dc51
USB-CDC: Increased buffer size to 256 bytes
...
This change improves read performance when massive data is sent
via USB by exploiting the hardware capability to handle multi-packet
transfers autonomously.
2016-08-24 12:50:25 +02:00
Cristian Maglie
5265e1215a
USB: EP0 ::recv method has been merged with ::read method
...
It makes no sense to have ::recv calling repeatedly ::read in this
case.
2016-08-24 12:37:27 +02:00
Cristian Maglie
2e44a4d961
USBD: Added critical sections to EP OUT handler
2016-08-24 01:04:58 +02:00
Cristian Maglie
a9127228d6
USB: Slightly refactored EP OUT handler
...
Now the release() function only performs the action that is called for,
i.e. release the endpoint and let it receive data. All the buffers handling
has been inlined in the callers, this also slightly improves performance
because it allows to remove some redundant checks.
2016-08-24 01:04:58 +02:00
Cristian Maglie
87bf6e1bf1
Fixed some comments
2016-08-24 01:04:58 +02:00
Cristian Maglie
3ba1a35296
Moved EPHandler in USBDevice headers
...
The reference to the upper USBDevice class is passed on
the EPHandler constructor.
2016-08-24 01:04:58 +02:00
Cristian Maglie
7d37753904
USB-CDC: OUT EP is now handled with a custom EPHandler
2016-08-24 01:04:58 +02:00
Cristian Maglie
9f24bbe9a8
USB: Added an OUT EP handler with double buffering.
2016-08-24 01:04:58 +02:00
Cristian Maglie
b2ddb2267d
USB: Added interface to possibly setup dynamic USB EP Handler
2016-08-24 01:04:58 +02:00
Cristian Maglie
34bf5421f8
USB: set return type of USBDevice::recv(ep) to int
...
this is the proper type to encapsulate a byte when data is available
or -1 when there is no data.
2016-08-24 01:04:58 +02:00
Cristian Maglie
40d9554ed3
USB-CDC: Avoid need to send ZLP by sending up to (EPX_SIZE-1) bytes at a time
2016-08-24 01:04:58 +02:00
Cristian Maglie
07263f8bf3
USB-CDC: reset EP OUT count upon reception
2016-08-24 01:04:58 +02:00
Cristian Maglie
19ae0eb4d4
USB-CDC: access to rx buffer is now ISR-protected
2016-08-24 01:04:58 +02:00
Cristian Maglie
9f678cb416
USB-CDC: Refactored EP OUT handling
2016-08-24 01:04:58 +02:00
Sandeep Mistry
e4f7bf513d
Add private availableForStore method, and use in Serial_::accept
2016-08-24 01:04:58 +02:00
Sandeep Mistry
cea1d20f27
Enable transfer complete in USBDeviceClass::recv once bank is empty
2016-08-24 01:04:58 +02:00
Cristian Maglie
0d644d73e9
Removed unused code
2016-07-20 12:27:00 +02:00
Sandeep Mistry
533d7ccaeb
Merge branch 'fix-pwm' of https://github.com/cmaglie/ArduinoCore-samd
...
Fixed PWM frequency glitch
2016-07-19 09:14:38 -04:00
Sandeep Mistry
94d6f56cee
Port arduino/Arduino#4667 to SAMD core
2016-07-18 15:13:41 -04:00
Sandeep Mistry
0a35b5535a
Add getTimeout accessor method to Stream
...
Port of https://github.com/arduino/Arduino/pull/4718 to SAMD core.
2016-07-18 14:29:55 -04:00
Sandeep Mistry
40e5a4fcee
Make String::move of an invalidated String result in an invalidated String
2016-07-12 17:42:40 -04:00
Arturo Guadalupi
2f0f349943
Merge pull request #98 from sandeepmistry/write-slave-tx-buffer
...
Use TX buffer for Wire slave writes
2016-07-08 16:52:06 +02:00
Arturo Guadalupi
f054f5c714
Merge pull request #101 from sandeepmistry/digital-read-write-pullup
...
Enable digitalRead on output pins, only enable pull-up in digitalWrite if pin is not output
2016-07-08 16:30:39 +02:00
Arturo Guadalupi
5b2c475376
Merge pull request #148 from sandeepmistry/SerialUSB.availableForWrite
...
Add Serial_::availableForWrite()
2016-07-07 18:12:49 +02:00
Cristian Maglie
c9f315b9b2
Set PWM frequency to 732.4Hz
2016-06-30 20:15:35 +02:00
Cristian Maglie
f221d1f1bd
Fixed PWM frequency glitch
2016-06-30 20:15:35 +02:00
Cristian Maglie
156884bc02
Fixed whitespaces, removed some prefixes from variables names
2016-06-29 17:20:37 +02:00
Cristian Maglie
683845e484
Update string class to upstream version
2016-06-29 16:55:36 +02:00
Cristian Maglie
49a66b4784
Fix typo in cortex_handlers.
...
Fix #149
2016-06-27 13:16:11 +02:00
Sandeep Mistry
e5166fb922
Use TX buffer for slave writes, empty on master read mode + DRDY IRQ
2016-06-17 09:55:49 -04:00
Sandeep Mistry
214f990bdb
Define RAMSTART, RAMSIZE, RAMEND
2016-06-17 09:35:35 -04:00
Arturo Guadalupi
42dd310a35
Merge pull request #146 from sandeepmistry/serial-availableForWrite
...
Add Uart::availableForWrite()
2016-06-07 09:04:26 +02:00
Arturo Guadalupi
f3a29a7da6
Merge pull request #143 from sandeepmistry/cdc-write-return-value
...
Correct SerialUSB return value
2016-06-06 17:24:16 +02:00
Sandeep Mistry
97e9c26fd7
Add Serial_::availableForWrite
2016-06-06 10:00:21 -04:00
Sandeep Mistry
76ca382f00
Add Uart::availableForWrite()
2016-06-03 09:28:09 -04:00
Sandeep Mistry
470c21067f
Add snprintf_P stub
...
Port of https://github.com/arduino/Arduino/pull/4996
2016-05-30 14:27:49 -04:00
Sandeep Mistry
1634b5e0cb
Code styling for #144
2016-05-30 11:55:47 -04:00
rocketscream
bfd2a0bb28
Fix Serial.flush() blocking if called immediately after Serial.begin().
2016-05-30 11:54:18 -04:00
Sandeep Mistry
8d0c167462
Change return value of Serial_::write to be the # of bytes written
...
Previous 0 was always returned.
2016-05-27 11:22:49 -04:00
Sandeep Mistry
8ef9bb3d7b
Make return value of USBDeviceClass::send the bytes sent
2016-05-27 11:21:34 -04:00
Cristian Maglie
37c256bfc3
Removed whitespaces in WString.h
2016-04-20 20:28:25 +02:00
Cristian Maglie
b527f11472
Strings now support iterators
2016-04-20 20:28:02 +02:00
Cristian Maglie
2e9e453586
Merge branch 'usb-tx-rx-led' of https://github.com/sandeepmistry/ArduinoCore-samd
2016-04-19 16:18:36 +02:00
Sandeep Mistry
49f0d67161
Bump ARDUINO_SAMD_VARIANT_COMPLIANCE to 100606
2016-04-06 13:39:49 -04:00
Sandeep Mistry
90bf3d5cce
Make Arduino.h version of digitalPinToInterrupt return argument
2016-04-06 13:12:16 -04:00
Sandeep Mistry
2e620d7019
Move digitalPinToInterrupt definition to Arduino.h if variant compliance it 1.6.5 or higher
2016-04-06 13:12:15 -04:00
Sandeep Mistry
0352cc8558
Change digitalPinToInterrupt to return pin, and use g_APinDescription[pin].ulExtInt to map pin inside attachInterrupt/detachInterrupt
...
This brings things inline with the atachInterrupt documentation for
usage:
attachInterrupt(digitalPinToInterrupt(pin), ISR, mode);
2016-04-06 13:12:15 -04:00
Sandeep Mistry
96a759de13
Correct prog_int64_t and prog_uint64_t typedefs
2016-04-05 09:37:11 -04:00
Sandeep Mistry
cee4a8d8e6
Descriptor type (0x03) should be second byte for string descriptor
2016-03-30 14:00:57 -04:00
Sandeep Mistry
ba1ad40168
Add cast for string passed into strlen
2016-03-30 14:00:57 -04:00
Cristian Maglie
ea894b1efe
Fixed USB sendStringDescriptor
2016-03-30 14:00:56 -04:00
Sandeep Mistry
ba02d346d2
Add USB transfer RX/TX LED blinking
...
Only enabled if PIN_LED_TXL or PIN_LED_RXL is defined
2016-03-04 15:16:31 -05:00
Sandeep Mistry
dd6890a378
Use modulo operator in Print::printNumber
...
Port of @tico-tico’s change in
https://github.com/tico-tico/Arduino/commit/a7454b6b5c59187b95c4224aad87
bb01faa06e85 to SAMD core.
2016-03-03 12:06:22 -05:00
Cristian Maglie
0d57cfefe7
Set MANW bit of NVMCTRL to 1 at startup (default is 0).
...
This prevents accidental overwrites of the bootloader if a NULL
pointer is used for writing by mistake.
2016-02-26 17:23:06 +01:00
Sandeep Mistry
c6087868df
Merge branch 'master' of https://github.com/rocketscream/ArduinoCore-samd
2016-02-23 13:17:02 -05:00
Sandeep Mistry
610a937ed1
Only re-enable IRQ if PRIMASK was 0 before disabling IRQ
2016-02-18 20:18:00 +01:00
Cristian Maglie
e8d6cf5aad
Merge branch 'wire-slave-address-exact-match' of https://github.com/sandeepmistry/ArduinoCore-samd
2016-02-18 19:37:20 +01:00
Sandeep Mistry
155f259391
Force link _printf_float in dtostrf
2016-02-16 12:03:59 -05:00
Sandeep Mistry
c9a0009196
Merge branch 'MIDIdescriptorsFix' of https://github.com/arduino/ArduinoCore-samd
2016-01-26 12:07:45 -05:00
Sandeep Mistry
a08cb3fea9
Make assigning PULLEN value in digitalWrite a bit clearer
2016-01-21 14:27:04 -05:00
Sandeep Mistry
bf454d85fc
Clean up port, pin, and pin mask duplication in digitalWrite
2016-01-21 14:25:56 -05:00
Sandeep Mistry
0f3f80a1cc
Only update pull-up value in digitalWrite if pin direction is not output
2016-01-21 14:20:00 -05:00
Sandeep Mistry
ba0488d69a
Disable pull-ups on pinMode OUTPUT
2016-01-21 14:13:09 -05:00
Sandeep Mistry
e431bf7f91
Enable input on pinMode OUTPUT to support reading back current value via digitalRead
2016-01-21 14:11:21 -05:00
Sandeep Mistry
2a37de989a
Correct use of I2C slave address mask, it should be set to 0 for exact match
2016-01-19 11:38:55 -05:00
Tom Keddie
7fad702687
Change flush semantics to match AVR, fixes https://github.com/arduino/ArduinoCore-samd/issues/82
2016-01-18 11:46:45 +01:00
Tom Keddie
4bba56fdfb
Fix https://github.com/arduino/ArduinoCore-samd/issues/83 by changing to 16 bits
2016-01-18 11:46:45 +01:00
Sandeep Mistry
3ea315a0e3
Port some AVR Serial_ (SerialUSB) API's over
2016-01-15 09:13:34 -05:00
Cristian Maglie
f763660671
Merge branch 'wire-master-repeated-starts' of https://github.com/sandeepmistry/ArduinoCore-samd
2016-01-13 11:31:38 +01:00
rocketscream
d58b22d12c
Fixed attachInterrupt() for use during sleep
2016-01-12 16:11:34 +08:00
Sandeep Mistry
20104a6c77
Use asynchronous fractional mode to configure UART
2016-01-05 10:57:32 -05:00
Sandeep Mistry
8a95c1eab3
Merge remote-tracking branch 'gh-megabit/usbcpp-warning-fix'
2016-01-04 14:42:54 -05:00
Cristian Maglie
a1739d0179
Added more pgmspace.h equivalents
2016-01-04 18:55:07 +01:00
Luke McConnell
069b760174
Resolve compiler warning in USBCore
...
Resolve compiler warning from performing arithmetic on void pointers
2016-01-03 15:25:20 +00:00
agdl
17734c50d4
Fixed MIDI descriptors
...
To be compliant with the one sent by the AVR core
2015-12-17 12:26:31 +01:00
Thibaut VIARD
132b219893
Adding more available ADC channels for SAMD21J18
...
Signed-off-by: Thibaut VIARD <aethaniel@sam-geek.org>
2015-12-16 12:18:50 +01:00
Sandeep Mistry
eb397e2b4d
Port Stream parseInt and parseFloat enhancements to SAMD
...
Also add Stream::find(char) API.
Port of: https://github.com/arduino/Arduino/pull/3337
2015-11-23 17:02:52 -05:00
Cristian Maglie
e034b1a454
Added compatibility defines for core's variant files
...
The variant's file compliance is now determined using a define named
ARDUINO_SAMD_VARIANT_COMPLIANCE
that refer to the minimum core version required for this variant file
to work.
2015-11-20 21:09:54 +01:00
Cristian Maglie
80d212a0cc
Pin peripheral for analogRead is always PIO_ANALOG.
...
The attribute ATTR_ANALOG is needed to select DAC, so it has been
removed from pins A1..A5 that doesn't have a DAC.
2015-11-20 21:07:03 +01:00
Cristian Maglie
46ca790fce
Added PIN_ATTR_TIMER_ALT attribute for correct timer selection
...
The selection of the correct timer peripheral is now
decided through the PIN_ATTR_{TIMER/TIMER_ALT} attribute.
2015-11-20 21:07:03 +01:00
Cristian Maglie
04bda59c48
Merge branch 'Wire-slave' of https://github.com/sandeepmistry/ArduinoCore-samd
2015-11-18 19:01:26 +01:00
Sandeep Mistry
a2949d505f
Wait for idle or bus owner state in startTransmissionWIRE instead of storing repeated start state.
2015-11-18 09:19:04 -05:00
William
b993249630
Add I2C Repeated Start Capability
...
Adjust requestFrom, endTransmission, and startTransmissionWire to handle
repeated starts
2015-11-17 16:00:54 -05:00
Cristian Maglie
0d83c9692a
Added missing definitions in WVariant.h
2015-11-17 17:14:00 +01:00
Cristian Maglie
2a9cbd4cfa
Added missing timers definition in WVariant.h
2015-11-17 17:13:40 +01:00
Arturo Guadalupi
5d10da282d
Merge pull request #55 from arduino/toneFix
...
Tone fix for #59 and optimizations
2015-11-11 09:07:47 +01:00
tuxedo0801
8d601813ca
Added missing begin() variant with 2nd argument for configuring serial port (parity etc..)
2015-11-06 14:51:58 +01:00
Sandeep Mistry
2ceac4411c
Add getDataOrderSPI API to Sercom
2015-11-04 15:05:18 -05:00
Cristian Maglie
7bbafe53bd
Print not aborting on write failure
...
See https://github.com/arduino/Arduino/issues/3614
2015-10-26 12:04:38 +01:00
agdl
823cbce4b5
Tone fix for #59 and optimizations
...
This fixes issue #59 and optimize the way the prescaler is found.
Furthermore non needed instructions are not repeated.
2015-10-22 15:39:28 +02:00
Martino Facchin
86fa94fdc7
PUSB: add iSerial USB field
2015-10-21 16:48:13 +02:00
Cristian Maglie
ba66285747
Merge remote-tracking branch 'facchinm/pluggable-hid' into HEAD
2015-10-12 17:21:30 +02:00
Martino Facchin
02945cc78e
[PluggableUSB] port to stable API
2015-10-12 15:28:07 +02:00
Cristian Maglie
6f2482c416
Updated IPAddress to the latest version
2015-09-24 16:07:11 +02:00
Martino Facchin
87bbaaa43d
fix PUSB_getInterface return value
2015-09-16 14:56:21 +02:00
Martino Facchin
81475510fa
fix pluggableUSB OUT packets
2015-09-16 12:59:53 +02:00
Martino Facchin
6d2f3db02a
adapt USB core to PluggableUSB
2015-09-16 12:59:53 +02:00
Cristian Maglie
81cbda3aa6
Fixed bug in USBCore::send... (yikes!)
2015-09-10 18:47:08 +02:00
Cristian Maglie
ac16594d2a
Disabled SRAM shortcut when in USBCore::send
...
The shortcut has some issues:
- sometimes it fails when sending an odd number of bytes (may be
due to memory alignment?)
- the data pointer should point to "stable" data (and this is not
guaranteed by caller, it may be some sort of temporary buffer)
- the SRAM is not guaranteed to start at 0x20000000
All the above problems must be properly fixed before reenabling
this part
2015-09-10 16:08:32 +02:00
Cristian Maglie
45d787ddb6
Removed some unused warning in USB-Core
2015-09-09 15:43:25 +02:00
Cristian Maglie
a6fa8329aa
Fixed a lot of warnings in USBHost
2015-09-09 15:43:25 +02:00
Cristian Maglie
e748f0985f
Moved USB ISR handler in startup.c
2015-09-09 15:42:58 +02:00
Jean-Christophe BUDA
fe4d51f851
Update for host and Device USB
2015-09-09 15:42:06 +02:00
Jean-Christophe BUDA
6608091768
HID class fixes
2015-09-09 15:42:05 +02:00
Martino Facchin
ff8bc8996a
use different EP for CDC IN and OUT
2015-09-09 15:42:05 +02:00
Jean-Christophe BUDA
ffd05f251a
Fix to USBDevice blocking-send
2015-09-09 15:42:05 +02:00
Martino Facchin
9d0d5d6158
fix back-to-back SerialUSB test
2015-09-09 15:42:05 +02:00
Martino Facchin
90d2f8032a
USB: fix CDC endpoints
...
* fix in_endpoint buffer size (was too big)
* use the same EP for CDC_ENDPOINT_OUT and CDC_ENDPOINT_IN (different buffers)
* fix CDC_ENDPOINT_IN ep type
2015-09-09 15:42:05 +02:00
Cristian Maglie
3ddf463e89
USBDevice: added 'full' flag to USB buffer
...
This way all the 64 bytes available can be filled up
2015-09-09 15:42:05 +02:00
Cristian Maglie
44174a0ae6
USB device refactoring (WIP)
2015-09-09 15:42:05 +02:00
Sandeep Mistry
4efe39eb49
Changes to get Wire slave receiver working
2015-09-08 17:47:30 -04:00
Cristian Maglie
b0e8ff0675
WInterrupts: optimized use of digitalPinToInterrupt()
2015-09-04 17:21:19 +02:00
Cristian Maglie
e53a7a7ad1
Removed redundant #ifdef __cplusplus in WInterrupts.c
2015-09-04 17:17:22 +02:00
Cristian Maglie
d654db2248
Cosmetic changes in WInterrupt.*
2015-09-04 17:16:21 +02:00
Cristian Maglie
e258489713
Simplified "callbacksInt" structure in WInterrupts.c
2015-09-04 15:35:38 +02:00
Cristian Maglie
6538f8950b
NMI interrupts are now correctly ignored by attach/detachInterrupt
...
Fixes #30
2015-09-04 15:33:41 +02:00
Cristian Maglie
cc5948b211
WInterrupts.c cosmetic fix
2015-09-04 15:17:30 +02:00
Cristian Maglie
7b806884f0
Updated IPAddress class to the latest version
2015-08-24 12:26:44 +02:00
Martino Facchin
9a5422d70b
relax digitalWrite parameter check
...
calling digitalWrite with any value different from 0 will end
in performing digitalWrite(HIGH)
2015-08-14 10:35:57 +02:00
Cristian Maglie
6e7409f2e2
delay.h is included outside __cplusplus guards
2015-08-13 18:02:03 +02:00
Erin Tomson
0bfeec7f4b
Fix two bugs that can cause deadlock conditions when i2c bus errors occur.
...
The first occurs when starting a read transaction from a slave that doesn't respond. The code would wait until the SB (slave on bus) bit is set in the INTFLAGS register, but when a nack occurs that never happens so we're stuck in an infinite loop. The fix is to also look for the MB flag to be set. If it is, issue a stop condition and return.
The second happens when a bus error (ie, an illegal stop condition) occurs while sending data as a master. In that case we are waiting for the MB (master on bus) flag to be set. When a bus error occurs that never happens, so again we end up in an infinite loop. The fix here is to also look for the BUSERR flag to be set. If it is, return an error condition.
2015-07-24 23:08:36 -07:00
Martino Facchin
f2cfe5247a
fix wrong delay()
...
the function returned 1 millisecond after the required time
2015-07-23 11:33:12 +02:00
Cristian Maglie
728d723e98
Merge branch 'cxx11'
2015-07-17 16:35:27 +02:00
Cristian Maglie
8ebc4be2b2
Using memset instead of for-loop in UDD_Init
2015-07-17 15:50:12 +02:00
Cristian Maglie
1f09fc96c0
Enable C11/C++11
...
See https://github.com/arduino/Arduino/pull/2175
Quoting the original commits from Matthijs Kooijman:
Enable C++11 support
This uses the gnu++11 standard, which is C++11 with GNU extensions.
C++11 should be full compatible with the previously used C++98
standards, so all pre-existing sketches should continue to work.
Enable C11 support
This uses the gnu11 standard, which is C11 with GNU extensions.
Previously, gnu89 was being used, which is pretty ancient by now. C99
brings some important improvements, some of which were already available
and used even without this option. C11 is more recent and brings more
minor improvements. Most notable feature is the static_assert statement,
allowing checking invariants at compiletime using the full C
expressions.
2015-07-17 12:06:20 +02:00
Cristian Maglie
49fe43806d
Uart: fix acknowledge of UART errors
...
This fix lock-ups on UART errors (for example when disconnecting
and reconnecting RX/TX wires or if the method Serial.begin is
called while another device is already transmitting).
2015-07-05 13:36:52 +02:00
Cristian Maglie
d9df90830e
Fixed cortex-M hooks for RTOS
...
Fixes #4
2015-06-26 10:28:52 +02:00
Cristian Maglie
a546da22f9
Fixed min/max definition and other macros as well
...
It seems that
#include <stdint.h>
is able to undef "min" and "max" previously defined. With this
commit we make sure that they are defined as last.
Fix #10
2015-06-24 10:02:01 +02:00
Cristian Maglie
f3dc649efe
Fixed warnings
2015-06-15 15:49:43 +02:00
Cristian Maglie
30f23fb9ac
Other license cleanup
2015-06-15 14:25:42 +02:00
Cristian Maglie
97f1cf6af5
Hide non-API pinPeripheral method
2015-06-15 14:16:15 +02:00
Cristian Maglie
7cd5344e85
Removed non-API call toneAccurateClock
2015-06-15 13:16:59 +02:00
Cristian Maglie
1a1856c2fc
License fix and cosmetic changes.
2015-06-14 17:16:37 +02:00
Cristian Maglie
c5e9cfd84f
Added initVariant() hook
...
as in the other Arduino cores
2015-06-13 16:16:50 +02:00
Cristian Maglie
50bc7867db
USB VID/PID is now correctly taken from C macros
2015-06-12 17:43:39 +02:00
Cristian Maglie
810117ccaa
Bootloader: fixed VID/PID
2015-06-10 10:57:00 +02:00
Cristian Maglie
b161b7127a
Merge branch 'sercom-pads' into zero
2015-06-05 16:45:23 +02:00
Cristian Maglie
50eb6e44be
Updated Stream class
2015-05-28 15:19:01 +02:00
Thibaut VIARD
e951ca9bf8
Adding the ability to choose SERCOM Pads
2015-05-27 20:29:32 +02:00
Thibaut VIARD
980947c44f
Adding breakpoints in handlers for DEBUG mode
2015-05-27 20:29:32 +02:00
Thibaut VIARD
30d3861324
Cleaning core interrupts handlers
2015-05-27 20:29:32 +02:00
Thibaut VIARD
b18634ed99
Adding TC5 definitions
2015-05-27 20:29:32 +02:00
Claudio Indellicati
806c330371
Fixed register synchronization in 'analogReadResolution()'.
2015-05-20 15:16:43 +02:00
Claudio Indellicati
3912d9d827
Loaded ADC calibration values at startup.
2015-05-20 15:16:08 +02:00
Cristian Maglie
9f0bb5de0b
Merge pull request #84 from arduino/zero-analogwrite-sync
...
Added missing synchronization code to analogWrite().
2015-05-14 01:34:41 +02:00
Claudio Indellicati
5a6dafaf8c
Fixed default maximum frequency calculation in Tone.cpp.
2015-04-15 18:00:12 +02:00
Martino Facchin
fcc2eab363
Merge pull request #86 from arduino/zero-nmi-fix
...
Fixed NMI handling.
2015-03-27 16:24:01 +00:00
Cristian Maglie
e913b22975
Merge branch 'master' into zero
2015-03-27 15:56:25 +01:00
Claudio Indellicati
e32f402e2e
Fixed NMI handling.
2015-03-26 17:24:54 +01:00
Cristian Maglie
6884e11252
Added pulseIn implementation
2015-03-25 12:38:48 +01:00
Cristian Maglie
d20e0d2a24
removed leftovers from old pulseIn
2015-03-24 18:30:48 +01:00
Claudio Indellicati
49e4bf10dc
Added missing synchronization code to analogWrite().
2015-03-24 17:38:35 +01:00
Thibaut VIARD
928b796990
Removing ADC averaging
...
Signed-off-by: Thibaut VIARD <thibaut.viard@atmel.com>
2015-03-23 15:28:35 +01:00
Thibaut VIARD
464469999d
Removing useless line in AnalogRead()
...
Signed-off-by: Thibaut VIARD <thibaut.viard@atmel.com>
2015-03-23 11:24:29 +01:00
Thibaut VIARD
13d4fabbfa
Fixing wrong comment of SystemInit()
...
Signed-off-by: Thibaut VIARD <thibaut.viard@atmel.com>
2015-03-19 00:49:42 +01:00
Claudio Indellicati
e1dbd13d34
Added first tone library implementation.
...
Interrupt based implementation that works on every pin.
2015-03-16 15:35:41 +01:00
Claudio Indellicati
b09403540c
Minor changes.
...
- Renamed Tone.cpp.disabled to Tone.cpp
- Removed commented legacy AVR code from Tone.cpp
2015-03-13 16:40:28 +01:00
Cristian Maglie
889332c3df
Revert " Fixed incorrect CDC-USB buffer handling"
...
This reverts commit bc7115b104428f9bea4fdfa1b6af245085f6f542.
2015-03-13 13:23:36 +01:00
Cristian Maglie
d181360425
Fixed incorrect CDC-USB buffer handling
2015-03-06 15:11:56 +01:00
Cristian Maglie
52237c845b
CDC-ACM bugfix
2015-02-13 17:17:06 +01:00
Cristian Maglie
d6857ed139
Fixed regression on boolean type definition
2015-01-27 15:19:12 +01:00
Cristian Maglie
2730cc0552
samd: Arduino "boolean" type is now mapped on "bool"
2015-01-14 00:35:52 +01:00
Cristian Maglie
41f8bf45bc
Uart now imports default write functions from Stream
2014-11-28 09:58:15 +01:00
Cristian Maglie
7ade600bad
Removed Uart.write(const char *data) function
2014-11-28 09:56:24 +01:00