From 681ac02295823a4f05d96e546dfe141d6e9d4bf6 Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Sun, 17 Sep 2023 14:50:21 -0700 Subject: [PATCH 1/9] Touch display changes --- .../accessories/display/display_intro.adoc | 23 +++++++++++++++--- .../accessories/display/images/touch-GPIO.png | Bin 0 -> 22475 bytes 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 documentation/asciidoc/accessories/display/images/touch-GPIO.png diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index 26b3df473..ae18a25d0 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -6,13 +6,28 @@ The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry P The DSI display is designed to work with all models of Raspberry Pi, however early models that do not have mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-dimensioned stand-offs on the display PCB. -=== Physical Installation +=== Connecting a Raspberry Pi -The following image shows how to attach the Raspberry Pi to the back of the Touch Display (if required), and how to connect both the data (ribbon cable) and power (red/black wires) from the Raspberry Pi to the display. If you are not attaching the Raspberry Pi to the back of the display, take extra care when attaching the ribbon cable to ensure it is the correct way round. The black and red power wires should be attached to the GND and 5V pins respectively. +The following image shows how to attach a Raspberry Pi to the back of the Touch Display using the included standoffs. It also shows the connections you need to make between Raspberry Pi and the display's PCB. You can also mount the touch display in a separate chassis if you have one available. The connections remain the same, though you may need longer cables depending on the chassis you use. -image::images/GPIO_power-500x333.jpg[DSI Display Connections] +image::images/GPIO_power-500x333.jpg[DSI Display pinout] -The other three pins should be left disconnected, unless connecting the display to an original Raspberry Pi 1 Model A or B. See the section on xref:display.adoc#legacy-support[legacy support] for more information on connecting the display to an original Raspberry Pi. +Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB (make sure the blue stripe faces the PCB) and then connect the other end to the `DISPLAY` port on the Raspberry Pi (the blue stripe should face outwards). + +==== Powering the Touch Display + +There are two options to power the Touch Display: using the Raspberry Pi's GPIO to send power, or powering the display directly with a separate micro USB cable. + +WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while its in use. + +The following instructions are only relevant if you're using the Raspberry Pi for power. Do not make these connections when powering the display through its micro USB port. + +Make sure the Raspberry Pi is powered off and unplugged, then connect one end of the black jumper wire to pin six (GND) on the Raspberry Pi and one end of the red jumper wire to pin four (5V). Next, connect the other end of the black wire to the GND pin on the display and the other end of the red wire to the 5V pin on the display. + +.Connect the red and black wires to 5V and GND +image::images/touch-GPIO.png[Illustration of display pins, width=250] + +The other three pins on the Touch Display are used to connect the display to an original Raspberry Pi 1 Model A or B. Refer to our documentation on xref:display.adoc#legacy-support[legacy support] for more information. NOTE: An original Raspberry Pi can be easily identified from other models, it is the only model with a 26-pin rather than 40-pin GPIO header connector. diff --git a/documentation/asciidoc/accessories/display/images/touch-GPIO.png b/documentation/asciidoc/accessories/display/images/touch-GPIO.png new file mode 100644 index 0000000000000000000000000000000000000000..6be5d937c9bbda81664a7ece12b54607f5178760 GIT binary patch literal 22475 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 z Date: Sun, 17 Sep 2023 15:48:05 -0700 Subject: [PATCH 2/9] Expanded article --- .../accessories/display/display_intro.adoc | 55 ++++++++++++++++--- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index ae18a25d0..d962b10be 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -2,6 +2,8 @@ The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. In recent versions of Raspberry Pi OS, both the HDMI and LCD display outputs can be used at the same time. +Make sure your Raspberry Pi OS is up-to-date before you begin working with the Touch Display to reduce the chances of errors or issues. + === Board Support The DSI display is designed to work with all models of Raspberry Pi, however early models that do not have mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-dimensioned stand-offs on the display PCB. @@ -12,28 +14,44 @@ The following image shows how to attach a Raspberry Pi to the back of the Touch image::images/GPIO_power-500x333.jpg[DSI Display pinout] -Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB (make sure the blue stripe faces the PCB) and then connect the other end to the `DISPLAY` port on the Raspberry Pi (the blue stripe should face outwards). +Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB (make sure the blue stripe faces the PCB) and then connect the other end to the `DISPLAY` port on the Raspberry Pi (the blue stripe should face outwards). + +If the ribbon cable isn't fully inserted in the correct position you will experience issues with the display. Make sure you check this connection if you don't see anything on your display, or if the display is showing a single color. ==== Powering the Touch Display There are two options to power the Touch Display: using the Raspberry Pi's GPIO to send power, or powering the display directly with a separate micro USB cable. -WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while its in use. +===== Provide power through Raspberry Pi -The following instructions are only relevant if you're using the Raspberry Pi for power. Do not make these connections when powering the display through its micro USB port. - -Make sure the Raspberry Pi is powered off and unplugged, then connect one end of the black jumper wire to pin six (GND) on the Raspberry Pi and one end of the red jumper wire to pin four (5V). Next, connect the other end of the black wire to the GND pin on the display and the other end of the red wire to the 5V pin on the display. +To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the xref::/../../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the GPIO pins on the display's PCB. .Connect the red and black wires to 5V and GND -image::images/touch-GPIO.png[Illustration of display pins, width=250] +image::images/touch-GPIO.png[Illustration of display pins, width="30%"] + +Before you begin, make sure the Raspberry Pi is powered off and not connected to any power source.Connect one end of the black jumper wire to pin six (GND) on the Raspberry Pi and one end of the red jumper wire to pin four (5V). + +// image placeholder + +Next, connect the other end of the black wire to the GND pin on the display and the other end of the red wire to the 5V pin on the display. + +// image placeholder The other three pins on the Touch Display are used to connect the display to an original Raspberry Pi 1 Model A or B. Refer to our documentation on xref:display.adoc#legacy-support[legacy support] for more information. NOTE: An original Raspberry Pi can be easily identified from other models, it is the only model with a 26-pin rather than 40-pin GPIO header connector. +===== Provide power through micro USB + +If you don't want to use a Raspberry Pi to provide power to the Touch Display, you can use a micro USB power supply instead. We recommend using the https://www.raspberrypi.com/products/micro-usb-power-supply/[Raspberry Pi 12.5W power supply] to ensure the display runs as intended. + +Do not make connections between the GPIO of your Raspberry Pi and the GPIO pins on the display if you choose to use micro USB for power. + +WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while its in use. + === Screen Orientation -LCD displays have an optimum viewing angle, and depending on how the screen is mounted it may be necessary to change the orientation of the display to give the best results. By default, the Raspberry Pi Touch Display and Raspberry Pi are set up to work best when viewed from slightly above, for example on a desktop. If viewing from below, you can physically rotate the display, and then tell the system software to compensate by running the screen upside down. +LCD displays have an optimum viewing angle, and depending on how the screen is mounted it may be necessary to change the orientation of the display to give the best results. By default, the Raspberry Pi Touch Display and Raspberry Pi are set up to work best when viewed from slightly above, for example on top of a desk. If you need to physically rotate the display, or mount it in a specific position, you can use software to adjust the orientation of the screen. To set screen orientation when running the graphical desktop, select the `Screen Configuration` option from the `Preferences` menu. Right click on the DSI display rectangle in the layout editor, select Orientation then the required option. @@ -79,9 +97,28 @@ The options for the touchscreen are: | Swap X and Y coordinates |=== -=== Troubleshooting +=== X11-only features + +If you're using X11 on your Raspberry Pi you can access an on-screen keyboard and set up virtual right clicks on the Touch Display. + +==== On-screen keyboard -Read our troubleshooting steps, tips, and tricks here: xref:display.adoc#troubleshooting-the-display[Raspberry Pi Touch Display troubleshooting]. +To install a virtual keyboard, run `sudo apt install matchbox-keyboard` in the terminal. + +==== Emulate right click + +You can emulate a right click on the Touch Display by adding this code to `/etc/X11/xorg.conf`: +---- +Section "InputClass" + Identifier "calibration" + Driver "evdev" + MatchProduct "FT5406 memory based driver" + + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "750" + Option "EmulateThirdButtonMoveThreshold" "30" +EndSection +---- === Specifications From 03d63fb66a9c362e0548ea542a0fcc603be15438 Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Mon, 18 Sep 2023 17:54:51 -0700 Subject: [PATCH 3/9] Content changes, removed troubleshooting --- .../asciidoc/accessories/display.adoc | 3 - .../accessories/display/display_intro.adoc | 48 ++++---- .../accessories/display/troubleshooting.adoc | 113 ------------------ 3 files changed, 28 insertions(+), 136 deletions(-) delete mode 100644 documentation/asciidoc/accessories/display/troubleshooting.adoc diff --git a/documentation/asciidoc/accessories/display.adoc b/documentation/asciidoc/accessories/display.adoc index 818837521..abfac0c01 100644 --- a/documentation/asciidoc/accessories/display.adoc +++ b/documentation/asciidoc/accessories/display.adoc @@ -1,6 +1,3 @@ include::display/display_intro.adoc[] include::display/legacy.adoc[] - -include::display/troubleshooting.adoc[] - diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index d962b10be..2f01d0f66 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -1,28 +1,36 @@ == Raspberry Pi Touch Display -The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. In recent versions of Raspberry Pi OS, both the HDMI and LCD display outputs can be used at the same time. +The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. If your Raspberry Pi has both connectors, you can use the micro HDMI and LCD display outputs at the same time. -Make sure your Raspberry Pi OS is up-to-date before you begin working with the Touch Display to reduce the chances of errors or issues. +Make sure your Raspberry Pi OS is up-to-date before you begin working with the Touch Display to reduce the risk of errors or driver issues. === Board Support -The DSI display is designed to work with all models of Raspberry Pi, however early models that do not have mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-dimensioned stand-offs on the display PCB. +The DSI display is designed to work with all models of Raspberry Pi, however early models without mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-sized stand-offs on the display PCB. === Connecting a Raspberry Pi -The following image shows how to attach a Raspberry Pi to the back of the Touch Display using the included standoffs. It also shows the connections you need to make between Raspberry Pi and the display's PCB. You can also mount the touch display in a separate chassis if you have one available. The connections remain the same, though you may need longer cables depending on the chassis you use. +The following image shows how to attach a Raspberry Pi directly to the back of the Touch Display using its standoffs. It also shows the connections you need to make between Raspberry Pi and the display's PCB. You can also mount the touch display in a separate chassis if you have one available. The connections will remain the same, though you may need longer cables depending on the chassis you use. image::images/GPIO_power-500x333.jpg[DSI Display pinout] -Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB (make sure the blue stripe faces the PCB) and then connect the other end to the `DISPLAY` port on the Raspberry Pi (the blue stripe should face outwards). +==== Connecting the display cable -If the ribbon cable isn't fully inserted in the correct position you will experience issues with the display. Make sure you check this connection if you don't see anything on your display, or if the display is showing a single color. +Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB so the side with the blue stripe faces the display. + +// Close-up image here? + +Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The blue stripe should face away from the Raspberry Pi. + +// Another close-up? + +If the ribbon cable isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single color. ==== Powering the Touch Display -There are two options to power the Touch Display: using the Raspberry Pi's GPIO to send power, or powering the display directly with a separate micro USB cable. +There are two options available to provide power to the Touch Display: using the Raspberry Pi's GPIO, or a separate power supply and micro USB cable. -===== Provide power through Raspberry Pi +===== Provide power with Raspberry Pi To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the xref::/../../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the GPIO pins on the display's PCB. @@ -31,48 +39,48 @@ image::images/touch-GPIO.png[Illustration of display pins, width="30%"] Before you begin, make sure the Raspberry Pi is powered off and not connected to any power source.Connect one end of the black jumper wire to pin six (GND) on the Raspberry Pi and one end of the red jumper wire to pin four (5V). -// image placeholder +// GIF placeholder? Next, connect the other end of the black wire to the GND pin on the display and the other end of the red wire to the 5V pin on the display. -// image placeholder +// GIF placeholder? The other three pins on the Touch Display are used to connect the display to an original Raspberry Pi 1 Model A or B. Refer to our documentation on xref:display.adoc#legacy-support[legacy support] for more information. -NOTE: An original Raspberry Pi can be easily identified from other models, it is the only model with a 26-pin rather than 40-pin GPIO header connector. +NOTE: An original Raspberry Pi is easily identified compared to other models; it is the only model with a 26-pin rather than 40-pin GPIO header connector. ===== Provide power through micro USB -If you don't want to use a Raspberry Pi to provide power to the Touch Display, you can use a micro USB power supply instead. We recommend using the https://www.raspberrypi.com/products/micro-usb-power-supply/[Raspberry Pi 12.5W power supply] to ensure the display runs as intended. +If you don't want to use a Raspberry Pi to provide power to the Touch Display, you can use a micro USB power supply instead. We recommend using the https://www.raspberrypi.com/products/micro-usb-power-supply/[Raspberry Pi 12.5W power supply] to make sure the display runs as intended. -Do not make connections between the GPIO of your Raspberry Pi and the GPIO pins on the display if you choose to use micro USB for power. +Do not connect the GPIO pins on your Raspberry Pi to the display if you choose to use micro USB for power. The only connection between the two boards should be the ribbon cable. WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while its in use. === Screen Orientation -LCD displays have an optimum viewing angle, and depending on how the screen is mounted it may be necessary to change the orientation of the display to give the best results. By default, the Raspberry Pi Touch Display and Raspberry Pi are set up to work best when viewed from slightly above, for example on top of a desk. If you need to physically rotate the display, or mount it in a specific position, you can use software to adjust the orientation of the screen. +LCD displays have an ideal viewing angle, and it may be necessary to change the orientation of the display to find the perfect angle. If you need to physically rotate the display, or mount it in a specific position, you can use software to adjust the orientation of the screen to better match your setup. -To set screen orientation when running the graphical desktop, select the `Screen Configuration` option from the `Preferences` menu. Right click on the DSI display rectangle in the layout editor, select Orientation then the required option. +To set the screen orientation from the desktop environment, select the **Screen Configuration** option from the **Preferences** menu. Right click on the DSI display rectangle in the layout editor, select **Orientation**, then pick the best option to fit your needs. -To set screen orientation when in console mode, you will need to edit the kernel command line to pass the required orientation to the system. +To set screen orientation on a headless setup, or while in console mode, you need to edit the kernel's `cmdline.txt` file to pass the required orientation to the system. [,bash] ---- sudo nano /boot/firmware/cmdline.txt ---- -To rotate by 90 degrees clockwise, add the following to the cmdline, making sure everything is on the same line, do not add any carriage returns. Possible rotation values are 0, 90, 180 and 270. +To rotate the screen, add the following to the cmdline. Make sure everything is on the same line; do not add any carriage returns. Possible rotation values are 0, 90, 180 and 270. ---- video=DSI-1:800x480@60,rotate=90 ---- -NOTE: In console mode it is not possible to rotate the DSI display separately to the HDMI display, so if you have both attached they must both be set to the same rotation value. +NOTE: In console mode it is not possible to rotate the DSI display separately from the HDMI display. If you have both attached they need to be set to the same rotation value. === Touchscreen Orientation -Additionally, you have the option to change the rotation of the touchscreen independently of the display itself by adding a `dtoverlay` instruction in `config.txt`, for example: +You also have the option to change the rotation of the active touchscreen area independently of the display itself by adding a `dtoverlay` instruction in `config.txt`, as in the following example: `dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1` @@ -99,7 +107,7 @@ The options for the touchscreen are: === X11-only features -If you're using X11 on your Raspberry Pi you can access an on-screen keyboard and set up virtual right clicks on the Touch Display. +If you're using X11 on your Raspberry Pi, you can access an on-screen keyboard and set up virtual right clicks on the Touch Display. ==== On-screen keyboard diff --git a/documentation/asciidoc/accessories/display/troubleshooting.adoc b/documentation/asciidoc/accessories/display/troubleshooting.adoc deleted file mode 100644 index d1fdaac68..000000000 --- a/documentation/asciidoc/accessories/display/troubleshooting.adoc +++ /dev/null @@ -1,113 +0,0 @@ -== Troubleshooting the Display - -[discrete] -=== Have you got a good power supply? - -Having intermittent problems, or seeing a little rainbow square in the top right corner? It is likely that you need a better power supply. - -We recommend our official 2.5A adapter because we know it works, but any good 2.5A supply should work. - -[discrete] -=== Have you updated Raspberry Pi OS? - -If not, many problems will be solved by making sure your software is xref:../computers/os.adoc#updating-and-upgrading-raspberry-pi-os[up-to date]. - -[discrete] -=== My touchscreen doesn't work, or works intermittently - -* Make sure you've updated Raspberry Pi OS (see above for steps) -* Check the smaller ribbon cable is seated properly - -If you want to make sure your Raspberry Pi has detected your touchscreen, try running: - -[,bash] ----- -dmesg | grep -i ft5x06 ----- - -You should see a couple of lines that look like this: - -[,text] ----- -[ 10.463038] edt_ft5x06 10-0038: supply iovcc not found, using dummy regulator -[ 10.879193] input: generic ft5x06 (00) as /devices/platform/soc/fe205000.i2c/i2c-22/i2c-10/10-0038/input/input6 ----- - -[discrete] -=== My screen is upside-down! - -Depending on your display stand, you might find that the LCD display defaults to being upside-down. You can fix this by xref:../computers/configuration.adoc#setting-your-displays-resolution-and-rotation[rotating your display]. - -[discrete] -=== My display fades out to weird patterns when I shutdown/reboot my Raspberry Pi - -Don't panic! This is perfectly normal. - -[discrete] -=== My display is black - -* Make sure you've updated Raspberry Pi OS (see above for steps) -* Check the ribbon cable between your Raspberry Pi and the LCD is properly seated -* Make sure you have a SD card properly inserted into your Raspberry Pi - -[discrete] -=== My display is white - -* Check the larger ribbon cable between the display and driver board is properly seated - -[discrete] -=== Some windows are cut off at the bottom of the screen so I can't use them - -If some windows are cut off at the side/bottom of the screen, this is unfortunately a side-effect of developers assuming a minimum screen resolution of 1024x768 pixels. - -You can usually reveal hidden buttons and fields by: - -* holding down the Windows / Raspberry key on your keyboard -* click and drag anywhere inside the window to move it around the screen - -[NOTE] -==== -If you are using X11, you can reveal hiddden buttons and fields by: - -* right clicking on the top or bottom edge of the window -* picking "move" -* using the arrow keys to move the window around the screen -==== - -=== Tips and Tricks - -==== How do I use multiple monitors? - -If you're using the desktop environment with multiple displays, you may find that the 'taps' on the Touch Display's touchscreen get registered against the wrong display, and not with the display on the Touch Display. To resolve this, run the "Screen Configuration" program, right-click on the `DSI-1` rectangle, and then select `Touchscreen` > `generic ft5x06`, click `Apply` and close the Screen Configuration program. You may need to reboot for these changes to take effect. - -See the documentation about xref:../computers/os.adoc#playing-audio-and-video[playing video] if you're using Raspberry Pi OS Lite and went to display the video on a specfic screen. - -==== How do I enable right click? - -WARNING: This isn't currently possible with Wayland. - -[NOTE] -==== -Under X11 you can emulate a right click by adding the following snippet to `/etc/X11/xorg.conf` ----- -Section "InputClass" - Identifier "calibration" - Driver "evdev" - MatchProduct "FT5406 memory based driver" - - Option "EmulateThirdButton" "1" - Option "EmulateThirdButtonTimeout" "750" - Option "EmulateThirdButtonMoveThreshold" "30" -EndSection ----- -==== - -==== How do I get an on-screen keyboard? - -WARNING: This isn't currently possible with Wayland. - -[NOTE] -==== -Under X11 you can install a virtual keyboard with `sudo apt install matchbox-keyboard` -==== - From e342a997f8bfac314a0a9c13ddb44b1c0ccc129a Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Tue, 19 Sep 2023 11:10:02 -0700 Subject: [PATCH 4/9] Edits based on feedback --- .../accessories/display/display_intro.adoc | 65 +++++-------------- .../asciidoc/accessories/display/legacy.adoc | 27 +++++++- 2 files changed, 42 insertions(+), 50 deletions(-) diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index 2f01d0f66..aef7c3870 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -1,61 +1,49 @@ == Raspberry Pi Touch Display -The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. If your Raspberry Pi has both connectors, you can use the micro HDMI and LCD display outputs at the same time. - -Make sure your Raspberry Pi OS is up-to-date before you begin working with the Touch Display to reduce the risk of errors or driver issues. +The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. You can also use the HDMI and DSI display outputs at the same time. === Board Support -The DSI display is designed to work with all models of Raspberry Pi, however early models without mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-sized stand-offs on the display PCB. +The Touch Display is designed to work with all models of Raspberry Pi, however early models without mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-sized stand-offs on the display PCB. === Connecting a Raspberry Pi -The following image shows how to attach a Raspberry Pi directly to the back of the Touch Display using its standoffs. It also shows the connections you need to make between Raspberry Pi and the display's PCB. You can also mount the touch display in a separate chassis if you have one available. The connections will remain the same, though you may need longer cables depending on the chassis you use. +The following image shows how to attach a Raspberry Pi directly to the back of the Touch Display using its standoffs. It also shows the connections you need to make between Raspberry Pi and the display's PCB. You can also mount the Touch Display in a separate chassis if you have one available. The connections will remain the same, though you may need longer cables depending on the chassis you use. image::images/GPIO_power-500x333.jpg[DSI Display pinout] ==== Connecting the display cable -Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB so the side with the blue stripe faces the display. - -// Close-up image here? - -Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The blue stripe should face away from the Raspberry Pi. - -// Another close-up? +Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB so the side with the blue stripe faces the display. Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The blue stripe should face away from the Raspberry Pi. If the ribbon cable isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single color. ==== Powering the Touch Display -There are two options available to provide power to the Touch Display: using the Raspberry Pi's GPIO, or a separate power supply and micro USB cable. +There are two options available to provide power to the Touch Display: using the Raspberry Pi's GPIO, or a separate micro USB power supply. We recommend using the Raspberry Pi to provide power to the Touch Display whenever possible. -===== Provide power with Raspberry Pi +===== Provide power through the Raspberry Pi -To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the xref::/../../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the GPIO pins on the display's PCB. +To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the 5V and GND pins on xref::/../../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the 5V and GND pins on the display, as shown in the following illustration. -.Connect the red and black wires to 5V and GND +.The location of the display's 5V and GND pins image::images/touch-GPIO.png[Illustration of display pins, width="30%"] -Before you begin, make sure the Raspberry Pi is powered off and not connected to any power source.Connect one end of the black jumper wire to pin six (GND) on the Raspberry Pi and one end of the red jumper wire to pin four (5V). +Before you begin, make sure the Raspberry Pi is powered off and not connected to any power source. Connect one end of the black jumper wire to pin six (GND) on the Raspberry Pi and one end of the red jumper wire to pin four (5V). If pin six isn't available, you can use any other open GND pin to connect the black wire. -// GIF placeholder? - -Next, connect the other end of the black wire to the GND pin on the display and the other end of the red wire to the 5V pin on the display. - -// GIF placeholder? +Next, connect the other end of the black wire to the GND pin on the display and the other end of the red wire to the 5V pin on the display. Once all the connections are made, you should see the Touch Display turn on the next time you turn on your Raspberry Pi. The other three pins on the Touch Display are used to connect the display to an original Raspberry Pi 1 Model A or B. Refer to our documentation on xref:display.adoc#legacy-support[legacy support] for more information. NOTE: An original Raspberry Pi is easily identified compared to other models; it is the only model with a 26-pin rather than 40-pin GPIO header connector. -===== Provide power through micro USB +===== Power the Touch Display directly If you don't want to use a Raspberry Pi to provide power to the Touch Display, you can use a micro USB power supply instead. We recommend using the https://www.raspberrypi.com/products/micro-usb-power-supply/[Raspberry Pi 12.5W power supply] to make sure the display runs as intended. Do not connect the GPIO pins on your Raspberry Pi to the display if you choose to use micro USB for power. The only connection between the two boards should be the ribbon cable. -WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while its in use. +WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while it's in use. === Screen Orientation @@ -65,7 +53,7 @@ To set the screen orientation from the desktop environment, select the **Screen To set screen orientation on a headless setup, or while in console mode, you need to edit the kernel's `cmdline.txt` file to pass the required orientation to the system. -[,bash] +[source ,bash] ---- sudo nano /boot/firmware/cmdline.txt ---- @@ -82,7 +70,9 @@ NOTE: In console mode it is not possible to rotate the DSI display separately fr You also have the option to change the rotation of the active touchscreen area independently of the display itself by adding a `dtoverlay` instruction in `config.txt`, as in the following example: -`dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1` +---- +dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1 +---- The options for the touchscreen are: @@ -105,29 +95,6 @@ The options for the touchscreen are: | Swap X and Y coordinates |=== -=== X11-only features - -If you're using X11 on your Raspberry Pi, you can access an on-screen keyboard and set up virtual right clicks on the Touch Display. - -==== On-screen keyboard - -To install a virtual keyboard, run `sudo apt install matchbox-keyboard` in the terminal. - -==== Emulate right click - -You can emulate a right click on the Touch Display by adding this code to `/etc/X11/xorg.conf`: ----- -Section "InputClass" - Identifier "calibration" - Driver "evdev" - MatchProduct "FT5406 memory based driver" - - Option "EmulateThirdButton" "1" - Option "EmulateThirdButtonTimeout" "750" - Option "EmulateThirdButtonMoveThreshold" "30" -EndSection ----- - === Specifications * 800×480 RGB LCD display diff --git a/documentation/asciidoc/accessories/display/legacy.adoc b/documentation/asciidoc/accessories/display/legacy.adoc index 6d728f745..91b474818 100644 --- a/documentation/asciidoc/accessories/display/legacy.adoc +++ b/documentation/asciidoc/accessories/display/legacy.adoc @@ -1,6 +1,31 @@ == Legacy Support -NOTE: These instructions are for the original Raspberry Pi 1 Model A and B boards only. You can identify an original board as it is the only model with a 26-pin GPIO header, all other models have the now-standard 40-pin connector. +[NOTE] +==== +Older Raspberry Pi hardware, and older versions of Raspberry Pi OS, with X11 can install an on-screen keyboard and emulate right clicks on the touchscreen. + +Run the following in a terminal to enable the keyboard: +---- +sudo apt install matchbox-keyboard +---- + +Add the following to `/etc/X11/xorg.conf` enable right click emulation: + +---- +Section "InputClass" + Identifier "calibration" + Driver "evdev" + MatchProduct "FT5406 memory based driver" + + Option "EmulateThirdButton" "1" + Option "EmulateThirdButtonTimeout" "750" + Option "EmulateThirdButtonMoveThreshold" "30" +EndSection +---- + +==== + +NOTE: The following instructions are for the original Raspberry Pi 1 Model A and B boards only. You can identify an original board as it is the only model with a 26-pin GPIO header, all other models have the now-standard 40-pin connector. The DSI connector on the Raspberry Pi 1 Model A and B boards does not have the I2C connections required to talk to the touchscreen controller and DSI controller. You can work around this by using the additional set of jumper cables provided with the display kit to wire up the I2C bus on the GPIO pins to the display controller board. From 5068febc70b514b498a126998e4ea5b67e14dca1 Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Wed, 20 Sep 2023 10:00:17 -0700 Subject: [PATCH 5/9] More feedback changes --- .../accessories/display/display_intro.adoc | 27 ++++++++----------- .../asciidoc/accessories/display/legacy.adoc | 7 +++-- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index aef7c3870..abf5309bc 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -1,28 +1,23 @@ == Raspberry Pi Touch Display -The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. You can also use the HDMI and DSI display outputs at the same time. +The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. While the panel is connected, you can use both it, and the the normal HDMI display output at the same time. -=== Board Support +The Touch Display will function with all models of Raspberry Pi. Although, the earliest Raspberry Pi models, which lack appropriate mounting holes, require additional mounting hardware to fit the stand-offs on the display PCB. -The Touch Display is designed to work with all models of Raspberry Pi, however early models without mounting holes (the Raspberry Pi 1 Model A and B) will require additional mounting hardware to fit the HAT-sized stand-offs on the display PCB. +You can mount a Raspberry Pi to the back of the Touch Display using its stand-offs and then connect the appropriate cables between each device, depending on your use case. You can also mount the Touch Display in a separate chassis if you have one available. The connections remain the same, though you may need longer cables depending on the chassis you use. -=== Connecting a Raspberry Pi +.A Raspberry Pi connected to the Touch Display +image::images/GPIO_power-500x333.jpg[Image of Raspberry Pi connected to the Touch Display, width="70%"] -The following image shows how to attach a Raspberry Pi directly to the back of the Touch Display using its standoffs. It also shows the connections you need to make between Raspberry Pi and the display's PCB. You can also mount the Touch Display in a separate chassis if you have one available. The connections will remain the same, though you may need longer cables depending on the chassis you use. +Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB so the side with the silver or gold pins faces away from the display. Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The pins should face inward, towards the Raspberry Pi. -image::images/GPIO_power-500x333.jpg[DSI Display pinout] +If the ribbon cable isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single colour. -==== Connecting the display cable - -Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB so the side with the blue stripe faces the display. Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The blue stripe should face away from the Raspberry Pi. - -If the ribbon cable isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single color. - -==== Powering the Touch Display +=== Powering the Touch Display There are two options available to provide power to the Touch Display: using the Raspberry Pi's GPIO, or a separate micro USB power supply. We recommend using the Raspberry Pi to provide power to the Touch Display whenever possible. -===== Provide power through the Raspberry Pi +==== Provide power through the Raspberry Pi To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the 5V and GND pins on xref::/../../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the 5V and GND pins on the display, as shown in the following illustration. @@ -37,7 +32,7 @@ The other three pins on the Touch Display are used to connect the display to an NOTE: An original Raspberry Pi is easily identified compared to other models; it is the only model with a 26-pin rather than 40-pin GPIO header connector. -===== Power the Touch Display directly +==== Power the Touch Display directly If you don't want to use a Raspberry Pi to provide power to the Touch Display, you can use a micro USB power supply instead. We recommend using the https://www.raspberrypi.com/products/micro-usb-power-supply/[Raspberry Pi 12.5W power supply] to make sure the display runs as intended. @@ -51,7 +46,7 @@ LCD displays have an ideal viewing angle, and it may be necessary to change the To set the screen orientation from the desktop environment, select the **Screen Configuration** option from the **Preferences** menu. Right click on the DSI display rectangle in the layout editor, select **Orientation**, then pick the best option to fit your needs. -To set screen orientation on a headless setup, or while in console mode, you need to edit the kernel's `cmdline.txt` file to pass the required orientation to the system. +To set screen orientation while in console mode, you need to edit the kernel's `cmdline.txt` file to pass the required orientation to the system. [source ,bash] ---- diff --git a/documentation/asciidoc/accessories/display/legacy.adoc b/documentation/asciidoc/accessories/display/legacy.adoc index 91b474818..015cf5048 100644 --- a/documentation/asciidoc/accessories/display/legacy.adoc +++ b/documentation/asciidoc/accessories/display/legacy.adoc @@ -2,14 +2,14 @@ [NOTE] ==== -Older Raspberry Pi hardware, and older versions of Raspberry Pi OS, with X11 can install an on-screen keyboard and emulate right clicks on the touchscreen. +Older Raspberry Pi hardware (pre-Raspberry Pi 4), and older versions of Raspberry Pi OS (pre-Bookworm), with X11 can install an on-screen keyboard and emulate right-clicks on the touchscreen. -Run the following in a terminal to enable the keyboard: +Run the following in a terminal to install the on-screen keyboard: ---- sudo apt install matchbox-keyboard ---- -Add the following to `/etc/X11/xorg.conf` enable right click emulation: +Add the following to `/etc/X11/xorg.conf` enable right-click emulation: ---- Section "InputClass" @@ -22,7 +22,6 @@ Section "InputClass" Option "EmulateThirdButtonMoveThreshold" "30" EndSection ---- - ==== NOTE: The following instructions are for the original Raspberry Pi 1 Model A and B boards only. You can identify an original board as it is the only model with a 26-pin GPIO header, all other models have the now-standard 40-pin connector. From 7ee790ad122cc95ae7cef293d416d82a12e4602a Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Wed, 20 Sep 2023 11:29:39 -0700 Subject: [PATCH 6/9] Severe language removal --- documentation/asciidoc/accessories/display/display_intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index abf5309bc..d4f621788 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -38,7 +38,7 @@ If you don't want to use a Raspberry Pi to provide power to the Touch Display, y Do not connect the GPIO pins on your Raspberry Pi to the display if you choose to use micro USB for power. The only connection between the two boards should be the ribbon cable. -WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis to reduce the risk of electrocution. The chassis also must block access to the display's PCB while it's in use. +WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis that blocks access to the display's PCB while it's in use. === Screen Orientation From 8021112f7cc20927fa481c104eead449f11aa77b Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Wed, 20 Sep 2023 11:31:52 -0700 Subject: [PATCH 7/9] Pins > contacts for ribbon cable --- documentation/asciidoc/accessories/display/display_intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index d4f621788..3764bb95d 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -9,7 +9,7 @@ You can mount a Raspberry Pi to the back of the Touch Display using its stand-of .A Raspberry Pi connected to the Touch Display image::images/GPIO_power-500x333.jpg[Image of Raspberry Pi connected to the Touch Display, width="70%"] -Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB so the side with the silver or gold pins faces away from the display. Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The pins should face inward, towards the Raspberry Pi. +Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB. The silver or gold contacts should face away from the display. Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The contacts on this end should face inward, towards the Raspberry Pi. If the ribbon cable isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single colour. From 4ee673778e1d252a71d7722b1fe3713d0ba3409d Mon Sep 17 00:00:00 2001 From: jehlers42 Date: Wed, 20 Sep 2023 14:04:15 -0700 Subject: [PATCH 8/9] Additional changes --- .../accessories/display/display_intro.adoc | 36 +++++++++--------- .../display/images/display-rotation.png | Bin 0 -> 1636345 bytes .../asciidoc/accessories/display/legacy.adoc | 12 ++---- 3 files changed, 21 insertions(+), 27 deletions(-) create mode 100755 documentation/asciidoc/accessories/display/images/display-rotation.png diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index 3764bb95d..0c917c381 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -1,25 +1,25 @@ == Raspberry Pi Touch Display -The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi through the DSI connector. While the panel is connected, you can use both it, and the the normal HDMI display output at the same time. +The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display which connects to the Raspberry Pi using the DSI connector. While the panel is connected, you can use both it, and the the normal HDMI display output at the same time. -The Touch Display will function with all models of Raspberry Pi. Although, the earliest Raspberry Pi models, which lack appropriate mounting holes, require additional mounting hardware to fit the stand-offs on the display PCB. +The Touch Display will function with all models of Raspberry Pi. Although the earliest Raspberry Pi models, which lack appropriate mounting holes, require additional mounting hardware to fit the stand-offs on the display PCB. You can mount a Raspberry Pi to the back of the Touch Display using its stand-offs and then connect the appropriate cables between each device, depending on your use case. You can also mount the Touch Display in a separate chassis if you have one available. The connections remain the same, though you may need longer cables depending on the chassis you use. .A Raspberry Pi connected to the Touch Display image::images/GPIO_power-500x333.jpg[Image of Raspberry Pi connected to the Touch Display, width="70%"] -Connect one end of the ribbon cable to the `RPI-DISPLAY` port on the Touch Display PCB. The silver or gold contacts should face away from the display. Then connect the other end of the ribbon cable to the `DISPLAY` port on the Raspberry Pi. The contacts on this end should face inward, towards the Raspberry Pi. +Connect one end of the Flat Flexible Cable (FFC) to the `RPI-DISPLAY` port on the Touch Display PCB. The silver or gold contacts should face away from the display. Then connect the other end of the FFC to the `DISPLAY` port on the Raspberry Pi. The contacts on this end should face inward, towards the Raspberry Pi. -If the ribbon cable isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single colour. +If the FFC isn't fully inserted, or it's not positioned correctly, you will experience issues with the display. You should always double-check this connection when troubleshooting, especially if you don't see anything on your display, or the display is showing a single colour. === Powering the Touch Display -There are two options available to provide power to the Touch Display: using the Raspberry Pi's GPIO, or a separate micro USB power supply. We recommend using the Raspberry Pi to provide power to the Touch Display whenever possible. +We recommend using the Raspberry Pi's GPIO to provide power to the Touch Display. However, if you want to power the display directly, you can use a separate micro USB power supply to provide power. ==== Provide power through the Raspberry Pi -To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the 5V and GND pins on xref::/../../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the 5V and GND pins on the display, as shown in the following illustration. +To power the Touch Display using a Raspberry Pi, you need to connect two jumper wires between the 5V and GND pins on xref:../computers/raspberry-pi.adoc#gpio-and-the-40-pin-header[Raspberry Pi's GPIO] and the 5V and GND pins on the display, as shown in the following illustration. .The location of the display's 5V and GND pins image::images/touch-GPIO.png[Illustration of display pins, width="30%"] @@ -32,38 +32,36 @@ The other three pins on the Touch Display are used to connect the display to an NOTE: An original Raspberry Pi is easily identified compared to other models; it is the only model with a 26-pin rather than 40-pin GPIO header connector. -==== Power the Touch Display directly +==== Provide power through a micro USB power supply If you don't want to use a Raspberry Pi to provide power to the Touch Display, you can use a micro USB power supply instead. We recommend using the https://www.raspberrypi.com/products/micro-usb-power-supply/[Raspberry Pi 12.5W power supply] to make sure the display runs as intended. -Do not connect the GPIO pins on your Raspberry Pi to the display if you choose to use micro USB for power. The only connection between the two boards should be the ribbon cable. +Do not connect the GPIO pins on your Raspberry Pi to the display if you choose to use micro USB for power. The only connection between the two boards should be the Flat Flexible Cable. WARNING: If you use a micro USB cable to power the display it must be mounted inside a chassis that blocks access to the display's PCB while it's in use. -=== Screen Orientation +=== Screen orientation LCD displays have an ideal viewing angle, and it may be necessary to change the orientation of the display to find the perfect angle. If you need to physically rotate the display, or mount it in a specific position, you can use software to adjust the orientation of the screen to better match your setup. -To set the screen orientation from the desktop environment, select the **Screen Configuration** option from the **Preferences** menu. Right click on the DSI display rectangle in the layout editor, select **Orientation**, then pick the best option to fit your needs. +To set the screen orientation from the desktop environment, select **Screen Configuration** from the **Preferences** menu. Right-click on the DSI display rectangle in the layout editor, select **Orientation**, then pick the best option to fit your needs. -To set screen orientation while in console mode, you need to edit the kernel's `cmdline.txt` file to pass the required orientation to the system. +image::images/display-rotation.png[Screenshot of orientation options in screen configuration, width="80%"] + +To set screen orientation from the command line, you need to edit the kernel's `/boot/firmware/cmdline.txt` file to pass the required orientation to the system. [source ,bash] ---- sudo nano /boot/firmware/cmdline.txt ---- -To rotate the screen, add the following to the cmdline. Make sure everything is on the same line; do not add any carriage returns. Possible rotation values are 0, 90, 180 and 270. - ----- -video=DSI-1:800x480@60,rotate=90 ----- +To rotate the screen, add `video=DSI-1:800x480@60,rotate=90` to the `cmdline.txt` configuration file. Make sure everything is on the same line; do not add any carriage returns. Possible rotation values are 0, 90, 180 and 270. NOTE: In console mode it is not possible to rotate the DSI display separately from the HDMI display. If you have both attached they need to be set to the same rotation value. -=== Touchscreen Orientation +=== Touchscreen orientation -You also have the option to change the rotation of the active touchscreen area independently of the display itself by adding a `dtoverlay` instruction in `config.txt`, as in the following example: +You also have the option to change the rotation of the active touchscreen area independently of the display itself by adding a `dtoverlay` instruction in the xref:../computers/config_txt.adoc[`/boot/config.txt` file], as in the following example: ---- dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1 @@ -110,7 +108,7 @@ The options for the touchscreen are: ** Right - 70 * Power requirements: 200mA at 5V typical, at maximum brightness. -==== Mechanical Specification +==== Mechanical specification * Outer dimensions: 192.96 × 110.76mm * Viewable area: 154.08 × 85.92mm diff --git a/documentation/asciidoc/accessories/display/images/display-rotation.png b/documentation/asciidoc/accessories/display/images/display-rotation.png new file mode 100755 index 0000000000000000000000000000000000000000..81143b3adc85a387afaf958eeb5692afc8376452 GIT binary patch literal 1636345 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