UART driver ISR convenience macro bug Topic is solved

Report here problems in any of ChibiOS components. This forum is NOT for support.
Post Reply
awygle
Posts: 32
Joined: Sun Apr 03, 2016 8:39 pm
Has thanked: 6 times
Been thanked: 4 times

UART driver ISR convenience macro bug

Post by awygle »

Hi all,

In creating a UART driver for my MSP430X port of ChibiOS, I've run into the following problem.

In the helper macro for calling the RX complete ISR, _uart_rx_complete_isr_code, there is a call to a function uart_enter_rx_idle_loop. This is a local (static) method of the STM32 UART port.

Obviously I can still get the effect I want in any of several ways (define the method, don't use the helper macro), but this seems like a bug nonetheless. Either the ISR macro shouldn't call that method, or the method should be an exported lld method like uart_lld_init.

As always, if you disagree I'm very open to hearing why I'm wrong.

Thanks!
User avatar
Giovanni
Site Admin
Posts: 14891
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: UART driver ISR convenience macro bug

Post by Giovanni »

Hi,

It is possible it is a bug, moving in the bugs section. I need to decide if there is a cleaner way to do this or if you need to define that function.

Giovanni
User avatar
Giovanni
Site Admin
Posts: 14891
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: UART driver ISR convenience macro bug

Post by Giovanni »

Hi,

The low level driver is supposed to have a uart_enter_rx_idle_loop function, it is part of the state machine handling, it could be an empty macro if the implementation does not require it.

Giovanni
Post Reply