1. 29 Aug, 2024 2 commits
    • robert-hh's avatar
      samd/machine_uart: Implement a Python UART IRQ handler. · 8e1123b2
      robert-hh authored
      Supported for all SAMD51 devices and SAMD21 with external flash.  For
      interrupt events, IRQ_RX and IRQ_TXIDLE are provided.
      
      IRQ_RX is called for every received byte.  This may not be useful for high
      data rates, but can be used to build a wrapper class providing an
      IRQ_RXIDLE event or to signal just the first byte of a message.
      
      IRQ_TXIDLE is called only when messages are longer than 5 bytes and
      triggers when still 5 bytes are due to be sent.
      
      The SAMD hardware does not support implementing IRQ_RXIDLE.
      Signed-off-by: default avatarrobert-hh <robert@hammelrath.com>
      8e1123b2
    • robert-hh's avatar
      rp2/machine_uart: Implement a Python UART IRQ handler. · 01c046d2
      robert-hh authored
      Supported trigger names: IRQ_RXIDLE, IRQ_TXIDLE, IRQ_BREAK
      
      - IRQ_RXIDLE: The handler for IRQ_RXIDLE is called reliably 31 UART bit
        times after the last incoming data.
      
      - IRQ_TXIDLE: This IRQ is triggered after at least >5 characters are sent
        at once.  It is triggered when the TX FIFO falls below 4 elements.  At
        that time, up to 5 bytes may still be in the FIFO and output shift
        register.
      
      - IRQ_BREAK: The IRQ triggers if a BREAK state is detected at RX.
        Properties & side effects:
        - After a BREAK, a valid character must be received before another break
          can be detected.
        - Each break puts a 0xff character into the input buffer.
      
      The irq.flags() value is cleared only with a new wanted event.  Do not
      change the flags otherwise.
      Signed-off-by: default avatarrobert-hh <robert@hammelrath.com>
      01c046d2
  2. 28 Aug, 2024 14 commits
  3. 26 Aug, 2024 6 commits
  4. 22 Aug, 2024 4 commits
  5. 20 Aug, 2024 10 commits
  6. 19 Aug, 2024 4 commits