Pigweed: update to 79525f59ff (#15701)
diff --git a/config/linux/lib/pw_rpc/BUILD.gn b/config/linux/lib/pw_rpc/BUILD.gn
index 6b50e5a..e79af44 100644
--- a/config/linux/lib/pw_rpc/BUILD.gn
+++ b/config/linux/lib/pw_rpc/BUILD.gn
@@ -24,7 +24,6 @@
"$dir_pw_hdlc:encoder",
"$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",
dir_pw_log,
diff --git a/config/mbed/CMakeLists.txt b/config/mbed/CMakeLists.txt
index 35b6151..7b333d2 100644
--- a/config/mbed/CMakeLists.txt
+++ b/config/mbed/CMakeLists.txt
@@ -371,6 +371,7 @@
target_include_directories(${APP_TARGET} PRIVATE
${PIGWEED_ROOT}/pw_sys_io/public
${PIGWEED_ROOT}/pw_assert/public
+ ${PIGWEED_ROOT}/pw_assert/assert_lite_public_overrides
${PIGWEED_ROOT}/pw_assert_log/public
${PIGWEED_ROOT}/pw_assert_log/public_overrides
${PIGWEED_ROOT}/pw_bytes/public
diff --git a/examples/common/pigweed/RpcService.cpp b/examples/common/pigweed/RpcService.cpp
index d6461ec..9616b61 100644
--- a/examples/common/pigweed/RpcService.cpp
+++ b/examples/common/pigweed/RpcService.cpp
@@ -49,33 +49,23 @@
::chip::rpc::Mutex * uart_mutex;
template <size_t buffer_size>
-class ChipRpcChannelOutputBuffer : public pw::rpc::ChannelOutput
+class ChipRpcChannelOutput : public pw::rpc::ChannelOutput
{
public:
- constexpr ChipRpcChannelOutputBuffer(pw::stream::Writer & writer, uint8_t address, const char * channel_name) :
+ constexpr ChipRpcChannelOutput(pw::stream::Writer & writer, uint8_t address, const char * channel_name) :
pw::rpc::ChannelOutput(channel_name), mWriter(writer), mAddress(address)
{}
- std::span<std::byte> AcquireBuffer() override
+ pw::Status Send(std::span<const std::byte> buffer) override
{
+ if (buffer.empty())
+ {
+ return pw::OkStatus();
+ }
if (uart_mutex)
{
uart_mutex->Lock();
}
- return mBuffer;
- }
-
- pw::Status SendAndReleaseBuffer(std::span<const std::byte> buffer) override
- {
- PW_DASSERT(buffer.data() == mBuffer.data());
- if (buffer.empty())
- {
- if (uart_mutex)
- {
- uart_mutex->Unlock();
- }
- return pw::OkStatus();
- }
pw::Status ret = pw::hdlc::WriteUIFrame(mAddress, buffer, mWriter);
if (uart_mutex)
{
@@ -86,12 +76,11 @@
private:
pw::stream::Writer & mWriter;
- std::array<std::byte, buffer_size> mBuffer;
const uint8_t mAddress;
};
// Set up the output channel for the pw_rpc server to use to use.
-ChipRpcChannelOutputBuffer<kMaxTransmissionUnit> hdlc_channel_output(sysIoWriter, pw::hdlc::kDefaultRpcAddress, "HDLC channel");
+ChipRpcChannelOutput<kMaxTransmissionUnit> hdlc_channel_output(sysIoWriter, pw::hdlc::kDefaultRpcAddress, "HDLC channel");
pw::rpc::Channel channels[] = { pw::rpc::Channel::Create<1>(&hdlc_channel_output) };
diff --git a/examples/common/pigweed/system_rpc_server.cc b/examples/common/pigweed/system_rpc_server.cc
index 8a91e2e..6fe87c6 100644
--- a/examples/common/pigweed/system_rpc_server.cc
+++ b/examples/common/pigweed/system_rpc_server.cc
@@ -33,7 +33,7 @@
stream::SysIoReader reader;
// Set up the output channel for the pw_rpc server to use.
-hdlc::RpcChannelOutputBuffer<kMaxTransmissionUnit> hdlc_channel_output(writer, pw::hdlc::kDefaultRpcAddress, "HDLC channel");
+hdlc::RpcChannelOutput hdlc_channel_output(writer, pw::hdlc::kDefaultRpcAddress, "HDLC channel");
Channel channels[] = { pw::rpc::Channel::Create<1>(&hdlc_channel_output) };
rpc::Server server(channels);
diff --git a/examples/lighting-app/linux/BUILD.gn b/examples/lighting-app/linux/BUILD.gn
index 5b1e4cd..601f66f 100644
--- a/examples/lighting-app/linux/BUILD.gn
+++ b/examples/lighting-app/linux/BUILD.gn
@@ -69,7 +69,6 @@
"$dir_pw_hdlc:rpc_channel_output",
"$dir_pw_log",
"$dir_pw_rpc:server",
- "$dir_pw_rpc:synchronized_channel_output",
"$dir_pw_rpc/system_server:facade",
"$dir_pw_stream:socket_stream",
"$dir_pw_stream:sys_io_stream",
diff --git a/scripts/build/builders/nrf.py b/scripts/build/builders/nrf.py
index a83d5fe..ccc916f 100644
--- a/scripts/build/builders/nrf.py
+++ b/scripts/build/builders/nrf.py
@@ -148,7 +148,7 @@
cmd = '''
source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {outdir} -b {board} {sourcedir}{overlayflags}
'''.format(
outdir=shlex.quote(self.output_dir),
diff --git a/scripts/build/testdata/build_all_except_host.txt b/scripts/build/testdata/build_all_except_host.txt
index e22f2c4..cc1ee7b 100644
--- a/scripts/build/testdata/build_all_except_host.txt
+++ b/scripts/build/testdata/build_all_except_host.txt
@@ -629,72 +629,72 @@
# Generating nrf-native-posix-64-tests
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-native-posix-64-tests -b native_posix_64 {root}/src/test_driver/nrfconnect'
# Generating nrf-nrf52840dk-light
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dk-light -b nrf52840dk_nrf52840 {root}/examples/lighting-app/nrfconnect'
# Generating nrf-nrf52840dk-light-rpc
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dk-light-rpc -b nrf52840dk_nrf52840 {root}/examples/lighting-app/nrfconnect -- -DOVERLAY_CONFIG=rpc.overlay'
# Generating nrf-nrf52840dk-lock
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dk-lock -b nrf52840dk_nrf52840 {root}/examples/lock-app/nrfconnect'
# Generating nrf-nrf52840dk-pump
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dk-pump -b nrf52840dk_nrf52840 {root}/examples/pump-app/nrfconnect'
# Generating nrf-nrf52840dk-pump-controller
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dk-pump-controller -b nrf52840dk_nrf52840 {root}/examples/pump-controller-app/nrfconnect'
# Generating nrf-nrf52840dk-shell
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dk-shell -b nrf52840dk_nrf52840 {root}/examples/shell/nrfconnect'
# Generating nrf-nrf52840dongle-light
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf52840dongle-light -b nrf52840dongle_nrf52840 {root}/examples/lighting-app/nrfconnect'
# Generating nrf-nrf5340dk-light
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf5340dk-light -b nrf5340dk_nrf5340_cpuapp {root}/examples/lighting-app/nrfconnect'
# Generating nrf-nrf5340dk-light-rpc
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf5340dk-light-rpc -b nrf5340dk_nrf5340_cpuapp {root}/examples/lighting-app/nrfconnect -- -DOVERLAY_CONFIG=rpc.overlay'
# Generating nrf-nrf5340dk-lock
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf5340dk-lock -b nrf5340dk_nrf5340_cpuapp {root}/examples/lock-app/nrfconnect'
# Generating nrf-nrf5340dk-pump
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf5340dk-pump -b nrf5340dk_nrf5340_cpuapp {root}/examples/pump-app/nrfconnect'
# Generating nrf-nrf5340dk-pump-controller
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf5340dk-pump-controller -b nrf5340dk_nrf5340_cpuapp {root}/examples/pump-controller-app/nrfconnect'
# Generating nrf-nrf5340dk-shell
bash -c 'source "$ZEPHYR_BASE/zephyr-env.sh";
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR";
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR";
west build --cmake-only -d {out}/nrf-nrf5340dk-shell -b nrf5340dk_nrf5340_cpuapp {root}/examples/shell/nrfconnect'
# Generating qpg-qpg6100-lock
diff --git a/scripts/constraints.txt b/scripts/constraints.txt
index 53269d1..11ad63f 100644
--- a/scripts/constraints.txt
+++ b/scripts/constraints.txt
@@ -174,7 +174,7 @@
# via
# mbed-ls
# mbed-os-tools
-prompt-toolkit==3.0.21
+prompt-toolkit==3.0.26
# via ipython
protobuf==3.17.3
# via -r requirements.txt
diff --git a/scripts/environment.json b/scripts/environment.json
index 21c7f4f..4662e6d 100644
--- a/scripts/environment.json
+++ b/scripts/environment.json
@@ -1,5 +1,6 @@
{
"cipd_package_files": [
+ "third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/cipd_setup/arm.json",
"third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json",
"scripts/python.json"
],
diff --git a/scripts/examples/nrfconnect_example.sh b/scripts/examples/nrfconnect_example.sh
index 2f46128..f49aa5f 100755
--- a/scripts/examples/nrfconnect_example.sh
+++ b/scripts/examples/nrfconnect_example.sh
@@ -40,7 +40,7 @@
[[ -n $ZEPHYR_BASE ]] && source "$ZEPHYR_BASE/zephyr-env.sh"
# Use toolchain from Pigweed CIPD
-export GNUARMEMB_TOOLCHAIN_PATH="$PW_PIGWEED_CIPD_INSTALL_DIR"
+export GNUARMEMB_TOOLCHAIN_PATH="$PW_ARM_CIPD_INSTALL_DIR"
# Set ccache base directory to improve the cache hit ratio
export CCACHE_BASEDIR="$PWD/$APP/nrfconnect"
diff --git a/scripts/python.json b/scripts/python.json
index d4fb039..82af0f9 100644
--- a/scripts/python.json
+++ b/scripts/python.json
@@ -1,12 +1,14 @@
-[
- {
- "path": "infra/3pp/tools/cpython3/${platform}",
- "platforms": ["mac-amd64", "windows-amd64"],
- "tags": ["version:3.8.2.chromium.10"]
- },
- {
- "path": "fuchsia/third_party/cmake/${platform}",
- "platforms": ["mac-amd64", "linux-amd64"],
- "tags": ["version:3.20.20210428-g857373c"]
- }
-]
+{
+ "packages": [
+ {
+ "path": "infra/3pp/tools/cpython3/${platform}",
+ "platforms": ["mac-amd64", "windows-amd64"],
+ "tags": ["version:3.8.2.chromium.10"]
+ },
+ {
+ "path": "fuchsia/third_party/cmake/${platform}",
+ "platforms": ["mac-amd64", "linux-amd64"],
+ "tags": ["version:3.20.20210428-g857373c"]
+ }
+ ]
+}
diff --git a/src/pybindings/pycontroller/BUILD.gn b/src/pybindings/pycontroller/BUILD.gn
index 5416278..d5f36f1 100644
--- a/src/pybindings/pycontroller/BUILD.gn
+++ b/src/pybindings/pycontroller/BUILD.gn
@@ -46,7 +46,7 @@
include_dirs = [ "${chip_root}/third_party/pybind11/repo/include" ]
if (current_os == "mac") {
include_dirs +=
- [ "${chip_root}/.environment/cipd/python/include/python3.8" ]
+ [ "${chip_root}/.environment/cipd/packages/python/include/python3.8" ]
} else if (current_os == "linux") {
include_dirs += [ "/usr/include/python3.9" ]
} else {
diff --git a/third_party/pigweed/repo b/third_party/pigweed/repo
index f30bce8..79525f5 160000
--- a/third_party/pigweed/repo
+++ b/third_party/pigweed/repo
@@ -1 +1 @@
-Subproject commit f30bce8bf2513e924f461da6f2e7d1f2620a89f3
+Subproject commit 79525f59ff502d80346c9cc8e70570786c5fc903