Rename pw_dumb_io to pw_sys_io
Rename pw_dumb_io facade and backends to use the more deliberate name
pw_sys_io moving forward.
Change-Id: I968480715967ab8de491856afa1b7692b973ed7e
diff --git a/BUILD.gn b/BUILD.gn
index 738f087..c63a20b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -43,7 +43,7 @@
group("pw_facades") {
deps = [
"$dir_pw_cpu_exception",
- "$dir_pw_dumb_io",
+ "$dir_pw_sys_io",
]
}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c9e6b7d..3631ad9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,8 +25,6 @@
add_subdirectory(pw_containers)
add_subdirectory(pw_cpu_exception)
add_subdirectory(pw_cpu_exception_armv7m)
-add_subdirectory(pw_dumb_io)
-add_subdirectory(pw_dumb_io_stdio)
add_subdirectory(pw_kvs)
add_subdirectory(pw_log)
add_subdirectory(pw_log_basic)
@@ -36,6 +34,8 @@
add_subdirectory(pw_span)
add_subdirectory(pw_status)
add_subdirectory(pw_string)
+add_subdirectory(pw_sys_io)
+add_subdirectory(pw_sys_io_stdio)
add_subdirectory(pw_tokenizer)
add_subdirectory(pw_unit_test)
add_subdirectory(pw_varint)
diff --git a/docs/BUILD.gn b/docs/BUILD.gn
index 8d5b7c8..5bc0f00 100644
--- a/docs/BUILD.gn
+++ b/docs/BUILD.gn
@@ -46,9 +46,6 @@
"$dir_pw_cpu_exception_armv7m:docs",
"$dir_pw_docgen:docs",
"$dir_pw_doctor:docs",
- "$dir_pw_dumb_io:docs",
- "$dir_pw_dumb_io_baremetal_stm32f429:docs",
- "$dir_pw_dumb_io_stdio:docs",
"$dir_pw_log:docs",
"$dir_pw_minimal_cpp_stdlib:docs",
"$dir_pw_module:docs",
@@ -60,6 +57,9 @@
"$dir_pw_span:docs",
"$dir_pw_status:docs",
"$dir_pw_string:docs",
+ "$dir_pw_sys_io:docs",
+ "$dir_pw_sys_io_baremetal_stm32f429:docs",
+ "$dir_pw_sys_io_stdio:docs",
"$dir_pw_target_runner:docs",
"$dir_pw_tokenizer:docs",
]
diff --git a/modules.gni b/modules.gni
index 6138f24..ddc253f 100644
--- a/modules.gni
+++ b/modules.gni
@@ -28,10 +28,6 @@
dir_pw_cpu_exception_armv7m = "$dir_pigweed/pw_cpu_exception_armv7m"
dir_pw_docgen = "$dir_pigweed/pw_docgen"
dir_pw_doctor = "$dir_pigweed/pw_doctor"
-dir_pw_dumb_io = "$dir_pigweed/pw_dumb_io"
-dir_pw_dumb_io_baremetal_stm32f429 =
- "$dir_pigweed/pw_dumb_io_baremetal_stm32f429"
-dir_pw_dumb_io_stdio = "$dir_pigweed/pw_dumb_io_stdio"
dir_pw_kvs = "$dir_pigweed/pw_kvs"
dir_pw_log = "$dir_pigweed/pw_log"
dir_pw_log_basic = "$dir_pigweed/pw_log_basic"
@@ -45,6 +41,9 @@
dir_pw_span = "$dir_pigweed/pw_span"
dir_pw_status = "$dir_pigweed/pw_status"
dir_pw_string = "$dir_pigweed/pw_string"
+dir_pw_sys_io = "$dir_pigweed/pw_sys_io"
+dir_pw_sys_io_baremetal_stm32f429 = "$dir_pigweed/pw_sys_io_baremetal_stm32f429"
+dir_pw_sys_io_stdio = "$dir_pigweed/pw_sys_io_stdio"
dir_pw_target_runner = "$dir_pigweed/pw_target_runner"
dir_pw_tokenizer = "$dir_pigweed/pw_tokenizer"
dir_pw_toolchain = "$dir_pigweed/pw_toolchain"
diff --git a/pw_assert_basic/BUILD b/pw_assert_basic/BUILD
index 6a04d08..418de24 100644
--- a/pw_assert_basic/BUILD
+++ b/pw_assert_basic/BUILD
@@ -35,8 +35,8 @@
"public_overrides",
],
deps = [
- "//pw_dumb_io",
"//pw_assert:facade",
"//pw_string",
+ "//pw_sys_io",
],
)
diff --git a/pw_assert_basic/BUILD.gn b/pw_assert_basic/BUILD.gn
index dab7606..9b39a97 100644
--- a/pw_assert_basic/BUILD.gn
+++ b/pw_assert_basic/BUILD.gn
@@ -36,9 +36,9 @@
public_configs = [ ":default_config" ]
deps = [
"$dir_pw_assert:facade",
- "$dir_pw_dumb_io",
"$dir_pw_preprocessor",
"$dir_pw_string",
+ "$dir_pw_sys_io",
]
public = [ "public/pw_assert_basic/assert_basic.h" ]
sources = public + [ "assert_basic.cc" ]
diff --git a/pw_assert_basic/CMakeLists.txt b/pw_assert_basic/CMakeLists.txt
index 432e5f9..7e6c46a 100644
--- a/pw_assert_basic/CMakeLists.txt
+++ b/pw_assert_basic/CMakeLists.txt
@@ -16,9 +16,9 @@
IMPLEMENTS_FACADE
pw_assert
PRIVATE_DEPS
- pw_dumb_io
pw_preprocessor
pw_string
+ pw_sys_io
)
target_include_directories(pw_assert_basic PUBLIC public_overrides)
diff --git a/pw_assert_basic/assert_basic.cc b/pw_assert_basic/assert_basic.cc
index b6abdb1..3046ba6 100644
--- a/pw_assert_basic/assert_basic.cc
+++ b/pw_assert_basic/assert_basic.cc
@@ -21,9 +21,9 @@
#include <cstring>
-#include "pw_dumb_io/dumb_io.h"
#include "pw_preprocessor/util.h"
#include "pw_string/string_builder.h"
+#include "pw_sys_io/sys_io.h"
// TODO(pwbug/17): Expose these through the config system.
#define PW_ASSERT_BASIC_SHOW_BANNER 1
@@ -73,7 +73,7 @@
" ",
};
-using pw::dumb_io::WriteLine;
+using pw::sys_io::WriteLine;
typedef pw::StringBuffer<150> Buffer;
@@ -104,7 +104,7 @@
va_start(args, message);
buffer.FormatVaList(message, args);
va_end(args);
- pw::dumb_io::WriteLine(buffer.view());
+ WriteLine(buffer.view());
}
WriteLine("");
diff --git a/pw_boot_armv7m/BUILD b/pw_boot_armv7m/BUILD
index 0c78627..0980c0a 100644
--- a/pw_boot_armv7m/BUILD
+++ b/pw_boot_armv7m/BUILD
@@ -17,7 +17,7 @@
licenses(["notice"]) # Apache License 2.0
filegroup(
- name = "pw_dumb_io_baremetal_stm32f429",
+ name = "pw_boot_armv7m",
srcs = [
"core_init.c",
"public/pw_boot_armv7m/boot.h",
diff --git a/pw_cpu_exception_armv7m/BUILD.gn b/pw_cpu_exception_armv7m/BUILD.gn
index d627ab7..a23a396 100644
--- a/pw_cpu_exception_armv7m/BUILD.gn
+++ b/pw_cpu_exception_armv7m/BUILD.gn
@@ -27,8 +27,8 @@
public_configs = [ ":default_config" ]
deps = [
"$dir_pw_cpu_exception:facade",
- "$dir_pw_dumb_io:default_putget_bytes",
"$dir_pw_preprocessor",
+ "$dir_pw_sys_io:default_putget_bytes",
]
public = [ "public/pw_cpu_exception_armv7m/cpu_state.h" ]
sources = [
diff --git a/pw_dumb_io_stdio/docs.rst b/pw_dumb_io_stdio/docs.rst
deleted file mode 100644
index c97a16b..0000000
--- a/pw_dumb_io_stdio/docs.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-.. _chapter-pw-dumb-io-stdio:
-
-.. default-domain:: cpp
-
-.. highlight:: sh
-
-----------------
-pw_dumb_io_stdio
-----------------
-The ``pw_dumb_io_stdio`` backend implements the ``pw_dumb_io`` facade using
-stdio.
-
-Why not just use stdio directly?
---------------------------------
-
-The nice thing about using ``pw_dumb_io`` is that it's rather easy to get a
-board up and running with a target-specific backend. This means when drafting
-out a quick application you can write it against ``pw_dumb_io`` and, with some
-care, the application will be able to run on both host and target devices.
-
-While it's not recommended to use ``pw_dumb_io`` for any production
-applications, it can be rather helpful for early prototyping.
-
-Setup
-=====
-This module requires relatively minimal setup:
-
- 1. Write code against the ``pw_dumb_io`` facade.
- 2. Specify the ``dir_pw_dumb_io_backend`` GN global variable to point to this
- backend.
-
-Module usage
-============
-For the most part, applications built with this backend will behave similarly
-to an application built directly against stdio.
-
-Dependencies
-============
- * pw_dumb_io facade
diff --git a/pw_log_basic/BUILD b/pw_log_basic/BUILD
index fd9105d..ad7ac07 100644
--- a/pw_log_basic/BUILD
+++ b/pw_log_basic/BUILD
@@ -35,8 +35,8 @@
"public_overrides",
],
deps = [
- "//pw_dumb_io",
"//pw_log:facade",
"//pw_string",
+ "//pw_sys_io",
],
)
diff --git a/pw_log_basic/BUILD.gn b/pw_log_basic/BUILD.gn
index 2b895ac..0efa82d 100644
--- a/pw_log_basic/BUILD.gn
+++ b/pw_log_basic/BUILD.gn
@@ -35,10 +35,10 @@
source_set("pw_log_basic_core") {
public_configs = [ ":default_config" ]
deps = [
- "$dir_pw_dumb_io",
"$dir_pw_log:facade",
"$dir_pw_preprocessor",
"$dir_pw_string",
+ "$dir_pw_sys_io",
]
public = [ "public/pw_log_basic/log_basic.h" ]
sources = public + [ "log_basic.cc" ]
diff --git a/pw_log_basic/CMakeLists.txt b/pw_log_basic/CMakeLists.txt
index c85276d..5c66fe0 100644
--- a/pw_log_basic/CMakeLists.txt
+++ b/pw_log_basic/CMakeLists.txt
@@ -16,8 +16,8 @@
IMPLEMENTS_FACADE
pw_log
PRIVATE_DEPS
- pw_dumb_io
pw_string
+ pw_sys_io
)
target_include_directories(pw_log_basic PUBLIC public_overrides)
diff --git a/pw_log_basic/log_basic.cc b/pw_log_basic/log_basic.cc
index c586830..e67d6d1 100644
--- a/pw_log_basic/log_basic.cc
+++ b/pw_log_basic/log_basic.cc
@@ -18,9 +18,9 @@
#include <cstring>
-#include "pw_dumb_io/dumb_io.h"
#include "pw_log/levels.h"
#include "pw_string/string_builder.h"
+#include "pw_sys_io/sys_io.h"
// ANSI color constants to control the terminal. Not Windows compatible.
// clang-format off
@@ -148,5 +148,5 @@
va_end(args);
// All done; flush the log.
- pw::dumb_io::WriteLine(buffer.view());
+ pw::sys_io::WriteLine(buffer.view());
}
diff --git a/pw_dumb_io/BUILD b/pw_sys_io/BUILD
similarity index 87%
rename from pw_dumb_io/BUILD
rename to pw_sys_io/BUILD
index a25a845..11e8201 100644
--- a/pw_dumb_io/BUILD
+++ b/pw_sys_io/BUILD
@@ -23,7 +23,7 @@
pw_cc_library(
name = "facade",
- hdrs = ["public/pw_dumb_io/dumb_io.h"],
+ hdrs = ["public/pw_sys_io/sys_io.h"],
includes = ["public"],
deps = [
"//pw_span",
@@ -33,7 +33,7 @@
pw_cc_library(
name = "default_putget_bytes",
- srcs = ["dumb_io.cc"],
+ srcs = ["sys_io.cc"],
deps = [
":facade",
"//pw_span",
@@ -42,14 +42,14 @@
)
pw_cc_library(
- name = "pw_dumb_io",
- hdrs = ["public/pw_dumb_io/dumb_io.h"],
+ name = "pw_sys_io",
+ hdrs = ["public/pw_sys_io/sys_io.h"],
deps = [
":facade",
- # For now, hard-code to depend on stdio until bazel build is updated
- # to support multiple target configurations.
- "//pw_dumb_io_stdio",
"//pw_span",
"//pw_status",
+ # For now, hard-code to depend on stdio until bazel build is updated
+ # to support multiple target configurations.
+ "//pw_sys_io_stdio",
],
)
diff --git a/pw_dumb_io/BUILD.gn b/pw_sys_io/BUILD.gn
similarity index 87%
rename from pw_dumb_io/BUILD.gn
rename to pw_sys_io/BUILD.gn
index b451afa..0c48cf65d 100644
--- a/pw_dumb_io/BUILD.gn
+++ b/pw_sys_io/BUILD.gn
@@ -19,19 +19,19 @@
include_dirs = [ "public" ]
}
-pw_facade("pw_dumb_io") {
- backend = dir_pw_dumb_io_backend
+pw_facade("pw_sys_io") {
+ backend = dir_pw_sys_io_backend
public_configs = [ ":default_config" ]
public_deps = [
"$dir_pw_span",
"$dir_pw_status",
]
- public = [ "public/pw_dumb_io/dumb_io.h" ]
+ public = [ "public/pw_sys_io/sys_io.h" ]
}
source_set("default_putget_bytes") {
deps = [ ":facade" ]
- sources = [ "dumb_io.cc" ]
+ sources = [ "sys_io.cc" ]
}
pw_doc_group("docs") {
diff --git a/pw_dumb_io/CMakeLists.txt b/pw_sys_io/CMakeLists.txt
similarity index 93%
rename from pw_dumb_io/CMakeLists.txt
rename to pw_sys_io/CMakeLists.txt
index 1828904..7ca3860 100644
--- a/pw_dumb_io/CMakeLists.txt
+++ b/pw_sys_io/CMakeLists.txt
@@ -12,9 +12,9 @@
# License for the specific language governing permissions and limitations under
# the License.
-pw_add_facade(pw_dumb_io
+pw_add_facade(pw_sys_io
SOURCES
- dumb_io.cc
+ sys_io.cc
PUBLIC_DEPS
pw_span
pw_status
diff --git a/pw_dumb_io/docs.rst b/pw_sys_io/docs.rst
similarity index 79%
rename from pw_dumb_io/docs.rst
rename to pw_sys_io/docs.rst
index a431f20..38b5ef7 100644
--- a/pw_dumb_io/docs.rst
+++ b/pw_sys_io/docs.rst
@@ -1,12 +1,12 @@
-.. _chapter-pw-dumb-io:
+.. _chapter-pw-sys-io:
.. default-domain:: cpp
.. highlight:: sh
-----------
-pw_dumb_io
-----------
+---------
+pw_sys_io
+---------
This module defines a simple and unoptimized interface for byte-by-byte
input/output. This can be done over a logging system, stdio, UART, via a
photodiode and modulated kazoo, or basically any way to get data in and out
@@ -34,16 +34,17 @@
=====
This module requires relatively minimal setup:
- 1. Chose a ``pw_dumb_io`` backend, or write one yourself.
- 2. If using GN build, Specify the ``dir_pw_dumb_io_backend`` GN global
- variable to point to your ``pw_dumb_io`` backend.
+ 1. Chose a ``pw_sys_io`` backend, or write one yourself.
+ 2. If using GN build, Specify the ``dir_pw_sys_io_backend`` GN global
+ variable to point to your ``pw_sys_io`` backend.
Module usage
============
-See backend docs for how to interact with the underlying dumb io implementation.
+See backend docs for how to interact with the underlying system I/O
+implementation.
Dependencies
============
- * pw_dumb_io_backend
+ * pw_sys_io_backend
* pw_span
* pw_status
diff --git a/pw_dumb_io/public/pw_dumb_io/dumb_io.h b/pw_sys_io/public/pw_sys_io/sys_io.h
similarity index 90%
rename from pw_dumb_io/public/pw_dumb_io/dumb_io.h
rename to pw_sys_io/public/pw_sys_io/sys_io.h
index 8f7ce70..3010de1 100644
--- a/pw_dumb_io/public/pw_dumb_io/dumb_io.h
+++ b/pw_sys_io/public/pw_sys_io/sys_io.h
@@ -43,30 +43,30 @@
#include "pw_status/status.h"
#include "pw_status/status_with_size.h"
-namespace pw::dumb_io {
+namespace pw::sys_io {
-// Read a single byte from the dumb io backend.
+// Read a single byte from the sys io backend.
// Implemented by: Backend
//
// This function will block until it either succeeds or fails to read a byte
-// from the pw_dumb_io backend.
+// from the pw_sys_io backend.
//
// Returns Status::OK if a byte was successfully read.
Status ReadByte(std::byte* dest);
-// Write a single byte out the dumb io backend.
+// Write a single byte out the sys io backend.
// Implemented by: Backend
//
// This function will block until it either succeeds or fails to write a byte
-// out the pw_dumb_io backend.
+// out the pw_sys_io backend.
//
// Returns Status::OK if a byte was successfully read.
Status WriteByte(std::byte b);
-// Write a string out the dumb io backend.
+// Write a string out the sys io backend.
// Implemented by: Backend
//
-// This function takes a null-terminated string and writes it out the dumb io
+// This function takes a null-terminated string and writes it out the sys io
// backend, adding any platform-specific newline character(s) (these are
// accounted for in the returned StatusWithSize).
//
@@ -75,7 +75,7 @@
// are returned as part of the StatusWithSize.
StatusWithSize WriteLine(const std::string_view& s);
-// Fill a byte span from the dumb io backend using ReadByte().
+// Fill a byte span from the sys io backend using ReadByte().
// Implemented by: Facade
//
// This function is implemented by this facade and simply uses ReadByte() to
@@ -89,7 +89,7 @@
// are returned as part of the StatusWithSize.
StatusWithSize ReadBytes(span<std::byte> dest);
-// Write span of bytes out the dumb io backend using WriteByte().
+// Write span of bytes out the sys io backend using WriteByte().
// Implemented by: Facade
//
// This function is implemented by this facade and simply writes the source
@@ -103,4 +103,4 @@
// are returned as part of the StatusWithSize.
StatusWithSize WriteBytes(span<const std::byte> src);
-} // namespace pw::dumb_io
+} // namespace pw::sys_io
diff --git a/pw_dumb_io/dumb_io.cc b/pw_sys_io/sys_io.cc
similarity index 92%
rename from pw_dumb_io/dumb_io.cc
rename to pw_sys_io/sys_io.cc
index 26b9f62..ed0ab5c 100644
--- a/pw_dumb_io/dumb_io.cc
+++ b/pw_sys_io/sys_io.cc
@@ -12,9 +12,9 @@
// License for the specific language governing permissions and limitations under
// the License.
-#include "pw_dumb_io/dumb_io.h"
+#include "pw_sys_io/sys_io.h"
-namespace pw::dumb_io {
+namespace pw::sys_io {
StatusWithSize ReadBytes(span<std::byte> dest) {
for (size_t i = 0; i < dest.size_bytes(); ++i) {
@@ -36,4 +36,4 @@
return StatusWithSize(src.size_bytes());
}
-} // namespace pw::dumb_io
+} // namespace pw::sys_io
diff --git a/pw_dumb_io_baremetal_stm32f429/BUILD b/pw_sys_io_baremetal_stm32f429/BUILD
similarity index 90%
rename from pw_dumb_io_baremetal_stm32f429/BUILD
rename to pw_sys_io_baremetal_stm32f429/BUILD
index 595b3c4..42f5c32 100644
--- a/pw_dumb_io_baremetal_stm32f429/BUILD
+++ b/pw_sys_io_baremetal_stm32f429/BUILD
@@ -17,8 +17,8 @@
licenses(["notice"]) # Apache License 2.0
filegroup(
- name = "pw_dumb_io_baremetal_stm32f429",
+ name = "pw_sys_io_baremetal_stm32f429",
srcs = [
- "dumb_io_baremetal.cc",
+ "sys_io_baremetal.cc",
],
)
diff --git a/pw_dumb_io_baremetal_stm32f429/BUILD.gn b/pw_sys_io_baremetal_stm32f429/BUILD.gn
similarity index 78%
rename from pw_dumb_io_baremetal_stm32f429/BUILD.gn
rename to pw_sys_io_baremetal_stm32f429/BUILD.gn
index bdd2aed..5bff1c2 100644
--- a/pw_dumb_io_baremetal_stm32f429/BUILD.gn
+++ b/pw_sys_io_baremetal_stm32f429/BUILD.gn
@@ -16,15 +16,15 @@
# This if statement allows docs to always build even if the target isn't
# compatible with this backend.
-if (dir_pw_dumb_io_backend == dir_pw_dumb_io_baremetal_stm32f429) {
- source_set("pw_dumb_io_baremetal_stm32f429") {
+if (dir_pw_sys_io_backend == dir_pw_sys_io_baremetal_stm32f429) {
+ source_set("pw_sys_io_baremetal_stm32f429") {
public_deps = [ "$dir_pw_boot_armv7m" ]
deps = [
- "$dir_pw_dumb_io:default_putget_bytes",
- "$dir_pw_dumb_io:facade",
"$dir_pw_preprocessor",
+ "$dir_pw_sys_io:default_putget_bytes",
+ "$dir_pw_sys_io:facade",
]
- sources = [ "dumb_io_baremetal.cc" ]
+ sources = [ "sys_io_baremetal.cc" ]
}
}
diff --git a/pw_dumb_io_baremetal_stm32f429/docs.rst b/pw_sys_io_baremetal_stm32f429/docs.rst
similarity index 76%
rename from pw_dumb_io_baremetal_stm32f429/docs.rst
rename to pw_sys_io_baremetal_stm32f429/docs.rst
index b47b88c..934deca 100644
--- a/pw_dumb_io_baremetal_stm32f429/docs.rst
+++ b/pw_sys_io_baremetal_stm32f429/docs.rst
@@ -1,18 +1,18 @@
-.. _chapter-pw-dumb-io-baremetal-stm32f429:
+.. _chapter-pw-sys-io-baremetal-stm32f429:
.. default-domain:: cpp
.. highlight:: sh
-------------------------------
-pw_dumb_io_baremetal_stm32f429
-------------------------------
+-----------------------------
+pw_sys_io_baremetal_stm32f429
+-----------------------------
-``pw_dumb_io_baremetal_stm32f429`` implements the ``pw_dumb_io`` facade over
+``pw_sys_io_baremetal_stm32f429`` implements the ``pw_sys_io`` facade over
UART.
-The STM32F429 baremetal dumb IO backend provides device startup code and a UART
-driver layer that allows applications built against the ``pw_dumb_io`` interface
+The STM32F429 baremetal sys IO backend provides device startup code and a UART
+driver layer that allows applications built against the ``pw_sys_io`` interface
to run on a STM32F429 chip and do simple input/output via UART. The code is
optimized for the STM32F429I-DISC1, using USART1 (which is connected to the
virtual COM port on the embedded ST-LINKv2 chip). However, this should work with
@@ -25,8 +25,8 @@
=====
This module requires relatively minimal setup:
- 1. Write code against the ``pw_dumb_io`` facade.
- 2. Specify the ``dir_pw_dumb_io_backend`` GN global variable to point to this
+ 1. Write code against the ``pw_sys_io`` facade.
+ 2. Specify the ``dir_pw_sys_io_backend`` GN global variable to point to this
backend.
3. Build an executable with a main() function using a toolchain that
supports Cortex-M4.
@@ -61,5 +61,5 @@
Dependencies
============
- * pw_dumb_io facade
+ * pw_sys_io facade
* pw_preprocessor module
diff --git a/pw_dumb_io_baremetal_stm32f429/dumb_io_baremetal.cc b/pw_sys_io_baremetal_stm32f429/sys_io_baremetal.cc
similarity index 97%
rename from pw_dumb_io_baremetal_stm32f429/dumb_io_baremetal.cc
rename to pw_sys_io_baremetal_stm32f429/sys_io_baremetal.cc
index 1810d28..3b7415a 100644
--- a/pw_dumb_io_baremetal_stm32f429/dumb_io_baremetal.cc
+++ b/pw_sys_io_baremetal_stm32f429/sys_io_baremetal.cc
@@ -15,8 +15,8 @@
#include <cinttypes>
#include "pw_boot_armv7m/boot.h"
-#include "pw_dumb_io/dumb_io.h"
#include "pw_preprocessor/compiler.h"
+#include "pw_sys_io/sys_io.h"
namespace {
@@ -217,7 +217,7 @@
#endif // defined(PW_ARMV7M_ENABLE_FPU) && PW_ARMV7M_ENABLE_FPU == 1
}
-namespace pw::dumb_io {
+namespace pw::sys_io {
// Wait for a byte to read on USART1. This blocks until a byte is read. This is
// extremely inefficient as it requires the target to burn CPU cycles polling to
@@ -244,7 +244,7 @@
return Status::OK;
}
-// Writes a string using pw::dumb_io, and add newline characters at the end.
+// Writes a string using pw::sys_io, and add newline characters at the end.
StatusWithSize WriteLine(const std::string_view& s) {
size_t chars_written = 0;
StatusWithSize result = WriteBytes(as_bytes(span(s)));
@@ -260,4 +260,4 @@
return StatusWithSize(result.status(), chars_written);
}
-} // namespace pw::dumb_io
+} // namespace pw::sys_io
diff --git a/pw_dumb_io_stdio/BUILD b/pw_sys_io_stdio/BUILD
similarity index 85%
rename from pw_dumb_io_stdio/BUILD
rename to pw_sys_io_stdio/BUILD
index 0f8da67..333bd54 100644
--- a/pw_dumb_io_stdio/BUILD
+++ b/pw_sys_io_stdio/BUILD
@@ -22,10 +22,10 @@
licenses(["notice"]) # Apache License 2.0
pw_cc_library(
- name = "pw_dumb_io_stdio",
- srcs = ["dumb_io.cc"],
+ name = "pw_sys_io_stdio",
+ srcs = ["sys_io.cc"],
deps = [
- "//pw_dumb_io:default_putget_bytes",
- "//pw_dumb_io:facade",
+ "//pw_sys_io:default_putget_bytes",
+ "//pw_sys_io:facade",
],
)
diff --git a/pw_dumb_io_stdio/BUILD.gn b/pw_sys_io_stdio/BUILD.gn
similarity index 80%
rename from pw_dumb_io_stdio/BUILD.gn
rename to pw_sys_io_stdio/BUILD.gn
index 82e4c78..a683ab9 100644
--- a/pw_dumb_io_stdio/BUILD.gn
+++ b/pw_sys_io_stdio/BUILD.gn
@@ -16,13 +16,13 @@
# This if statement allows docs to always build even if the target isn't
# compatible with this backend.
-if (dir_pw_dumb_io_backend == dir_pw_dumb_io_stdio) {
- source_set("pw_dumb_io_stdio") {
+if (dir_pw_sys_io_backend == dir_pw_sys_io_stdio) {
+ source_set("pw_sys_io_stdio") {
deps = [
- "$dir_pw_dumb_io:default_putget_bytes",
- "$dir_pw_dumb_io:facade",
+ "$dir_pw_sys_io:default_putget_bytes",
+ "$dir_pw_sys_io:facade",
]
- sources = [ "dumb_io.cc" ]
+ sources = [ "sys_io.cc" ]
}
}
diff --git a/pw_dumb_io_stdio/CMakeLists.txt b/pw_sys_io_stdio/CMakeLists.txt
similarity index 71%
rename from pw_dumb_io_stdio/CMakeLists.txt
rename to pw_sys_io_stdio/CMakeLists.txt
index 696b0a7..5b76f64 100644
--- a/pw_dumb_io_stdio/CMakeLists.txt
+++ b/pw_sys_io_stdio/CMakeLists.txt
@@ -12,11 +12,11 @@
# License for the specific language governing permissions and limitations under
# the License.
-pw_auto_add_simple_module(pw_dumb_io_stdio
+pw_auto_add_simple_module(pw_sys_io_stdio
IMPLEMENTS_FACADE
- pw_dumb_io
+ pw_sys_io
)
-# TODO(hepler): Declare pw_dumb_io_stdio as the pw_dumb_io backend for now.
-add_library(pw_dumb_io.backend INTERFACE)
-target_link_libraries(pw_dumb_io.backend INTERFACE pw_dumb_io_stdio)
+# TODO(hepler): Declare pw_sys_io_stdio as the pw_sys_io backend for now.
+add_library(pw_sys_io.backend INTERFACE)
+target_link_libraries(pw_sys_io.backend INTERFACE pw_sys_io_stdio)
diff --git a/pw_sys_io_stdio/docs.rst b/pw_sys_io_stdio/docs.rst
new file mode 100644
index 0000000..553efbf
--- /dev/null
+++ b/pw_sys_io_stdio/docs.rst
@@ -0,0 +1,39 @@
+.. _chapter-pw-sys-io-stdio:
+
+.. default-domain:: cpp
+
+.. highlight:: sh
+
+---------------
+pw_sys_io_stdio
+---------------
+The ``pw_sys_io_stdio`` backend implements the ``pw_sys_io`` facade using
+stdio.
+
+Why not just use stdio directly?
+--------------------------------
+
+The nice thing about using ``pw_sys_io`` is that it's rather easy to get a
+board up and running with a target-specific backend. This means when drafting
+out a quick application you can write it against ``pw_sys_io`` and, with some
+care, the application will be able to run on both host and target devices.
+
+While it's not recommended to use ``pw_sys_io`` for any production
+applications, it can be rather helpful for early prototyping.
+
+Setup
+=====
+This module requires relatively minimal setup:
+
+ 1. Write code against the ``pw_sys_io`` facade.
+ 2. Specify the ``dir_pw_sys_io_backend`` GN global variable to point to this
+ backend.
+
+Module usage
+============
+For the most part, applications built with this backend will behave similarly
+to an application built directly against stdio.
+
+Dependencies
+============
+ * pw_sys_io facade
diff --git a/pw_dumb_io_stdio/dumb_io.cc b/pw_sys_io_stdio/sys_io.cc
similarity index 94%
rename from pw_dumb_io_stdio/dumb_io.cc
rename to pw_sys_io_stdio/sys_io.cc
index 66a1f45..72e4df6 100644
--- a/pw_dumb_io_stdio/dumb_io.cc
+++ b/pw_sys_io_stdio/sys_io.cc
@@ -12,11 +12,11 @@
// License for the specific language governing permissions and limitations under
// the License.
-#include "pw_dumb_io/dumb_io.h"
+#include "pw_sys_io/sys_io.h"
#include <cstdio>
-namespace pw::dumb_io {
+namespace pw::sys_io {
Status ReadByte(std::byte* dest) {
if (dest == nullptr) {
@@ -55,4 +55,4 @@
return StatusWithSize(result, chars_written);
}
-} // namespace pw::dumb_io
+} // namespace pw::sys_io
diff --git a/pw_unit_test/BUILD b/pw_unit_test/BUILD
index c4d51f4..053653c 100644
--- a/pw_unit_test/BUILD
+++ b/pw_unit_test/BUILD
@@ -81,7 +81,7 @@
deps = [
":pw_unit_test",
":simple_printing_event_handler",
- "//pw_dumb_io",
+ "//pw_sys_io",
],
)
diff --git a/pw_unit_test/BUILD.gn b/pw_unit_test/BUILD.gn
index 0906df2..4283c14 100644
--- a/pw_unit_test/BUILD.gn
+++ b/pw_unit_test/BUILD.gn
@@ -55,7 +55,7 @@
public_deps = [ ":pw_unit_test" ]
deps = [
":simple_printing_event_handler",
- "$dir_pw_dumb_io",
+ "$dir_pw_sys_io",
]
sources = [ "simple_printing_main.cc" ]
}
@@ -76,7 +76,7 @@
public_deps = [ ":pw_unit_test" ]
deps = [
":logging_event_handler",
- "$dir_pw_dumb_io",
+ "$dir_pw_sys_io",
]
sources = [ "logging_main.cc" ]
}
diff --git a/pw_unit_test/CMakeLists.txt b/pw_unit_test/CMakeLists.txt
index 7a7e262..3767b4e 100644
--- a/pw_unit_test/CMakeLists.txt
+++ b/pw_unit_test/CMakeLists.txt
@@ -32,6 +32,6 @@
pw_unit_test
PRIVATE_DEPS
pw_preprocessor
- pw_dumb_io
pw_string
+ pw_sys_io
)
diff --git a/pw_unit_test/simple_printing_main.cc b/pw_unit_test/simple_printing_main.cc
index 96fb4db..859f5f8 100644
--- a/pw_unit_test/simple_printing_main.cc
+++ b/pw_unit_test/simple_printing_main.cc
@@ -14,8 +14,8 @@
#include <string_view>
-#include "pw_dumb_io/dumb_io.h"
#include "pw_span/span.h"
+#include "pw_sys_io/sys_io.h"
#include "pw_unit_test/framework.h"
#include "pw_unit_test/simple_printing_event_handler.h"
@@ -23,9 +23,9 @@
pw::unit_test::SimplePrintingEventHandler handler(
[](const std::string_view& s, bool append_newline) {
if (append_newline) {
- pw::dumb_io::WriteLine(s);
+ pw::sys_io::WriteLine(s);
} else {
- pw::dumb_io::WriteBytes(pw::as_bytes(pw::span(s)));
+ pw::sys_io::WriteBytes(pw::as_bytes(pw::span(s)));
}
});
diff --git a/pw_vars_default.gni b/pw_vars_default.gni
index b7c9ae4..6de484f 100644
--- a/pw_vars_default.gni
+++ b/pw_vars_default.gni
@@ -103,12 +103,12 @@
# Backend for the pw_cpu_exception module.
dir_pw_cpu_exception_backend = ""
-# Backend for the pw_dumb_io module.
-dir_pw_dumb_io_backend = ""
-
# Backend for the pw_log module.
dir_pw_log_backend = ""
+# Backend for the pw_sys_io module.
+dir_pw_sys_io_backend = ""
+
############################## MODULE CONFIGS ##################################
# Module configuration options for pw_boot_armv7m.
diff --git a/targets/host/host_common.gni b/targets/host/host_common.gni
index 4a890c3..bfe5db2 100644
--- a/targets/host/host_common.gni
+++ b/targets/host/host_common.gni
@@ -24,8 +24,8 @@
# Configure backend for assert facade.
dir_pw_assert_backend = "$dir_pw_assert_basic"
-# Configure backend for pw_dumb_io facade.
-dir_pw_dumb_io_backend = "$dir_pw_dumb_io_stdio"
-
# Configure backend for logging facade.
dir_pw_log_backend = "$dir_pw_log_basic"
+
+# Configure backend for pw_sys_io facade.
+dir_pw_sys_io_backend = "$dir_pw_sys_io_stdio"
diff --git a/targets/stm32f429i-disc1/target_config.gni b/targets/stm32f429i-disc1/target_config.gni
index 0e589b1..582f18d 100644
--- a/targets/stm32f429i-disc1/target_config.gni
+++ b/targets/stm32f429i-disc1/target_config.gni
@@ -15,7 +15,7 @@
# Target configuration for the STM32f429I-DISC1 development board.
#
# TODO(amontanez): This target configuration treats
-# pw_dumb_io_baremetal_stm32f429 as if it were a platform. This is for
+# pw_sys_io_baremetal_stm32f429 as if it were a platform. This is for
# testing/development and should eventually point to something more
# sophisticated.
@@ -44,7 +44,7 @@
if (!defined(deps)) {
deps = []
}
- deps += [ dir_pw_dumb_io_baremetal_stm32f429 ]
+ deps += [ dir_pw_sys_io_baremetal_stm32f429 ]
}
}
@@ -64,8 +64,8 @@
dir_pw_assert_backend = dir_pw_assert_basic
dir_pw_boot_backend = dir_pw_boot_armv7m
dir_pw_cpu_exception_backend = dir_pw_cpu_exception_armv7m
-dir_pw_dumb_io_backend = dir_pw_dumb_io_baremetal_stm32f429
dir_pw_log_backend = dir_pw_log_basic
+dir_pw_sys_io_backend = dir_pw_sys_io_baremetal_stm32f429
pw_boot_armv7m_config.defines += [
"PW_BOOT_FLASH_BEGIN=0x08000200",