Age | Commit message (Collapse) | Author |
|
Removes boards from boards.txt, bootloaders for those boards, and variants for those boards. As none of these boards support USB there's no reason to keep them around.
|
|
|
|
|
|
|
|
Required to separate this board set from the built-in AVR core
|
|
Putting the parameter names in these commonly used prototypes makes syntax help like VS Code's Intellisense work 99% more useful. Without them, it doesn't give you the names of the parameters and you have to remember the semantics yourself. :(
|
|
Remove commented out code for I2C interrupts on WInterrupts.c
|
|
These are currently implemented by the Wire library, on twi.c
|
|
Add USBDevice.isSuspended()
|
|
Add ATmega32U4-compatible Arduino as ISP programmer
|
|
Use of the stk500v1 protocol for Arduino as ISP does not work with native USB boards on Windows. The arduino protocol does.
However, the arduino protocol makes it more likely that boards with an external USB interface chip will require the auto-reset circuitry to be disabled to allow them to be used as Arduino as ISP. That adds extra complexity to a process already difficult for the average Arduino user.
For this reason, a new programmer using the arduino protocol is added specifically for using native USB boards as Arduino as ISP and the previous Arduino as ISP configuration is retained for use with all other boards.
|
|
This reverts commit b084848f2eaf9ccb3ac9a64ac5492d91df4706bf.
|
|
Based on code originally by Rob van der Veer <rob.c.veer@gmail.com>, this adds
USBDevice.isSuspended(), so user sketches can run custom code in their `loop`
methods after checking if the device is suspended or not.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
|
|
Removed #undefs in SoftwareSerial.h that were marked as Arduino 0012 workaround and that broke several macros, including abs.
See https://github.com/arduino/ArduinoCore-avr/issues/30
|
|
The standard mandates that placement new should be have a noexcept specifier.
|
|
|
|
|
|
|
|
Casting to void is a well known trick for prevening 'unused parameter' warnings.
|
|
|
|
|
|
|
|
Fixing SPI communication with a delay as pointe out in #6395
|
|
|
|
Since we are now factory flashing obtiboot, 115200 is the new default upload speed. Adding a new entry to CPU menu is more explicit than adding an "upload speed" menu, and the bootloader path can be updated too.
Fixes https://github.com/arduino/Arduino/issues/4492
|
|
|
|
Make write to UDR and clearing of TXC bit in flush() atomic
to avoid race condition.
Fixes #3745 (second different issue introduced later but discussed
in the same issue)
|
|
Preserve values of configuration bits MPCMn and U2Xn.
Avoid setting other read-only bits for datasheet conformance.
See #3745
|
|
Moving the head buffer pointer and setting interrupt flag is now
atomic in write(). Previously an intervening ISR could empty the
buffer before the second ISR is triggered causing retransmission.
Fixes: #3745 (original issue only)
|
|
New macro TX_BUFFER_ATOMIC makes the following code block atomic
only if the transmit buffer is larger than 256 bytes. SREG is restored
on completion.
The macro is then used to simplify code for availableForWrite()
|
|
In a MultiMaster I2C environment, The Default value of 0xFE in the TWAR cause the Arduino to respond as an I2C Slave device at address 0x7f. If the Wire.h library was not configured as a I2C Slave, `Wire.begin(slaveID);` the Callbacks for `twi_onSlaveTransmit()` and `twi_onSlaveReceive()` are never initialized.
But, they are called during servicing the TWI ISR. This causes a reboot of the Arduino by jumping to an uninitialized function address (0).
So, this fix initializes them to the Default Wire.h handler which will respond correctly even during Master Mode operations.
A MASTER MODE only Arduino will respond to all Slave Calls that match TWAR, Unless the TWEA bit is disabled outside of Master Transactions.
Chuck.
It also initialized the TWAR to the General Call ID (0x0) and Disables General Call responses.
Chuck.
|
|
Instead of checking for the NEW_LUFA_SIGNATURE once in program memory and then
setting a flag which is used for further checks, a function is used that always
checks program memory directly.
If a flag is used, there's a slight chance that its location in RAM could fall
on MAGIC_KEY_POS. In this case, an aborted USB auto-reset sequence may fail.
|
|
An auto-reset invoked using USB CDC is triggered by the port closing
(when set to 1200 baud). Closing of the port is indicated by DTR going inactive.
There is no need to have auto-reset invoked by a CDC_SET_LINE_CODING command.
Only the CDC_SET_CONTROL_LINE_STATE command, which indicates a change in the
state of DTR, should be used.
|
|
The state of the watchdog timer is saved during a USB auto-reset and then
restored if the reset is aborted, in case the sketch is using the watchdog.
|
|
In the USB CDC code to invoke an auto-reset, the magic key location could be
restored before it had actually been saved. The sketch would then have a
corrupted value at this location. This fix prevents the value from being
restored if it hasn't previously been saved.
|
|
|
|
24, 44 and 84
|
|
|
|
|
|
|
|
|
|
Other paths in avrdude.upload.pattern are wrapped in double quotes, and
this -P{serial.port} causes issues with some platforms. This allows
serial port devices which include spaces and other characters. Without
this fix a /dev/tty* or /dev/cu* device that includes a space in its
name gets truncated when passed to avrdude. Error messages returned
from avrdude are cryptic, and workarounds (symlinks) are prone to
failure.
Fixes #3693
|
|
It's ATmega328P, not ATmega328.
Partially solves https://github.com/arduino/Arduino/issues/6369
|
|
These functions were changed from private to protected in https://github.com/arduino/Arduino/commit/99f2a2755349784835130147e46cb61659b85893 but the comments were not updated at that time.
In conjunction with equivalent pull requests to Arduino SAM Boards and Arduino SAMD Boards, solves https://github.com/arduino/Arduino/issues/6146.
|
|
|
|
see https://github.com/arduino/Arduino/pull/5789#discussion_r118007759
|
|
This method originally flushed pending input bytes, which makes sense in
Stream. At some point it was changed to flush output bytes instead, but
it was never moved to Print to reflect this.
Since Stream inherits from Print, this should not really affect any
users of the Stream or Print classes. However to prevent problems with
existing implementations of the Print class that do not provide a
flush() implementation, a default implementation is provided. We should
probably remove this at some point in the future, though.
|
|
If available() is in the base Stream class, then availableForWrite() should be in the base Print class
|
|
|
|
|