[yocto] [meta-raspberrypi][PATCH] rpi-config: waveshare screen support

Trevor Woerner twoerner at gmail.com
Tue Apr 4 14:49:33 PDT 2017


Odd... I've been carrying this patch for a month and haven't had issues :-(

On Tue, Apr 4, 2017 at 8:50 AM, Andrei Gherzan <andrei at gherzan.com> wrote:
>
>
> On 4 April 2017 13:48:53 BST, Andrea Galbusera <gizero at gmail.com> wrote:
>>On Tue, Apr 4, 2017 at 12:17 PM, Andrei Gherzan <andrei at gherzan.com>
>>wrote:
>>
>>> Hi,
>>>
>>> On 4 April 2017 09:48:32 BST, Andrea Galbusera <gizero at gmail.com>
>>wrote:
>>> >On Fri, Mar 24, 2017 at 6:49 PM, Trevor Woerner <twoerner at gmail.com>
>>> >wrote:
>>> >
>>> >> Add support for the Waveshare 1024x600 "C" Rev2.1 7" IPS
>>Capacitive
>>> >Touch
>>> >> Screen LCD with HDMI interface:
>>> >>
>>> >>         http://www.waveshare.com/7inch-HDMI-LCD-C.htm
>>> >>         http://www.waveshare.com/wiki/7inch_HDMI_LCD_(C)
>>> >>
>>> >> This product works "out of the box" with the Raspberry Pi. Simply
>>> >connect
>>> >> the provided HDMI and USB cables between the two devices. The
>>> >touch<=>mouse
>>> >> integration works automatically.
>>> >>
>>> >> Tested with a Raspberry Pi 3, with a 32-bit raspberrypi3 build.
>>> >>
>>> >> Signed-off-by: Trevor Woerner <twoerner at gmail.com>
>>> >> ---
>>> >>  README                                  | 13 ++++++++++---
>>> >>  recipes-bsp/bootfiles/rpi-config_git.bb | 10 ++++++++++
>>> >>  2 files changed, 20 insertions(+), 3 deletions(-)
>>> >>
>>> >> diff --git a/README b/README
>>> >> index 65a1e5f..c58bc99 100644
>>> >> --- a/README
>>> >> +++ b/README
>>> >> @@ -29,7 +29,8 @@ Contents:
>>> >>      3.L. Enable SPI bus
>>> >>      3.M. Enable I2C
>>> >>      3.N. Enable PiTFT support
>>> >> -    3.O. Enable UART support
>>> >> +    3.O. Misc. display
>>> >> +    3.P. Enable UART support
>>> >>  4. Extra apps
>>> >>      4.A. omxplayer
>>> >>  5. Board Configuration
>>> >> @@ -241,9 +242,15 @@ List of currently supported models:
>>> >>      - pitft22
>>> >>      - pitft28r
>>> >>
>>> >> -3.O. Enable UART
>>> >> -===============
>>> >> +3.O. Misc. display
>>> >> +==================
>>> >> +If you would like to use the Waveshare "C" 1024×600, 7 inch
>>> >Capacitive
>>> >> Touch
>>> >> +Screen LCD, HDMI interface
>>> >(http://www.waveshare.com/7inch-HDMI-LCD-C.htm
>>> >> )
>>> >> +Rev 2.1, please set the following in your local.conf
>>> >> +WAVESHARE_1024X600_C_2.1 = "1"
>>> >>
>>> >> +3.P. Enable UART
>>> >> +===============
>>> >>  RaspberryPi 1, 2 and CM will have UART console enabled by
>>default.
>>> >>
>>> >>  RaspberryPi 3 does not have the UART enabled by default because
>>this
>>> >> needs a
>>> >> diff --git a/recipes-bsp/bootfiles/rpi-config_git.bb
>>> >> b/recipes-bsp/bootfiles/rpi-config_git.bb
>>> >> index 20ec343..8adc938 100644
>>> >> --- a/recipes-bsp/bootfiles/rpi-config_git.bb
>>> >> +++ b/recipes-bsp/bootfiles/rpi-config_git.bb
>>> >> @@ -110,6 +110,16 @@ do_deploy() {
>>> >>          echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-
>>> >> bootfiles/config.txt
>>> >>          echo "dtoverlay=vc4-kms-v3d,${VC4_CMA_SIZE}" >>
>>> >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
>>> >>      fi
>>> >> +
>>> >> +    # Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (
>>> >> http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
>>> >> +    if [ "${WAVESHARE_1024X600_C_2.1}" = "1" ]; then
>>> >> +        echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS
>>capacitive
>>> >touch
>>> >> screen" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
>>> >> +        echo "max_usb_current=1" >> ${DEPLOYDIR}/bcm2835-
>>> >> bootfiles/config.txt
>>> >> +        echo "hdmi_group=2" >>
>>> >${DEPLOYDIR}/bcm2835-bootfiles/config.txt
>>> >> +        echo "hdmi_mode=87" >>
>>> >${DEPLOYDIR}/bcm2835-bootfiles/config.txt
>>> >> +        echo "hdmi_cvt 1024 600 60 6 0 0 0" >>
>>${DEPLOYDIR}/bcm2835-
>>> >> bootfiles/config.txt
>>> >> +        echo "hdmi_drive=1" >>
>>> >${DEPLOYDIR}/bcm2835-bootfiles/config.txt
>>> >> +    fi
>>> >>  }
>>> >>
>>> >>  do_deploy_append_raspberrypi3-64() {
>>> >> --
>>> >> 2.12.0.rc1.48.g076c053
>>> >>
>>> >> --
>>> >> _______________________________________________
>>> >> yocto mailing list
>>> >> yocto at yoctoproject.org
>>> >> https://lists.yoctoproject.org/listinfo/yocto
>>> >>
>>> >
>>> >
>>> >After applying this commit the build fails with:
>>> >
>>> >ERROR: rpi-config-git-r5 do_deploy: Function failed: do_deploy (log
>>> >file is
>>> >located at
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/work/
>>> raspberrypi3-poky-linux-gnueabi/rpi-config/git-r5/
>>> temp/log.do_deploy.32154)
>>> >ERROR: Logfile of failure stored in:
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/work/
>>>
>>raspberrypi3-poky-linux-gnueabi/rpi-config/git-r5/temp/log.do_deploy.32154
>>> >Log data follows:
>>> >| DEBUG: Executing python function sstate_task_prefunc
>>> >| DEBUG: Removing manifest:
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/deploy/
>>> images/raspberrypi3/bcm2835-bootfiles/config.txt
>>> >| DEBUG: Removing manifest:
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/deploy/
>>> images/raspberrypi3/bcm2835-bootfiles/
>>> >| DEBUG: Python function sstate_task_prefunc finished
>>> >| DEBUG: Executing shell function do_deploy
>>> >|
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/work/
>>> raspberrypi3-poky-linux-gnueabi/rpi-config/git-r5/
>>> temp/run.do_deploy.32154:
>>> >192:
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/work/
>>> raspberrypi3-poky-linux-gnueabi/rpi-config/git-r5/
>>> temp/run.do_deploy.32154:
>>> >Bad substitution
>>> >| WARNING: exit code 2 from a shell command.
>>> >| ERROR: Function failed: do_deploy (log file is located at
>>>
>>>/home/gizero/work/smartliving/distro/repo-master/build-poky/tmp/work/
>>> raspberrypi3-poky-linux-gnueabi/rpi-config/git-r5/
>>> temp/log.do_deploy.32154)
>>> >ERROR: Task
>>>
>>>(/home/gizero/work/smartliving/distro/repo-master/build-poky/conf/../../
>>>
>>layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:do_deploy)
>>> >failed with exit code '1'
>>> >NOTE: Tasks Summary: Attempted 4857 tasks of which 4855 didn't need
>>to
>>> >be
>>> >rerun and 1 failed.
>>> >
>>> >Still to look at it closer... maybe related to some shell
>>configuration
>>> >on
>>> >my side?
>>>
>>> That is strange. Do you get any additional information? Can't pick
>>> anything from the posted log.
>>>
>>
>>I nailed it down to the the shell variable WAVESHARE_1024X600_C_2.1
>>that
>>the patch just introduced.
>>
>>Quoting bash manpage:
>>
>>name   A  word  consisting  only  of alphanumeric characters and under‐
>>       scores, and beginning with an alphabetic character or an  under‐
>>          score.  Also referred to as an identifier.
>>
>>Looks like a variable name cannot contain dots. Just replacing the
>>offending '.' solves the issue.
>>If you agree I can send a patch that s/./_/
>>
>>Strangely enough all may shells fail in evaluating the following
>>statement.
>>Why don't you guys see the same behavior?
>>
>>if [ "${WAVESHARE_1024X600_C_2.1}" = "1" ]; then echo "hello!"; fi
>
> Right. Good catch. Fire a patch away. Thanks.
>
> --
> Andrei Gherzan
> gpg: rsa4096/D4D94F67AD0E9640 | t: @agherzan



More information about the yocto mailing list