1. 16 Sep, 2019 9 commits
  2. 04 Sep, 2019 1 commit
  3. 16 Aug, 2019 1 commit
  4. 02 Aug, 2019 1 commit
  5. 16 May, 2019 1 commit
  6. 17 Feb, 2019 1 commit
  7. 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
  8. 07 Jan, 2019 1 commit
  9. 04 Jan, 2019 1 commit
  10. 19 Dec, 2018 4 commits
  11. 10 Dec, 2018 1 commit
  12. 26 Nov, 2018 1 commit
  13. 26 Oct, 2018 1 commit
  14. 10 Sep, 2018 1 commit
  15. 03 Sep, 2018 2 commits
  16. 18 Aug, 2018 2 commits
  17. 11 Aug, 2018 1 commit
  18. 09 May, 2018 1 commit
  19. 12 Apr, 2018 1 commit
  20. 02 Mar, 2018 1 commit
  21. 19 Feb, 2018 1 commit
  22. 18 Dec, 2017 1 commit
  23. 13 Nov, 2017 5 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
    • John Holman's avatar
      Create macro to guard critical sections for large transmit buffers · d50e5978
      John Holman authored
      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()
      d50e5978
    • chuck todd's avatar
      UnConfigured I2C Slave ISR Causing Reboot · f1c4cc63
      chuck todd authored
      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.
      f1c4cc63