Skip to content

Conversation

NitrofMtl
Copy link

Description:
This patch modifies the predefined USART IRQ handlers in the Arduino Due core to be declared attribute((weak)).

Motivation:

  • Allows libraries, such as 'DUERS485DMA', to override the default USART interrupt handlers.

  • Necessary for DMA-based RS485 implementations that require custom IRQ handling without modifying the core itself.

Changes:

  • All predefined USARTx_Handler() functions are now weak.

  • Existing functionality remains unchanged if no library overrides the handler.

  • No effect on boards or configurations that do not use these handlers.

Impact:

  • Compatible with existing sketches using standard Serial objects.

  • Enables advanced libraries to implement DMA or custom serial processing.

Notes:

  • Only the weak attribute is added; the logic inside the handlers is untouched.

  • Users may override handlers selectively (only the USARTs they use).

Description:
This patch modifies the predefined USART IRQ handlers in the Arduino Due core to be declared __attribute__((weak)).

Motivation:

- Allows libraries, such as ['DUERS485DMA'](https://github.com/NitrofMtl/DUERS485DMA), to override the default USART interrupt handlers.

- Necessary for DMA-based RS485 implementations that require custom IRQ handling without modifying the core itself.

Changes:

- All predefined USARTx_Handler() functions are now weak.

- Existing functionality remains unchanged if no library overrides the handler.

- No effect on boards or configurations that do not use these handlers.

Impact:

- Compatible with existing sketches using standard Serial objects.

- Enables advanced libraries to implement DMA or custom serial processing.

Notes:

- Only the weak attribute is added; the logic inside the handlers is untouched.

- Users may override handlers selectively (only the USARTs they use).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant