1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-12 23:08:52 +01:00
Commit Graph

3942 Commits

Author SHA1 Message Date
Paul Brook
13c0db5834 Fix race condition in USB CDC transmit
If the Start of Frame interrupt triggers just after the call
to USB_SendSpace in USB_Send then we can get data loss.
When the first bank is full and the second partially full,
the SOF handler will release the second bank via USB_Flush.
Data is then lost due to overflow as USB_Send continues writing data
to the now-closed bank.

Fix this by re-checking the FIFO status inside LockEP, immediately before
doing the data write.

Signed-off-by: Paul Brook <paul@nowt.org>
2014-05-24 00:34:56 +02:00
Justin Rajewski
b822091a78 improved USB write speeds 2014-05-24 00:34:56 +02:00
Cristian Maglie
44b5096e05 Backported Print class from ide-1.5.x branch
Close #1951
2014-05-24 00:13:07 +02:00
Cristian Maglie
cc2a9a65c3 Merge branch 'ide-1.5.x-hwserial-cleanup' of github.com:matthijskooijman/Arduino into matthijskooijman-ide-1.5.x-hwserial-cleanup 2014-05-23 21:16:42 +02:00
Cristian Maglie
5d92c1ba8e Merge remote-tracking branch 'arduino/master' into ide-1.5.x
Conflicts:
	build/shared/examples/01.Basics/Blink/Blink.ino
	build/shared/examples/09.USB/Keyboard/KeyboardReprogram/KeyboardReprogram.ino
	build/shared/examples/10.StarterKit/p02_SpaceshipInterface/p02_SpaceshipInterface.ino
	hardware/arduino/cores/arduino/HardwareSerial.cpp
2014-05-23 21:04:47 +02:00
Cristian Maglie
fb8e439f3b Merge pull request #2057 from zfields/patch-1
Match return value to type in available()
2014-05-23 20:28:53 +02:00
Cristian Maglie
b999ed29bb Merge pull request #2090 from jenscski/master-fix-1361
Bug in SoftwareSerial when using inverse logic
2014-05-23 20:23:04 +02:00
Jens-Christian Skibakk
17e1eb5ef2 Fix idle level when initializing a inverted SoftwareSerial
Previously, when SoftwareSerial was initialized, it would always be set
to an idle level of HIGH, even when inverted logic was enabled. Once a
byte is transmitted, the idle level gets correctly set to LOW instead.
This commit makes sure that the idle level is correct directly after
initialization already.

This fixes #1361.
2014-05-23 13:12:58 +02:00
Chris
e079baa18d Fix for Due Wire library
Fix reading and use of TWI status register.
Also, update endTransmission to be compatible with original & give more
useful return.
2014-05-23 12:06:43 +02:00
Cristian Maglie
4d5d0f68bd Merge pull request #2084 from arduino/ide-1.5.x-httpclient-allow-https
Allows HttpClient to call https urls
2014-05-21 11:24:43 +02:00
Federico Fissore
61826901ae Added [no]checkSSL method that sets an "insecure" boolean flag.
If insecure, "-k" parameter is added to curl and SSL certificates
are not checked
2014-05-21 11:15:09 +02:00
Federico Fissore
cdf70e501d Adds parameter "-k" to every way of calling curl, hence allowing
calling https URLs without checking for the validity of SSL
certificates.
While this makes it a little insecure, nothing else can be done
while keeping the HTTPClient API simple: openwrt does not have a
SSL certificates bundle
Advanced users concerned about security should call "curl" on
their own using Process, supplying parameters such as "--cacert"
Fixes #1860
2014-05-21 09:47:49 +02:00
Cristian Maglie
de1e65f716 Merge pull request #2074 from matthijskooijman/ide-1.5.x-dep-spaces
Unescape special characters in dependency files
2014-05-19 18:53:57 +02:00
Matthijs Kooijman
02135349a9 Support TIMER1C
Some devices, such as the atmega2560 or the atmega256rfr2 have a timer1c
output. It seems this output is not connected to anything on the Arduino
Mega, but this allows using it on third party hardware nonetheless.
2014-05-16 18:57:04 +02:00
Federico Fissore
c12e24a826 Updated revisions.txt 2014-05-14 09:12:59 +02:00
Matthijs Kooijman
726f2ba931 Unescape special characters in dependency files
When a path contains spaces (or other special characters, probably), gcc
escapes them with a \ in the generated .d files. This previously caused
problems when parsing these files, causing recompiles to happen even
when not needed.

This applies a rather simple approach to unescaping these strings, which
seems to be sufficient because the file format of the .d files is so
predictable (e.g., we don't actually split on colons or spaces when
parsing it).
2014-05-13 16:52:14 +02:00
Erwin Ried
401f9e1634 FindReplace dialog now search and replaces in all the opened tabs. Also pre-fill the find field with selected text 2014-05-13 03:21:36 -04:00
Federico Fissore
245d879bf7 Merge pull request #2066 from manuel-rabade/fix-httpclient-ready
Fix HttpClient::ready() return value
2014-05-12 13:12:39 +02:00
Manuel Rabade
c5010dde39 acording to the docs HttpClient::ready should return the inverse of Process::running() 2014-05-12 02:12:02 -05:00
Scott Fitzgerald
9ad8748d40 Updated Blink
removed the variable “led” and added some additional descriptive text
2014-05-08 23:05:53 +04:00
Zachary J. Fields
f40e471354 Match return value to type in available() 2014-05-07 17:39:08 -07:00
Matthijs Kooijman
b26db209cd Remove unneeded register and ISR names in HardwareSerialx.cpp
Before, HardwareSerial1+.cpp were a copy of HardwareSerial1.cpp with all
0's replaced by the corresponding number. This would mean that e.g.
the Serial1 object would use the UBRRL register instead of UBRR1L when
it was defined, or the USART_RX_vect instead of USART1_RX_vect.

In practice, this would neve actually cause problems, since:
 - No avr chip currently has both the non-numbered registers as well as
   numbered registers.
 - HardwareSerial.h would only define HAVE_HWSERIALx when the
   corresponding numbered register is defined (except for
   HAVE_HWSERIAL0, which is also defined when the unnumbered registers
   are present).

Furthermore, before both the UARTx_xx_vect and USART_x_xx_vect was used.
Looking at the include files, only UART1_xx_vect is actually used (by
iom161.h), the others use USARTx_xx_vect. For this reason,
HardwareSerial1.cpp keeps the preprocessor conditional to select either
UART or USART and the other files use USART unconditionally.

While we're here, also fix the compiler error message when no valid ISR
name was found (it previously said "for the first UART" in all cases).
2014-05-06 10:26:46 +02:00
Matthijs Kooijman
0bc4b4bad1 Fix comment typo 2014-05-06 10:19:08 +02:00
Scott Fitzgerald
cf5fc143ac Modified Keyboard Reprogram example
Updated to reflect changes with how the IDE creates new blank sketches.
2014-05-03 19:16:29 +04:00
Cristian Maglie
3adbeeeaf8 Merge pull request #2042 from jaimeiniesta/patch-1
fix comments on spaceship example
2014-05-03 12:05:46 +02:00
Cristian Maglie
0aa9590b92 Merge pull request #2045 from Fede85/ide-1.5.x
added the MailboxReadMessage example for the Yun
2014-05-03 12:03:53 +02:00
Cristian Maglie
e380bbe098 Merge pull request #2044 from matthijskooijman/ide-1.5.x-interruptcount
Fix EXTERNAL_NUM_INTERRUPTS for atmega128rfa1 and atmega256rfr2
2014-05-03 10:59:58 +02:00
Cristian Maglie
d025638c61 Merge pull request #1775 from ribbons/memory-usage
Improve low free memory reporting
2014-05-03 10:59:37 +02:00
Fede85
586e7a2959 added the MailboxReadMessage example for the Yun 2014-05-02 17:41:18 +02:00
Matthijs Kooijman
412bfd6cf9 Fix EXTERNAL_NUM_INTERRUPTS for atmega128rfa1 and atmega256rfr2 2014-05-02 12:50:07 +02:00
Jaime Iniesta
9403021460 fix comments on spaceship example
The comments explaining the if..else part were mistaken.
2014-05-01 22:22:04 +02:00
Cristian Maglie
f864cdcff2 Fixed other trivial warnings in AVR USB core.
See #1877
2014-04-20 23:08:55 +02:00
Cristian Maglie
3d795c374b Removed other unused variables in CDC.cpp and HID.cpp
See #1877
2014-04-20 20:56:51 +02:00
Cristian Maglie
abbebed7dd Removed 'USB_MANUFACTURER' constant redefinition for known VIDs.
See #1877
2014-04-20 20:49:04 +02:00
Cristian Maglie
b673b72cfb Merge branch 'ide-1.5.x-warnings' of github.com:matthijskooijman/Arduino into ide-1.5.x 2014-04-20 19:36:29 +02:00
Federico Fissore
d9d8f5057b Spacebrew: library update 2014-04-17 12:44:36 +02:00
Cristian Maglie
225c76be43 Merge pull request #2012 from matthijskooijman/ide-1.5.x-platform-preferences
Fix platform-specific preferences in some cases
2014-04-14 19:58:57 +02:00
Matthijs Kooijman
aa46fdb978 Change the MacOS preference suffix to .macosx
Previously, preferences suffixed with .macos were treated specially,
but the default preferences.txt used .macosx.

I couldn't find when or how this was broken exactly - it seems
Processing used .macosx but this code was reimplemented for Arduino in
commit 33f5c53 (Implemented OS specific preferences) using .macos.

The effects of this have not been tested on OSX, but this might fix some
problems caused by wrong defaults on OSX.
2014-04-14 15:35:34 +02:00
Matthijs Kooijman
d2505a08f6 Process platform-specific suffixes immediately
In preferences files, platform-specific versions can be indicated by a
.linux, .windows or .macos suffix on the key name. Previously, these
keys were loaded as normal and then afterwards, all keys were scanned
after loading them and any platform-specific versions replaced the
regular ones.

However, this means that these platform-specific versions get an
unexpected form of priority. Normally, when a single key is set twice,
the latter overrides the first. However, the platform-specific values
could override the regular versions, even when the regular version
occurs later in the file.

This problem was particularly confusing when using the new
platform.local.txt: a regular preference in platform.local.txt did not
override a platform-specific preference in platform.txt.

This commit changes behaviour to process these suffixes directly as they
are read from the preference files. If a suffix for the current platform
is found, the line is processed as if the suffix was not present. If a
suffix for another platform is found, the line is ignored altogether.

This can slightly change the way preferences files are parsed, but as
long as platform-specific preferences are defined after the
corresponding regular preferences, the behaviour should be the same.
2014-04-14 15:35:33 +02:00
Cristian Maglie
f0738fdf9f Merge branch 'ide-1.5.x_serial_config' of github.com:bluesign2k/Arduino into ide-1.5.x 2014-04-10 21:55:29 +02:00
Cristian Maglie
b0e29179a5 Added extra flags support through platform.local.txt on sam
See #1985
2014-04-10 21:47:09 +02:00
Cristian Maglie
082f12b9f9 Merge remote-tracking branch 'matthijs/ide-1.5.x-platform.local.txt' into ide-1.5.x 2014-04-10 21:26:26 +02:00
Matthijs Kooijman
a89f5e68cf Explicitly define compiler.path in avr/platform.txt
Previously, this relied on an (ugly, avr-specific) magic default for the
compiler.path variable, set by the IDE. This allowed the IDE to fall
back to a system-wide toolchain when no bundled toolchain was found (by
making compiler.path empty).

However,
 - this only worked for avr, not sam,
 - this worked only for gcc, a system-wide avrdude would break on the
   avrdude.conf path in platform.txt, and

This would mean that automatic system-wide fallback didn't work in all
situations, so you'd still have to modify platform.txt (or create
platform.local.txt). Since doing that explictly is the most reliable
way, this commit removes the partial-working ability to do this
automatically.

Note that the code to automatically set compiler.path is still kept
around, in case third-party hardware still relies on this. At some
point, this code should be removed, but for now it just shows a warning
message.
2014-04-10 12:19:43 +02:00
Chris
d02fde6e37 Add config options to due Serial1, 2, and 3
Adds ability to set length, parity and stop bit configuration to
hardware serial ports using USART module (Serial1, Serial2, and Serial
3) on Due to allow compatibility with avr devices.
2014-04-07 21:55:23 +01:00
Cristian Maglie
06d75a4fa6 Merge branch 'master' into ide-1.5.x 2014-04-07 19:14:13 +02:00
Cristian Maglie
9c7e3ab4c3 Fixed example StringStartsWithEndsWith.ino 2014-04-07 19:07:49 +02:00
Cristian Maglie
a74597dceb Merge branch 'master' of github.com:majenkotech/Arduino 2014-04-07 18:54:27 +02:00
Cristian Maglie
ae1ef4750a Merge branch 'master' into ide-1.5.x 2014-04-07 18:53:15 +02:00
Matthijs Kooijman
d2ec05611c Add (empty) compiler.*.extra_flags variables in platform.txt
These make it easier for a user to add extra compiler flags in a
platform.local.txt file.
2014-04-04 11:31:50 +02:00
Matthijs Kooijman
a46e503a30 Allow overriding platform.txt using platform.local.txt
This helps advanced users that want to change options (e.g. to use a
different toolchain or enable warnings), without having to change
platform.txt (which could make git report changed files all the time).
2014-04-04 10:35:32 +02:00