Anthony DiGirolamo | 26ed98a | 2021-06-11 14:50:29 -0700 | [diff] [blame] | 1 | .. _module-pw_console: |
| 2 | |
| 3 | ---------- |
| 4 | pw_console |
| 5 | ---------- |
| 6 | |
Anthony DiGirolamo | 78789cd | 2021-08-16 12:16:37 -0700 | [diff] [blame] | 7 | :bdg-primary:`host` |
| 8 | :bdg-secondary:`Python` |
Anthony DiGirolamo | 7631bbc | 2022-03-21 15:27:45 -0700 | [diff] [blame] | 9 | :bdg-success:`stable` |
Anthony DiGirolamo | 78789cd | 2021-08-16 12:16:37 -0700 | [diff] [blame] | 10 | |
Anthony DiGirolamo | 26ed98a | 2021-06-11 14:50:29 -0700 | [diff] [blame] | 11 | The Pigweed Console provides a Python repl (read eval print loop) using |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 12 | `ptpython`_ and a log message viewer in a single-window terminal based |
| 13 | interface. It is designed to be a replacement for `IPython's embed()`_ function. |
| 14 | |
Anthony DiGirolamo | 7631bbc | 2022-03-21 15:27:45 -0700 | [diff] [blame] | 15 | .. figure:: images/pw_system_boot.png |
| 16 | :alt: Pigweed Console screenshot with serial debug log messages. |
| 17 | |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 18 | Features |
Anthony DiGirolamo | 546619f | 2021-07-22 17:44:04 -0700 | [diff] [blame] | 19 | ======== |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 20 | |
Anthony DiGirolamo | 546619f | 2021-07-22 17:44:04 -0700 | [diff] [blame] | 21 | ``pw_console`` aims to be a complete solution for interacting with hardware |
| 22 | devices using :ref:`module-pw_rpc` over a :ref:`module-pw_hdlc` transport. |
| 23 | |
| 24 | - Interactive Python repl and log viewer in a single terminal window. This |
| 25 | provides interactive RPC sending while the log viewer provides immediate |
| 26 | feedback on device status. |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 27 | |
Anthony DiGirolamo | 7631bbc | 2022-03-21 15:27:45 -0700 | [diff] [blame] | 28 | .. figure:: images/python_completion.png |
| 29 | :alt: Pigweed Console screenshot showing RPC Python repl completions. |
| 30 | |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 31 | - Easily embeddable within a project's own custom console. This should allow |
| 32 | users to define their own transport layer. |
| 33 | |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 34 | - Log viewer with searching and filtering. |
| 35 | |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 36 | Contributing |
| 37 | ============ |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 38 | |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 39 | - All code submissions to ``pw_console`` require running the |
| 40 | :ref:`module-pw_console-testing`. |
Anthony DiGirolamo | 26ed98a | 2021-06-11 14:50:29 -0700 | [diff] [blame] | 41 | |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 42 | - Commit messages should include a ``Testing:`` line with the steps that were |
| 43 | manually run. |
Anthony DiGirolamo | 26ed98a | 2021-06-11 14:50:29 -0700 | [diff] [blame] | 44 | |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 45 | Guides |
| 46 | ====== |
Anthony DiGirolamo | 26ed98a | 2021-06-11 14:50:29 -0700 | [diff] [blame] | 47 | |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 48 | .. toctree:: |
| 49 | :maxdepth: 1 |
Anthony DiGirolamo | f53188a | 2021-06-29 09:57:07 -0700 | [diff] [blame] | 50 | |
Anthony DiGirolamo | 546619f | 2021-07-22 17:44:04 -0700 | [diff] [blame] | 51 | py/pw_console/docs/user_guide |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 52 | embedding |
Anthony DiGirolamo | 0a35c93 | 2021-12-07 13:58:38 -0800 | [diff] [blame] | 53 | plugins |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 54 | testing |
| 55 | internals |
Anthony DiGirolamo | f53188a | 2021-06-29 09:57:07 -0700 | [diff] [blame] | 56 | |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 57 | |
| 58 | .. _IPython's embed(): https://ipython.readthedocs.io/en/stable/interactive/reference.html#embedding |
| 59 | .. _IPython: https://ipython.readthedocs.io/ |
Anthony DiGirolamo | 8a49880 | 2021-06-14 23:52:42 -0700 | [diff] [blame] | 60 | .. _prompt_toolkit: https://python-prompt-toolkit.readthedocs.io/ |
| 61 | .. _ptpython: https://github.com/prompt-toolkit/ptpython/ |
Anthony DiGirolamo | 4644099 | 2021-07-19 16:07:47 -0700 | [diff] [blame] | 62 | |