roll: third_party/pigweed roll: zephyr cf6170c doc: build: dts: api: document the zephyr,camera chosen node c00015d samples: drivers: video: tcpserversink: add _dev suffix to variable be5df19 samples: drivers: video: tcpserversink: sort header alphabetically 1b3f96c samples: drivers: video: convert to new LOG_MODULE_REGISTER() syntax a3465f8 drivers: video: sw_generator: convert to use the devicetree cc66467 samples: drivers: video: fix board definitions 5fa26d9 video: gc2145: use VGA resolution as default 79e218a video: gc2145: add CSI mode of the GC2145 sensor 979d8ff video: gc2145: avoid default DVP enabling eeab052 video: st_mipid02: addition of ST MIPID02 CSI bridge b0432a8 video: add LINK_FREQ ctrl and a helper to retrieve it b5d8aee video: common: addition of INTEGER_MENU control type a459f1d video: addition of CSI2 standard data-type defines 450345a ci: move weekly build back to sunday night 8c7417a drivers: i3c: fix adv_info_get ret code 8286b0e doc: coding guidelines: clarify severity ff3d5f8 drivers: pwm: pwm_nrf_sw: use shutdown task if available 240b560 drivers: ssp: unify clock selection flow across ACE platforms af1ba95 drivers: i3c: cdns: add busy status bb797ab cmake: Fix compilation options for kobject_hash*.c e87e054 drivers: spi_bitbang: Increase supported word size to 32 bits c8c0c29 arch: arm: cortex_a_r: use correct name for TLB Conflict Abort 5ab74ff doc: arm: cortex_m: Update PACBTI support c6d1932 doc: arm: cortex_m: Update feature table 35b5fb3 arch: arm: cortex_m: Add support for PACBTI flags e7dd7ab drivers: i2c: Add support for clock stretching in the i2c-gpio module. d3a7b7d drivers: i3c: cdns: fix ibi length with no payload a673871 drivers: sensor: Remove broken reset from apds9306 driver 62ea066 scripts: west_commands: simulate: Fix linter issues b9fb5d7 scripts: west_commands: robot: Fix linter issues 359a0c2 scripts: west_commands: flash: Fix linter issues 5321c14 scripts: west_commands: debug: Fix linter issues d9d4daa scripts: west_commands: build_helpers: Fix linter issues 166fd3e scripts: west_commands: build: Fix linter issues 2dc9c2b samples: subsys: nvs: add testcase for MCXN947 internal flash bb7f776 boards: nxp: frdm_mcxn947 and mcx_n9xx_evk: enable clock for FMU 1fd24fb soc: nxp: mcx: MCXNx4x: update SOC to use flash_k4 driver 6681f8d soc: nxp: s32k3: configure missing mpu regions 63ebf4d Revert "arch: arm: mpu: fix erratum 1013783-B" db726c4 sw_isr_table: Add spaces to fix compiler warning ae114f1 tests: modem_ubx: Fix clang failure by removing static keyword 923fedb arch/x86/core: Use CONFIG_QEMU_TARGET for QEMU specific code d54c308 docs: fix typo in vendor-prefixes for Digilent Inc. dbb3243 samples: sensor: accel_trig: add fixture for shield-tap 66d90e7 soc: nxp_kinetis: Mark __kinetis_flash_config with __used attribute 481711e tests: spi_loopback: Fix fail handle of thread test c10c13b tests: spi_loopback: Handle overflow of print latency eb5014f soc: imxrt: add mimxrt1052/1062 flashing configuration df65918 drivers: spi: spi_context.h: remove multithreading dependency 7af5523 driver: sensor: aosong,dht: fix sensor protocol broken since change #83192 1fb86e1 doc: release: update/consolidate LTS information 36e0b3d modules: optional: rust: Update to latest development c6a41a4 tests: boot: Update imgtool path in west_sign_wrapper f5d1803 tests: drivers: build_all: stepper: add uart configuration for tmc51xx 358907b drivers: stepper: adi_tmc: tmc51xx uart support a66d064 drivers: stepper: adi_tmc: extend rampstat mask range b914537 drivers: stepper: adi_tmc: extend to support uart 6cc860d drivers: stepper: adi_tmc: bus: abstraction layer for bus bceeb76 dts: bindings: stepper: adi: tmc51xx uart support 94a7f02 ubx: Refactor codebase in order to improve usability f1df212 soc: rw: Enable flexcomm wakeup/sleep clocking e5a35e6 drivers: uart_mcux_flexcomm: Enable as wakeup src 4598c18 soc: rw: Switch main clock on PM2 to LPOSC 6bd6e50 pm: Add API to check if a state disables a device 65ebecb pm: refactor policy_device_ get/put 481a2fa uart_mcux_flexcomm: Fix TX garbage char bug in PM a550c74 doc: document `WIFI_USAGE_MODE` 3aa61a9 tests: wifi: nrf_wifi: reduce config overrides 3d7979e drivers: wifi: nxp: auto `NXP_WIFI_SOFTAP_SUPPORT` 53cf5ff drivers: wifi: esp32: auto `ESP32_WIFI_AP_STA_MODE` 90a2d0e drivers: wifi: nrf_wifi: operation mode from application request 7dbd36a drivers: wifi: options for application usage of Wi-Fi 5cffb8e modules: lvgl: Register print callback after lv_init 3d24070 kernel: work: add k_work_queue_run() 2c69e7c dts: vendor: nordic: Fix wrong GPREGRET addresses e04f679 openthread: Add Kconfigs for packet TX time and carrier functions 0336721 led: fix up the ENOSYS condition to pass coverity af43487 tests: boards: nrf: i2s: i2s_divider: Confirm CLK divider value b991632 tests: drivers: i2s: i2s_speed: Fix typo in Kconfig file 801107e drivers: firmware: add IRONside boot report 588c2e6 soc: esp32c6: Fix sleep routine 5712c96 west.yml: hal_espressif: Fix ESP32-C6 sleep routine 8951711 drivers: uhc: udc: use DYNAMIC_INTERRUPTS for KHCI and EHCI e98cfa4 boards: nxp: add uhc support for mimxrt1050_evk a8796ca boards: nxp: add uhc support for frdm_k22f, rt1060, lpc55s69 and lpc55s28 abfa945 drivers: uhc: implement nxp mcux uhc driver 7bbb834 Revert "posix: rwlock: Refactor locking using k_timepoint_t" 0a6e579 Revert "posix: net: move static inline gethostname() to lib definition" a649b31 Revert "posix: device_io: mark pwrite() buf as const" da48a04 Revert "posix: sysconf: match _SC* defines with newlib/picolib" a098f5c Revert "posix: move PTHREAD_STACK_MIN to posix_features" d410b2c samples: counter: alarm: undef redefined TIMER for ambiq d5931ba net: lib: coap: Return an error on removing a non-existing observer 39ae9c3 samples: drivers: counter: alarm: support nrf54h and nrf54l c0c1b0a drivers: flash: Align NXP flash drivers on parameter checking 298f6d8 drivers: flash: Add documentation on read API 73faf5c doc: doxygen: Add openthread module header to INPUT 47f39a1 net: openthread: Remove OpenThread module API from net header 201d928 openthread: Add header for OpenThread module 463f518 drivers: Update dtc transfer info alignment Roll-Count: 1 GitWatcher: ignore Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/295405 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Original-Revision: c40a7a1128aeddfabc61e129f3d47ef225dbe8de Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: a1e8863cfc6d7a..c40a7a1128aedd Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8713189051762658849 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I469171e0d024c409089a24edb8bcea7a6eebac6c Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/examples/+/295572 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
This repository outlines the recommended way of using Pigweed in a new or existing project. Feel free to fork this repository, or read it as a reference.
For more information see the Pigweed Getting started guide.
Check back for more complex examples and features coming soon!
Make sure you've set up Pigweed's prerequisites.
If you're on Windows, you can automate the initial setup by downloading the first-time setup script from cmd.exe:
curl https://pigweed.googlesource.com/pigweed/sample_project/+/main/tools/setup_windows_prerequisites.bat?format=TEXT > setup_pigweed_prerequisites.b64 && certutil -decode -f setup_pigweed_prerequisites.b64 setup_pigweed_prerequisites.bat && del setup_pigweed_prerequisites.b64
Then you can run the script with the following command in cmd.exe:
setup_pigweed_prerequisites.bat
Note: You may see a few UAC prompts as the script installs Git, Python, and enables developer mode.
Once that is done, you can clone this project with the following command:
git clone https://pigweed.googlesource.com/pigweed/sample_project
Pigweed uses a local development environment for most of its tools. This means tools are not installed to your machine, and are instead stored in a directory inside your project (Note: git ignores this directory). The tools are temporarily added to the PATH of the current shell session.
To make sure the latest tooling has been fetched and set up, run the bootstrap command for your operating system:
Windows
bootstrap.bat
Linux & Mac
source ./bootstrap.sh
After tooling updates, you might need to run bootstrap again to ensure the latest tools.
After the initial bootstrap, you can use use the activate scripts to configure the current shell for development without doing a full update.
Windows
activate.bat
Linux & Mac
source ./activate.sh
All of these commands must be run from inside an activated developer environment. See Environment setup
To build the project, documentation, and tests, run the following command in an activated environment:
pw build
Alternatively, if you'd like an automatic rebuild to trigger whenever you save changes to files, use pw watch:
pw watch
When you pull latest repository changes, run bootstrap:
source ./bootstrap.sh
If you're just launching a new shell session, you can activate instead:
source ./activate.sh
and rebuild with:
pw build
Extended documentation and examples are built along code changes. You can view them at out/gn/docs/gen/docs/html/index.html.