1. 16 Sep, 2019 10 commits
  2. 04 Sep, 2019 1 commit
  3. 16 Aug, 2019 1 commit
  4. 02 Aug, 2019 1 commit
  5. 08 Jun, 2019 1 commit
    • Matthijs Kooijman's avatar
      Do not claim AT-protocol in CDC interface descriptor · b237dcc8
      Matthijs Kooijman authored
      The CDC code presents itself as a virtual serial port. However, it also
      sets the "bFunctionProtocol" value to 1, which means it supports
      AT-commands, which is not actually the case. This might cause problems
      with some software, such as ModemManager.
      
      Originally, ModemManager would be very liberal with probing serial
      devices, using a blacklist to prevent probing non-modems such as
      Arduinos.
      
      Since version 1.7.990, it has supported a "strict" mode where it tries to be
      more restrained in what devices it probes. For CDC ACM devices, this
      means it will only probe devices that claim to support AT-commands.
      However, it also stopped applying the blacklist (intending to eventually
      remove the blacklist), meaning it would again probe Arduinos.
      
      This new strict policy is not the upstream default, but is enabled in
      Debian (since Buster) and Ubuntu (since bionic 18.04.2).
      
      The proper way to fix this, is to not claim AT comand support in the USB
      device descriptor, which is what this commit does. The Arduino will
      still show up as a virtual serial port, just not be probed by
      ModemManager in strict mode.
      
      For the commit that introduced the strict mode in ModemManager, see
      https://cgit.freedesktop.org/ModemManager/ModemManager/commit/src?id=ee570d44dc117dc69f23e83313dd877f76c5e3e0
      b237dcc8
  6. 16 May, 2019 1 commit
  7. 17 Feb, 2019 1 commit
  8. 22 Jan, 2019 1 commit
    • Paul R. Nash's avatar
      Add parameters names to common prototypes · 8f752bf8
      Paul R. Nash authored
      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. :(
      8f752bf8
  9. 07 Jan, 2019 1 commit
  10. 04 Jan, 2019 1 commit
  11. 19 Dec, 2018 4 commits
  12. 10 Dec, 2018 1 commit
  13. 26 Nov, 2018 1 commit
  14. 26 Oct, 2018 1 commit
  15. 10 Sep, 2018 1 commit
  16. 03 Sep, 2018 2 commits
  17. 18 Aug, 2018 2 commits
  18. 11 Aug, 2018 1 commit
  19. 09 May, 2018 1 commit
  20. 12 Apr, 2018 1 commit
  21. 02 Mar, 2018 1 commit
  22. 19 Feb, 2018 1 commit
  23. 18 Dec, 2017 1 commit
  24. 13 Nov, 2017 3 commits
    • John Holman's avatar
      Fix flush hanging issue · 58006613
      John Holman authored
      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)
      58006613
    • John Holman's avatar
      Improve how TXCn bit is cleared in USCRnA register · 99c294c5
      John Holman authored
      Preserve values of configuration bits MPCMn and U2Xn.
      Avoid setting other read-only bits for datasheet conformance.
      
      See #3745
      99c294c5
    • John Holman's avatar
      Prevent buffer retransmission when transmit buffer is empty · e9e43cf5
      John Holman authored
      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)
      e9e43cf5