Skip to content

Conversation

@pfalcon
Copy link
Contributor

@pfalcon pfalcon commented May 2, 2017

This implements completely interrupt-driven UART console in Zephyr.

The result of a number of patches to fix/cleanup/better define semantics of UART API in Zephyr.

@nashif nashif added the In progress For PRs: is work in progress and should not be merged yet. For issues: Is being worked on label May 2, 2017
@pfalcon
Copy link
Contributor Author

pfalcon commented May 2, 2017

This is "top-level goal" ticket for a number of other changes, e.g. No. 42, No. 43.

In the present shape, it works only on STM32, and need further work as described in GH-3457

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

break a line

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@pfalcon
Copy link
Contributor Author

pfalcon commented May 8, 2017

(Un?)surprisingly this also works on frdm_k64f, which confirms there're wider problems than just stm32. (Or maybe not.)

@pfalcon
Copy link
Contributor Author

pfalcon commented May 8, 2017

RFC on clarifying tx_ready vs tx_empty was posted: https://lists.zephyrproject.org/pipermail/zephyr-devel/2017-May/007642.html, and in its spirit, this patch was switched to tx_ready. Also, assuming that rx_ready can be edge interrupt, so its handler should try to read as much input as possible with uart_fifo_read().

In this shape, "echo" sample (included) was tested on: 96b_carbon, frdm_k64f, arduino_101, and behaves as expected.

The debug output is still in this patch. Next step is to get feedback on RFC above, submit patch implementing it, and then finally this patch can be cleaned up.

@pfalcon pfalcon changed the title [WIP] Add buffered output support to console subsystem. Add buffered output support to console subsystem. May 13, 2017
@pfalcon
Copy link
Contributor Author

pfalcon commented May 13, 2017

With #159 being ready for merge, this patch has been cleaned up, and now should be ready for the final review too.

@daniel-thompson , @galak , @tbursztyka , @erwango : Please review.

@pfalcon
Copy link
Contributor Author

pfalcon commented May 14, 2017

@nashif : So, this mostly adds new functionality (with minor refactors) to the console subsystem, which was created by me in the first place. As a subsys maintainer I thus approve it ;-). If code looks ok for you, feel free to merge it.

Copy link
Member

@erwango erwango left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and tested ok on disco_l475_iot1 (stm32l4)

*
* @return N/A
*/
void console_getchar_init(void);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a concern about us removing an API, not sure if we can support a deprecated version or not?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was added in very this development cycle, so it was never released. As I mentioned in another comment, the whole "interrupt-driven console" subsystem is authored by me.

nashif pushed a commit that referenced this pull request May 3, 2019
Move the LLL-to-ULL Tx Ack queue API to ULL files.

Fixes #49.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
nashif pushed a commit that referenced this pull request May 3, 2019
Move the LLL-to-ULL Tx Ack queue API to ULL files.

Fixes #49.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

In progress For PRs: is work in progress and should not be merged yet. For issues: Is being worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants