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

Andrei Gherzan andrei at gherzan.com
Tue Apr 4 05:50:22 PDT 2017



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