diff --git a/Gemfile b/Gemfile index 2b5e87b73a..5a5ccbb7f0 100644 --- a/Gemfile +++ b/Gemfile @@ -35,7 +35,7 @@ end # Performance-booster for watching directories on Windows gem "wdm", "~> 0.2.0", :install_if => Gem.win_platform? -gem "nokogiri", "~> 1.16" +gem "nokogiri", "~> 1.17" # So we can add custom element templates gem 'slim', '~> 5.2.1' diff --git a/Gemfile.lock b/Gemfile.lock index bff9fa60a0..6b325d2120 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -62,7 +62,7 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - nokogiri (1.16.8) + nokogiri (1.17.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) pathutil (0.16.2) @@ -105,7 +105,7 @@ DEPENDENCIES jekyll-asciidoc jekyll-feed (~> 0.17) minima (~> 2.5) - nokogiri (~> 1.16) + nokogiri (~> 1.17) slim (~> 5.2.1) thread_safe (~> 0.3.5) tzinfo (~> 2.0) diff --git a/Makefile b/Makefile index e3a8c396e7..711219f453 100644 --- a/Makefile +++ b/Makefile @@ -118,7 +118,7 @@ html: run_ninja # Build the html output files and additionally run a small webserver for local previews serve_html: run_ninja - $(JEKYLL_CMD) serve + $(JEKYLL_CMD) serve --watch # Delete all the files created by the 'html' target clean_html: diff --git a/_config.yml b/_config.yml index 66a8c67ba3..4d740515b5 100644 --- a/_config.yml +++ b/_config.yml @@ -17,8 +17,9 @@ title: Raspberry Pi Documentation description: >- # this means to ignore newlines until "baseurl:" Raspberry Pi Documentation. baseurl: "/documentation" # the subpath of your site, e.g. /blog -url: "" # the base hostname & protocol for your site, e.g. http://example.com +url: "https://www.raspberrypi.com/documentation" # the base hostname & protocol for your site, e.g. http://example.com githuburl: "https://github.com/raspberrypi/documentation/" +mainsite: https://raspberrypi.com/ githubbranch: master githubbranch_edit: develop diff --git a/documentation/asciidoc/accessories/ai-hat-plus/about.adoc b/documentation/asciidoc/accessories/ai-hat-plus/about.adoc index be22d08694..98f1923bf5 100644 --- a/documentation/asciidoc/accessories/ai-hat-plus/about.adoc +++ b/documentation/asciidoc/accessories/ai-hat-plus/about.adoc @@ -72,4 +72,4 @@ image::images/ai-hat-plus-installation-02.png[width="60%"] == Get started with AI on your Raspberry Pi -To start running AI accelerated applications on your Raspberry Pi, check out our xref:../computers/ai.adoc[Getting Started with AI] guide. +To start running AI accelerated applications on your Raspberry Pi, check out our xref:../computers/ai.adoc[Getting Started with the AI Kit and AI HAT+] guide. diff --git a/documentation/asciidoc/accessories/ai-kit/about.adoc b/documentation/asciidoc/accessories/ai-kit/about.adoc index 10b11f42af..bc93a483f5 100644 --- a/documentation/asciidoc/accessories/ai-kit/about.adoc +++ b/documentation/asciidoc/accessories/ai-kit/about.adoc @@ -90,4 +90,4 @@ WARNING: Always disconnect your Raspberry Pi from power before connecting or dis == Get started with AI on your Raspberry Pi -To start running AI accelerated applications on your Raspberry Pi, check out our xref:../computers/ai.adoc[Getting Started with AI] guide. +To start running AI accelerated applications on your Raspberry Pi, check out our xref:../computers/ai.adoc[Getting Started with the AI Kit and AI HAT+] guide. diff --git a/documentation/asciidoc/accessories/sense-hat/software.adoc b/documentation/asciidoc/accessories/sense-hat/software.adoc index f4e7791c86..33261939a2 100644 --- a/documentation/asciidoc/accessories/sense-hat/software.adoc +++ b/documentation/asciidoc/accessories/sense-hat/software.adoc @@ -104,7 +104,7 @@ After installation, example code can be found under `/usr/src/sense-hat/examples Complete documentation for the library can be found at https://sense-hat.readthedocs.io/en/latest/[sense-hat.readthedocs.io]. -=== Use the Sense HAT with {cpp} +=== Use the Sense HAT with C++ https://github.com/RPi-Distro/RTIMULib[RTIMULib] is a {cpp} and Python library that makes it easy to use 9-dof and 10-dof IMUs with embedded Linux systems. A pre-calibrated settings file is provided in `/etc/RTIMULib.ini`, which is also copied and used by `sense-hat`. The included examples look for `RTIMULib.ini` in the current working directory, so you may wish to copy the file there to get more accurate data. diff --git a/documentation/asciidoc/computers/ai/getting-started.adoc b/documentation/asciidoc/computers/ai/getting-started.adoc index c3767bf77c..30da7715f2 100644 --- a/documentation/asciidoc/computers/ai/getting-started.adoc +++ b/documentation/asciidoc/computers/ai/getting-started.adoc @@ -60,6 +60,8 @@ Serial Number: HLDDLBB234500054 Part Number: HM21LB1C2LAE Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP ---- + +NOTE: AI HAT+ devices may show `` for `Serial Number`, `Part Number` and `Product Name`. This is expected, and does not impact functionality. + Additionally, you can run `dmesg | grep -i hailo` to check the kernel logs, which should yield output similar to the following: + @@ -96,24 +98,20 @@ The `rpicam-apps` suite of camera applications implements a xref:camera_software The following demos use xref:camera_software.adoc#rpicam-hello[`rpicam-hello`], which by default displays a preview window. However, you can use other `rpicam-apps` instead, including xref:camera_software.adoc#rpicam-vid[`rpicam-vid`] and xref:camera_software.adoc#rpicam-still[`rpicam-still`]. You may need to add or modify some command line options to make the demo commands compatible with alternative applications. -To begin, download the post-processing JSON files required for the demos. These files determine which post-processing stages to run and configure the behaviour of each stage. For example, you can enable, disable, strengthen, or weaken the strength of the temporal filtering in the object detection demos. Or you could enable or disable the output mask drawing in the segmentation demo. - -To download the entire collection of post-processing JSON files, clone the `rpicam-apps` repo. Run the following command to clone only the most recent commit from the repo, saving space: +To begin, run the following command to install the latest `rpicam-apps` software package: [source,console] ---- -$ git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps +$ sudo apt update && sudo apt install rpicam-apps ---- -TIP: The commands provided in subsequent sections use the JSON files in this repository. To make it easy to reference these files, this command creates the cloned `rpicam-apps` directory in your home folder. If you modify the location of this directory, you must also alter the demo commands below to reference the new location of the JSON files. - ==== Object Detection This demo displays bounding boxes around objects detected by a neural network. To disable the viewfinder, use the xref:camera_software.adoc#nopreview[`-n`] flag. To return purely textual output describing the objects detected, add the `-v 2` option. Run the following command to try the demo on your Raspberry Pi: [source,console] ---- -$ rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov6_inference.json --lores-width 640 --lores-height 640 +$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov6_inference.json ---- Alternatively, you can try another model with different trade-offs in performance and efficiency. @@ -122,21 +120,21 @@ To run the demo with the Yolov8 model, run the following command: [source,console] ---- -$ rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640 +$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_inference.json ---- To run the demo with the YoloX model, run the following command: [source,console] ---- -$ rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolox_inference.json --lores-width 640 --lores-height 640 +$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolox_inference.json ---- To run the demo with the Yolov5 Person and Face model, run the following command: [source,console] ---- -$ rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_personface.json --lores-width 640 --lores-height 640 +$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov5_personface.json ---- ==== Image Segmentation @@ -145,7 +143,7 @@ This demo performs object detection and segments the object by drawing a colour [source,console] ---- -$ rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_segmentation.json --lores-width 640 --lores-height 640 --framerate 20 +$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov5_segmentation.json --framerate 20 ---- ==== Pose Estimation @@ -154,8 +152,51 @@ This demo performs 17-point human pose estimation, drawing lines connecting the [source,console] ---- -$ rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_pose.json --lores-width 640 --lores-height 640 +$ rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_pose.json +---- + +=== Alternative Package Versions + +The AI Kit and AI HAT+ do not function if there is a version mismatch between the Hailo software packages and device drivers. In addition, Hailo's neural network tooling may require a particular version for generated model files. If you require a specific version, complete the following steps to install the proper versions of all of the dependencies: + +. If you have previously used `apt-mark` to hold any of the relevant packages, you may need to unhold them: ++ +[source,console] +---- +$ sudo apt-mark unhold hailo-tappas-core hailort hailo-dkms +---- + +. Install the required version of the software packages: ++ +[tabs%sync] +====== +v4.18:: +To install version 4.18 of Hailo's neural network tooling: ++ ++ +[source,console] +---- +$ sudo apt install hailo-tappas-core=3.29.1 hailort=4.18.0 hailo-dkms=4.18.0-2 +---- ++ +[source,console] +---- +$ sudo apt-mark hold hailo-tappas-core hailort hailo-dkms +---- + +v4.17:: +To install version 4.17 of Hailo's neural network tooling: ++ +[source,console] +---- +$ sudo apt install hailo-tappas-core-3.28.2 hailort=4.17.0 hailo-dkms=4.17.0-1 +---- ++ +[source,console] +---- +$ sudo apt-mark hold hailo-tappas-core hailort hailo-dkms ---- +====== === Further Resources diff --git a/documentation/asciidoc/computers/getting-started/setting-up.adoc b/documentation/asciidoc/computers/getting-started/setting-up.adoc index 60bf49c205..a1516a9918 100644 --- a/documentation/asciidoc/computers/getting-started/setting-up.adoc +++ b/documentation/asciidoc/computers/getting-started/setting-up.adoc @@ -141,12 +141,10 @@ All variants of the Raspberry Pi 1, 2, 3, and 4 include a 3.5mm auxiliary http:/ The following Raspberry Pi models come with Wi-Fi and Bluetooth connectivity: -* Raspberry Pi 5 -* Raspberry Pi 4 -* Raspberry Pi 3B+ -* Raspberry Pi 3 -* Raspberry Pi Zero W -* Rsapberry Pi Zero 2 W +* Flagship models since Raspberry Pi 3 Model B +* All Zero W models +* All Pico W models +* Compute Modules configured with wireless (available since CM4) The "Model B" suffix indicates variants with an Ethernet port; "Model A" indicates no Ethernet port. If your Raspberry Pi doesn't have an Ethernet port, you can still connect to a wired internet connection using a USB-to-Ethernet adapter. diff --git a/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc b/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc index 31266b4c58..0e27031dc7 100644 --- a/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc @@ -68,20 +68,22 @@ The `latest` bootloader updates more often to include the latest fixes and impro Advanced users can switch to the `latest` bootloader to get the latest functionality. -Run the following command to start `raspi-config`. +First, ensure that your Raspberry Pi runs the latest software. Run the following command to update: [source,console] ---- -$ sudo raspi-config +$ sudo apt update && sudo apt full-upgrade ---- -Navigate to `Advanced Options` and then `Bootloader Version`. Select `Latest` and choose `Yes` to confirm. Select `Finish` and confirm you want to reboot. After the reboot, open a command prompt again and update your system: +Next, run the following command to open `raspi-config`: [source,console] ---- -$ sudo apt update +$ sudo raspi-config ---- +Navigate to `Advanced Options` > `Bootloader Version`. Select `Latest`, then choose `Yes` to confirm. Select `Finish` and confirm that you want to reboot. + If you run `sudo rpi-eeprom-update`, you should see that a more recent version of the bootloader is available and it's the `latest` release. ---- @@ -275,7 +277,7 @@ For more information, see xref:raspberry-pi.adoc#eeprom-boot-flow[EEPROM bootflo | Bootloader EEPROM image | `pieeprom.bin` -| Bootloader EEPROM image - same as pieeprom.upd but changes recovery.bin behaviour +| Bootloader EEPROM image - same as `pieeprom.upd` but changes `recovery.bin` behaviour to not rename itself to `RECOVERY.000`. | `pieeprom.sig` | The sha256 checksum of bootloader image (pieeprom.upd/pieeprom.bin) diff --git a/documentation/asciidoc/computers/raspberry-pi/boot-nvme.adoc b/documentation/asciidoc/computers/raspberry-pi/boot-nvme.adoc index 22951fd1b2..5660e75653 100644 --- a/documentation/asciidoc/computers/raspberry-pi/boot-nvme.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/boot-nvme.adoc @@ -1,6 +1,6 @@ == NVMe SSD boot -NVMe (Non-Volatile Memory express) is a standard for external storage access over a PCIe bus. You can connect NVMe drives via the PCIe slot on a Compute Module 4 (CM4) IO board or Raspberry Pi 5. With some additional configuration, you can boot from an NVMe drive. +NVMe (Non-Volatile Memory express) is a standard for external storage access over a PCIe bus. You can connect NVMe drives via the PCIe slot on a IO Boards since Compute Module 4 and or Raspberry Pi 5 using an M.2 HAT+. With some additional configuration, you can boot from an NVMe drive. === Prerequisites @@ -20,26 +20,14 @@ brw-rw---- 1 root disk 259, 0 Mar 9 14:58 /dev/nvme0n1 ==== Software -Run the following command to see what firmware you're running: +First, ensure that your Raspberry Pi runs the latest software. Run the following command to update: [source,console] ---- -$ sudo rpi-eeprom-update +$ sudo apt update && sudo apt full-upgrade ---- -For Raspberry Pi 5, you need firmware released December 6, 2023 or later. - -For CM4, NVMe boot support was introduced in July 2021. You need a version of the following software released since that date: - -* the bootloader -* VideoCore firmware -* the Raspberry Pi OS Linux kernel - -The latest Raspberry Pi OS release has everything you need. Use xref:getting-started.adoc#raspberry-pi-imager[Raspberry Pi Imager] to install a Raspberry Pi OS image onto your drive. - -=== Edit EEPROM boot order - -For Raspberry Pi 5, you need to boot Raspberry Pi OS to edit the boot order. You can boot your Raspberry Pi from an SD card or USB drive for this step. The EEPROM configuration persists even when you change the boot device, since the EEPROM configuration is stored on the board itself. +=== Edit the bootloader boot priority Use the Raspberry Pi Configuration CLI to update the bootloader: @@ -48,16 +36,14 @@ Use the Raspberry Pi Configuration CLI to update the bootloader: $ sudo raspi-config ---- -Under `Advanced Options` > `Bootloader Version`, choose `Latest`. Then, exit `raspi-config` with `Finish` or the *Escape* key. - -Run the following command to update your firmware to the latest version: +Under `Advanced Options` > `Bootloader Order`, specify that the bootloader should attempt to boot from `NVMe` first: [source,console] ---- $ sudo rpi-eeprom-update -a ---- -Then, reboot with `sudo reboot`. Your Raspberry Pi 5 should boot from NVMe. +Then, reboot with `sudo reboot`. Your Raspberry Pi should boot from NVMe. For CM4, use `rpiboot` to update the bootloader. You can find instructions for building `rpiboot` and configuring the IO board to switch the ROM to usbboot mode in the https://github.com/raspberrypi/usbboot[USB boot GitHub repository]. diff --git a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc index ff8f11ea66..3642c520cf 100644 --- a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc @@ -14,7 +14,7 @@ Additionally, Raspberry Pi makes the *Pico* series of tiny, versatile https://en *Model B* indicates the presence of an Ethernet port. *Model A* indicates a lower-cost model in a smaller form factor with no Ethernet port, reduced RAM, and fewer USB ports to limit board height. -[cols="7a,1,2,3,5"] +[cols="6a,2,2,3,5"] |=== | Model | SoC | Memory | GPIO | Connectivity diff --git a/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc b/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc index f871915ff6..247929c4da 100644 --- a/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc @@ -342,6 +342,18 @@ NOQuuuWuFMMMCCCCPPPPTTTTTTTTRRRR | | 17: 5 +| +| +| 18: CM5 + +| +| +| 19: 500 + +| +| +| 1a: CM5 Lite + | RRRR (bits 0-3) | Revision | 0, 1, 2, etc. @@ -628,6 +640,48 @@ NOTE: This list is not exhaustive - there may be codes in use that are not in th | 8GB | Sony UK +| b04180 +| CM5 +| 1.0 +| 2GB +| Sony UK + +| c04180 +| CM5 +| 1.0 +| 4GB +| Sony UK + +| d04180 +| CM5 +| 1.0 +| 8GB +| Sony UK + +| d04190 +| 500 +| 1.0 +| 8GB +| Sony UK + +| b041a0 +| CM5 Lite +| 1.0 +| 2GB +| Sony UK + +| c041a0 +| CM5 Lite +| 1.0 +| 4GB +| Sony UK + +| d041a0 +| CM5 Lite +| 1.0 +| 8GB +| Sony UK + |=== === Using revision codes for board identification diff --git a/documentation/asciidoc/microcontrollers/c_sdk/official_sdk.adoc b/documentation/asciidoc/microcontrollers/c_sdk/official_sdk.adoc index 7a4a0d73d2..691c6511a4 100644 --- a/documentation/asciidoc/microcontrollers/c_sdk/official_sdk.adoc +++ b/documentation/asciidoc/microcontrollers/c_sdk/official_sdk.adoc @@ -1,4 +1,4 @@ -== Raspberry Pi Pico C/{cpp} SDK +== Raspberry Pi Pico C/C++ SDK Our official C SDK can be used from the command line, or from popular integrated development environments like Visual Studio Code, Eclipse, and CLion. To get started, download our C/{cpp} SDK and Examples, and take a look at our 'https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf[getting started]' documentation. Or for a quick setup see the next section. diff --git a/documentation/index.json b/documentation/index.json index 4b4e1833c9..d0000060fe 100644 --- a/documentation/index.json +++ b/documentation/index.json @@ -54,7 +54,7 @@ "subpath": "camera_software.adoc" }, { - "title": "AI software", + "title": "AI Kit and AI HAT+ software", "description": "Software and libraries for artificial intelligence on a Raspberry Pi hardware", "image": "full-sized/ai.png", "subpath": "ai.adoc" diff --git a/jekyll-assets/_includes/contribute.html b/jekyll-assets/_includes/contribute.html deleted file mode 100644 index fc0aea05e6..0000000000 --- a/jekyll-assets/_includes/contribute.html +++ /dev/null @@ -1,5 +0,0 @@ -
-
- -
-
diff --git a/jekyll-assets/_includes/copyright.html b/jekyll-assets/_includes/copyright.html deleted file mode 100644 index 9b00e43e68..0000000000 --- a/jekyll-assets/_includes/copyright.html +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jekyll-assets/_includes/footer.html b/jekyll-assets/_includes/footer.html index 9fd1d53c13..efe0c21972 100644 --- a/jekyll-assets/_includes/footer.html +++ b/jekyll-assets/_includes/footer.html @@ -1,4 +1,5 @@
@@ -356,7 +368,7 @@ We use some essential cookies to make our website work.

- We use optional cookies, as detailed in our cookie policy, to remember your settings and understand how you use our website.

@@ -375,8 +387,8 @@
- - + +