s/pw_hdlc_lite/pw_hdlc/g

This renames the hdlc_lite module to just HDLC to accommodate for future
development.

Change-Id: Ic96502a9f41d3a10179435347d4e8615bc3ae844
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/29042
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 6e79779..336f3f9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -129,7 +129,7 @@
     "$dir_pw_docgen/py",
     "$dir_pw_doctor/py",
     "$dir_pw_env_setup/py",
-    "$dir_pw_hdlc_lite/py",
+    "$dir_pw_hdlc/py",
     "$dir_pw_module/py",
     "$dir_pw_package/py",
     "$dir_pw_presubmit/py",
@@ -144,7 +144,7 @@
     "$dir_pw_watch/py",
 
     # Standalone scripts
-    "$dir_pw_hdlc_lite/rpc_example:example_script",
+    "$dir_pw_hdlc/rpc_example:example_script",
   ]
 }
 
@@ -197,7 +197,7 @@
 if (current_toolchain != default_toolchain) {
   group("apps") {
     # Application images built for all targets.
-    deps = [ "$dir_pw_hdlc_lite/rpc_example" ]
+    deps = [ "$dir_pw_hdlc/rpc_example" ]
 
     # Add target-specific images.
     deps += pw_TARGET_APPLICATIONS
@@ -221,7 +221,7 @@
       "$dir_pw_checksum",
       "$dir_pw_chrono",
       "$dir_pw_cpu_exception",
-      "$dir_pw_hdlc_lite",
+      "$dir_pw_hdlc",
       "$dir_pw_i2c",
       "$dir_pw_metric",
       "$dir_pw_polyfill",
@@ -264,7 +264,7 @@
       "$dir_pw_containers:tests",
       "$dir_pw_cpu_exception_armv7m:tests",
       "$dir_pw_fuzzer:tests",
-      "$dir_pw_hdlc_lite:tests",
+      "$dir_pw_hdlc:tests",
       "$dir_pw_hex_dump:tests",
       "$dir_pw_log:tests",
       "$dir_pw_log_multisink:tests",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad9e3be..2968a94 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,7 @@
 add_subdirectory(pw_containers EXCLUDE_FROM_ALL)
 add_subdirectory(pw_cpu_exception EXCLUDE_FROM_ALL)
 add_subdirectory(pw_cpu_exception_armv7m EXCLUDE_FROM_ALL)
-add_subdirectory(pw_hdlc_lite EXCLUDE_FROM_ALL)
+add_subdirectory(pw_hdlc EXCLUDE_FROM_ALL)
 add_subdirectory(pw_kvs EXCLUDE_FROM_ALL)
 add_subdirectory(pw_log EXCLUDE_FROM_ALL)
 add_subdirectory(pw_log_basic EXCLUDE_FROM_ALL)
@@ -59,4 +59,4 @@
 add_subdirectory(third_party/nanopb EXCLUDE_FROM_ALL)
 
 add_custom_target(pw_apps)
-add_dependencies(pw_apps pw_hdlc_lite.rpc_example)
+add_dependencies(pw_apps pw_hdlc.rpc_example)
diff --git a/PW_PLUGINS b/PW_PLUGINS
index f588ded..fdba3b5 100644
--- a/PW_PLUGINS
+++ b/PW_PLUGINS
@@ -13,5 +13,5 @@
 # Pigweed's presubmit check script
 presubmit pw_presubmit.pigweed_presubmit main
 heap-viewer pw_allocator.heap_viewer main
-rpc pw_hdlc_lite.rpc_console main
+rpc pw_hdlc.rpc_console main
 package pw_package.pigweed_packages main
diff --git a/docs/BUILD.gn b/docs/BUILD.gn
index b6d200f..012fe80 100644
--- a/docs/BUILD.gn
+++ b/docs/BUILD.gn
@@ -70,7 +70,7 @@
     "$dir_pw_doctor:docs",
     "$dir_pw_env_setup:docs",
     "$dir_pw_fuzzer:docs",
-    "$dir_pw_hdlc_lite:docs",
+    "$dir_pw_hdlc:docs",
     "$dir_pw_hex_dump:docs",
     "$dir_pw_interrupt:docs",
     "$dir_pw_interrupt_cortex_m:docs",
diff --git a/modules.gni b/modules.gni
index ee10ead..1604d2e 100644
--- a/modules.gni
+++ b/modules.gni
@@ -44,7 +44,7 @@
   dir_pw_doctor = get_path_info("pw_doctor", "abspath")
   dir_pw_hex_dump = get_path_info("pw_hex_dump", "abspath")
   dir_pw_env_setup = get_path_info("pw_env_setup", "abspath")
-  dir_pw_hdlc_lite = get_path_info("pw_hdlc_lite", "abspath")
+  dir_pw_hdlc = get_path_info("pw_hdlc", "abspath")
   dir_pw_i2c = get_path_info("pw_i2c", "abspath")
   dir_pw_interrupt = get_path_info("pw_interrupt", "abspath")
   dir_pw_interrupt_cortex_m = get_path_info("pw_interrupt_cortex_m", "abspath")
diff --git a/pw_hdlc_lite/BUILD b/pw_hdlc/BUILD
similarity index 82%
rename from pw_hdlc_lite/BUILD
rename to pw_hdlc/BUILD
index f80de90..3dbde8c 100644
--- a/pw_hdlc_lite/BUILD
+++ b/pw_hdlc/BUILD
@@ -22,16 +22,16 @@
 licenses(["notice"])  # Apache License 2.0
 
 pw_cc_library(
-    name = "pw_hdlc_lite",
+    name = "pw_hdlc",
     srcs = [
         "decoder.cc",
         "encoder.cc",
-        "pw_hdlc_lite_private/protocol.h",
+        "pw_hdlc_private/protocol.h",
         "rpc_packets.cc",
     ],
     hdrs = [
-        "public/pw_hdlc_lite/decoder.h",
-        "public/pw_hdlc_lite/encoder.h",
+        "public/pw_hdlc/decoder.h",
+        "public/pw_hdlc/encoder.h",
     ],
     includes = ["public"],
     deps = [
@@ -47,10 +47,10 @@
 
 pw_cc_library(
     name = "rpc_channel_output",
-    hdrs = ["public/pw_hdlc_lite/rpc_channel.h"],
+    hdrs = ["public/pw_hdlc/rpc_channel.h"],
     includes = ["public"],
     deps = [
-        ":pw_hdlc_lite",
+        ":pw_hdlc",
         "//pw_rpc:server",
     ],
 )
@@ -58,10 +58,10 @@
 pw_cc_library(
     name = "pw_rpc",
     srcs = ["rpc_packets.cc"],
-    hdrs = ["public/pw_hdlc_lite/rpc_packets.h"],
+    hdrs = ["public/pw_hdlc/rpc_packets.h"],
     includes = ["public"],
     deps = [
-        ":pw_hdlc_lite",
+        ":pw_hdlc",
         "//pw_rpc:server",
     ],
 )
@@ -70,7 +70,7 @@
     name = "encoder_test",
     srcs = ["encoder_test.cc"],
     deps = [
-        ":pw_hdlc_lite",
+        ":pw_hdlc",
         "//pw_stream",
         "//pw_unit_test",
     ],
@@ -80,7 +80,7 @@
     name = "decoder_test",
     srcs = ["decoder_test.cc"],
     deps = [
-        ":pw_hdlc_lite",
+        ":pw_hdlc",
         "//pw_result",
         "//pw_stream",
         "//pw_unit_test",
@@ -91,7 +91,7 @@
     name = "rpc_channel_test",
     srcs = ["rpc_channel_test.cc"],
     deps = [
-        ":pw_hdlc_lite",
+        ":pw_hdlc",
         "//pw_stream",
         "//pw_unit_test",
     ],
diff --git a/pw_hdlc_lite/BUILD.gn b/pw_hdlc/BUILD.gn
similarity index 84%
rename from pw_hdlc_lite/BUILD.gn
rename to pw_hdlc/BUILD.gn
index 11aa3ec..7522842 100644
--- a/pw_hdlc_lite/BUILD.gn
+++ b/pw_hdlc/BUILD.gn
@@ -22,7 +22,7 @@
   include_dirs = [ "public" ]
 }
 
-group("pw_hdlc_lite") {
+group("pw_hdlc") {
   public_deps = [
     ":decoder",
     ":encoder",
@@ -31,10 +31,10 @@
 
 pw_source_set("decoder") {
   public_configs = [ ":default_config" ]
-  public = [ "public/pw_hdlc_lite/decoder.h" ]
+  public = [ "public/pw_hdlc/decoder.h" ]
   sources = [
     "decoder.cc",
-    "pw_hdlc_lite_private/protocol.h",
+    "pw_hdlc_private/protocol.h",
   ]
   public_deps = [
     dir_pw_bytes,
@@ -50,10 +50,10 @@
 
 pw_source_set("encoder") {
   public_configs = [ ":default_config" ]
-  public = [ "public/pw_hdlc_lite/encoder.h" ]
+  public = [ "public/pw_hdlc/encoder.h" ]
   sources = [
     "encoder.cc",
-    "pw_hdlc_lite_private/protocol.h",
+    "pw_hdlc_private/protocol.h",
   ]
   public_deps = [
     "$dir_pw_stream:sys_io_stream",
@@ -68,19 +68,19 @@
 
 pw_source_set("rpc_channel_output") {
   public_configs = [ ":default_config" ]
-  public = [ "public/pw_hdlc_lite/rpc_channel.h" ]
+  public = [ "public/pw_hdlc/rpc_channel.h" ]
   public_deps = [
-    ":pw_hdlc_lite",
+    ":pw_hdlc",
     "$dir_pw_rpc:server",
   ]
 }
 
 pw_source_set("pw_rpc") {
   public_configs = [ ":default_config" ]
-  public = [ "public/pw_hdlc_lite/rpc_packets.h" ]
+  public = [ "public/pw_hdlc/rpc_packets.h" ]
   sources = [ "rpc_packets.cc" ]
   public_deps = [
-    ":pw_hdlc_lite",
+    ":pw_hdlc",
     "$dir_pw_rpc:server",
   ]
 }
@@ -100,7 +100,7 @@
 }
 
 pw_test("encoder_test") {
-  deps = [ ":pw_hdlc_lite" ]
+  deps = [ ":pw_hdlc" ]
   sources = [ "encoder_test.cc" ]
 }
 
@@ -114,14 +114,14 @@
 pw_test("decoder_test") {
   deps = [
     ":generate_decoder_test",
-    ":pw_hdlc_lite",
+    ":pw_hdlc",
   ]
   sources = [ "decoder_test.cc" ] + get_target_outputs(":generate_decoder_test")
 }
 
 pw_test("rpc_channel_test") {
   deps = [
-    ":pw_hdlc_lite",
+    ":pw_hdlc",
     ":rpc_channel_output",
   ]
   sources = [ "rpc_channel_test.cc" ]
@@ -133,7 +133,7 @@
     "rpc_example/docs.rst",
   ]
   inputs = [
-    "py/pw_hdlc_lite/decode.py",
-    "py/pw_hdlc_lite/encode.py",
+    "py/pw_hdlc/decode.py",
+    "py/pw_hdlc/encode.py",
   ]
 }
diff --git a/pw_hdlc_lite/CMakeLists.txt b/pw_hdlc/CMakeLists.txt
similarity index 95%
rename from pw_hdlc_lite/CMakeLists.txt
rename to pw_hdlc/CMakeLists.txt
index 44c0ba8..b61d885 100644
--- a/pw_hdlc_lite/CMakeLists.txt
+++ b/pw_hdlc/CMakeLists.txt
@@ -14,7 +14,7 @@
 
 include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
 
-pw_auto_add_simple_module(pw_hdlc_lite
+pw_auto_add_simple_module(pw_hdlc
   PUBLIC_DEPS
     pw_bytes
     pw_result
diff --git a/pw_hdlc_lite/decoder.cc b/pw_hdlc/decoder.cc
similarity index 96%
rename from pw_hdlc_lite/decoder.cc
rename to pw_hdlc/decoder.cc
index 76d7ca0..b1cc262 100644
--- a/pw_hdlc_lite/decoder.cc
+++ b/pw_hdlc/decoder.cc
@@ -12,17 +12,17 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/decoder.h"
+#include "pw_hdlc/decoder.h"
 
 #include "pw_assert/assert.h"
 #include "pw_bytes/endian.h"
 #include "pw_checksum/crc32.h"
-#include "pw_hdlc_lite_private/protocol.h"
+#include "pw_hdlc_private/protocol.h"
 #include "pw_log/log.h"
 
 using std::byte;
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 namespace {
 
 constexpr byte kUnescapeConstant = byte{0x20};
@@ -135,4 +135,4 @@
                     buffer_.first(current_frame_size_ - sizeof(fcs)));
 }
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/decoder_test.cc b/pw_hdlc/decoder_test.cc
similarity index 96%
rename from pw_hdlc_lite/decoder_test.cc
rename to pw_hdlc/decoder_test.cc
index a74b34c..dcf12e3 100644
--- a/pw_hdlc_lite/decoder_test.cc
+++ b/pw_hdlc/decoder_test.cc
@@ -12,16 +12,16 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/decoder.h"
+#include "pw_hdlc/decoder.h"
 
 #include <array>
 #include <cstddef>
 
 #include "gtest/gtest.h"
 #include "pw_bytes/array.h"
-#include "pw_hdlc_lite_private/protocol.h"
+#include "pw_hdlc_private/protocol.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 namespace {
 
 using std::byte;
@@ -125,4 +125,4 @@
 }
 
 }  // namespace
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/docs.rst b/pw_hdlc/docs.rst
similarity index 83%
rename from pw_hdlc_lite/docs.rst
rename to pw_hdlc/docs.rst
index 606ebbf..c8b574a 100644
--- a/pw_hdlc_lite/docs.rst
+++ b/pw_hdlc/docs.rst
@@ -1,20 +1,19 @@
-.. _module-pw_hdlc_lite:
+.. _module-pw_hdlc:
 
-------------
-pw_hdlc_lite
-------------
+-------
+pw_hdlc
+-------
 `High-Level Data Link Control (HDLC)
 <https://en.wikipedia.org/wiki/High-Level_Data_Link_Control>`_ is a data link
 layer protocol intended for serial communication between devices. HDLC is
 standardized as `ISO/IEC 13239:2002 <https://www.iso.org/standard/37010.html>`_.
 
-The ``pw_hdlc_lite`` module provides a simple, robust frame-oriented
-transport that uses a subset of the HDLC protocol. ``pw_hdlc_lite`` supports
-sending between embedded devices or the host. It can be used with
-:ref:`module-pw_rpc` to enable remote procedure calls (RPCs) on embedded on
-devices.
+The ``pw_hdlc`` module provides a simple, robust frame-oriented transport that
+uses a subset of the HDLC protocol. ``pw_hdlc`` supports sending between
+embedded devices or the host. It can be used with :ref:`module-pw_rpc` to enable
+remote procedure calls (RPCs) on embedded on devices.
 
-**Why use the pw_hdlc_lite module?**
+**Why use the pw_hdlc module?**
 
   * Enables the transmission of RPCs and other data between devices over serial.
   * Detects corruption and data loss.
@@ -25,7 +24,7 @@
 .. admonition:: Try it out!
 
   For an example of how to use HDLC with :ref:`module-pw_rpc`, see the
-  :ref:`module-pw_hdlc_lite-rpc-example`.
+  :ref:`module-pw_hdlc-rpc-example`.
 
 .. toctree::
   :maxdepth: 1
@@ -38,7 +37,7 @@
 
 Frames
 ------
-The HDLC implementation in ``pw_hdlc_lite`` supports only HDLC unnumbered
+The HDLC implementation in ``pw_hdlc`` supports only HDLC unnumbered
 information frames. These frames are encoded as follows:
 
 .. code-block:: text
@@ -77,7 +76,7 @@
 -----------------------
 Frames may be received in multiple parts, so we need to store the received data
 in a buffer until the ending frame delimiter (0x7E) is read. When the
-``pw_hdlc_lite`` decoder receives data, it unescapes it and adds it to a buffer.
+``pw_hdlc`` decoder receives data, it unescapes it and adds it to a buffer.
 When the frame is complete, it calculates and verifies the frame check sequence
 and does the following:
 
@@ -87,7 +86,7 @@
 
 API Usage
 =========
-There are two primary functions of the ``pw_hdlc_lite`` module:
+There are two primary functions of the ``pw_hdlc`` module:
 
   * **Encoding** data by constructing a frame with the escaped payload bytes and
     frame check sequence.
@@ -103,7 +102,7 @@
 ^^^
 .. cpp:namespace:: pw
 
-.. cpp:function:: Status hdlc_lite::WriteUIFrame(uint8_t address, ConstByteSpan data, stream::Writer& writer)
+.. cpp:function:: Status hdlc::WriteUIFrame(uint8_t address, ConstByteSpan data, stream::Writer& writer)
 
   Writes a span of data to a :ref:`pw::stream::Writer <module-pw_stream>` and
   returns the status. This implementation uses the :ref:`module-pw_checksum`
@@ -111,8 +110,8 @@
 
 .. code-block:: cpp
 
-  #include "pw_hdlc_lite/encoder.h"
-  #include "pw_hdlc_lite/sys_io_stream.h"
+  #include "pw_hdlc/encoder.h"
+  #include "pw_hdlc/sys_io_stream.h"
 
   int main() {
     pw::stream::SysIoWriter serial_writer;
@@ -126,13 +125,13 @@
 
 Python
 ^^^^^^
-.. automodule:: pw_hdlc_lite.encode
+.. automodule:: pw_hdlc.encode
   :members:
 
 .. code-block:: python
 
   import serial
-  from pw_hdlc_lite import encode
+  from pw_hdlc import encode
 
   ser = serial.Serial()
   ser.write(encode.ui_frame(b'your data here!'))
@@ -144,7 +143,7 @@
 
 C++
 ^^^
-.. cpp:class:: pw::hdlc_lite::Decoder
+.. cpp:class:: pw::hdlc::Decoder
 
   .. cpp:function:: pw::Result<Frame> Process(std::byte b)
 
@@ -169,7 +168,7 @@
 
 .. code-block:: cpp
 
-  #include "pw_hdlc_lite/decoder.h"
+  #include "pw_hdlc/decoder.h"
   #include "pw_sys_io/sys_io.h"
 
   int main() {
@@ -188,7 +187,7 @@
 
 Python
 ^^^^^^
-.. autoclass:: pw_hdlc_lite.decode.FrameDecoder
+.. autoclass:: pw_hdlc.decode.FrameDecoder
   :members:
 
 Below is an example using the decoder class to decode data read from serial:
@@ -196,7 +195,7 @@
 .. code-block:: python
 
   import serial
-  from pw_hdlc_lite import decode
+  from pw_hdlc import decode
 
   ser = serial.Serial()
   decoder = decode.FrameDecoder()
@@ -216,12 +215,12 @@
 
 HdlcRpcClient
 -------------
-.. autoclass:: pw_hdlc_lite.rpc.HdlcRpcClient
+.. autoclass:: pw_hdlc.rpc.HdlcRpcClient
   :members:
 
 Roadmap
 =======
-- **Expanded protocol support** - ``pw_hdlc_lite`` currently only supports
+- **Expanded protocol support** - ``pw_hdlc`` currently only supports
   unnumbered information frames with a single address byte and control byte.
   Support for different frame types and extended address or control fields may
   be added in the future.
diff --git a/pw_hdlc_lite/encoder.cc b/pw_hdlc/encoder.cc
similarity index 96%
rename from pw_hdlc_lite/encoder.cc
rename to pw_hdlc/encoder.cc
index 0602481..ae30f02 100644
--- a/pw_hdlc_lite/encoder.cc
+++ b/pw_hdlc/encoder.cc
@@ -12,7 +12,7 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/encoder.h"
+#include "pw_hdlc/encoder.h"
 
 #include <algorithm>
 #include <array>
@@ -22,11 +22,11 @@
 
 #include "pw_bytes/endian.h"
 #include "pw_checksum/crc32.h"
-#include "pw_hdlc_lite_private/protocol.h"
+#include "pw_hdlc_private/protocol.h"
 
 using std::byte;
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 namespace {
 
 // Indicates this an information packet with sequence numbers set to 0.
@@ -133,4 +133,4 @@
   return encoder.FinishFrame();
 }
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/encoder_test.cc b/pw_hdlc/encoder_test.cc
similarity index 97%
rename from pw_hdlc_lite/encoder_test.cc
rename to pw_hdlc/encoder_test.cc
index 195f3e4..f3ce559 100644
--- a/pw_hdlc_lite/encoder_test.cc
+++ b/pw_hdlc/encoder_test.cc
@@ -12,7 +12,7 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/encoder.h"
+#include "pw_hdlc/encoder.h"
 
 #include <algorithm>
 #include <array>
@@ -20,12 +20,12 @@
 
 #include "gtest/gtest.h"
 #include "pw_bytes/array.h"
-#include "pw_hdlc_lite_private/protocol.h"
+#include "pw_hdlc_private/protocol.h"
 #include "pw_stream/memory_stream.h"
 
 using std::byte;
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 namespace {
 
 constexpr uint8_t kAddress = 0x7B;  // 123
@@ -160,4 +160,4 @@
 }
 
 }  // namespace
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/public/pw_hdlc_lite/decoder.h b/pw_hdlc/public/pw_hdlc/decoder.h
similarity index 98%
rename from pw_hdlc_lite/public/pw_hdlc_lite/decoder.h
rename to pw_hdlc/public/pw_hdlc/decoder.h
index d15cbe7..77a32a3 100644
--- a/pw_hdlc_lite/public/pw_hdlc_lite/decoder.h
+++ b/pw_hdlc/public/pw_hdlc/decoder.h
@@ -23,7 +23,7 @@
 #include "pw_result/result.h"
 #include "pw_status/status.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 
 // Represents the contents of an HDLC frame -- the unescaped data between two
 // flag bytes. Instances of Frame are only created when a full, valid frame has
@@ -64,7 +64,7 @@
   ConstByteSpan frame_;
 };
 
-// The Decoder class facilitates decoding of data frames using the HDLC-Lite
+// The Decoder class facilitates decoding of data frames using the HDLC
 // protocol, by returning packets as they are decoded and storing incomplete
 // data frames in a buffer.
 //
@@ -151,4 +151,4 @@
   std::array<std::byte, size_bytes> frame_buffer_;
 };
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/public/pw_hdlc_lite/encoder.h b/pw_hdlc/public/pw_hdlc/encoder.h
similarity index 94%
rename from pw_hdlc_lite/public/pw_hdlc_lite/encoder.h
rename to pw_hdlc/public/pw_hdlc/encoder.h
index 485828d..e885c5e 100644
--- a/pw_hdlc_lite/public/pw_hdlc_lite/encoder.h
+++ b/pw_hdlc/public/pw_hdlc/encoder.h
@@ -17,7 +17,7 @@
 #include "pw_status/status.h"
 #include "pw_stream/stream.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 
 // Writes an HDLC unnumbered information frame (UI-frame) to the provided
 // writer. The frame contains the following:
@@ -33,4 +33,4 @@
                     ConstByteSpan payload,
                     stream::Writer& writer);
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/public/pw_hdlc_lite/rpc_channel.h b/pw_hdlc/public/pw_hdlc/rpc_channel.h
similarity index 91%
rename from pw_hdlc_lite/public/pw_hdlc_lite/rpc_channel.h
rename to pw_hdlc/public/pw_hdlc/rpc_channel.h
index a0ae997..84e2a47 100644
--- a/pw_hdlc_lite/public/pw_hdlc_lite/rpc_channel.h
+++ b/pw_hdlc/public/pw_hdlc/rpc_channel.h
@@ -17,14 +17,14 @@
 #include <span>
 
 #include "pw_assert/light.h"
-#include "pw_hdlc_lite/encoder.h"
+#include "pw_hdlc/encoder.h"
 #include "pw_rpc/channel.h"
 #include "pw_stream/stream.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 
 // Custom HDLC ChannelOutput class to write and read data through serial using
-// the HDLC-Lite protocol.
+// the HDLC protocol.
 //
 // WARNING: This ChannelOutput is not thread-safe. If thread-safety is required,
 // wrap this in a pw::rpc::SynchronizedChannelOutput.
@@ -49,7 +49,7 @@
     if (buffer.empty()) {
       return OkStatus();
     }
-    return hdlc_lite::WriteUIFrame(address_, buffer, writer_);
+    return hdlc::WriteUIFrame(address_, buffer, writer_);
   }
 
  private:
@@ -77,7 +77,7 @@
     if (buffer.empty()) {
       return OkStatus();
     }
-    return hdlc_lite::WriteUIFrame(address_, buffer, writer_);
+    return hdlc::WriteUIFrame(address_, buffer, writer_);
   }
 
  private:
@@ -86,4 +86,4 @@
   const uint8_t address_;
 };
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/public/pw_hdlc_lite/rpc_packets.h b/pw_hdlc/public/pw_hdlc/rpc_packets.h
similarity index 92%
rename from pw_hdlc_lite/public/pw_hdlc_lite/rpc_packets.h
rename to pw_hdlc/public/pw_hdlc/rpc_packets.h
index 8d66c32..d22137c 100644
--- a/pw_hdlc_lite/public/pw_hdlc_lite/rpc_packets.h
+++ b/pw_hdlc/public/pw_hdlc/rpc_packets.h
@@ -15,12 +15,12 @@
 
 #include <cstdint>
 
-#include "pw_hdlc_lite/decoder.h"
+#include "pw_hdlc/decoder.h"
 #include "pw_rpc/channel.h"
 #include "pw_rpc/server.h"
 #include "pw_status/status.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 
 inline constexpr uint8_t kDefaultRpcAddress = 'R';
 
@@ -31,4 +31,4 @@
                              std::span<std::byte> decode_buffer,
                              unsigned rpc_address = kDefaultRpcAddress);
 
-}  // namespace pw::hdlc_lite
\ No newline at end of file
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/pw_hdlc_lite_private/protocol.h b/pw_hdlc/pw_hdlc_private/protocol.h
similarity index 96%
rename from pw_hdlc_lite/pw_hdlc_lite_private/protocol.h
rename to pw_hdlc/pw_hdlc_private/protocol.h
index e675d29..496d9b1 100644
--- a/pw_hdlc_lite/pw_hdlc_lite_private/protocol.h
+++ b/pw_hdlc/pw_hdlc_private/protocol.h
@@ -15,7 +15,7 @@
 
 #include <cstddef>
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 
 inline constexpr std::byte kFlag = std::byte{0x7E};
 inline constexpr std::byte kEscape = std::byte{0x7D};
@@ -53,4 +53,4 @@
   std::byte data_;
 };
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/py/BUILD.gn b/pw_hdlc/py/BUILD.gn
similarity index 82%
rename from pw_hdlc_lite/py/BUILD.gn
rename to pw_hdlc/py/BUILD.gn
index 9ef1a81..5532c3e 100644
--- a/pw_hdlc_lite/py/BUILD.gn
+++ b/pw_hdlc/py/BUILD.gn
@@ -19,12 +19,12 @@
 pw_python_package("py") {
   setup = [ "setup.py" ]
   sources = [
-    "pw_hdlc_lite/__init__.py",
-    "pw_hdlc_lite/decode.py",
-    "pw_hdlc_lite/encode.py",
-    "pw_hdlc_lite/protocol.py",
-    "pw_hdlc_lite/rpc.py",
-    "pw_hdlc_lite/rpc_console.py",
+    "pw_hdlc/__init__.py",
+    "pw_hdlc/decode.py",
+    "pw_hdlc/encode.py",
+    "pw_hdlc/protocol.py",
+    "pw_hdlc/rpc.py",
+    "pw_hdlc/rpc_console.py",
   ]
   tests = [
     "decode_test.py",
diff --git a/pw_hdlc_lite/py/decode_test.py b/pw_hdlc/py/decode_test.py
similarity index 97%
rename from pw_hdlc_lite/py/decode_test.py
rename to pw_hdlc/py/decode_test.py
index 9881bec..fd2ebf7 100755
--- a/pw_hdlc_lite/py/decode_test.py
+++ b/pw_hdlc/py/decode_test.py
@@ -19,8 +19,8 @@
 
 from pw_build.generated_tests import Context, PyTest, TestGenerator, GroupOrTest
 from pw_build.generated_tests import parse_test_generation_args
-from pw_hdlc_lite.decode import Frame, FrameDecoder, FrameStatus, NO_ADDRESS
-from pw_hdlc_lite.protocol import frame_check_sequence as fcs
+from pw_hdlc.decode import Frame, FrameDecoder, FrameStatus, NO_ADDRESS
+from pw_hdlc.protocol import frame_check_sequence as fcs
 
 
 def _encode(address: int, control: int, data: bytes) -> bytes:
@@ -169,7 +169,7 @@
 
 
 _CPP_HEADER = """\
-#include "pw_hdlc_lite/decoder.h"
+#include "pw_hdlc/decoder.h"
 
 #include <array>
 #include <cstddef>
@@ -178,13 +178,13 @@
 #include "gtest/gtest.h"
 #include "pw_bytes/array.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 namespace {
 """
 
 _CPP_FOOTER = """\
 }  // namespace
-}  // namespace pw::hdlc_lite"""
+}  // namespace pw::hdlc"""
 
 
 def _cpp_test(ctx: Context) -> Iterator[str]:
diff --git a/pw_hdlc_lite/py/encode_test.py b/pw_hdlc/py/encode_test.py
similarity index 93%
rename from pw_hdlc_lite/py/encode_test.py
rename to pw_hdlc/py/encode_test.py
index bf219d8..d09902acc 100755
--- a/pw_hdlc_lite/py/encode_test.py
+++ b/pw_hdlc/py/encode_test.py
@@ -16,9 +16,9 @@
 
 import unittest
 
-from pw_hdlc_lite import encode
-from pw_hdlc_lite import protocol
-from pw_hdlc_lite.protocol import frame_check_sequence as _fcs
+from pw_hdlc import encode
+from pw_hdlc import protocol
+from pw_hdlc.protocol import frame_check_sequence as _fcs
 
 FLAG = bytes([protocol.FLAG])
 
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/__init__.py b/pw_hdlc/py/pw_hdlc/__init__.py
similarity index 100%
rename from pw_hdlc_lite/py/pw_hdlc_lite/__init__.py
rename to pw_hdlc/py/pw_hdlc/__init__.py
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/decode.py b/pw_hdlc/py/pw_hdlc/decode.py
similarity index 97%
rename from pw_hdlc_lite/py/pw_hdlc_lite/decode.py
rename to pw_hdlc/py/pw_hdlc/decode.py
index 7fa6005..dbf0d83 100644
--- a/pw_hdlc_lite/py/pw_hdlc_lite/decode.py
+++ b/pw_hdlc/py/pw_hdlc/decode.py
@@ -11,16 +11,16 @@
 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 # License for the specific language governing permissions and limitations under
 # the License.
-"""Decoder class for decoding bytes using HDLC-Lite protocol"""
+"""Decoder class for decoding bytes using HDLC protocol"""
 
 import enum
 import logging
 from typing import Iterator, NamedTuple, Optional
 import zlib
 
-from pw_hdlc_lite import protocol
+from pw_hdlc import protocol
 
-_LOG = logging.getLogger('pw_hdlc_lite')
+_LOG = logging.getLogger('pw_hdlc')
 
 NO_ADDRESS = -1
 _MIN_FRAME_SIZE = 6  # 1 B address + 1 B control + 4 B CRC-32
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/encode.py b/pw_hdlc/py/pw_hdlc/encode.py
similarity index 96%
rename from pw_hdlc_lite/py/pw_hdlc_lite/encode.py
rename to pw_hdlc/py/pw_hdlc/encode.py
index c38f9c3..ea6ec06 100644
--- a/pw_hdlc_lite/py/pw_hdlc_lite/encode.py
+++ b/pw_hdlc/py/pw_hdlc/encode.py
@@ -13,7 +13,7 @@
 # the License.
 """The encode module supports encoding HDLC frames."""
 
-from pw_hdlc_lite import protocol
+from pw_hdlc import protocol
 
 _ESCAPE_BYTE = bytes([protocol.ESCAPE])
 _FLAG_BYTE = bytes([protocol.FLAG])
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/protocol.py b/pw_hdlc/py/pw_hdlc/protocol.py
similarity index 100%
rename from pw_hdlc_lite/py/pw_hdlc_lite/protocol.py
rename to pw_hdlc/py/pw_hdlc/protocol.py
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/py.typed b/pw_hdlc/py/pw_hdlc/py.typed
similarity index 100%
rename from pw_hdlc_lite/py/pw_hdlc_lite/py.typed
rename to pw_hdlc/py/pw_hdlc/py.typed
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/rpc.py b/pw_hdlc/py/pw_hdlc/rpc.py
similarity index 98%
rename from pw_hdlc_lite/py/pw_hdlc_lite/rpc.py
rename to pw_hdlc/py/pw_hdlc/rpc.py
index 2405f3b..0146c9f 100644
--- a/pw_hdlc_lite/py/pw_hdlc_lite/rpc.py
+++ b/pw_hdlc/py/pw_hdlc/rpc.py
@@ -25,8 +25,8 @@
 import pw_rpc
 from pw_rpc import callback_client
 
-from pw_hdlc_lite.decode import Frame, FrameDecoder
-from pw_hdlc_lite import encode
+from pw_hdlc.decode import Frame, FrameDecoder
+from pw_hdlc import encode
 
 _LOG = logging.getLogger(__name__)
 
diff --git a/pw_hdlc_lite/py/pw_hdlc_lite/rpc_console.py b/pw_hdlc/py/pw_hdlc/rpc_console.py
similarity index 96%
rename from pw_hdlc_lite/py/pw_hdlc_lite/rpc_console.py
rename to pw_hdlc/py/pw_hdlc/rpc_console.py
index 0c033d9..f5484c8 100644
--- a/pw_hdlc_lite/py/pw_hdlc_lite/rpc_console.py
+++ b/pw_hdlc/py/pw_hdlc/rpc_console.py
@@ -16,7 +16,7 @@
 To start the console, provide a serial port as the --device argument and paths
 or globs for .proto files that define the RPC services to support:
 
-  python -m pw_hdlc_lite.rpc_console --device /dev/ttyUSB0 sample.proto
+  python -m pw_hdlc.rpc_console --device /dev/ttyUSB0 sample.proto
 
 This starts an IPython console for communicating with the connected device. A
 few variables are predefined in the interactive console. These include:
@@ -42,7 +42,7 @@
 import IPython  # type: ignore
 import serial  # type: ignore
 
-from pw_hdlc_lite.rpc import HdlcRpcClient, default_channels, write_to_file
+from pw_hdlc.rpc import HdlcRpcClient, default_channels, write_to_file
 
 _LOG = logging.getLogger(__name__)
 
diff --git a/pw_hdlc_lite/py/setup.py b/pw_hdlc/py/setup.py
similarity index 89%
rename from pw_hdlc_lite/py/setup.py
rename to pw_hdlc/py/setup.py
index 15266ae..a62ce75 100644
--- a/pw_hdlc_lite/py/setup.py
+++ b/pw_hdlc/py/setup.py
@@ -11,18 +11,18 @@
 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 # License for the specific language governing permissions and limitations under
 # the License.
-"""pw_hdlc_lite"""
+"""pw_hdlc"""
 
 import setuptools  # type: ignore
 
 setuptools.setup(
-    name='pw_hdlc_lite',
+    name='pw_hdlc',
     version='0.0.1',
     author='Pigweed Authors',
     author_email='pigweed-developers@googlegroups.com',
-    description='Tools for Encoding/Decoding data using the HDLC-Lite protocol',
+    description='Tools for Encoding/Decoding data using the HDLC protocol',
     packages=setuptools.find_packages(),
-    package_data={'pw_hdlc_lite': ['py.typed']},
+    package_data={'pw_hdlc': ['py.typed']},
     zip_safe=False,
     install_requires=['ipython'],
     tests_require=['pw_build'],
diff --git a/pw_hdlc_lite/rpc_channel_test.cc b/pw_hdlc/rpc_channel_test.cc
similarity index 97%
rename from pw_hdlc_lite/rpc_channel_test.cc
rename to pw_hdlc/rpc_channel_test.cc
index 4f40ba2..efc95a4 100644
--- a/pw_hdlc_lite/rpc_channel_test.cc
+++ b/pw_hdlc/rpc_channel_test.cc
@@ -26,7 +26,7 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/rpc_channel.h"
+#include "pw_hdlc/rpc_channel.h"
 
 #include <algorithm>
 #include <array>
@@ -38,7 +38,7 @@
 
 using std::byte;
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 namespace {
 
 constexpr byte kFlag = byte{0x7E};
@@ -124,4 +124,4 @@
 }
 
 }  // namespace
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_hdlc_lite/rpc_example/BUILD b/pw_hdlc/rpc_example/BUILD
similarity index 80%
rename from pw_hdlc_lite/rpc_example/BUILD
rename to pw_hdlc/rpc_example/BUILD
index 7e6a30b..b2a48a2 100644
--- a/pw_hdlc_lite/rpc_example/BUILD
+++ b/pw_hdlc/rpc_example/BUILD
@@ -24,13 +24,13 @@
         "main.cc",
     ],
     hdrs = [
-        "public/pw_hdlc_lite/decoder.h",
-        "public/pw_hdlc_lite/hdlc_channel.h",
-        "public/pw_hdlc_lite/rpc_server_packets.h",
+        "public/pw_hdlc/decoder.h",
+        "public/pw_hdlc/hdlc_channel.h",
+        "public/pw_hdlc/rpc_server_packets.h",
     ],
     deps = [
-        "//pw_hdlc_lite",
-        "//pw_hdlc_lite:pw_rpc",
+        "//pw_hdlc",
+        "//pw_hdlc:pw_rpc",
         "//pw_rpc:server",
         "//pw_log",
     ],
diff --git a/pw_hdlc_lite/rpc_example/BUILD.gn b/pw_hdlc/rpc_example/BUILD.gn
similarity index 94%
rename from pw_hdlc_lite/rpc_example/BUILD.gn
rename to pw_hdlc/rpc_example/BUILD.gn
index 2c934ae..06a6407 100644
--- a/pw_hdlc_lite/rpc_example/BUILD.gn
+++ b/pw_hdlc/rpc_example/BUILD.gn
@@ -32,7 +32,7 @@
       "$dir_pw_rpc/nanopb:echo_service",
       "$dir_pw_rpc/system_server",
       "..:pw_rpc",
-      dir_pw_hdlc_lite,
+      dir_pw_hdlc,
       dir_pw_log,
     ]
   }
@@ -40,6 +40,6 @@
 
 pw_python_script("example_script") {
   sources = [ "example_script.py" ]
-  python_deps = [ "$dir_pw_hdlc_lite/py" ]
+  python_deps = [ "$dir_pw_hdlc/py" ]
   pylintrc = "$dir_pigweed/.pylintrc"
 }
diff --git a/pw_hdlc_lite/rpc_example/CMakeLists.txt b/pw_hdlc/rpc_example/CMakeLists.txt
similarity index 85%
rename from pw_hdlc_lite/rpc_example/CMakeLists.txt
rename to pw_hdlc/rpc_example/CMakeLists.txt
index d975789..67f4110 100644
--- a/pw_hdlc_lite/rpc_example/CMakeLists.txt
+++ b/pw_hdlc/rpc_example/CMakeLists.txt
@@ -13,14 +13,14 @@
 # the License.
 
 
-add_executable(pw_hdlc_lite.rpc_example EXCLUDE_FROM_ALL
+add_executable(pw_hdlc.rpc_example EXCLUDE_FROM_ALL
     hdlc_rpc_server.cc
     main.cc
 )
 
-target_link_libraries(pw_hdlc_lite.rpc_example
+target_link_libraries(pw_hdlc.rpc_example
   PRIVATE
-    pw_hdlc_lite
+    pw_hdlc
     pw_log
     pw_rpc.nanopb.echo_service
     pw_rpc.server
diff --git a/pw_hdlc_lite/rpc_example/docs.rst b/pw_hdlc/rpc_example/docs.rst
similarity index 81%
rename from pw_hdlc_lite/rpc_example/docs.rst
rename to pw_hdlc/rpc_example/docs.rst
index 11aa87b..d4b4ca3 100644
--- a/pw_hdlc_lite/rpc_example/docs.rst
+++ b/pw_hdlc/rpc_example/docs.rst
@@ -1,12 +1,12 @@
-.. _module-pw_hdlc_lite-rpc-example:
+.. _module-pw_hdlc-rpc-example:
 
 =============================
 RPC over HDLC example project
 =============================
-The :ref:`module-pw_hdlc_lite` module includes an example of bringing up a
+The :ref:`module-pw_hdlc` module includes an example of bringing up a
 :ref:`module-pw_rpc` server that can be used to invoke RPCs. The example code
-is located at ``pw_hdlc_lite/rpc_example``. This section walks through invoking
-RPCs interactively and with a script using the RPC over HDLC example.
+is located at ``pw_hdlc/rpc_example``. This section walks through invoking RPCs
+interactively and with a script using the RPC over HDLC example.
 
 These instructions assume the STM32F429i Discovery board, but they work with
 any target with :ref:`pw::sys_io <module-pw_sys_io>` implemented.
@@ -34,7 +34,7 @@
 3. Flash the firmware image
 ===========================
 After a successful build, the binary for the example will be located at
-``out/<toolchain>/obj/pw_hdlc_lite/rpc_example/bin/rpc_example.elf``.
+``out/<toolchain>/obj/pw_hdlc/rpc_example/bin/rpc_example.elf``.
 
 Flash this image to your board. If you are using the STM32F429i Discovery Board,
 you can flash the image with `OpenOCD <http://openocd.org>`_.
@@ -42,7 +42,7 @@
 .. code-block:: sh
 
  openocd -f targets/stm32f429i-disc1/py/stm32f429i_disc1_utils/openocd_stm32f4xx.cfg \
-     -c "program out/stm32f429i_disc1_debug/obj/pw_hdlc_lite/rpc_example/bin/rpc_example.elf"
+     -c "program out/stm32f429i_disc1_debug/obj/pw_hdlc/rpc_example/bin/rpc_example.elf"
 
 4. Invoke RPCs from in an interactive console
 =============================================
@@ -52,14 +52,14 @@
 
 .. code-block:: text
 
-  $ python -m pw_hdlc_lite.rpc_console --device /dev/ttyACM0
+  $ python -m pw_hdlc.rpc_console --device /dev/ttyACM0
 
   Console for interacting with pw_rpc over HDLC.
 
   To start the console, provide a serial port as the --device argument and paths
   or globs for .proto files that define the RPC services to support:
 
-    python -m pw_hdlc_lite.rpc_console --device /dev/ttyUSB0 sample.proto
+    python -m pw_hdlc.rpc_console --device /dev/ttyUSB0 sample.proto
 
   This starts an IPython console for communicating with the connected device. A
   few variables are predefined in the interactive console. These include:
@@ -93,7 +93,7 @@
 
 .. code-block:: text
 
-  $ pw_hdlc_lite/rpc_example/example_script.py --device /dev/ttyACM0
+  $ pw_hdlc/rpc_example/example_script.py --device /dev/ttyACM0
   The status was Status.OK
   The payload was msg: "Hello"
 
@@ -123,12 +123,12 @@
 
 .. code-block:: sh
 
-  python -m pw_hdlc_lite.rpc_console path/to/echo.proto -s localhost:33000
+  python -m pw_hdlc.rpc_console path/to/echo.proto -s localhost:33000
 
 Run pw_rpc server
 
 .. code-block:: sh
 
-  out/host_clang_debug/obj/pw_hdlc_lite/rpc_example/bin/rpc_example
+  out/host_clang_debug/obj/pw_hdlc/rpc_example/bin/rpc_example
 
-Then you can invoke RPCs from the interactive console on the client side.
\ No newline at end of file
+Then you can invoke RPCs from the interactive console on the client side.
diff --git a/pw_hdlc_lite/rpc_example/example_script.py b/pw_hdlc/rpc_example/example_script.py
similarity index 96%
rename from pw_hdlc_lite/rpc_example/example_script.py
rename to pw_hdlc/rpc_example/example_script.py
index b749c58..eb5f26b 100755
--- a/pw_hdlc_lite/rpc_example/example_script.py
+++ b/pw_hdlc/rpc_example/example_script.py
@@ -20,7 +20,7 @@
 
 import serial  # type: ignore
 
-from pw_hdlc_lite.rpc import HdlcRpcClient, default_channels
+from pw_hdlc.rpc import HdlcRpcClient, default_channels
 
 # Point the script to the .proto file with our RPC services.
 PROTO = Path(os.environ['PW_ROOT'], 'pw_rpc/pw_rpc_protos/echo.proto')
diff --git a/pw_hdlc_lite/rpc_example/hdlc_rpc_server.cc b/pw_hdlc/rpc_example/hdlc_rpc_server.cc
similarity index 94%
rename from pw_hdlc_lite/rpc_example/hdlc_rpc_server.cc
rename to pw_hdlc/rpc_example/hdlc_rpc_server.cc
index 08ceb03..a6184c7 100644
--- a/pw_hdlc_lite/rpc_example/hdlc_rpc_server.cc
+++ b/pw_hdlc/rpc_example/hdlc_rpc_server.cc
@@ -16,8 +16,8 @@
 #include <span>
 #include <string_view>
 
-#include "pw_hdlc_lite/encoder.h"
-#include "pw_hdlc_lite/rpc_packets.h"
+#include "pw_hdlc/encoder.h"
+#include "pw_hdlc/rpc_packets.h"
 #include "pw_log/log.h"
 #include "pw_rpc/echo_service_nanopb.h"
 #include "pw_rpc/server.h"
diff --git a/pw_hdlc_lite/rpc_example/main.cc b/pw_hdlc/rpc_example/main.cc
similarity index 100%
rename from pw_hdlc_lite/rpc_example/main.cc
rename to pw_hdlc/rpc_example/main.cc
diff --git a/pw_hdlc_lite/rpc_packets.cc b/pw_hdlc/rpc_packets.cc
similarity index 92%
rename from pw_hdlc_lite/rpc_packets.cc
rename to pw_hdlc/rpc_packets.cc
index 95e95b3..9d83d86 100644
--- a/pw_hdlc_lite/rpc_packets.cc
+++ b/pw_hdlc/rpc_packets.cc
@@ -12,12 +12,12 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/rpc_packets.h"
+#include "pw_hdlc/rpc_packets.h"
 
 #include "pw_status/try.h"
 #include "pw_sys_io/sys_io.h"
 
-namespace pw::hdlc_lite {
+namespace pw::hdlc {
 
 Status ReadAndProcessPackets(rpc::Server& server,
                              rpc::ChannelOutput& output,
@@ -38,4 +38,4 @@
   }
 }
 
-}  // namespace pw::hdlc_lite
+}  // namespace pw::hdlc
diff --git a/pw_log_tokenized/BUILD b/pw_log_tokenized/BUILD
index c1f5d4a..eac9f29 100644
--- a/pw_log_tokenized/BUILD
+++ b/pw_log_tokenized/BUILD
@@ -51,7 +51,7 @@
     hdrs = ["public/pw_log_tokenized/base64_over_hdlc.h"],
     includes = ["public"],
     deps = [
-        "//pw_hdlc_lite:encoder",
+        "//pw_hdlc:encoder",
         "//pw_tokenizer:base64",
         "//pw_tokenizer:global_handler_with_payload.facade",
     ],
diff --git a/pw_log_tokenized/BUILD.gn b/pw_log_tokenized/BUILD.gn
index d8df960..d03158e 100644
--- a/pw_log_tokenized/BUILD.gn
+++ b/pw_log_tokenized/BUILD.gn
@@ -66,7 +66,7 @@
   public = [ "public/pw_log_tokenized/base64_over_hdlc.h" ]
   sources = [ "base64_over_hdlc.cc" ]
   deps = [
-    "$dir_pw_hdlc_lite:encoder",
+    "$dir_pw_hdlc:encoder",
     "$dir_pw_tokenizer:base64",
     "$dir_pw_tokenizer:global_handler_with_payload.facade",
   ]
diff --git a/pw_log_tokenized/base64_over_hdlc.cc b/pw_log_tokenized/base64_over_hdlc.cc
index ce2d9cb..f7dc0e0 100644
--- a/pw_log_tokenized/base64_over_hdlc.cc
+++ b/pw_log_tokenized/base64_over_hdlc.cc
@@ -19,7 +19,7 @@
 
 #include <span>
 
-#include "pw_hdlc_lite/encoder.h"
+#include "pw_hdlc/encoder.h"
 #include "pw_stream/sys_io_stream.h"
 #include "pw_tokenizer/base64.h"
 #include "pw_tokenizer/tokenize_to_global_handler_with_payload.h"
@@ -43,9 +43,9 @@
   base64_buffer[base64_bytes] = '\0';
 
   // HDLC-encode the Base64 string via a SysIoWriter.
-  hdlc_lite::WriteUIFrame(PW_LOG_TOKENIZED_BASE64_LOG_HDLC_ADDRESS,
-                          std::as_bytes(std::span(base64_buffer, base64_bytes)),
-                          writer);
+  hdlc::WriteUIFrame(PW_LOG_TOKENIZED_BASE64_LOG_HDLC_ADDRESS,
+                     std::as_bytes(std::span(base64_buffer, base64_bytes)),
+                     writer);
 }
 
 }  // namespace pw::log_tokenized
diff --git a/pw_rpc/docs.rst b/pw_rpc/docs.rst
index c44b017..6681a87 100644
--- a/pw_rpc/docs.rst
+++ b/pw_rpc/docs.rst
@@ -9,8 +9,7 @@
 .. admonition:: Try it out!
 
   For a quick intro to ``pw_rpc``, see the
-  :ref:`module-pw_hdlc_lite-rpc-example` in the :ref:`module-pw_hdlc_lite`
-  module.
+  :ref:`module-pw_hdlc-rpc-example` in the :ref:`module-pw_hdlc` module.
 
 .. attention::
 
@@ -143,7 +142,7 @@
 
 4. Register the service with a server
 -------------------------------------
-This example code sets up an RPC server with an :ref:`HDLC<module-pw_hdlc_lite>`
+This example code sets up an RPC server with an :ref:`HDLC<module-pw_hdlc>`
 channel output and the example service.
 
 .. code-block:: cpp
@@ -153,7 +152,7 @@
   // adapt this as necessary.
   pw::stream::SysIoWriter writer;
   pw::rpc::RpcChannelOutput<kMaxTransmissionUnit> hdlc_channel_output(
-      writer, pw::hdlc_lite::kDefaultRpcAddress, "HDLC output");
+      writer, pw::hdlc::kDefaultRpcAddress, "HDLC output");
 
   pw::rpc::Channel channels[] = {
       pw::rpc::Channel::Create<1>(&hdlc_channel_output)};
@@ -178,7 +177,7 @@
     std::array<std::byte, kMaxTransmissionUnit> input_buffer;
 
     PW_LOG_INFO("Starting pw_rpc server");
-    pw::hdlc_lite::ReadAndProcessPackets(
+    pw::hdlc::ReadAndProcessPackets(
         server, hdlc_channel_output, input_buffer);
   }
 
diff --git a/pw_unit_test/BUILD b/pw_unit_test/BUILD
index 8ffaf3e..7d94c19 100644
--- a/pw_unit_test/BUILD
+++ b/pw_unit_test/BUILD
@@ -110,7 +110,7 @@
     deps = [
         ":pw_unit_test",
         ":rpc_service",
-        "//pw_hdlc_lite:pw_rpc",
+        "//pw_hdlc:pw_rpc",
         "//pw_log",
         "//pw_rpc:server",
     ],
diff --git a/pw_unit_test/docs.rst b/pw_unit_test/docs.rst
index ded3202..12f5ca5 100644
--- a/pw_unit_test/docs.rst
+++ b/pw_unit_test/docs.rst
@@ -246,7 +246,7 @@
 
 .. code:: python
 
-  from pw_hdlc_lite.rpc import HdlcRpcClient
+  from pw_hdlc.rpc import HdlcRpcClient
   from pw_unit_test.rpc import run_tests
 
   PROTO = Path(os.environ['PW_ROOT'],
diff --git a/pw_unit_test/rpc_main.cc b/pw_unit_test/rpc_main.cc
index 912deb7..799e8c1 100644
--- a/pw_unit_test/rpc_main.cc
+++ b/pw_unit_test/rpc_main.cc
@@ -12,14 +12,13 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_hdlc_lite/sys_io_stream.h"
 #include "pw_log/log.h"
-#include "pw_unit_test/framework.h"
+#include "pw_rpc_system_server/rpc_server.h"
 #include "pw_unit_test/unit_test_service.h"
 
 namespace {
 
-unit_test::UnitTestService unit_test_service;
+pw::unit_test::UnitTestService unit_test_service;
 
 }  // namespace
 
@@ -32,5 +31,3 @@
 
   return 0;
 }
-
-}  // namespace pw
diff --git a/targets/host/BUILD b/targets/host/BUILD
index 5967231..20fd666 100644
--- a/targets/host/BUILD
+++ b/targets/host/BUILD
@@ -26,7 +26,7 @@
     srcs = ["system_rpc_server.cc"],
     deps = [
         "//pw_rpc/system_server:facade",
-        "//pw_hdlc_lite:pw_rpc",
+        "//pw_hdlc:pw_rpc",
     ],
 )
 
diff --git a/targets/host/BUILD.gn b/targets/host/BUILD.gn
index 4f35eef..65f1f43 100644
--- a/targets/host/BUILD.gn
+++ b/targets/host/BUILD.gn
@@ -29,8 +29,8 @@
 if (current_toolchain != default_toolchain) {
   pw_source_set("system_rpc_server") {
     deps = [
-      "$dir_pw_hdlc_lite:pw_rpc",
-      "$dir_pw_hdlc_lite:rpc_channel_output",
+      "$dir_pw_hdlc:pw_rpc",
+      "$dir_pw_hdlc:rpc_channel_output",
       "$dir_pw_rpc:synchronized_channel_output",
       "$dir_pw_rpc/system_server:facade",
       "$dir_pw_stream:socket_stream",
diff --git a/targets/host/CMakeLists.txt b/targets/host/CMakeLists.txt
index a05e237..dfacc25 100644
--- a/targets/host/CMakeLists.txt
+++ b/targets/host/CMakeLists.txt
@@ -20,7 +20,7 @@
   SOURCES
     system_rpc_server.cc
   PRIVATE_DEPS
-    pw_hdlc_lite
+    pw_hdlc
     pw_rpc.server
     pw_rpc.synchronized_channel_output
     pw_stream.socket_stream
diff --git a/targets/host/system_rpc_server.cc b/targets/host/system_rpc_server.cc
index 203d2a9..2e2c260 100644
--- a/targets/host/system_rpc_server.cc
+++ b/targets/host/system_rpc_server.cc
@@ -15,8 +15,8 @@
 #include <cstddef>
 #include <cstdint>
 
-#include "pw_hdlc_lite/rpc_channel.h"
-#include "pw_hdlc_lite/rpc_packets.h"
+#include "pw_hdlc/rpc_channel.h"
+#include "pw_hdlc/rpc_packets.h"
 #include "pw_log/log.h"
 #include "pw_rpc/synchronized_channel_output.h"
 #include "pw_rpc_system_server/rpc_server.h"
@@ -31,10 +31,10 @@
 stream::SocketStream socket_stream;
 sync::Mutex channel_output_mutex;
 rpc::SynchronizedChannelOutput<
-    hdlc_lite::RpcChannelOutputBuffer<kMaxTransmissionUnit>>
+    hdlc::RpcChannelOutputBuffer<kMaxTransmissionUnit>>
     hdlc_channel_output(channel_output_mutex,
                         socket_stream,
-                        hdlc_lite::kDefaultRpcAddress,
+                        hdlc::kDefaultRpcAddress,
                         "HDLC channel");
 Channel channels[] = {rpc::Channel::Create<1>(&hdlc_channel_output)};
 rpc::Server server(channels);
@@ -43,7 +43,7 @@
 
 void Init() {
   log_basic::SetOutput([](std::string_view log) {
-    hdlc_lite::WriteUIFrame(1, std::as_bytes(std::span(log)), socket_stream);
+    hdlc::WriteUIFrame(1, std::as_bytes(std::span(log)), socket_stream);
   });
 
   socket_stream.Init(kSocketPort);
@@ -54,7 +54,7 @@
 Status Start() {
   // Declare a buffer for decoding incoming HDLC frames.
   std::array<std::byte, kMaxTransmissionUnit> input_buffer;
-  hdlc_lite::Decoder decoder(input_buffer);
+  hdlc::Decoder decoder(input_buffer);
 
   while (true) {
     std::array<std::byte, kMaxTransmissionUnit> data;
@@ -62,8 +62,8 @@
     if (ret_val.ok()) {
       for (std::byte byte : ret_val.value()) {
         if (auto result = decoder.Process(byte); result.ok()) {
-          hdlc_lite::Frame& frame = result.value();
-          if (frame.address() == hdlc_lite::kDefaultRpcAddress) {
+          hdlc::Frame& frame = result.value();
+          if (frame.address() == hdlc::kDefaultRpcAddress) {
             server.ProcessPacket(frame.data(), hdlc_channel_output);
           }
         }
diff --git a/targets/stm32f429i-disc1/BUILD b/targets/stm32f429i-disc1/BUILD
index 3dd27d2..d88113b 100644
--- a/targets/stm32f429i-disc1/BUILD
+++ b/targets/stm32f429i-disc1/BUILD
@@ -40,6 +40,6 @@
     srcs = ["system_rpc_server.cc"],
     deps = [
         "//pw_rpc/system_server:facade",
-        "//pw_hdlc_lite:pw_rpc",
+        "//pw_hdlc:pw_rpc",
     ],
 )
diff --git a/targets/stm32f429i-disc1/BUILD.gn b/targets/stm32f429i-disc1/BUILD.gn
index 2549920..b148981 100644
--- a/targets/stm32f429i-disc1/BUILD.gn
+++ b/targets/stm32f429i-disc1/BUILD.gn
@@ -49,8 +49,8 @@
 
   pw_source_set("system_rpc_server") {
     deps = [
-      "$dir_pw_hdlc_lite:pw_rpc",
-      "$dir_pw_hdlc_lite:rpc_channel_output",
+      "$dir_pw_hdlc:pw_rpc",
+      "$dir_pw_hdlc:rpc_channel_output",
       "$dir_pw_rpc/system_server:facade",
       "$dir_pw_stream:sys_io_stream",
       dir_pw_log,
diff --git a/targets/stm32f429i-disc1/system_rpc_server.cc b/targets/stm32f429i-disc1/system_rpc_server.cc
index 2a66fb8..00b9bf9 100644
--- a/targets/stm32f429i-disc1/system_rpc_server.cc
+++ b/targets/stm32f429i-disc1/system_rpc_server.cc
@@ -14,8 +14,8 @@
 
 #include <cstddef>
 
-#include "pw_hdlc_lite/rpc_channel.h"
-#include "pw_hdlc_lite/rpc_packets.h"
+#include "pw_hdlc/rpc_channel.h"
+#include "pw_hdlc/rpc_packets.h"
 #include "pw_log/log.h"
 #include "pw_rpc_system_server/rpc_server.h"
 #include "pw_stream/sys_io_stream.h"
@@ -30,8 +30,8 @@
 stream::SysIoReader reader;
 
 // Set up the output channel for the pw_rpc server to use.
-hdlc_lite::RpcChannelOutputBuffer<kMaxTransmissionUnit> hdlc_channel_output(
-    writer, pw::hdlc_lite::kDefaultRpcAddress, "HDLC channel");
+hdlc::RpcChannelOutputBuffer<kMaxTransmissionUnit> hdlc_channel_output(
+    writer, pw::hdlc::kDefaultRpcAddress, "HDLC channel");
 Channel channels[] = {pw::rpc::Channel::Create<1>(&hdlc_channel_output)};
 rpc::Server server(channels);
 
@@ -41,7 +41,7 @@
   // Send log messages to HDLC address 1. This prevents logs from interfering
   // with pw_rpc communications.
   pw::log_basic::SetOutput([](std::string_view log) {
-    pw::hdlc_lite::WriteUIFrame(1, std::as_bytes(std::span(log)), writer);
+    pw::hdlc::WriteUIFrame(1, std::as_bytes(std::span(log)), writer);
   });
 }
 
@@ -50,7 +50,7 @@
 Status Start() {
   // Declare a buffer for decoding incoming HDLC frames.
   std::array<std::byte, kMaxTransmissionUnit> input_buffer;
-  hdlc_lite::Decoder decoder(input_buffer);
+  hdlc::Decoder decoder(input_buffer);
 
   while (true) {
     std::byte byte;
@@ -59,8 +59,8 @@
       return ret_val;
     }
     if (auto result = decoder.Process(byte); result.ok()) {
-      hdlc_lite::Frame& frame = result.value();
-      if (frame.address() == hdlc_lite::kDefaultRpcAddress) {
+      hdlc::Frame& frame = result.value();
+      if (frame.address() == hdlc::kDefaultRpcAddress) {
         server.ProcessPacket(frame.data(), hdlc_channel_output);
       }
     }