1. 27 Dec, 2021 1 commit
  2. 22 Dec, 2021 1 commit
  3. 17 Dec, 2021 1 commit
  4. 16 Dec, 2021 2 commits
  5. 01 Dec, 2021 1 commit
  6. 30 Nov, 2021 1 commit
  7. 23 Nov, 2021 3 commits
  8. 17 Nov, 2021 1 commit
  9. 18 Oct, 2021 1 commit
  10. 14 Oct, 2021 1 commit
  11. 01 Oct, 2021 1 commit
  12. 08 Sep, 2021 1 commit
  13. 30 Jun, 2021 1 commit
    • per1234's avatar
      Don't use codespell's "rare" dictionary for CI spell check · 4899e506
      per1234 authored
      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.
      4899e506
  14. 26 May, 2021 9 commits
  15. 25 May, 2021 1 commit
  16. 25 Feb, 2021 1 commit
    • ArkadyGamza's avatar
      Declare TwoWire functions as virtual · 4b35c440
      ArkadyGamza authored
      To make alternative implementations of the TwoWire class (e.g. SoftwareWire for software I2C) work properly being passed to libraries that expect TwoWire type.
      4b35c440
  17. 12 Jan, 2021 1 commit
  18. 09 Jan, 2021 1 commit
  19. 06 Jan, 2021 1 commit
  20. 02 Nov, 2020 3 commits
  21. 01 Nov, 2020 1 commit
    • Vitaly Shmagun's avatar
      Improve reading ADC result · 4fd3801e
      Vitaly Shmagun authored
      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..
      4fd3801e
  22. 15 Oct, 2020 1 commit
  23. 17 Sep, 2020 5 commits
    • Matthijs Kooijman's avatar
      Use std::size_t in new/delete · 6d292502
      Matthijs Kooijman authored
      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.
      6d292502
    • Matthijs Kooijman's avatar
      Optionally let new terminate on allocation failure · 1a885ce8
      Matthijs Kooijman authored
      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.
      1a885ce8
    • Matthijs Kooijman's avatar
      Make zero-sized new standards-compliant · 6e0fb1ee
      Matthijs Kooijman authored
      This fixes part of #287.
      6e0fb1ee
    • Matthijs Kooijman's avatar
      Call std::terminate on pure or deleted virtual functions · 66d06b03
      Matthijs Kooijman authored
      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).
      66d06b03
    • Matthijs Kooijman's avatar
      Add weak `std::terminate()` implementation · b8c6c850
      Matthijs Kooijman authored
      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++.
      b8c6c850