Age | Commit message (Collapse) | Author |
|
|
|
Use more logical Boards menu placement for Uno Mini
|
|
Arduino has added a new board to the AVR-based line: the Uno Mini. The Uno Mini has its own board definition in this
platform, which produces a dedicated item in the **Tools > Board** menu of the Arduino IDE.
The classic Arduino IDE arranges the Boards menu for each platform according to the order of occurrence of the board
definition in the platform's boards.txt configuration file. The previous placement of the Uno Mini board definition
resulted in the board appearing at the end of the menu, along with retired and 3rd party boards.
The new placement will cause it to be shown alongside the related Arduino Uno and in a position befitting the latest
official AVR board.
|
|
Add unomini to sketch compilation CI workflow
|
|
The "Compile Examples" GitHub Actions workflow provides a basic "smoke test" for the platform by compiling the relevant example sketches for each of the boards on every commit and pull request.
A new board has been added to the platform (Uno Mini) and so should be added to the list of boards compiled for in this workflow.
Even though the Uno compilation does provide reasonable coverage for the Uno Mini due to their similar configurations, that coverage does not extend to the board definition itself.
|
|
Add drivers originally bundled with Java IDE directly in the core
|
|
|
|
|
|
https://github.com/arduino/ArduinoCore-megaavr/blob/master/post_install.bat
|
|
https://github.com/arduino/Arduino/tree/master/build/windows/dist/drivers (moved also gemma stuff under `gemma/`)
|
|
Fix legacy `upload.network_pattern` rule
|
|
|
|
|
|
|
|
Add support for pluggable discovery
|
|
Speed up 'available' method by inserting unsigned int cast
|
|
__divmodhi4
|
|
|
|
Allow disabling CDC with -DCDC_DISABLED
|
|
Don't use codespell's "rare" dictionary for CI spell check
|
|
The word "statics" was recently added to codespell's "rare" commonly mispelled words directory. By default, this
dictionary is used in addition to the more conservative "clear" dictionary, resulting in a spurious failure of the
"Spell Check" CI workflow.
Although this could be fixed by adding the word to the ignore list, it seems that an increasing number of common words
being added to this dictionary, so I think it's best to just remove it altogether. The goal for the "Spell Check"
workflow is to catch some typos without a significant number of false positives, even if that means some misspellings
slip through. I think the "clear" dictionary is more in line with that goal.
|
|
Use GitHub Actions for continuous integration
|
|
On creation or commit to a pull request, a report of the resulting change in memory usage of the examples will be
commented to the PR thread.
|
|
On every push or pull request that affects platform source code or bundled libraries, compile example
sketches of all bundled libraries for the platform's boards.
|
|
On every push, pull request, and periodically, run Arduino Lint to check for common problems not related to the project
code.
|
|
|
|
On every push, pull request, and periodically, use the codespell-project/actions-codespell action to check for commonly
misspelled words.
In the event of a false positive, the problematic word should be added, in all lowercase, to the ignore-words-list field
of ./.codespellrc. Regardless of the case of the word in the false positive, it must be in all lowercase in the ignore
list. The ignore list is comma-separated with no spaces.
|
|
|
|
Dependabot will periodically check the versions of all actions used in the repository's workflows. If any are found to
be outdated, it will submit a pull request to update them.
NOTE: Dependabot's PRs will sometimes try to pin to the patch version of the action (e.g., updating `uses: foo/bar@v1`
to `uses: foo/bar@v2.3.4`). When the action author has provided a major version ref, use that instead
(e.g., `uses: foo/bar@v2`). Dependabot will automatically close its PR once the workflow has been updated.
More information:
https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
|
|
|
|
Declare TwoWire functions as virtual
|
|
To make alternative implementations of the TwoWire class (e.g. SoftwareWire for software I2C) work properly being passed to libraries that expect TwoWire type.
|
|
fix twi_manageTimeoutFlag function description
|
|
|
|
Sometimes Arduino-based USB devices don't work because some hardware
(like KVM switches) gets confused by the CDC sub-devices.
This change makes it relatively easy to disable CDC at compiletime.
Disabling it of course means that the serial console won't work anymore,
so you need to use the reset button when flashing.
CDC_DISABLED is also used in ArduinoCore-samd for the same purpose.
based on
https://github.com/gdsports/usb-metamorph/tree/master/USBSerPassThruLine
See also https://github.com/NicoHood/HID/issues/225 and
https://github.com/arduino/Arduino/issues/6387 and
https://forum.arduino.cc/index.php?topic=545288.msg3717028#msg3717028
|
|
Update platform specification URLs in configuration files
|
|
The Google Code URL in boards.txt is very outdated. The URL in platform.txt is to a more recent home of the content,
which has been replaced with a link to the new location, but while I'm updating boards.txt, I might as well point both
URLs to the real page.
|
|
Improve reading ADC result
|
|
7.3.0-atmel3.6.1-arduino7 gcc fails to optimize separate reading from ADCL and ADCH. It produces additionally three eor commands or in some cases two mov commands in the assembly code (see discussion #344). These commands swap register contents before store them to data area. So they are completely unnecessary. Reading ADC result with ADC macro fixes it and gcc generates the right code..
|
|
Improve and complete implementation of new/delete
|
|
The standard dictates that `std::size_t` is used, rather than the plain
`size_t` type.
Even though these types are usually, if not always, exactly the same
type, other code might assume that `std::size_t` is actually used and thus
also available under that name after including `<new>`.
This fixes that by using the right type. One challenge is that it is
usually declared in headers that we do not have available, so this just
defines the `std::size_t` type in the `<new>` header to work around
that.
|
|
This is currently disabled, keeping the old behavior of returning
NULL on failure, but should probably be enabled in the future as code
that does want to do a null check has had a chance to switch to the
more portable nothrow versions.
When enabled, allocation failure calls the weak `std::terminate()`,
which calls `abort()` by default, but can be replaced by user code to do
more specific handling.
To enable this, a macro must be defined (in new.cpp or on the compiler
commandline).
This fixes part of #287.
|
|
This fixes part of #287.
|
|
These are special functions that are presumably put into vtables for
deleted or pure virtual functions. Previously, this would call `abort()`
directly, but calling `std::terminate()` achieves the same effect, but
allows user code to change the behavior (e.g. to print to serial, blink
leds or whatever makes sense).
|
|
This allows calling it from other places later. The default
implementation calls `abort()`, but making it weak allows user code to
override this function (either directly, or by including a library like
uclibc++ that implements `std::set_terminate()`).
Note that this does not add a declaration for this function, since the
standard dictates this to be in `<exception>`, but we cannot
meaningfully or completely implement that header, so better leave it to
be overridden by e.g. libraries like uclibc++.
|
|
This makes these functions weak, so that a sketch or library can replace
them. This does not apply to all of these operators, only for the ones
that the C++ standard specifies as replaceable.
|
|
This makes this header complete up to including C++14, except two
exception classes that cannot be defined without `<exception>`.
The functions related to the "new_handler" are declared but not actually
defined, to prevent overhead and complexity. They are still declared to
allow implementing them in user code if needed.
This makes the implementation of all operator new and delete functions
comply with the C++11/C++14 specification in terms of which should be
actually implemented and which should be delegate to other functions.
There are still some areas where these implementations are not entirely
standards-compliant, which will be fixed in subsequent commits.
This fixes part of #287 and fixes #47.
|
|
Originally, the Arduino core used "new.h", rather than the standard
"new", probably because the implementation was incomplete, and for the
most commonly used new and delete operators, no include is needed at all
(they are defined implicitly by the compiler). However, now Arduino
does expose the "new" name, as an alias for the older "new.h". Given
that the standard name is "new", it makes more sense to put the actual
content in "new", and make "new.h" a compatibility header that includes
"new" instead of the other way around.
|
|
|
|
|