1. 29 Aug, 2024 4 commits
    • robert-hh's avatar
      renesas-ra/machine_uart: Add the UART.IRQ_RX class constant. · 324c6753
      robert-hh authored
      The renesas-ra port supports calling a handler to be called on every byte
      received by UART.  For consistency with other ports, the symbol IRQ_RX
      is added as the trigger name.
      
      Side change: Add the received UART data to the REPL input buffer only if it
      is the REPL UART.  Otherwise, every UART would act as REPL input.
      Signed-off-by: default avatarrobert-hh <robert@hammelrath.com>
      324c6753
    • robert-hh's avatar
      mimxrt/machine_uart: Implement a Python UART IRQ handler. · b7fa4e2f
      robert-hh authored
      Supported triggers are: IRQ_RXIDLE and IRQ_TXIDLE.
      
      When IRQ_RXIDLE is set, the handler will be called 3 character times after
      the data in burst stopped.
      
      When IRQ_TXIDLE is set, the handler will be called immediately after the
      data has been sent.
      
      This commit requires a change to fsl_lpuart.c, because the existing code
      does not support under-run appropriately.
      
      The irq.flags() value is cleared only at an expected event.  Do not change
      it otherwise.
      Signed-off-by: default avatarrobert-hh <robert@hammelrath.com>
      b7fa4e2f
    • 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 2 commits