Skip to content

Commit

Permalink
Merge pull request #3954 from raspberrypi/develop
Browse files Browse the repository at this point in the history
Roll out latest changes to production
  • Loading branch information
nathan-contino authored Dec 9, 2024
2 parents a1760aa + 96264f7 commit 49fd70c
Show file tree
Hide file tree
Showing 77 changed files with 441 additions and 205 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Log current branches and repositories
env:
REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
run: |
echo "Current ref: $GITHUB_REF"
echo "Base ref: $GITHUB_BASE_REF"
echo "Head ref: $GITHUB_HEAD_REF"
echo "Repository: $GITHUB_REPOSITORY"
echo "Head repository: ${{ github.event.pull_request.head.repo.full_name }}"
echo "Head repository: $REPO_FULL_NAME"
- name: Only allow pull requests based on master from the develop branch of the current repository
if: ${{ github.base_ref == 'master' && !(github.head_ref == 'develop' && github.event.pull_request.head.repo.full_name == github.repository) }}
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ NOTE: A full list of supported devices can be found in the xref:build-hat.adoc#d

It provides four connectors for LEGO® Technic™ motors and sensors from the SPIKE™ Portfolio. The available sensors include a distance sensor, a colour sensor, and a versatile force sensor. The angular motors come in a range of sizes and include integrated encoders that can be queried to find their position.

The Build HAT fits all Raspberry Pi computers with a 40-pin GPIO header, including, with the addition of a ribbon cable or other extension device, Raspberry Pi 400. Connected LEGO® Technic™ devices can easily be controlled in Python, alongside standard Raspberry Pi accessories such as a camera module.
The Build HAT fits all Raspberry Pi computers with a 40-pin GPIO header, including, with the addition of a ribbon cable or other extension device, Keyboard-series devices. Connected LEGO® Technic™ devices can easily be controlled in Python, alongside standard Raspberry Pi accessories such as a camera module.

The Raspberry Pi Build HAT power supply (PSU), which is https://raspberrypi.com/products/build-hat-power-supply[available separately], is designed to power both the Build HAT and Raspberry Pi computer along with all connected LEGO® Technic™ devices.

image::images/psu.jpg[width="80%"]

The LEGO® Education SPIKE™ Prime Set 45678 and SPIKE™ Prime Expansion Set 45681, available separately from LEGO® Education resellers, include a collection of useful elements supported by the Build HAT.

NOTE: The HAT works with all 40-pin GPIO Raspberry Pi boards, including Raspberry Pi 4 and Raspberry Pi Zero. With the addition of a ribbon cable or other extension device, it can also be used with Raspberry Pi 400.
NOTE: The HAT works with all 40-pin GPIO Raspberry Pi boards, including Zero-series devices. With the addition of a ribbon cable or other extension device, it can also be used with Keyboard-series devices.

* Controls up to 4 LEGO® Technic™ motors and sensors included in the SPIKE™ Portfolio
* Easy-to-use https://buildhat.readthedocs.io/[Python library] to control your LEGO® Technic™ devices
Expand All @@ -27,5 +27,5 @@ NOTE: The HAT works with all 40-pin GPIO Raspberry Pi boards, including Raspberr

[NOTE]
====
The Build HAT cannot power the Raspberry Pi 400, since it does not support power supply over the GPIO headers.
The Build HAT cannot power Keyboard-series devices, since they do not support power supply over the GPIO headers.
====
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ You will need to reboot at this point if you have made any changes.

=== Power the Build HAT

Connect an external power supply — the https://raspberrypi.com/products/build-hat-power-supply[official Raspberry Pi Build HAT power supply] is recommended — however any reliable +8V±10% power supply capable of supplying 48W via a DC 5521 centre positive barrel connector (5.5mm × 2.1mm × 11mm) will power the Build HAT. You don't need to connect an additional USB power supply to the Raspberry Pi as well, unless you are using a Raspberry Pi 400.
Connect an external power supply — the https://raspberrypi.com/products/build-hat-power-supply[official Raspberry Pi Build HAT power supply] is recommended — however any reliable +8V±10% power supply capable of supplying 48W via a DC 5521 centre positive barrel connector (5.5mm × 2.1mm × 11mm) will power the Build HAT. You don't need to connect an additional USB power supply to the Raspberry Pi unless you are using a Keyboard-series device.

[NOTE]
====
The Build HAT can not power the Raspberry Pi 400 as it does not support being powered via the GPIO headers.
The Build HAT cannot power Keyboard-series devices, since they do not support power supply over the GPIO headers.
====

image::images/powering-build-hat.gif[width="80%"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Finally, there is the Global Shutter camera, which was http://raspberrypi.com/ne
.Global Shutter Camera
image::images/gs-camera.jpg[GS Camera]

NOTE: Raspberry Pi Camera Modules are compatible with all Raspberry Pi computers with CSI connectors - that is, all models except Raspberry Pi 400 and the 2016 launch version of Zero.
NOTE: Raspberry Pi Camera Modules are compatible with all Raspberry Pi computers with CSI connectors.

=== Rolling or Global shutter?

Expand Down
4 changes: 2 additions & 2 deletions documentation/asciidoc/accessories/display/display_intro.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
== Raspberry Pi Touch Display

The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display that connects to the Raspberry Pi using a DSI connector and GPIO connector.
The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display that connects to a Raspberry Pi using a DSI connector and GPIO connector.

.The Raspberry Pi 7-inch Touch Display
image::images/display.png[The Raspberry Pi 7-inch Touch Display, width="70%"]

The Touch Display is compatible with all models of Raspberry Pi, except Raspberry Pi Zero and Zero 2 W, which lack a DSI connector. The earliest Raspberry Pi models lack appropriate mounting holes, requiring additional mounting hardware to fit the stand-offs on the display PCB.
The Touch Display is compatible with all models of Raspberry Pi, except the Zero series and Keyboard series, which lack a DSI connector. The earliest Raspberry Pi models lack appropriate mounting holes, requiring additional mounting hardware to fit the stand-offs on the display PCB.

The display has the following key features:

Expand Down
1 change: 1 addition & 0 deletions documentation/asciidoc/accessories/monitor.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include::monitor/monitor_intro.adoc[]
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
119 changes: 119 additions & 0 deletions documentation/asciidoc/accessories/monitor/monitor_intro.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
== Raspberry Pi Monitor

The https://www.raspberrypi.com/products/raspberry-pi-monitor/[Raspberry Pi Monitor] is a 15.6" 1920 × 1080p IPS LCD display that connects to a computer using an HDMI cable. The Monitor also requires a USB-C power source. For full brightness and volume range, this must be a USB-PD source capable of at least 1.5A of current.

.The Raspberry Pi Monitor
image::images/monitor-hero.png[The Raspberry Pi Monitor, width="100%"]

The Monitor is compatible with all models of Raspberry Pi that support HDMI output.

=== Controls

The back of the Monitor includes the following controls:

* a button that enters and exits Standby mode (indicated by the ⏻ (power) symbol)
* buttons that increase and decrease display brightness (indicated by the 🔆 (sun) symbol)
* buttons that increase and decrease speaker volume (indicated by the 🔈 (speaker) symbol)

=== On screen display messages

The on-screen display (OSD) may show the following messages:

[cols="1a,6"]
|===
| Message | Description

| image::images/no-hdmi.png[No HDMI signal detected]
| No HDMI signal detected.

| image::images/no-valid-hdmi-signal-standby.png[Standby mode]
| The monitor will soon enter standby mode to conserve power.

| image::images/not-supported-resolution.png[Unsupported resolution]
| The output display resolution of the connected device is not supported.

| image::images/power-saving-mode.png[Power saving mode]
| The monitor is operating in Power Saving mode, with reduced brightness and volume, because the monitor is not connected to a power supply capable of delivering 1.5A of current or greater.
|===

Additionally, the OSD shows information about display brightness changes using the 🔆 (sun) symbol, and speaker volume level changes using the 🔈 (speaker) symbol. Both brightness and volume use a scale that ranges from 0 to 100.

TIP: If you attempt to exit Standby mode when the display cannot detect an HDMI signal, the red LED beneath the Standby button will briefly light, but the display will remain in Standby mode.

=== Position the Monitor

Use the following approaches to position the Monitor:

* Angle the Monitor on the integrated stand.
* Mount the Monitor on an arm or stand using the four VESA mount holes on the back of the red rear plastic housing.
+
IMPORTANT: Use spacers to ensure adequate space for display and power cable egress.
* Flip the integrated stand fully upwards, towards the top of the monitor. Use the drill hole template to create two mounting points spaced 55mm apart. Hang the Monitor using the slots on the back of the integrated stand.
+
.Drill hole template
image::images/drill-hole-template.png[Drill hole template, width="40%"]

=== Power the Monitor

The Raspberry Pi Monitor draws power from a 5V https://en.wikipedia.org/wiki/USB_hardware#USB_Power_Delivery[USB Power Delivery] (USB-PD) power source. Many USB-C power supplies, including the official power supplies for the Raspberry Pi 4 and Raspberry Pi 5, support this standard.

When using a power source that provides at least 1.5A of current over USB-PD, the Monitor operates in **Full Power mode**. In Full Power mode, you can use the full range (0%-100%) of display brightness and speaker volume.

When using a power source that does _not_ supply at least 1.5A of current over USB-PD (including all USB-A power sources), the Monitor operates in **Power Saving mode**. Power Saving mode limits the maximum display brightness and the maximum speaker volume to ensure reliable operation. In Power Saving mode, you can use a limited range (0-50%) of display brightness and a limited range (0-60%) of speaker volume. When powered from a Raspberry Pi, the Monitor operates in Power Saving mode, since Raspberry Pi devices cannot provide 1.5A of current over a USB-A connection.

To switch from Power Saving mode to Full Power mode, press and hold the *increase brightness* button for 3 seconds.

[TIP]
====
If the Monitor flashes on and off, your USB power supply is not capable of providing sufficient current to power the monitor. This can happen if you power the Monitor from a Raspberry Pi 5 or Pi 500 which is itself powered by a 5V/3A power supply. Try the following fixes to stop the Monitor from flashing on and off:
* reduce the display brightness and volume (you may have to connect your monitor to another power supply to access the settings)
* switch to a different power source or cable
====

=== Specification

Diagonal: 15.6"

Resolution: 1920 × 1080

Type: IPS LCD

Colour gamut: 45%

Contrast: 800:1

Brightness: 250cd/m^2^

Screen coating: Anti-glare 3H hardness

Display area: 344 × 193mm

Dimensions: 237 × 360 × 20mm

Weight: 850g

Supported resolutions:

* 1920 × 1080p @ 50/60Hz
* 1280 × 720p @ 50/60Hz
* 720 × 576p @ 50/60Hz
* 720 × 480p @ 50/60Hz
* 640 × 480p @ 50/60Hz

Input: HDMI 1.4; supports DDC-CI

Power input: USB-C; requires 1.5A over USB-PD at 5V for full brightness and volume range

Power consumption: 4.5-6.5W during use; < 0.1W at idle

Speakers: 2 × 1.2W (stereo)

Ports: 3.5mm audio jack


=== Mechanical drawing

.Mechanical Drawing
image::images/mechanical-drawing.png[Mechanical drawing, width="80%"]
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The Touch Display 2 connects to a Raspberry Pi using a DSI connector and GPIO co
* powered directly by the host Raspberry Pi, requiring no separate power supply
* supports up to five points of simultaneous multi-touch

The Touch Display 2 is compatible with all models of Raspberry Pi from Raspberry Pi 1B+ onwards, except Raspberry Pi Zero and Zero 2 W, which lack a DSI connector.
The Touch Display 2 is compatible with all models of Raspberry Pi from Raspberry Pi 1B+ onwards, except the Zero series and Keyboard series, which lack a DSI connector.

The Touch Display 2 box contains the following parts (in left to right, top to bottom order in the image below):

Expand Down
45 changes: 25 additions & 20 deletions documentation/asciidoc/computers/camera/rpicam_still.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -107,68 +107,73 @@ To find the maximum exposure times of official Raspberry Pi cameras, see xref:..

To create a time lapse video, capture a still image at a regular interval, such as once a minute, then use an application to stitch the pictures together into a video.

===== via `rpicam-still` time lapse mode

[tabs%sync]
======
`rpicam-still` time lapse mode::
+
To use the built-in time lapse mode of `rpicam-still`, use the xref:camera_software.adoc#timelapse[`timelapse`] option. This option accepts a value representing the period of time you want your Raspberry Pi to wait between captures, in milliseconds.

+
First, create a directory where you can store your time lapse photos:

+
[source,console]
----
$ mkdir timelapse
----

+
Run the following command to create a time lapse over 30 seconds, recording a photo every two seconds, saving output into `image0000.jpg` through `image0013.jpg`:

+
[source,console]
----
$ rpicam-still --timeout 30000 --timelapse 2000 -o timelapse/image%04d.jpg
----
===== via `cron`

`cron`::
+
You can also automate time lapses with `cron`. First, create the script, named `timelapse.sh` containing the following commands. Replace the `<username>` placeholder with the name of your user account on your Raspberry Pi:

+
[source,bash]
----
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
rpicam-still -o /home/<username>/timelapse/$DATE.jpg
----

+
Then, make the script executable:

+
[source,console]
----
$ chmod +x timelapse.sh
----

+
Create the `timelapse` directory into which you'll save time lapse pictures:

+
[source,console]
----
$ mkdir timelapse
----

+
Open your crontab for editing:

+
[source,console]
----
$ crontab -e
----

+
Once you have the file open in an editor, add the following line to schedule an image capture every minute, replacing the `<username>` placeholder with the username of your primary user account:

+
----
* * * * * /home/<username>/timelapse.sh 2>&1
----

+
Save and exit, and you should see this message:

+
----
crontab: installing new crontab
----
+
To stop recording images for the time lapse, run `crontab -e` again and remove the above line from your crontab.
TIP: To stop recording images for the time lapse, run `crontab -e` again and remove the above line from your crontab.
======

===== Stitch images together

Expand Down
Loading

0 comments on commit 49fd70c

Please sign in to comment.