third_party.pigweed.src/pw_console/BUILD.gn
Anthony DiGirolamo 427edb2eb7 pw_console: Serial bytes logging
- Move pw_console python logging related functions to python_logging.py

- Add a PwConsoleEmbed.setup_python_logging to:
  - Silence debug messages from prompt_toolkit and asyncio.
  - Disable all Stdout and Stderr handlers.

- log_line.py and table.py:
  Strip trailing white space to prevent extra line breaks showing up in
  the log window.

- pw_console/py/pw_console/pyserial_wrapper.py
  - SerialWithLogging class that wrapps read and write to add logging
  - Logs with metadata columns (byte length and Read/Write) and hex
    numbers aligned with characters.

- pw_hdlc/py/pw_hdlc/rpc_console.py:
  - Add two additional log panes for serial debug and host log messages
    (hidden by default).
  - New --serial-debug to turn on SerialWithLogging

Bug: 403
Test: openocd -f targets/stm32f429i_disc1/py/stm32f429i_disc1_utils/openocd_stm32f4xx.cfg -c "program out/stm32f429i_disc1_debug/obj/pw_hdlc/rpc_example/bin/rpc_example.elf verify reset exit"
Test: pw rpc -d /dev/ttyACM0 -b 115200 --proto-globs pw_rpc/echo.proto
Change-Id: I579d93eb77dea0825c21d91ff2251080bac2186d
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/56784
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
2021-10-06 21:33:35 +00:00

29 lines
863 B
Plaintext

# Copyright 2021 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
import("//build_overrides/pigweed.gni")
import("$dir_pw_docgen/docs.gni")
pw_doc_group("docs") {
inputs = [ "images/serial_debug.svg" ]
sources = [
"docs.rst",
"embedding.rst",
"internals.rst",
"py/pw_console/docs/user_guide.rst",
"testing.rst",
]
}