Page 1 of 1

UART driver ISR convenience macro bug

Posted: Sun Oct 16, 2016 8:27 pm
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!

Re: UART driver ISR convenience macro bug

Posted: Sun Oct 16, 2016 9:36 pm
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

Re: UART driver ISR convenience macro bug

Posted: Fri Oct 28, 2016 9:59 am
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