pw_console: UI Bugfixes

- Resizing the terminal window very small (less than a few lines)
  was causing a divide by zero error.
- Running help() in the repl window locks up input due to help()'s
  own interactive stdin prompt system.

Test: Run 'help()' in the repl, observe error message
Test: Repeatedly resize the terminal very small and large
Change-Id: Ia534ad42d10b76b172b5e6fd344a7d64d14a5f89
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/74540
Reviewed-by: Joe Ethier <jethier@google.com>
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
2 files changed
tree: fb6b211244d79ddb5270c3cb7fd0be96261d829e
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_android_toolchain/
  7. pw_arduino_build/
  8. pw_assert/
  9. pw_assert_basic/
  10. pw_assert_log/
  11. pw_base64/
  12. pw_bloat/
  13. pw_blob_store/
  14. pw_bluetooth_hci/
  15. pw_boot/
  16. pw_boot_cortex_m/
  17. pw_build/
  18. pw_build_info/
  19. pw_build_mcuxpresso/
  20. pw_bytes/
  21. pw_checksum/
  22. pw_chrono/
  23. pw_chrono_embos/
  24. pw_chrono_freertos/
  25. pw_chrono_stl/
  26. pw_chrono_threadx/
  27. pw_cli/
  28. pw_console/
  29. pw_containers/
  30. pw_cpu_exception/
  31. pw_cpu_exception_cortex_m/
  32. pw_crypto/
  33. pw_docgen/
  34. pw_doctor/
  35. pw_env_setup/
  36. pw_file/
  37. pw_function/
  38. pw_fuzzer/
  39. pw_hdlc/
  40. pw_hex_dump/
  41. pw_i2c/
  42. pw_interrupt/
  43. pw_interrupt_cortex_m/
  44. pw_kvs/
  45. pw_libc/
  46. pw_log/
  47. pw_log_basic/
  48. pw_log_null/
  49. pw_log_rpc/
  50. pw_log_tokenized/
  51. pw_malloc/
  52. pw_malloc_freelist/
  53. pw_metric/
  54. pw_minimal_cpp_stdlib/
  55. pw_module/
  56. pw_multisink/
  57. pw_package/
  58. pw_persistent_ram/
  59. pw_polyfill/
  60. pw_preprocessor/
  61. pw_presubmit/
  62. pw_protobuf/
  63. pw_protobuf_compiler/
  64. pw_random/
  65. pw_result/
  66. pw_ring_buffer/
  67. pw_router/
  68. pw_rpc/
  69. pw_snapshot/
  70. pw_software_update/
  71. pw_span/
  72. pw_status/
  73. pw_stm32cube_build/
  74. pw_stream/
  75. pw_string/
  76. pw_symbolizer/
  77. pw_sync/
  78. pw_sync_baremetal/
  79. pw_sync_embos/
  80. pw_sync_freertos/
  81. pw_sync_stl/
  82. pw_sync_threadx/
  83. pw_sys_io/
  84. pw_sys_io_arduino/
  85. pw_sys_io_baremetal_lm3s6965evb/
  86. pw_sys_io_baremetal_stm32f429/
  87. pw_sys_io_mcuxpresso/
  88. pw_sys_io_stdio/
  89. pw_sys_io_stm32cube/
  90. pw_system/
  91. pw_target_runner/
  92. pw_thread/
  93. pw_thread_embos/
  94. pw_thread_freertos/
  95. pw_thread_stl/
  96. pw_thread_threadx/
  97. pw_tls_client/
  98. pw_tls_client_boringssl/
  99. pw_tls_client_mbedtls/
  100. pw_tokenizer/
  101. pw_tool/
  102. pw_toolchain/
  103. pw_trace/
  104. pw_trace_tokenized/
  105. pw_transfer/
  106. pw_unit_test/
  107. pw_varint/
  108. pw_watch/
  109. pw_web_ui/
  110. pw_work_queue/
  111. targets/
  112. third_party/
  113. .bazelignore
  114. .bazelrc
  115. .clang-format
  116. .clang-tidy
  117. .eslintrc.json
  118. .gitattributes
  119. .gitignore
  120. .gn
  121. .prettierrc.js
  122. .pylintrc
  123. activate.bat
  124. Android.bp
  125. AUTHORS
  126. bootstrap.bat
  127. bootstrap.sh
  128. BUILD.bazel
  129. BUILD.gn
  130. BUILDCONFIG.gn
  131. CMakeLists.txt
  132. LICENSE
  133. modules.gni
  134. OWNERS
  135. package.json
  136. PW_PLUGINS
  137. README.md
  138. tsconfig.json
  139. WORKSPACE
  140. yarn.lock
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/

Links