diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml new file mode 100644 index 0000000..213e530 --- /dev/null +++ b/.github/workflows/docs-update.yml @@ -0,0 +1,47 @@ +name: Publish Documentation + +on: + push: + # Pattern matched against refs/tags + tags: + - '**' # Push events to every tag including hierarchical tags like v1.0/beta + +permissions: + contents: write + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure Git Credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + + - uses: actions/setup-python@v5 + with: + python-version: 3.x + + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + + - uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + + - name: Setup Environments + run: | + cd docs + . work/setup.sh + + - name: Compile Documentations + run: | + cd docs + mike deploy --push --update-aliases ${GITHUB_REF_NAME} latest + mike set-default --push latest diff --git a/README.md b/README.md new file mode 100644 index 0000000..12c9843 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# HMI SDK on RZ/G series + +The best solution for starting your HMI applications. + diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..45ddf0a --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +site/ diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..4933ff9 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,57 @@ +# rzg_hmi_sdk/docs + +This is a documentation sources for [rzg_hmi_sdk](https://renesas-rz.github.io/rzg_hmi_sdk) website (github.io). + +## Prepare environment + +Python3 and pip3 are required. + +In some case you may need to make a `symlink` to pip (of python3). + +### Setup from script + +Working directory should be `rzg_hmi_sdk/docs/`. + +``` +. work/setup.sh +``` + +### Serve local server + +Working directory should be `rzg_hmi_sdk/docs/`. + +``` +. serve.sh +``` + +## Test versioning with `mike` + +Working directory should be `rzg_hmi_sdk/docs/`. + +### Deploy + +This will generate a static website into `local/gh-pages` branch. + +`dev` will be used as version. + +``` +. mike/deploy.sh +``` + +### Serve + +You must deploy first. + +``` +. mike/serve.sh +``` + +### Clean-up + +This step is not mandatory. + +After you complete checking your website, you may want to remove `local/gh-pages` branch. + +``` +. mike/remove.sh +``` diff --git a/docs/docs/_themes/announce.html b/docs/docs/_themes/announce.html new file mode 100644 index 0000000..7b74b43 --- /dev/null +++ b/docs/docs/_themes/announce.html @@ -0,0 +1,16 @@ +{% if config.extra.announcements %} +

+ {% for announce in config.extra.announcements %} + {% if config.extra.announcements_urls %} + {% for urls in config.extra.announcements_urls %} + {% for key, value in urls.items() %} + {{ announce | replace(key, "" + key + "") }} + {% endfor %} + {% endfor %} + {% else %} + {{ announce }} + {% endif %} +
+ {% endfor %} +

+{% endif %} diff --git a/docs/docs/_themes/g_translate.html b/docs/docs/_themes/g_translate.html new file mode 100644 index 0000000..966a56e --- /dev/null +++ b/docs/docs/_themes/g_translate.html @@ -0,0 +1,24 @@ +{#- + This code was originally taken from + https://stackoverflow.com/a/32020855 + by + Mousey + and may be subject to copyright. +-#} + +
+ + diff --git a/docs/docs/_themes/main.html b/docs/docs/_themes/main.html new file mode 100644 index 0000000..30e53f4 --- /dev/null +++ b/docs/docs/_themes/main.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} + +{% block extrahead %} + {% include 'g_translate.html' ignore missing %} + {{ super() }} +{% endblock %} + + +{% block announce %} + {% include 'announce.html' ignore missing %} +{% endblock %} + diff --git a/docs/docs/_themes/partials/header.html b/docs/docs/_themes/partials/header.html new file mode 100644 index 0000000..9683646 --- /dev/null +++ b/docs/docs/_themes/partials/header.html @@ -0,0 +1,101 @@ +{#- + Copyright (c) 2016-2024 Martin Donath + Copyright (c) 2024 Renesas Electronics Corporation and/or its affiliates + SPDX-License-Identifier: MIT + + This code was originally taken from + https://github.com/squidfunk/mkdocs-material/blob/master/material/templates/partials/header.html + and have sources in + https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/header.html +-#} + +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--shadow md-header--lifted" %} +{% elif "navigation.tabs" not in features %} + {% set class = class ~ " md-header--shadow" %} +{% endif %} +
+ + {% if "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} +
diff --git a/docs/docs/_themes/partials/nav-top-btn.html b/docs/docs/_themes/partials/nav-top-btn.html new file mode 100644 index 0000000..a69e50c --- /dev/null +++ b/docs/docs/_themes/partials/nav-top-btn.html @@ -0,0 +1,9 @@ +{% if config.theme.nav_top and config.theme.nav_top.btn %} +
  • + + + {{ config.theme.nav_top.btn.name }} + + +
  • +{% endif %} diff --git a/docs/docs/_themes/partials/nav-top.html b/docs/docs/_themes/partials/nav-top.html new file mode 100644 index 0000000..fd70254 --- /dev/null +++ b/docs/docs/_themes/partials/nav-top.html @@ -0,0 +1,33 @@ +{% if config.theme.logo %} + {% set class = "md-nav-top-title" %} +{% else %} + {% set class = "md-nav-top-title md-nav-top-no-icon" %} +{% endif %} +
    + + {{ config.site_name }} + + + {{ config.site_name }} + + {% if config.site_description %} +

    + {{ config.site_description }} +

    + {% endif %} +
    + {% if config.theme.nav_top %} + {% for logo in config.theme.nav_top.logos %} + + {% endfor %} + {% endif %} + {% if config.theme.nav_top and config.theme.nav_top.btn %} +

    + + {{ config.theme.nav_top.btn.name }} + +

    + {% endif %} +
    +
    +
    diff --git a/docs/docs/_themes/partials/nav.html b/docs/docs/_themes/partials/nav.html new file mode 100644 index 0000000..33a6dc1 --- /dev/null +++ b/docs/docs/_themes/partials/nav.html @@ -0,0 +1,48 @@ +{#- + Copyright (c) 2016-2024 Martin Donath + Copyright (c) 2024 Renesas Electronics Corporation and/or its affiliates + SPDX-License-Identifier: MIT + + This code was originally taken from + https://github.com/squidfunk/mkdocs-material/blob/master/material/templates/partials/nav.html + and have sources in + https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/nav.html +-#} + +{% import "partials/nav-item.html" as item with context %} +{% set class = "md-nav md-nav--primary" %} +{% if "navigation.tabs" in features %} + {% set class = class ~ " md-nav--lifted" %} +{% endif %} +{% if "toc.integrate" in features %} + {% set class = class ~ " md-nav--integrated" %} +{% endif %} + diff --git a/docs/docs/_themes/partials/source.html b/docs/docs/_themes/partials/source.html new file mode 100644 index 0000000..29664ae --- /dev/null +++ b/docs/docs/_themes/partials/source.html @@ -0,0 +1,20 @@ +{#- + Copyright (c) 2016-2024 Martin Donath + Copyright (c) 2024 Renesas Electronics Corporation and/or its affiliates + SPDX-License-Identifier: MIT + + This code was originally taken from + https://github.com/squidfunk/mkdocs-material/blob/master/material/templates/partials/source.html + and have sources in + https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/source.html +-#} + + +
    + {% set icon = config.theme.icon.repo or "fontawesome/brands/git-alt" %} + {% include ".icons/" ~ icon ~ ".svg" %} +
    +
    + {{ config.repo_name }} +
    +
    diff --git a/docs/docs/assets/icons/6723.T.png b/docs/docs/assets/icons/6723.T.png new file mode 100644 index 0000000..808a450 Binary files /dev/null and b/docs/docs/assets/icons/6723.T.png differ diff --git a/docs/docs/assets/icons/ai_sdk.svg b/docs/docs/assets/icons/ai_sdk.svg new file mode 100644 index 0000000..acd4947 --- /dev/null +++ b/docs/docs/assets/icons/ai_sdk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/assets/icons/board.svg b/docs/docs/assets/icons/board.svg new file mode 100644 index 0000000..6fe7475 --- /dev/null +++ b/docs/docs/assets/icons/board.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/assets/images/banner-01.svg b/docs/docs/assets/images/banner-01.svg new file mode 100644 index 0000000..721b67f --- /dev/null +++ b/docs/docs/assets/images/banner-01.svg @@ -0,0 +1 @@ +Run Demo ApplicationWrite the SD card imageSample \ No newline at end of file diff --git a/docs/docs/assets/images/banner-02.svg b/docs/docs/assets/images/banner-02.svg new file mode 100644 index 0000000..0a825fe --- /dev/null +++ b/docs/docs/assets/images/banner-02.svg @@ -0,0 +1 @@ +Application exec file write to SD cardSampleCross CompileApplicationInstall cross compilerModify and Deploy Application \ No newline at end of file diff --git a/docs/docs/assets/images/banner-03.svg b/docs/docs/assets/images/banner-03.svg new file mode 100644 index 0000000..8453f9a --- /dev/null +++ b/docs/docs/assets/images/banner-03.svg @@ -0,0 +1 @@ +Built binary write to SD cardBitbakeSource CodeUser boardDevelop to Your System \ No newline at end of file diff --git a/docs/docs/assets/javascripts/tablesort.js b/docs/docs/assets/javascripts/tablesort.js new file mode 100644 index 0000000..7fac435 --- /dev/null +++ b/docs/docs/assets/javascripts/tablesort.js @@ -0,0 +1,22 @@ +document$.subscribe(function() { + var tables = document.querySelectorAll("article table:not([class])") + tables.forEach(function(table) { + // remove p from thead > tr > th + var thead = table.getElementsByTagName('thead'); + var p = thead[0].getElementsByTagName('p'); + while(p[0]) + p[0].parentNode.innerHTML = p[0].innerHTML; + + if (table.closest('.table-no-sort')) { + // no sorting for this + } else { + new Tablesort(table) + } + }) + + // back btn @ download page + if (window.location.href.indexOf("?src=getting_started") > -1) { + var btn = document.getElementById("back_to_getting_started_btn"); + btn.style.display = "block"; + } +}) diff --git a/docs/docs/assets/stylesheets/extra.css b/docs/docs/assets/stylesheets/extra.css new file mode 100644 index 0000000..02347ca --- /dev/null +++ b/docs/docs/assets/stylesheets/extra.css @@ -0,0 +1,757 @@ +:root { + /* https://www.color-blindness.com/color-name-hue/ */ + /* renesas primary colors */ + --renesas-primary-color-fg-blue: rgb(42, 40, 157); /* #282a9d Cerulean Blue */ + --renesas-primary-color-fg-grey: rgb(112, 111, 111); /* #706f6f Dim Gray */ + + --renesas-primary-color-bg-blue: rgba(42, 40, 157, 0.1); + --renesas-primary-color-bg-grey: rgba(112, 111, 111, 0.1); + + --renesas-primary-color-bg-blue--softer: rgba(42, 40, 157, 0.075); + + /* renesas secondary colors */ + --renesas-secondary-color-fg-grey: rgb(124, 144, 156); /* #7c909c Light Slate Grey */ + --renesas-secondary-color-fg-violet-purple: rgb(97, 94, 142); /* #615e8e Kimberly */ + --renesas-secondary-color-fg-blue: rgb(67, 171, 226); /* #43abe2 Summer Sky */ + --renesas-secondary-color-fg-blue-teal: rgb(96, 169, 180); /* #60a9b4 Fountain Blue */ + --renesas-secondary-color-fg-blue-sky: rgb(48, 102, 131); /* #306683 Astral */ + --renesas-secondary-color-fg-yellow: rgb(223, 177, 24); /* #dfb118 Sunflower */ + --renesas-secondary-color-fg-red-orange: rgb(235, 98, 9); /* #eb6209 Persimmon */ + --renesas-secondary-color-fg-red: rgb(183, 25, 33); /* #b71921 Fire Brick */ + --renesas-secondary-color-fg-violet: rgb(136, 61, 144); /* #883d90 Vivid Violet */ + --renesas-secondary-color-fg-green: rgb(96, 154, 59); /* #609a3b Apple */ + --renesas-secondary-color-fg-green-shade: rgb(117, 136, 89); /* #758859 Highland */ + --renesas-secondary-color-fg-black: rgb(0, 0, 0); /* #000000 Black */ + + --renesas-secondary-color-bg-grey: rgba(124, 144, 156, 0.1); + --renesas-secondary-color-bg-violet-purple: rgba(97, 94, 142, 0.1); + --renesas-secondary-color-bg-blue: rgba(67, 171, 226, 0.1); + --renesas-secondary-color-bg-blue-teal: rgba(96, 169, 180, 0.1); + --renesas-secondary-color-bg-blue-sky: rgba(48, 102, 131, 0.1); + --renesas-secondary-color-bg-yellow: rgba(223, 177, 24, 0.1); + --renesas-secondary-color-bg-red-orange: rgba(235, 98, 9, 0.1); + --renesas-secondary-color-bg-red: rgba(183, 25, 33, 0.1); + --renesas-secondary-color-bg-violet: rgba(136, 61, 144, 0.1); + --renesas-secondary-color-bg-green: rgba(96, 154, 59, 0.1); + --renesas-secondary-color-bg-green-shade: rgba(117, 136, 89, 0.1); + --renesas-secondary-color-bg-black: rgba(0, 0, 0, 0.1); + + /* https://www.colorhexa.com/282a9d */ + /* material for mkdocs - primary color */ + --md-primary-fg-color: var(--renesas-primary-color-fg-blue); + --md-primary-fg-color--light: #4543cf; + --md-primary-fg-color--dark: #1a1860; + + /* target_blank icon */ + --md-target_blank-icon: url('data:image/svg+xml;charset=utf-8,') +} + +/* admonitions */ +/* =========== */ + +.md-typeset .admonition, +.md-typeset details { + border: none !important; + background-color: var(--renesas-primary-color-bg-blue) !important; + position: relative !important; + top: 0.1rem !important; + left: 0.1rem !important; +} + +.md-typeset .admonition:not(:has(.admonition-title)) { + top: 0 !important; + left: 0 !important; +} + +.md-typeset .admonition-title, +.md-typeset summary { + background-color: var(--renesas-primary-color-fg-blue) !important; + display: inline-block !important; + color: white !important; + padding: 0.1rem 0.3rem !important; + border-radius: 0.1rem !important; + position: relative !important; + top: -0.1rem !important; + left: -0.1rem !important; +} + +.md-typeset .admonition-title::before, +.md-typeset summary::before { + display: none !important; +} + +.md-typeset .admonition.abstract, +.md-typeset details.abstract { + background-color: var(--renesas-secondary-color-bg-blue) !important; +} + +.md-typeset .abstract > .admonition-title, +.md-typeset .abstract > summary { + background-color: var(--renesas-secondary-color-fg-blue) !important; +} + +.md-typeset .admonition.info, +.md-typeset details.info { + background-color: var(--renesas-secondary-color-bg-blue-sky) !important; +} + +.md-typeset .info > .admonition-title, +.md-typeset .info > summary { + background-color: var(--renesas-secondary-color-fg-blue-sky) !important; +} + +.md-typeset .admonition.tip, +.md-typeset details.tip { + background-color: var(--renesas-secondary-color-bg-blue-teal) !important; +} + +.md-typeset .tip > .admonition-title, +.md-typeset .tip > summary { + background-color: var(--renesas-secondary-color-fg-blue-teal) !important; +} + +.md-typeset .admonition.success, +.md-typeset details.success { + background-color: var(--renesas-secondary-color-bg-green) !important; +} + +.md-typeset .success > .admonition-title, +.md-typeset .success > summary { + background-color: var(--renesas-secondary-color-fg-green) !important; +} + +.md-typeset .admonition.question, +.md-typeset details.question { + background-color: var(--renesas-secondary-color-bg-green-shade) !important; +} + +.md-typeset .question > .admonition-title, +.md-typeset .question > summary { + background-color: var(--renesas-secondary-color-fg-green-shade) !important; +} + +.md-typeset .admonition.warning, +.md-typeset details.warning { + background-color: var(--renesas-secondary-color-bg-yellow) !important; +} + +.md-typeset .warning > .admonition-title, +.md-typeset .warning > summary { + background-color: var(--renesas-secondary-color-fg-yellow) !important; +} + +.md-typeset .admonition.failure, +.md-typeset details.failure { + background-color: var(--renesas-secondary-color-bg-red-orange) !important; +} + +.md-typeset .failure > .admonition-title, +.md-typeset .failure > summary { + background-color: var(--renesas-secondary-color-fg-red-orange) !important; +} + +.md-typeset .admonition.danger, +.md-typeset details.danger { + background-color: var(--renesas-secondary-color-bg-red) !important; +} + +.md-typeset .danger > .admonition-title, +.md-typeset .danger > summary { + background-color: var(--renesas-secondary-color-fg-red) !important; +} + +.md-typeset .admonition.bug, +.md-typeset details.bug { + background-color: var(--renesas-secondary-color-bg-violet) !important; +} + +.md-typeset .bug > .admonition-title, +.md-typeset .bug > summary { + background-color: var(--renesas-secondary-color-fg-violet) !important; +} + +.md-typeset .admonition.example, +.md-typeset details.example { + background-color: var(--renesas-secondary-color-bg-violet-purple) !important; +} + +.md-typeset .example > .admonition-title, +.md-typeset .example > summary { + background-color: var(--renesas-secondary-color-fg-violet-purple) !important; +} + +.md-typeset .admonition.quote, +.md-typeset details.quote { + background-color: var(--renesas-secondary-color-bg-grey) !important; +} + +.md-typeset .quote > .admonition-title, +.md-typeset .quote > summary { + background-color: var(--renesas-secondary-color-fg-grey) !important; +} + +/* tables */ +/* ====== */ + +.md-typeset__table { + table { + /* border: 0.025rem solid !important; */ + /* border-color: var(--renesas-primary-color-fg-grey) !important; */ + border-collapse: separate; + border-radius: 0.5rem !important; + border-spacing: 0; + } + + thead { + display: table-header-group; + vertical-align: middle; + border-color: inherit; + border-collapse: separate; + background-color: var(--renesas-primary-color-fg-blue); + color: white !important; + } + + tr { + display: table-row; + vertical-align: inherit; + border-color: var(--renesas-primary-color-fg-grey) !important; + border: 0 !important; + /* background-color: var(--renesas-primary-color-bg-blue--softer); */ + } + + th, + td { + vertical-align: top; + padding: .5375em 0.75em !important; + } + + th { + text-align: center !important; + /* border: 0.025rem solid !important; */ + border-color: var(--renesas-primary-color-fg-grey) !important; + } + + th::after { + background-color: white !important; + opacity: 1; + } + + th:hover:after, + th[aria-sort=ascending]:hover:after, + th[aria-sort=descending]:hover:after { + background-color: var(--renesas-secondary-color-fg-yellow) !important; + } + + th[aria-sort=ascending]:after, + th[aria-sort=descending]:after { + background-color: var(--renesas-secondary-color-fg-red-orange) !important; + } + + th > code { + background-color: var(--md-primary-fg-color--light); + color: white; + } + + td { + /* border: 0.025rem solid !important; */ + /* border-color: var(--renesas-primary-color-fg-grey) !important; */ + vertical-align: middle !important; + } +} + +/* admonitions used as content-wrapper, and its extension (sub) class */ +/* ================================================================== */ + +.md-typeset .content-wrapper > .admonition-title, +.md-typeset .content-wrapper > summary, +.md-typeset .content-wrapper > .admonition-title::before, +.md-typeset .content-wrapper > summary::before { + display: none !important; +} + +.md-typeset .admonition.content-wrapper, +.md-typeset details.content-wrapper { + top: 0 !important; + left: 0 !important; + margin: 0; + border: none; + box-shadow: none; + background-color: transparent !important; + + & > .md-typeset__scrollwrap { + margin-top: 0; + margin-bottom: 0; + } + + li { + line-height: .76rem; + color: var(--md-default-fg-color--light); + font-size: .64rem; + margin-left: 0.6em; + } + + li:target, + li:has(p:target) { + color: var(--md-default-fg-color); + } + + [id^="tfref:"]:target > a { + outline: auto; + } + + a { + outline-offset: .1rem; + } + + .tf-backref { + color: var(--md-typeset-a-color); + display: inline-block; + font-size: 0; + opacity: 0; + transform: translateX(.25rem); + transition: color .25s, transform .25s .25s, opacity 125ms .25s; + vertical-align: text-bottom; + } + + .tf-backref::before { + background-color: currentcolor; + content: ""; + display: inline-block; + height: .6rem; + -webkit-mask-image: var(--md-footnotes-icon); + mask-image: var(--md-footnotes-icon); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + width: .8rem; + position: absolute; + } + + .tf-backref:hover { + color: var(--md-accent-fg-color); + } + + li:has(.tf-backref):hover, + li:target, + li:has(p:target) { + .tf-backref { + opacity: 1; + transform: translateX(0); + } + } +} + +.no-indent { + padding: 0 !important; +} + +.table-no-sort { + /* nothing */ +} + +.table-no-hover { + tr:hover { + background-color: transparent !important; + } +} + +.tabbed-block > .admonition.content-wrapper:first-child { + margin-top: 0.6rem; +} + +/* headings */ +/* ======== */ + +.md-typeset h1 { + background-color: var(--renesas-primary-color-fg-blue); + color: white !important; + font-style: italic; + font-weight: 500 !important; + padding: 0.6rem; + border-radius: 0.2rem; +} + +.md-typeset h1 > .headerlink { + color: var(--renesas-secondary-color-fg-yellow) !important; +} + +.md-typeset h1 > .headerlink:focus, +.md-typeset h1 > .headerlink:hover, +.md-typeset h1:target>.headerlink { + color: var(--renesas-secondary-color-fg-red-orange) !important; +} + +.md-typeset h1 > code { + background-color: var(--md-primary-fg-color--light); + color: white; + font-style: normal; +} + +.md-typeset h2 { + border-bottom-width: 0.1em; + border-bottom-style: solid; + border-bottom-color: var(--renesas-primary-color-fg-blue); +} + +.md-typeset h3 { + border-bottom-width: 0.05em; + border-bottom-style: solid; + border-bottom-color: var(--renesas-primary-color-fg-grey); +} + +.md-typeset h4 .headerlink, +.md-typeset h5 .headerlink, +.md-typeset h6 .headerlink { + display: none !important; + opacity: 0 !important; + } +} + +/* buttons */ +/* ======= */ + +.md-button--primary { + background-color: var(--renesas-primary-color-fg-blue) !important; + border-color: var(--renesas-primary-color-fg-blue) !important; +} + +.md-button--primary:hover { + background-color: var(--renesas-primary-color-bg-blue) !important; + border-color: var(--renesas-primary-color-bg-blue) !important; + color: black !important; +} + +.btn-grey { + background-color: var(--renesas-primary-color-fg-grey) !important; + border-color: var(--renesas-primary-color-fg-grey) !important; +} + +.btn-grey:hover { + background-color: var(--renesas-primary-color-bg-grey) !important; + border-color: var(--renesas-primary-color-bg-grey) !important; +} + +.btn-yellow { + background-color: var(--renesas-secondary-color-fg-yellow) !important; + border-color: var(--renesas-secondary-color-fg-yellow) !important; + color: var(--renesas-secondary-color-fg-black) !important; +} + +.btn-yellow:hover { + background-color: var(--renesas-secondary-color-bg-yellow) !important; + border-color: var(--renesas-secondary-color-bg-yellow) !important; +} + +.btn-round { + border-radius: 50rem !important; +} + +p:has(.btn-right) { + display: flex; + justify-content: end; +} + +.btn-right { + margin: 0.1em; +} + +.btn-subtext { + font-size: 0.55rem !important; + font-weight: normal; +} + +.md-button { + text-align: center; +} + +.btn-indent { + margin-left: 0.6rem; +} + +.btn-small { + font-size: 0.55rem !important; +} + +#back_to_getting_started_btn { + display: none; +} + +/* navigations right top */ +/* ===================== */ + +.md-nav-top-title { + display: block; +} + +.md-nav-top-subtitle { + display: none; + font-weight: normal; +} + +.md-nav-top-logos { + display: none; + text-align: center; + + img { + margin: auto; + width: 4rem; + height: 4rem; + object-fit: contain; + } +} + +#md-nav-top-btn { + display: block; +} + +@media screen and (min-width:76.25em) { + #md-nav-top-home:hover { + color: var(--md-default-fg-color); + } + + #md-nav-top-home { + display: none; + } + + #md-nav-top-home + span { + display: block: + } + + .md-nav-top-subtitle, + .md-nav-top-logos { + display: block; + } + + #md-nav-top-btn { + display: none; + } +} + +@media screen and (max-width:76.25em) { + .md-nav__title:has(.md-nav-top-no-icon) { + height: 0.625em; + } + + .md-nav-top-no-icon { + margin-top: -3.1em; + } + + .md-nav-top-no-icon > #md-nav-top-home { + display: block; + left: .2rem; + margin: .2rem; + padding: 0 .4rem; + position: absolute; + right: .2rem; + top: .2rem; + font-size: large; + } + + #md-nav-top-home + span { + display: none; + } +} + +/* paragraphs, images, etc. */ +/* ======================== */ + +.center { + text-align: center; +} + +.right { + text-align: right; +} + +.small { + font-size: .6rem !important; +} + +/* main page subtitles */ +/* =================== */ + +.subtitle { + font-size: 22pt; + font-style: italic; + line-height: 24pt; +} + +.sub-subtitle { + font-size: 14pt; + font-style: italic; + line-height: 16pt; +} + +/* announcements */ +/* ============= */ + +.md-banner a { + color: var(--renesas-secondary-color-fg-red-orange); +} + +.md-banner:not(:has(p)) { + height: 0; +} + +/* links */ +/* ===== */ + +a[target=_blank]::after { + background-color: currentcolor; + content: ""; + display: inline-block; + height: .6rem; + -webkit-mask-image: var(--md-target_blank-icon); + mask-image: var(--md-target_blank-icon); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + width: .8rem; + position: absolute; + opacity: 0; + transition: .3s; +} + +a[target=_blank]:has(img)::after { + top: 0; + right: -0.4rem; +} + +a[target=_blank].md-nav__button::after { + top: 0.1rem; + right: 0.1rem; +} + +a[target=_blank]:hover:after { + opacity: 1; +} + +.md-content a[target=_blank] { + margin-right: 0; + transition: margin-right 0.3s; +} + +.md-content a[target=_blank]:hover { + margin-right: 0.75rem; + transition: margin-right 0.3s; +} + +/* headers */ +/* ======= */ + +a.md-source[target=_blank]::after { + margin-top: 0.375em; +} + +.header-link > a { + opacity: 1; + transition: opacity .25s; +} + +.header-link > a:hover { + opacity: .7; +} + +.header-link-no-icon { + margin-left: -0.4em; +} + +/* videos */ +/* ====== */ + +.video-container { + padding-top: .5em; +} + +.video-container iframe { + aspect-ratio: 4/3; + height: auto !important; +} + +/* images */ +/* ====== */ + +.zoom { + background-color: white; + transition: transform .3s, z-index 0s; + z-index: 0 !important; + position: relative; +} + +.zoom:hover { + transform: scale(1.5); + outline: 0.03rem solid; + outline-color: var(--renesas-secondary-color-fg-blue-sky); + border-radius: 0.13em; + outline-offset: 0.33em; + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); + z-index: 1 !important; +} + +#banner-left:hover { + transform: scale(1.5) translateX(1.7rem); +} + +#banner-right:hover { + transform: scale(1.5) translateX(-2.1rem); +} + +/* code blocks */ +/* =========== */ + +p.dollar + .language-bash code>span::before { + content: "$ "; +} + +p.diamond + .language-bash code>span::before { + content: "> "; +} + +p.hash + .language-bash code>span::before { + content: "# "; +} + +/* switch-icons */ +/* ============ */ + +.switch-icon { + height: 5.6em !important; + width: 5.6em; + object-fit: contain; + border: 0.03em solid var(--md-typeset-table-color); + border-radius: 0.5em; + background-color: var(--renesas-secondary-color-bg-green-shade); + margin: 0 !important; +} + +.switch-icon:hover { + background: radial-gradient(white, var(--renesas-secondary-color-fg-green-shade)); +} + +.green { + background-color: var(--renesas-secondary-color-bg-green); +} + +.green:hover { + background-color: var(--renesas-secondary-color-fg-green); +} + +.red { + background-color: var(--renesas-secondary-color-bg-red); +} + +.red:hover { + background-color: var(--renesas-secondary-color-fg-red); +} + +.green:hover, +.red:hover { + font-weight: bold; + color: white; +} diff --git a/docs/docs/demo/_components/__front_matter.md b/docs/docs/demo/_components/__front_matter.md new file mode 100644 index 0000000..018fbc4 --- /dev/null +++ b/docs/docs/demo/_components/__front_matter.md @@ -0,0 +1,7 @@ +## Demo + +HMI SDK provides an HMI demo named [rz_benchmark_demo](https://github.com/renesas-rz/rz_benchmark_demo){: target=_blank }. + +It was implemented using [LVGL](https://lvgl.io/){: target=_blank }, and you can run some benchmarks on the demo. + +To set up the environment for the demo, see [Getting Started](getting_started/index.md). diff --git a/docs/docs/download/_components/rz-g2l-evk.md b/docs/docs/download/_components/rz-g2l-evk.md new file mode 100644 index 0000000..4fc2f57 --- /dev/null +++ b/docs/docs/download/_components/rz-g2l-evk.md @@ -0,0 +1,10 @@ +## RZ/G2L Evaluation Board Kit (EVK) + +!!! content-wrapper no-indent "" + ![](images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg){ align=left width=220 style=max-width:35%; } + + [:material-developer-board: Get RZ/G2L EVK](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/rzg2l-evkit-evaluation-board-kit-rzg2l-mpu){ .md-button .md-button--primary .btn-yellow .btn-round target=_blank } + + [:octicons-download-16: Get HMI SDK](https://www.renesas.com/document/sws/rzg-hmi-software-development-kit-version-100){ .md-button .btn-round target=_blank } + + [:material-file-code: Get HMI SDK source code](https://www.renesas.com/document/sws/rzg-hmi-sdk-version-100-source-code){ .md-button .btn-round target=_blank } diff --git a/docs/docs/download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg b/docs/docs/download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg new file mode 100644 index 0000000..f2cc4d8 Binary files /dev/null and b/docs/docs/download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg differ diff --git a/docs/docs/download/index.md b/docs/docs/download/index.md new file mode 100644 index 0000000..26cdce1 --- /dev/null +++ b/docs/docs/download/index.md @@ -0,0 +1,11 @@ +--- +hide: + - navigation + - toc +--- + +# Board and Software + +{! download/_components/rz-g2l-evk.md !} + +[Back to Home >](../index.md){ .md-button .md-button--primary .btn-right } [Back to Getting Started >](../getting_started/index.md#step-1-obtain-an-evaluation-board){ .md-button .btn-right #back_to_getting_started_btn } diff --git a/docs/docs/faq/index.md b/docs/docs/faq/index.md new file mode 100644 index 0000000..24f0a4f --- /dev/null +++ b/docs/docs/faq/index.md @@ -0,0 +1,17 @@ +# FAQ + +Please check Renesas よくあるご質問 (FAQ) | Knowledge Base (FAQ's) | 知识库 website. + +* [[JP] RZ/G](https://ja-support.renesas.com/knowledgeBase/category/31247/subcategory/31249){: target="_blank" } +* [[EN] RZ/G](https://en-support.renesas.com/knowledgeBase/category/31243/subcategory/31245){: target="_blank" } +* [[CN] RZ/G](https://zh-support.renesas.com/knowledgeBase/category/31420/subcategory/31421){: target="_blank" } + +And Renesas Engineering Community website. + +* [[JP] RZ MPU](https://community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rz/){: target="_blank" } +* [[EN] Microprocessors (RZ)](https://community.renesas.com/rz/){: target="_blank" } +* [[CN] RZ MPU](https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/rz-mpu/){: target="_blank" } + +Also check our Wiki's: [RZ/G](https://jira-gasg.renesas.eu/confluence/pages/viewpage.action?pageId=184060061){: target="_blank" }. + +If you could not found an appropriate answer for your case, please do not be hesitate to raise an issue at our Repository [Issues](https://github.com/renesas-rz/rzg_hmi_sdk/issues){: target="_blank" }. diff --git a/docs/docs/getting_started/_components/__front_matter.md b/docs/docs/getting_started/_components/__front_matter.md new file mode 100644 index 0000000..2d522f8 --- /dev/null +++ b/docs/docs/getting_started/_components/__front_matter.md @@ -0,0 +1,7 @@ +## Getting Started + +*Getting Started* is a complete guide to learn **how to run HMI Applications**, +which explains the procedure for setting up the development environment, +compiling HMI Applications, setting up the board and running HMI Applications. + +Get your target board now and [GET STARTED](getting_started/index.md). diff --git a/docs/docs/getting_started/_components/introduction.md b/docs/docs/getting_started/_components/introduction.md new file mode 100644 index 0000000..a27ab8d --- /dev/null +++ b/docs/docs/getting_started/_components/introduction.md @@ -0,0 +1,5 @@ +## Introduction + +Getting Started explains the instruction to run HMI Applications. + +Common instructions are explained in this document. diff --git a/docs/docs/getting_started/_components/step_01.md b/docs/docs/getting_started/_components/step_01.md new file mode 100644 index 0000000..560cf4f --- /dev/null +++ b/docs/docs/getting_started/_components/step_01.md @@ -0,0 +1,20 @@ +## Step 1: Obtain an evaluation board + +Click the button below to get the board. + +[Board and Software
    Get the board and software for RZ/G series.](../download/index.md?src=getting_started){ .md-button .md-button--primary .btn-indent } + +=== "RZ/G2L" + +![](../download/images/rtk9744l23s01000be-rzg2l-evaluation-board-kit_0.jpg){ align=right width=220 style=max-width:35%; } + +The RZ/G2L Evaluation Board Kit (EVK) is the ideal board kit for RZ/G2L evaluation. + +Following items are included in the RZ/G2L Evaluation Board Kit. + +!!! content-wrapper no-indent "" + + | Equipment | Details | + | ------------------------- | -------------------------------------------------- | + | RZ/G2L Evaluation Board | Evaluation board itself. | + | Micro USB to Serial Cable | For serial communication between PC and the board. | diff --git a/docs/docs/getting_started/_components/step_02.md b/docs/docs/getting_started/_components/step_02.md new file mode 100644 index 0000000..9c6e3b3 --- /dev/null +++ b/docs/docs/getting_started/_components/step_02.md @@ -0,0 +1,78 @@ +## Step 2: Obtain necessary environment + +### 1. Necessary Equipment + +Please prepare the following equipment for your EVK. + +=== "RZ/G2L" + + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | Equipment | Purpose | Remarks | + +=======================================================+===================================================================+==================================================================+ + | RZ/G2L Module Board (SMARC2.1) + Common Carrier Board | It is used to evaluate not only Linux but also demo programs or | Included with RZ/G2L Evaluation Board Kit (EVK). | + | | applications that run on Linux in the Linux operating environment | | + | (P/N: RTK9744L23S01000BE) | provided by HMI SDK. | | + | | | | + | | * 4GB or more ROM (SPI or eMMC or SD) | | + | | * 2GB or more RAM (DDR4/DDR3L 16bit x 1.6/1.3Gbps) | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | USB serial cable | It is used to connect the PC and the EVK and get the console | Included with RZ/G2L Evaluation Board Kit (EVK). | + | | output of Linux running on the EVK. | | + | | | | + | | * Connect to micro USB type-B (2.0) port of EVK | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | USB Power Delivery (PD) AC adapter + USB C PD cable | Use for power supply. |   | + | for power supply | | | + | | * Connect to USB type-C port of EVK | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | PC | It can be used to operate the demo environment from a terminal | The OS of the PC is as follows. However, Windows PCs are for | + | | on a PC, rebuild HMI SDK Linux, or use it as a development device | debugging using a serial connection and cannot be used for | + | | for applications. | development such as building software. | + | | | | + | | * At least 100GB or more free space of HDD/SDD | * Ubuntu 20.04 LTS, 64-bit version | + | | * 8GB or more RAM | * Windows 10 or 11 | + | | * 4-core or more CPU | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | HDMI display monitor + HDMI cable | Used to display demo programs or applications provided by HMI | If you need a touch panel function, you need a panel that | + | | SDK. | supports USB connection. | + | | | | + | | * Connect to micro HDMI port of EVK | The HMI SDK supports the display of resolutions supported by the | + | | | Extended Display Identification Data (EDID) information obtained | + | | | from this HDMI display monitor. | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | USB mouse | Used to operate demo programs and applications provided by |   | + | | HMI SDK. | | + | | | | + | | * USB HID Compliant | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | USB hub | Used when multiple USB devices are required for the demo |   | + | | program or applications provided by HMI SDK. | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | USB keyboard | Used to operate demo programs and applications provided by |   | + | | HMI SDK. | | + | | | | + | | * USB HID Compliant | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | USB touch screen | Used to operate demo programs and applications provided by |   | + | | HMI SDK. | | + | | | | + | | * USB HID Compliant | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | Audio speaker | Used to evaluate the audio output demo programs or applications |   | + | | provided by HMI SDK. | | + | | | | + | | * 3.5mm mini plug connector required | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + | micro SD card | Linux and demo images provided by the HMI SDK are written and | Linux on the RZ/G2L EVK is booted from a micro SD card by eSD | + | | used as a Linux boot device. | boot. | + | | | | + | | * Type: SDHC | | + | | * Speed class: UHI-Class 10 | | + | | * Capacity: Minimum 4GB, recommended 8GB | | + +-------------------------------------------------------+-------------------------------------------------------------------+------------------------------------------------------------------+ + +### 2. Necessary Software + +Please install following software **on Linux PC**. + +* git diff --git a/docs/docs/getting_started/_components/step_03.md b/docs/docs/getting_started/_components/step_03.md new file mode 100644 index 0000000..1b53bd2 --- /dev/null +++ b/docs/docs/getting_started/_components/step_03.md @@ -0,0 +1,9 @@ +## Step 3: Obtain RZ/G HMI SDK + +Please download from [Renesas.com](https://www.renesas.com/){: target=_blank } website. + +[:octicons-download-16: Get HMI SDK](https://www.renesas.com/document/sws/rzg-hmi-software-development-kit-version-100){ .md-button .btn-round target=_blank } + +[:material-file-code: Get HMI SDK source code](https://www.renesas.com/document/sws/rzg-hmi-sdk-version-100-source-code){ .md-button .btn-round target=_blank } + +Once downloaded, please check the Release Note included inside package. diff --git a/docs/docs/getting_started/_components/step_04.md b/docs/docs/getting_started/_components/step_04.md new file mode 100644 index 0000000..b941ac5 --- /dev/null +++ b/docs/docs/getting_started/_components/step_04.md @@ -0,0 +1,100 @@ +## Step 4: Prepare HMI SDK SD card image for demo + +Prebuilt binary are prepared as `#!bash wic` image. + +=== "RZ/G2L" + + `#!bash wic` image is available inside `#!bash image-file_rzg2l_hmi-sdk_v1.0.zip`. + +### 1. In case of Windows PC + +1. Download or copy the release package into your PC +2. Unzip the release package and extract an image file +3. Write the image file to your micro SD card by using one of the following tool + * [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/){: target=_blank } + * [balenaEtcher](https://etcher.balena.io/){: target=_blank } + + === "RZ/G2L" + + Image file is: + + * `#!bash core-image-weston-smarc-rzg2l.wic.gz` + + !!! danger "Caution" + Even if you see a message such as `#!bash you need to format the disk` before/after writing the image, do not format the SD card. + +### 2. In case of Linux PC (Ubuntu) + +1. Download or copy the release package into your PC +2. Unzip the release package and extract an image file +3. Insert the micro SD Card into your Linux PC and find the device name of the SD card + + Use `#!bash lsblk` command to check the device name as follows. + + * Before inserting the SD card + + ```bash + lsblk + ``` + {: .dollar } + + ```bash + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT + (snip) + nvme0n1 259:0 0 465.8G 0 disk + ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi + └─nvme0n1p2 259:2 0 465.3G 0 part / + ``` + + * After inserting the SD card + + ```bash + lsblk + ``` + {: .dollar } + + ```bash + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT + (snip) + nvme0n1 259:0 0 465.8G 0 disk + ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi + └─nvme0n1p2 259:2 0 465.3G 0 part / + sda 8:0 1 14.5G 0 disk + ├─sda1 8:1 1 500M 0 part /media/user/boot + └─sda2 8:2 1 3.4G 0 part /media/user/rootfs + ``` + + !!! note + The device name is assigned to the SD card by Linux on your Host PC. + It may be named `#!bash /dev/sd*` (`#!bash *` is a letter representing + the physical drive). It is `#!bash /dev/sda` in this sample. + +4. Unmount the SD card if it is mounted + + Use `#!bash umount` command with mount points that are displayed when you executed `#!bash lsblk` command. For example: + + ```bash + umount /media/user/boot + umount /media/user/rootfs + ``` + {: .dollar } + +5. Write the image to the SD card + + Use `#!bash bmaptool` command with device name of SD card is displayed when you executed `#!bash lsblk` command. For example: + + ```bash + sudo bmaptool copy .wic.gz /dev/sda + ``` + {: .dollar } + + === "RZ/G2L" + + Image file is: + + * `#!bash core-image-weston-smarc-rzg2l.wic.gz` + + !!! note + Additionally, the files below are also required: + + * `#!bash core-image-weston-smarc-rzg2l.wic.bmap` diff --git a/docs/docs/getting_started/_components/step_05.md b/docs/docs/getting_started/_components/step_05.md new file mode 100644 index 0000000..eda4530 --- /dev/null +++ b/docs/docs/getting_started/_components/step_05.md @@ -0,0 +1,46 @@ +## Step 5: Run HMI SDK demo + +### 1. Setup EVK's peripheral + +Please setup following below diagram. + +=== "RZ/G2L" + + ![](images/hardware-requirements.png) + +### 2. Setup EVK's DIP switch + +=== "RZ/G2L" + + Set up DIP switch SW1 and SW11 as follows. + + * SW1 + + !!! content-wrapper no-indent table-no-sort table-no-hover "" + + ![](images/smarc-carrier-board-SW1.png){ align=left .switch-icon } + + | SW1-1 | SW1-2 | + |:--------------:|:--------------:| + | ON {: .green } | ON {: .green } | + + * SW11 + + !!! content-wrapper no-indent table-no-sort table-no-hover "" + + ![](images/smarc-carrier-board-SW11.png){ align=left .switch-icon } + + | SW11-1 | SW11-2 | SW11-3 | SW11-4 | + |:--------------:|:--------------:|:------------:|:--------------:| + | ON {: .green } | ON {: .green } | OFF {: .red} | ON {: .green } | + +### 3. Turn on EVK and run demo + +=== "RZ/G2L" + + 1. Insert the bootable SD card created at [Step 4](#step-4-prepare-hmi-sdk-sd-card-image-for-demo) + 2. Connect a USB cable to CN6 for power supply + 3. Press and hold power button (SW9) for 1 second to turn on the EVK + + !!! note + Press and hold the button for 2 seconds when you turn off the EVK. diff --git a/docs/docs/getting_started/_components/step_06.md b/docs/docs/getting_started/_components/step_06.md new file mode 100644 index 0000000..149641a --- /dev/null +++ b/docs/docs/getting_started/_components/step_06.md @@ -0,0 +1,82 @@ +## Step 6: Build sample application + +This step explains how to build HMI SDK sample application.
    +To see the overview about HMI Applications, please refer to [HMI Applications](../index.md#hmi-applications). + +!!! Note + This step requires a Linux PC (Ubuntu). + + The prebuilt binary of executable files are also provided, and you can run it directly. + +1. Install cross compiler to you Linux PC (Ubuntu) + + !!! note + This step is optional, as prebuilt binaries was prepared. + + ```bash + sudo sh ./poky-glibc-x86_64-core-image-weston-sdk-aarch64-toolchain-3.1.31.sh + ``` + { .dollar } + + !!! Note + Please set target directory (default: `#!bash /opt/poky/3.1.31`). + +2. Enable cross compiler + + !!! note + This step is optional, as prebuilt binaries was prepared. + + ```bash + source /opt/poky/3.1.31/environment-setup-aarch64-poky-linux + ``` + { .dollar } + + !!! Note + Please make sure where cross compiler is installed (default: `#!bash /opt/poky/3.1.31`). + +3. Clone sample application source code + + ```bash + git clone https://github.com/renesas-rz/rzg_hmi_sdk + ``` + { .dollar } + +4. Go to source code working directory + + ```bash + cd rzg_hmi_sdk/sample_app/ + ``` + { .dollar } + + !!! note + Existing `#!bash `(s) are listed on below table. + + | `#!bash ` | Description | + | --------------------------------------- | -------------------------------------- | + | `#!bash lvgl_sample_img_disp` | LVGL Sample Program for Image Display | + | `#!bash lvgl_sample_audio_playback` | LVGL Sample Program for Audio Playback | + | `#!bash lvgl_sample_video_playback` | LVGL Sample Program for Video Playback | + +5. Build sample application + + !!! note + This step is optional, as prebuilt binaries was prepared. + + ```bash + make + ``` + { .dollar } + +6. Executable file of sample application + + Each executable file of sample application built as `#!bash rzg_hmi_sdk/sample_app//`. + + !!! note + Executable file name (`#!bash `) are same with `#!bash ` name. + + For example in case `#!bash lvgl_sample_img_disp`, path to executable file is: + + ```bash + /rzg_hmi_sdk/sample_app/lvgl_sample_img_disp/lvgl_sample_img_disp + ``` + {: .dollar } diff --git a/docs/docs/getting_started/_components/step_07.md b/docs/docs/getting_started/_components/step_07.md new file mode 100644 index 0000000..c69bdd4 --- /dev/null +++ b/docs/docs/getting_started/_components/step_07.md @@ -0,0 +1,145 @@ +## Step 7: Deploy sample application + +!!! Note + This step requires a Linux PC (Ubuntu). + +### 1. Over ethernet (using `SCP`) + +1. Boot and connect your EVK into your local network + + Connect an ethernet cable to RJ45 port for networking. + + === "RZ/G2L" + RJ45 ports are CN8 and CN9. + + !!! note + Just connect 1 ethernet cable to CN8 or CN9. + + !!! note + Your EVK will run the demo program automatically. + + Please exit the demo by pressing the keyboard keys ++ctrl+c++, + before proceeding to the next step. + +2. Check your EVK's IP + + Open terminal of your EVK, and check using `#!bash ip` command as below. + + ```bash + ip a + ``` + {: .hash } + + !!! note + For example, when RZ/G2L EVK's CN8 ethernet port connected to local network. + + ```console + root@smarc-rzg2l:~# ip a | grep eth + 5: eth0: mtu 1500 qdisc mq state DOWN group default qlen 1000 + link/ether f2:d6:18:24:f0:6b brd ff:ff:ff:ff:ff:ff + 6: eth1: mtu 1500 qdisc mq state UP group default qlen 1000 + link/ether 72:26:f0:8b:64:59 brd ff:ff:ff:ff:ff:ff + inet 192.168.0.32/24 brd 192.168.0.255 scope global dynamic eth1 + ``` + + EVK's IP is `#!console 192.168.0.32` (at `#!console eth1`). + +3. Copy executable into your EVK storage (SD card) + + Send executable file from your Linux PC (Ubuntu) using `#!bash scp` command as below. + + ```bash + scp /rzg_hmi_sdk/sample_app// root@:/home/root/ + ``` + {: .dollar } + + !!! note + We recommend you to copy to `#!bash /home/root` directory. + + Don't forget to replace `#!bash ` with your EVK's IP. + +4. Copy resources required by sample application + + === "`#!bash lvgl_sample_img_disp`" + + ```bash + scp /rzg_hmi_sdk/sample_app/lvgl_sample_img_disp/sample/* root@:/usr/share/images/ + ``` + {: .dollar } + + !!! danger "Caution" + Make sure you are copying to `#!bash /usr/share/images/` directory of EVK. + + === "`#!bash lvgl_sample_audio_playback`" + + ```bash + scp /rzg_hmi_sdk/sample_app/lvgl_sample_audio_playback/sample/* root@:/usr/share/sounds/sample/ + ``` + {: .dollar } + + !!! danger "Caution" + Make sure you are copying to `#!bash /usr/share/sounds/sample/` directory of EVK. + + === "`#!bash lvgl_sample_video_playback`" + + ```bash + scp /rzg_hmi_sdk/sample_app/lvgl_sample_video_playback/sample/* root@:/usr/share/movies/ + ``` + {: .dollar } + + !!! danger "Caution" + Make sure you are copying to `#!bash /usr/share/movies/` directory of EVK. + +### 2. Directly write into HMI SDK's SD card + +1. Turn off your EVK (if its on) +2. Insert and mount your SD card into PC +3. Copy executable into your SD card + + For example, in case mounted on `#!bash /media/user/rootfs`. + + ```bash + cp /rzg_hmi_sdk/sample_app// /media/user/rootfs/home/root/ + ``` + {: .dollar } + + !!! note + We recommend you to copy to `#!bash /home/root` directory. + + If you not sure where is your SD card mounted, + please check it using `#!bash lsblk` command + (see [Step 4.2](#2-in-case-of-linux-pc-ubuntu).3). + +4. Copy resources required by sample application + + For example, in case mounted on `#!bash /media/user/rootfs`. + + === "`#!bash lvgl_sample_img_disp`" + + ```bash + cp /rzg_hmi_sdk/sample_app/lvgl_sample_img_disp/sample/* /media/user/rootfs/usr/share/images/ + ``` + {: .dollar } + + !!! danger "Caution" + Make sure you are copying to `#!bash /usr/share/images/` directory on SD card. + + === "`#!bash lvgl_sample_audio_playback`" + + ```bash + cp /rzg_hmi_sdk/sample_app/lvgl_sample_audio_playback/sample/* /media/user/rootfs/usr/share/sounds/sample/ + ``` + {: .dollar } + + !!! danger "Caution" + Make sure you are copying to `#!bash /usr/share/sounds/sample/` directory on SD card. + + === "`#!bash lvgl_sample_video_playback`" + + ```bash + cp /rzg_hmi_sdk/sample_app/lvgl_sample_video_playback/sample/* /media/user/rootfs/usr/share/movies/ + ``` + {: .dollar } + + !!! danger "Caution" + Make sure you are copying to `#!bash /usr/share/movies/` directory on SD card. diff --git a/docs/docs/getting_started/_components/step_08.md b/docs/docs/getting_started/_components/step_08.md new file mode 100644 index 0000000..34cd8e8 --- /dev/null +++ b/docs/docs/getting_started/_components/step_08.md @@ -0,0 +1,32 @@ +## Step 8: Run sample application + +1. Boot your EVK (if not yet) + + !!! note + Your EVK will run the demo program automatically. + + Please exit the demo by pressing the keyboard keys ++ctrl+c++, + before proceeding to the next step. + +2. Go to `#!bash /home/root` directory + + Open terminal of your EVK, and go to `#!bash /home/root` using `#!bash cd` command as below. + + ```bash + cd /home/root + ``` + {: .hash } + +3. Set sample application binary executable + + ```bash + chmod +x + ``` + {: .hash } + +4. Execute sample application binary + + ```bash + ./ + ``` + {: .hash } diff --git a/docs/docs/getting_started/images/hardware-requirements.png b/docs/docs/getting_started/images/hardware-requirements.png new file mode 100644 index 0000000..7311877 Binary files /dev/null and b/docs/docs/getting_started/images/hardware-requirements.png differ diff --git a/docs/docs/getting_started/images/smarc-carrier-board-SW1.png b/docs/docs/getting_started/images/smarc-carrier-board-SW1.png new file mode 100644 index 0000000..115471a Binary files /dev/null and b/docs/docs/getting_started/images/smarc-carrier-board-SW1.png differ diff --git a/docs/docs/getting_started/images/smarc-carrier-board-SW11.png b/docs/docs/getting_started/images/smarc-carrier-board-SW11.png new file mode 100644 index 0000000..64bb1d0 Binary files /dev/null and b/docs/docs/getting_started/images/smarc-carrier-board-SW11.png differ diff --git a/docs/docs/getting_started/index.md b/docs/docs/getting_started/index.md new file mode 100644 index 0000000..1bade3b --- /dev/null +++ b/docs/docs/getting_started/index.md @@ -0,0 +1,26 @@ +# Getting Started + +This page explains how to start-up the HMI SDK. + +!!! note + Hereafter, we use following terminology. + + * **EVK**: Refers "Evaluation Board Kit". + +{! getting_started/_components/introduction.md !} + +{! getting_started/_components/step_01.md !} + +{! getting_started/_components/step_02.md !} + +{! getting_started/_components/step_03.md !} + +{! getting_started/_components/step_04.md !} + +{! getting_started/_components/step_05.md !} + +{! getting_started/_components/step_06.md !} + +{! getting_started/_components/step_07.md !} + +{! getting_started/_components/step_08.md !} diff --git a/docs/docs/guidelines/_components/image.md b/docs/docs/guidelines/_components/image.md new file mode 100644 index 0000000..9214e4a --- /dev/null +++ b/docs/docs/guidelines/_components/image.md @@ -0,0 +1,29 @@ +### Zoomable image + +!!! danger + Hyperlink to images should follow referrer page location. In this case: + + * Referrer page: `guidelines/index.md`. + * Referred image: `images/`. + + Where `images` directory is inside `guidelines` directory. + +#### Center + +![](images/rz.jpg){: width=150px } +{: .center } + +#### Right + +![](images/rz.jpg){: width=150px } +{: .right } + +### Paragraphs + +#### Subtitles + +The best solution for starting your HMI applications. +{: .subtitle .center } + +HMI SDK are quick and easy solutions for starting HMI. +{: .sub-subtitle .center } diff --git a/docs/docs/guidelines/_tables/basic_table.csv b/docs/docs/guidelines/_tables/basic_table.csv new file mode 100644 index 0000000..3213ddc --- /dev/null +++ b/docs/docs/guidelines/_tables/basic_table.csv @@ -0,0 +1,5 @@ +"a","b" +40,73 +50,52 +531456.123,80 +"name","table1" diff --git a/docs/docs/guidelines/images/rz.jpg b/docs/docs/guidelines/images/rz.jpg new file mode 100644 index 0000000..bf0167a Binary files /dev/null and b/docs/docs/guidelines/images/rz.jpg differ diff --git a/docs/docs/guidelines/index.md b/docs/docs/guidelines/index.md new file mode 100644 index 0000000..0658e4b --- /dev/null +++ b/docs/docs/guidelines/index.md @@ -0,0 +1,303 @@ +# Welcome to MkDocs + +For full documentation visit [mkdocs.org](https://www.mkdocs.org). + +## Commands + +* `mkdocs new [dir-name]` - Create a new project. +* `mkdocs serve` - Start the live-reloading docs server. +* `mkdocs build` - Build the documentation site. +* `mkdocs -h` - Print help message and exit. + +## Project layout + + mkdocs.yml # The configuration file. + docs/ + index.md # The documentation homepage. + ... # Other markdown pages, images and other files. + +## Test admonitions + +!!! note "Note" + Test admonition. + +!!! abstract "Abstract" + Test admonition. + +!!! info "Info" + Test admonition. + +!!! tip "Tip" + Test admonition. + +!!! success "Success" + Test admonition. + +!!! question "Question" + Test admonition. + +!!! warning "Warning" + Test admonition. + +!!! failure "Failure" + Test admonition. + +!!! danger "Danger" + Test admonition. + +!!! bug "Bug" + Test admonition. + +!!! example "Example" + Test admonition. + +!!! quote "Quote" + Test admonition. + +### Without title + +!!! note "" + Test admonition. + +## Test code blocks + +``` py +import tensorflow as tf +``` + +### Adding a title + +``` py title="bubble_sort.py" +def bubble_sort(items): + for i in range(len(items)): + for j in range(len(items) - 1 - i): + if items[j] > items[j + 1]: + items[j], items[j + 1] = items[j + 1], items[j] +``` + +### Adding annotations + +``` yaml +theme: + features: + - content.code.annotate # (1) +``` + +1. :man_raising_hand: I'm a code annotation! I can contain `code`, __formatted + text__, images, ... basically anything that can be written in Markdown. + +#### Stripping comments + +``` yaml +# (1)! +``` + +1. Look ma, less line noise! + +### Adding line numbers + +``` py linenums="1" +def bubble_sort(items): + for i in range(len(items)): + for j in range(len(items) - 1 - i): + if items[j] > items[j + 1]: + items[j], items[j + 1] = items[j + 1], items[j] +``` + +### Highlighting specific lines + +``` py linenums="1" hl_lines="2 3" +def bubble_sort(items): + for i in range(len(items)): + for j in range(len(items) - 1 - i): + if items[j] > items[j + 1]: + items[j], items[j + 1] = items[j + 1], items[j] +``` + +### Highlighting inline code blocks + +The `#!python range()` function is used to generate a sequence of numbers. + +### Embedding external files + +``` bash title="serve.sh" linenums="1" +--8<-- "serve.sh" +``` + +## Test (sortable) tables + +### Column alignment + +#### Center + +| Method | Description | +| :---------: | :----------------------------------: | +| `GET` | :material-check: Fetch resource | +| `PUT` | :material-check-all: Update resource | +| `DELETE` | :material-close: Delete resource | + +#### Right + +| Method | Description | +| ----------: | -----------------------------------: | +| `GET` | :material-check: Fetch resource | +| `PUT` | :material-check-all: Update resource | +| `DELETE` | :material-close: Delete resource | + +### Grid table (inside admonitions) + +!!! note "Note" + +-------------------+--------------------------------------------+-------------------+ + | Name | Description | Example | + +===================+============================================+===================+ + | Server Version | The version of the server | 0.20.0 | + +-------------------+--------------------------------------------+-------------------+ + | Protocol Version | The version of the protocol | 0.1.0 | + | | (different servers can have same protocol) | | + +-------------------+--------------------------------------------+-------------------+ + | Capabilities | What features the server has implemented | "search" | + +-------------------+--------------------------------------------+-------------------+ + +### Import table from file (.csv) + +{{ read_csv('./_tables/basic_table.csv') }} + +### Table with footnote (table area) + +!!! content-wrapper no-indent "" + + | Month | Savings | + | --------------------------------- | ------- | + | January ^[1](#tf:1)^{: #tfref:1 } | $250 | + | February | $80 | + | March ^[2](#tf:2)^{: #tfref:2 } | $420 | + + 1. This is a footnote inside table area. [↩](#tfref:1){: .tf-backref } + {: #tf:1 } + + 2. This is another footnote inside table area. [↩](#tfref:2){: .tf-backref } + {: #tf:2 } + +#### Indented + +!!! danger + As each page elements must have unique id, + please increase referred and referrer ids of `content-wrapper`, as: + + * `#tf:X` + * `#tfref:X` + + Where `X=1,2,3,...` + +!!! content-wrapper "" + + | Month | Savings | + | --------------------------------- | ------- | + | January ^[1](#tf:3)^{: #tfref:3 } | $250 | + | February | $80 | + | March ^[2](#tf:4)^{: #tfref:4 } | $420 | + + 1. This is a footnote inside table area. [↩](#tfref:3){: .tf-backref } + {: #tf:3 } + + 2. This is another footnote inside table area. [↩](#tfref:4){: .tf-backref } + {: #tf:4 } + +#### Indented without footnote + +!!! content-wrapper "" + + | Month | Savings | + | -------- | ------- | + | January | $250 | + | February | $80 | + | March | $420 | + +## Test buttons + +[Subscribe to our newsletter](#){ .md-button .md-button--primary } + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey } + +### Rounded + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round } + +### Right + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-right } + +### Grouped + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey } +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round } + +#### Grouped right + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-right } +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round .btn-right } + +### Sub-text + +[Subscribe to our newsletter
    Sub-text](#){ .md-button .md-button--primary } + +### Indented + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey .btn-indent } + +#### Grouped + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey .btn-indent } +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-yellow .btn-round } + +#### Small + +[Subscribe to our newsletter](#){ .md-button .md-button--primary .btn-grey .btn-indent .btn-small } + +## Test include page + +{! guidelines/_components/image.md !} + +## Test text formatting + +### Highlighting changes + +Text can be {--deleted--} and replacement text {++added++}. This can also be +combined into {~~one~>a single~~} operation. {==Highlighting==} is also +possible {>>and comments can be added inline<<}. + +{== + +Formatting can also be applied to blocks by putting the opening and closing +tags on separate lines and adding new lines between the tags and the content. + +==} + +### Highlighting text + +- ==This was marked (highlight)== +- ^^This was inserted (underline)^^ +- ~~This was deleted (strikethrough)~~ + +### Sub- and superscripts + +- H~2~O +- A^T^A + +### Adding keyboard keys + +++ctrl+alt+del++ + +## Test footnotes + +!!! warning + Footnotes always placed at last of page, regardless referrer place. + +Lorem ipsum[^1] dolor sit amet, consectetur adipiscing elit.[^2] + +[^1]: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +[^2]: + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod + nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor + massa, nec semper lorem quam in massa. diff --git a/docs/docs/history/_components/__front_matter.md b/docs/docs/history/_components/__front_matter.md new file mode 100644 index 0000000..efa7be3 --- /dev/null +++ b/docs/docs/history/_components/__front_matter.md @@ -0,0 +1,8 @@ +## What's new + +2024/07/31 +{: .right .small } + +RZ/G2L HMI SDK v1.00 is available. + +[View Version History >](history/index.md){ .md-button .md-button--primary .btn-right } diff --git a/docs/docs/history/index.md b/docs/docs/history/index.md new file mode 100644 index 0000000..dcfe93a --- /dev/null +++ b/docs/docs/history/index.md @@ -0,0 +1,16 @@ +--- +hide: + - navigation + - toc +--- + +# Version + +## *RZ/G2L HMI SDK v1.00* + +2024/07/31 +{: .right .small } + +RZ/G2L HMI SDK v1.00 is available. + +[Back to Home >](../index.md#whats-new){ .md-button .md-button--primary .btn-right } diff --git a/docs/docs/hmi_applications/_components/__front_matter.md b/docs/docs/hmi_applications/_components/__front_matter.md new file mode 100644 index 0000000..1915fbe --- /dev/null +++ b/docs/docs/hmi_applications/_components/__front_matter.md @@ -0,0 +1,13 @@ +## HMI Applications {: .center } + +HMI Applications provides the source code and prebuilt binary,
    +which allow you to select the application from various use cases, and run it on the board immediately. +{: .center } + +!!! content-wrapper center "" + + | Sample Application Name | Description | + | ----------------------------------- | -------------------------------------- | + | `#!bash lvgl_sample_img_disp` | LVGL Sample Program for Image Display | + | `#!bash lvgl_sample_audio_playback` | LVGL Sample Program for Audio Playback | + | `#!bash lvgl_sample_video_playback` | LVGL Sample Program for Video Playback | diff --git a/docs/docs/how_to_build_hmi_sdk/_components/introduction.md b/docs/docs/how_to_build_hmi_sdk/_components/introduction.md new file mode 100644 index 0000000..78946db --- /dev/null +++ b/docs/docs/how_to_build_hmi_sdk/_components/introduction.md @@ -0,0 +1,28 @@ +## Introduction + +HMI SDK is a quick and easy HMI Application development environment. + +To modify Linux component, you need to build HMI SDK from source code.
    +HMI SDK source code will generate same Linux environment as HMI SDK. + +This page explains how to build HMI SDK source code.
    +After you have completed this page, you would be able to change the source code +and customize Linux environment (i.e., memory map, additional OSS etc...). + + +!!! note "Requirement" + 1. Users have launched Evaluation Board Kit according to [Getting Started](../getting_started/index.md), + which means they can run HMI Application on the board. + 2. To build Yocto Linux, the below equipment should be prepared. + + !!! content-wrapper no-indent table-no-sort table-no-hover "" + + +-----------+--------------------------------------------------+ + | Equipment | Details | + +===========+==================================================+ + | Linux PC | Approximately **110GB free space** is necessary. | + | +-------------+------------------------------------+ + | | OS | **Ubuntu 20.04 LTS** | + | | | | + | | | 64bit OS must be used. | + +-----------+-------------+------------------------------------+ diff --git a/docs/docs/how_to_build_hmi_sdk/_components/step_01.md b/docs/docs/how_to_build_hmi_sdk/_components/step_01.md new file mode 100644 index 0000000..f5be131 --- /dev/null +++ b/docs/docs/how_to_build_hmi_sdk/_components/step_01.md @@ -0,0 +1,7 @@ +## Step 1: Obtain HMI SDK source code + +Download HMI SDK source code from below link. + +[:octicons-download-16: Get HMI SDK](https://www.renesas.com/document/sws/rzg-hmi-software-development-kit-version-100){ .md-button .btn-round target=_blank } + +[:material-file-code: Get HMI SDK source code](https://www.renesas.com/document/sws/rzg-hmi-sdk-version-100-source-code){ .md-button .btn-round target=_blank } diff --git a/docs/docs/how_to_build_hmi_sdk/_components/step_02.md b/docs/docs/how_to_build_hmi_sdk/_components/step_02.md new file mode 100644 index 0000000..90547b8 --- /dev/null +++ b/docs/docs/how_to_build_hmi_sdk/_components/step_02.md @@ -0,0 +1,166 @@ +## Step 2: Build HMI SDK source code + +This step explains how to build Linux environment with HMI SDK source code. + +!!! note + In the following instructions, text in angle brackets should be replaced + with a character string that depends on your environment. + + The brackets `<` and `>` are unnecessary in the text. + + +1. Install the required packages + + Install some packages into your Linux PC, which are necessary in the following steps. + + ```bash + sudo apt-get update + sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping libsdl1.2-dev xterm p7zip-full libyaml-dev libssl-dev bmap-tools + + ``` + {: .dollar } + +2. Set up your `#!bash git` environment + + Set up your `#!bash git` environment if you have never done it. + + ```bash + git config --global user.email "" + git config --global user.name "" + ``` + {: .dollar } + + !!! note + For more information, refer to [Yocto Project Quick Build](https://docs.yoctoproject.org/3.1.26/brief-yoctoprojectqs/brief-yoctoprojectqs.html){: target=_blank }. + +3. Set environment variables + + Set the following environment variables. + + === "RZ/G2L" + + ```bash + export WORK= + export PLATFORM=rzg2l + export BOARD=smarc-rzg2l + export SDK_PKG_DIR= + ``` + {: .dollar } + + !!! note + Currently, RZ/G Linux HMI SDK supports only `#!bash rzg2l` for + `#!bash PLATFORM` and `#!bash smarc-rzg2l` for `#!bash BOARD`. + + The directory set to `#!bash SDK_PKG_DIR` shall include the HMI SDK + source code package such as `#!bash RTK0EF0195F*SJ_linux-src.zip`. + +4. Extract Yocto recipe package + + Decompress the source code package, create a working directory, and + extract Yocto recipe package. + + === "RZ/G2L" + + ```bash + cd ${SDK_PKG_DIR} + unzip RTK0EF0195F*SJ_linux-src.zip + ``` + {: .dollar } + + ```bash + mkdir -p ${WORK} + cd ${WORK} + tar xf ${SDK_PKG_DIR}/RTK0EF0195F*SJ_linux-src/yocto_recipe_rzg2l_hmi-sdk_v*.tar.gz --strip-components 1 + + ``` + {: .dollar } + +5. Initialize build environment + + Run an environment setup script as follows. + + ```bash + cd ${WORK} + TEMPLATECONF=${PWD}/meta-renesas/meta-${PLATFORM}/docs/template/conf/ source poky/oe-init-build-env build + ``` + {: .dollar } + +6. Add layers + + Add necessary Yocto `#!bash meta-layers` layer as follows. + + ```bash + cd ${WORK}/build + bitbake-layers add-layer ../meta-rz-features/meta-rz-graphics + bitbake-layers add-layer ../meta-rz-features/meta-rz-codecs + bitbake-layers add-layer ../meta-rz-demos + ``` + {: .dollar } + +7. Set up environment for offline build + + This step is configuration for offline building. + + If you would like to get source code via network when you build the HMI + SDK, skip this step. + + Change the environment variable `#!bash BB_NO_NETWORK` in + `#!bash local.conf` from `#!bash 0` to `#!bash 1` using `#!bash sed` + command. + + ```bash + cd ${WORK}/build + sed -i "s|\(BB_NO_NETWORK =.*\)\"0\"|\1\"1\"|" "conf/local.conf" + ``` + {: .dollar } + + Decompress OSS source code package and set it into the build + environment. + + === "RZ/G2L" + + ```bash + cd ${SDK_PKG_DIR}/RTK0EF0195F*SJ_linux-src/ + 7z x oss-souce-code-pkg_rzg2l_hmi-sdk_v*.7z + mv oss-souce-code-pkg_rzg2l_hmi-sdk_v*/downloads/ ${WORK}/build/ + ``` + {: .dollar } + +8. Modify configurations for build environment + + Add `#!bash IMAGE_INSTALL_append` and `#!bash WHITELIST_GPL-3.0` to + `#!bash local.conf` as follows. + + ```bash + cd ${WORK}/build + sed -i '$aIMAGE_INSTALL_append = \" packagegroup-lvgl-demo packagegroup-benchmark-tools packagegroup-rz-benchmark-demo\"' "conf/local.conf" + sed -i '$aWHITELIST_GPL-3.0 += \" glmark2 \"' "conf/local.conf" + ``` + {: .dollar } + +9. Build images + + Run `#!bash bitbake` command to build images. + + ```bash + cd ${WORK}/build + MACHINE=${BOARD} bitbake core-image-weston + ``` + {: .dollar } + + !!! note + If you need to create an SDK toolchain, run `#!bash bitbake` + command as follows. + + ```bash + cd ${WORK}/build + MACHINE=${BOARD} bitbake core-image-weston -c populate_sdk + ``` + {: .dollar } + + !!! note + After building images or SDK toolchain, you can find them in the + following directories respectively. + + * Images: `#!bash ${WORK}/build/tmp/deploy/images/${BOARD}/` + * SDK toolchain: `#!bash ${WORK}/build/tmp/deploy/sdk/` diff --git a/docs/docs/how_to_build_hmi_sdk/index.md b/docs/docs/how_to_build_hmi_sdk/index.md new file mode 100644 index 0000000..de017bc --- /dev/null +++ b/docs/docs/how_to_build_hmi_sdk/index.md @@ -0,0 +1,7 @@ +# How To Build HMI SDK + +{! how_to_build_hmi_sdk/_components/introduction.md !} + +{! how_to_build_hmi_sdk/_components/step_01.md !} + +{! how_to_build_hmi_sdk/_components/step_02.md !} diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 0000000..5654b26 --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,22 @@ +# HMI SDK on RZ/G series + +The best solution for starting your HMI applications. +{: .subtitle .center } + +HMI SDK are quick and easy solutions for starting HMI. +{: .sub-subtitle .center } + +![](assets/images/banner-01.svg){ width=27.2% .zoom #banner-left } +![](assets/images/banner-02.svg){ width=35.75% .zoom } +![](assets/images/banner-03.svg){ width=32.2% .zoom #banner-right } +{: .center } + +{! history/_components/__front_matter.md !} + +{! getting_started/_components/__front_matter.md !} + +{! hmi_applications/_components/__front_matter.md !} + +{! demo/_components/__front_matter.md !} + +{! video/_components/__front_matter.md !} diff --git a/docs/docs/overview/_components/key_features.md b/docs/docs/overview/_components/key_features.md new file mode 100644 index 0000000..12b6df8 --- /dev/null +++ b/docs/docs/overview/_components/key_features.md @@ -0,0 +1,39 @@ +## Key Features + +### Supported Devices + +* RZ/G2L Evaluation Board Kit (RTK9744L23S01000BE) + +### File Contents + +HMI SDK provides following files. + +!!! content-wrapper no-indent table-no-sort table-no-hover "" + + +---------------------+---------------------------------------------+---------------------------------------------------------------------+ + | Package | Items | Details | + +=====================+=============================================+=====================================================================+ + | HMI SDK | Release Note | PDF documentation that contains RZ/G HMI SDK release information. | + | +---------------+-----------------------------+---------------------------------------------------------------------+ + | | board_setup | SD card Image (WIC format) | Boot image of HMI SDK for eSD Boot. | + | | +-----------------------------+---------------------------------------------------------------------+ + | | | Bootloader | Files to boot the board. (Option*) | + | | +-----------------------------+---------------------------------------------------------------------+ + | | | Linux Kernel Files | Pre-build binary files for RZ/G Linux Kernel. (Option*) | + | | +-----------------------------+---------------------------------------------------------------------+ + | | | Root filesystem | Filesystem for the RZ/G Linux. (Option*) | + | +---------------+-----------------------------+---------------------------------------------------------------------+ + | | hmi_sdk_setup | HMI SDK Installer | Installer for HMI application development environment on Docker. | + | | +-----------------------------+---------------------------------------------------------------------+ + | | | Cross Compiler | Compiler for Linux application on RZ/G Linux. | + | +---------------+-----------------------------+---------------------------------------------------------------------+ + | | documents | Related Documents | License List. | + | +---------------+-----------------------------+---------------------------------------------------------------------+ + | | references | Reference information | Files that is referred by Linux license information documentation. | + +---------------------+---------------+-----------------------------+---------------------------------------------------------------------+ + | HMI SDK Source Code | README | Release information of HMI SDK Source Code | + | +---------------------------------------------+---------------------------------------------------------------------+ + | | Yocto Linux Recipe | Linux source code of HMI SDK. | + | +---------------------------------------------+---------------------------------------------------------------------+ + | | OSS Source Code | Source code of Open Source Software packages used to build HMI SDK. | + +---------------------+---------------------------------------------+---------------------------------------------------------------------+ diff --git a/docs/docs/overview/_components/specification.md b/docs/docs/overview/_components/specification.md new file mode 100644 index 0000000..52b0925 --- /dev/null +++ b/docs/docs/overview/_components/specification.md @@ -0,0 +1,41 @@ +## Specification + +### Features + +!!! content-wrapper no-indent table-no-sort "" + + | Components | Version | Detail | + |---------------------------------------|-----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | Linux Kernel | 5.10.201-cip41 | SLTS(Super Long Term Support) Kernel | + | Yocto | 3.1.31 (dunfell) | Distribution for embedded linux | + | gcc | 8.3.0 (Arm GCC 8.3-2019.03) | Compiler | + | glibc | 2.28 | | + | busybox | 1.30.1 | | + | openssl | 1.1.1n | | + | GStreamer1.0^[1](#tf:1)^{: #tfref:1 } | 1.16.3 | GStreamer UM for [RZ/G2L](https://www.renesas.com/us/en/document/mas/rzg2l-group-and-rzv2l-group-linux-interface-specification-gstreamer-users-manual-software){: target="_blank" } | + | wayland | 1.18.0 | | + | weston | 8.0.0 | | + | Python3 | 3.8.14 | | + | lvgl | 8.3.11 | | + | lv-drivers | 8.3.0 | | + | Firacode | 6.2 | | + | Tomlc99 | Latest version^[2](#tf:2)^{: #tfref:2 } | | + | OpenCL | | [OpenCL Overview](https://www.khronos.org/opencl/){: target="_blank" } | + | OpenGLES | | [OpenGL ES Overview](https://www.khronos.org/opengles/){: target="_blank" } | + | OpenMAX IL | 1.1 | [OpenMAX IL Overview](https://www.khronos.org/api/openmax/il){: target="_blank" } | + + 1. For GStreamer Sample Applications please visit [this repository](https://github.com/renesas-rz/rz_gstreamer_sample_code/){: target="_blank" }. [↩](#tfref:1){: .tf-backref } + {: #tf:1 } + + 2. Commit ID [5221b3d](https://github.com/cktan/tomlc99/commit/5221b3d3d66c25a1dc6f0372b4f824f1202fe398){: target="_blank" }. [↩](#tfref:2){: .tf-backref } + {: #tf:2 } + +### Memory Map + +=== "RZ/G2L" + + Please see the memory map at **Linux Interface Specification Kernel Core User’s Manual: Software** for **RZ/G2L Group, RZ/V2L Group, and RZ/Five**. + + `RTK0EF0045Z9006AZJ-v3.0.6.zip` > `r01us0468ej0108-rz-g_Kernel_Core_UME.pdf` page 5-6. + + [:octicons-download-16: Get User's Manual: Software
    RZ/G2L Group, RZ/V2L Group, and RZ/Five](https://www.renesas.com/document/mas/rzg2lfivev2l-group-bsp-manual-set-rtk0ef0045z9000azj-v306zip){ .md-button .btn-round target=_blank } diff --git a/docs/docs/overview/images/hmi-sdk.svg b/docs/docs/overview/images/hmi-sdk.svg new file mode 100644 index 0000000..c9c32fa --- /dev/null +++ b/docs/docs/overview/images/hmi-sdk.svg @@ -0,0 +1 @@ +User ApplicationEVKCIP Linux KernelBSPHMI SDK (SoftwareDevelopmentKit)LinuxStacks/Libraries StreamingGraphicsHMI Framework (HTML5(*)/LVGL)(*) HTML5 will be supported from HMI SDK v2.00. \ No newline at end of file diff --git a/docs/docs/overview/index.md b/docs/docs/overview/index.md new file mode 100644 index 0000000..76aa2b5 --- /dev/null +++ b/docs/docs/overview/index.md @@ -0,0 +1,23 @@ +# Overview + +![](images/hmi-sdk.svg){ align=right width=320 } + +RZ/G HMI Software Development Kit (HMI SDK) is a HMI application development +environment for Evaluation Board Kit of RZ/G series. + +Since it contains [Yocto](https://www.yoctoproject.org/){: target="_blank" } Linux with bootloader, +Linux Kernel, Cross Compiler, multimedia and graphics package, users can +develop HMI Applications easily and quickly with HMI SDK. + +HMI SDK is specifically made for the supported Evaluation Board Kit with fixed +Linux components. For those of you who would like to customize Linux +environment, i.e., change memory map or develop your own board, you need to +build the Yocto Linux source code. + +Please refer to How to Build HMI SDK. + +[How To Build HMI SDK](../how_to_build_hmi_sdk/index.md){ .md-button .md-button--primary .btn-grey .btn-indent } + +{! overview/_components/key_features.md !} + +{! overview/_components/specification.md !} diff --git a/docs/docs/video/_components/__front_matter.md b/docs/docs/video/_components/__front_matter.md new file mode 100644 index 0000000..89bdfda --- /dev/null +++ b/docs/docs/video/_components/__front_matter.md @@ -0,0 +1,10 @@ +## Video + +
    + +- ![type:video](https://www.youtube-nocookie.com/embed/Y8plsCNA_0Y) + +- *More videos are coming soon ...*
    [RenesasPresents](https://www.youtube.com/@RenesasPresents){: target=_blank }. + {: .center style="padding-top:35%;" } + +
    diff --git a/docs/mike/deploy.sh b/docs/mike/deploy.sh new file mode 100755 index 0000000..a49f9f0 --- /dev/null +++ b/docs/mike/deploy.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# mike/deploy.sh +# To deploy mike's webpage at yours local/gh-pages branch + +mike deploy -b local/gh-pages dev latest +mike set-default -b local/gh-pages latest diff --git a/docs/mike/remove.sh b/docs/mike/remove.sh new file mode 100755 index 0000000..8101c4a --- /dev/null +++ b/docs/mike/remove.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +# mike/remove.sh +# To remove mike's webpage (delete local/gh-pages branch) + +git branch -D local/gh-pages diff --git a/docs/mike/serve.sh b/docs/mike/serve.sh new file mode 100755 index 0000000..5e5052e --- /dev/null +++ b/docs/mike/serve.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# mike/serve.sh +# To serve mike's webpage at yours local ip with port=8000 + +ip=$(hostname -I | awk '{print $1}') +port=8000 + +address=$ip:$port + +mike serve -b local/gh-pages -a $address diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 0000000..05a9d87 --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,133 @@ +site_name: RZ/G HMI SDK +site_description: The best solution for starting your HMI applications. +site_url: https://renesas-rz.github.io/rzg_hmi_sdk +site_author: Renesas Electronics Corporation + +repo_name: rzg_hmi_sdk +repo_url: https://github.com/renesas-rz/rzg_hmi_sdk + +nav: + # - Guidelines: guidelines/index.md + # - RZ/G HMI SDK: index.md + - Overview: overview/index.md + - Getting Started: getting_started/index.md + - How To Build HMI SDK: how_to_build_hmi_sdk/index.md + - FAQ: faq/index.md + +theme: + name: material + custom_dir: docs/_themes + favicon: assets/icons/6723.T.png + features: + - announce.dismiss + - content.code.annotate + - content.code.copy + - content.code.select + - content.tabs.link + - navigation.instant + - navigation.instant.progress + - navigation.prune + - navigation.top + - navigation.tracking + - search.highlight + - search.suggest + - toc.integrate + - toc.follow + nav_top: + logos: + - assets/icons/board.svg + - assets/icons/ai_sdk.svg + btn: + name: Get the Board and Software + url: download/ + palette: + primary: custom + +copyright: '©2024 Renesas Electronics Corporation.' + +extra: + announcements: + # the following line is displayed in the announcement bar + # keep length under 164 characters (less HTML tags) to fit on 1280px desktop window + - 'Announcement! RZ/G2L HMI SDK v1.00 is available.' + announcements_urls: + - available: '#whats-new' + header_link: true + social: + - icon: fontawesome/brands/github + link: https://github.com/renesas-rz + name: Renesas RZ Software on GitHub + - icon: fontawesome/solid/house + link: https://www.renesas.com/ + name: Go to Renesas.com website + version: + provider: mike + +extra_css: + - assets/stylesheets/extra.css + +extra_javascript: + - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js + - assets/javascripts/tablesort.js + +markdown_extensions: + - admonition + - attr_list + - footnotes + - markdown_grid_tables + - markdown_include.include: + base_path: docs + - md_in_html + - pymdownx.caret + - pymdownx.critic + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.mark + - pymdownx.snippets + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tilde + - tables + - toc: + permalink: true + toc_depth: 3 + +plugins: + - exclude: + glob: + - _* + # - guidelines/_*/* + - guidelines/* + - overview/_*/* + - getting_started/_*/* + - how_to_build_hmi_sdk/_*/* + - hmi_applications/* + - faq/_*/* + - download/_*/* + - history/_*/* + - demo/* + - video/* + - glightbox + - mkdocs-video + - minify: + minify_html: true + minify_js: true + minify_css: true + htmlmin_opts: + remove_comments: true + cache_safe: true + js_files: + - assets/javascripts/tablesort.js + css_files: + - assets/stylesheets/extra.css + - search + - table-reader diff --git a/docs/serve.sh b/docs/serve.sh new file mode 100755 index 0000000..636f1e1 --- /dev/null +++ b/docs/serve.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# serve.sh +# To serve webpage at yours local ip with port=8000 + +ip=$(hostname -I | awk '{print $1}') +port=8000 + +address=$ip:$port + +mkdocs serve -a $address diff --git a/docs/work/pip-packages.txt b/docs/work/pip-packages.txt new file mode 100644 index 0000000..7fc6e52 --- /dev/null +++ b/docs/work/pip-packages.txt @@ -0,0 +1 @@ +mkdocs-material markdown-grid-tables mkdocs-table-reader-plugin markdown-include mkdocs-exclude mike mkdocs-glightbox mkdocs-video mkdocs-minify-plugin diff --git a/docs/work/setup.sh b/docs/work/setup.sh new file mode 100755 index 0000000..567a44d --- /dev/null +++ b/docs/work/setup.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# work/setup.sh +# To setup all python (pip) dependencies + +RED='\033[0;31m' +NC='\033[0m' # No Color + +pip_packages=$(cat work/pip-packages.txt) + +_pip3=$(which pip3 | wc -l) + +# pip3 not found +if [[ $_pip3 -ne 1 ]]; then + _pip=$(which pip | wc -l) + + # pip exist + if [[ $_pip -eq 1 ]]; then + _pip3=$(pip --version | grep "python 3" | wc -l) + + # pip3 exist as pip + if [[ $_pip3 -eq 1 ]]; then + pip install $pip_packages + + # pip is not pip3 + else + echo -e "${RED}Python3 and pip3 are required!${NC}" + fi + + # pip not found + else + echo -e "${RED}Python3 and pip3 are required!${NC}" + fi + +# pip3 exist +else + pip3 install $pip_packages +fi