diff --git a/.github/workflows/preview-docs.yml b/.github/workflows/preview-docs.yml new file mode 100644 index 000000000..6fbadf3ca --- /dev/null +++ b/.github/workflows/preview-docs.yml @@ -0,0 +1,121 @@ +# Builds a preview of the docs for each pull request and uploads it to +# Cloudflare as a Worker *version* with a preview alias. Production keeps +# serving the deployed version; the preview is only reachable at +# https://pr--edgetx-lua-reference-guide.edgetx.workers.dev/ +# +# The PR is built as the version its base branch publishes (main -> "dev", +# edgetx_ -> "", plus "latest" for the latest release branch) on +# top of the current gh-pages tree, so the preview is the whole site with +# that one version replaced. Nothing is pushed to gh-pages. +# +# Only runs for PRs from branches in this repo: fork PRs don't get the +# Cloudflare secrets, and building untrusted code with them available +# would be unsafe anyway. +name: Preview Docs + +on: + pull_request: + branches: + - main + - "edgetx_*" + +permissions: + contents: read + pull-requests: write + +concurrency: + group: preview-docs-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + preview: + if: github.event.pull_request.head.repo.full_name == github.repository + runs-on: ubuntu-latest + + steps: + - name: Check out source + uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - name: Resolve version metadata + id: version + shell: bash + env: + LATEST_BRANCH: ${{ vars.DOCS_LATEST_BRANCH || 'edgetx_2.12' }} + run: | + case "${GITHUB_BASE_REF}" in + main) + version_id="dev" + title="Dev" + ;; + edgetx_[0-9]*.[0-9]*) + version_id="${GITHUB_BASE_REF#edgetx_}" + title="${version_id}" + ;; + *) + echo "Unsupported base branch: ${GITHUB_BASE_REF}" >&2 + exit 1 + ;; + esac + + if [[ "${GITHUB_BASE_REF}" == "${LATEST_BRANCH}" ]]; then + aliases="${version_id} latest" + else + aliases="${version_id}" + fi + + { + echo "version_id=${version_id}" + echo "title=${title}" + echo "aliases=${aliases}" + echo "alias=pr-${{ github.event.pull_request.number }}" + } >> "${GITHUB_OUTPUT}" + + - name: Install uv + uses: astral-sh/setup-uv@v10.3.2 + + - name: Set up Python + uses: actions/setup-python@v7 + with: + python-version: "3.11" + + - name: Sync docs dependencies + run: uv sync + + - name: Configure git author + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Build preview into local gh-pages + env: + DOCS_EDIT_URI: edit/${{ github.head_ref }}/website/md-docs/ + run: | + git branch -f gh-pages origin/gh-pages + uv run mike deploy --update-aliases --title "${{ steps.version.outputs.title }}" ${{ steps.version.outputs.aliases }} + + - name: Export gh-pages tree for Cloudflare + run: | + rm -rf .site-publish + mkdir .site-publish + git archive gh-pages | tar -x -C .site-publish + + - name: Upload preview version to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: versions upload --preview-alias ${{ steps.version.outputs.alias }} --message "PR #${{ github.event.pull_request.number }} @ ${{ github.event.pull_request.head.sha }}" + + - name: Comment preview link on the PR + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + run: | + url="https://${{ steps.version.outputs.alias }}-edgetx-lua-reference-guide.edgetx.workers.dev/${{ steps.version.outputs.version_id }}/" + body="📖 **Docs preview:** ${url} + + Built from ${HEAD_SHA::7} as the \`${{ steps.version.outputs.version_id }}\` version, on top of the currently published site." + gh pr comment "${PR_NUMBER}" --edit-last --create-if-none --body "${body}" diff --git a/.github/workflows/publish-versioned-docs.yml b/.github/workflows/publish-versioned-docs.yml new file mode 100644 index 000000000..c5f946502 --- /dev/null +++ b/.github/workflows/publish-versioned-docs.yml @@ -0,0 +1,118 @@ +# Publishes each docs branch via `mike deploy` on every push: +# main -> "dev" +# edgetx_ -> "", plus "latest" for the latest release branch +# +# Every branch carries its own MkDocs site (mkdocs.yml + website/md-docs/) +# and an identical copy of this workflow, so a push builds the branch it +# came from. The latest release branch comes from the DOCS_LATEST_BRANCH +# repository variable (falling back to edgetx_2.12), so moving "latest" to +# a new release is a settings change rather than an edit on every branch. +# +# mike keeps the accumulated versioned site on the gh-pages branch; after +# each deploy, the full gh-pages tree is published to Cloudflare Workers +# (static assets, see wrangler.jsonc). Requires the CLOUDFLARE_API_TOKEN and +# CLOUDFLARE_ACCOUNT_ID repository secrets. +name: Publish Versioned Docs + +on: + push: + branches: + - main + - "edgetx_*" + workflow_dispatch: + +permissions: + contents: write + +# Every run rewrites gh-pages and then uploads the whole tree, so run them +# one at a time to avoid racing mike or publishing a stale snapshot. +concurrency: + group: publish-versioned-docs + cancel-in-progress: false + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Check out source + uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - name: Install uv + uses: astral-sh/setup-uv@v10.3.2 + + - name: Set up Python + uses: actions/setup-python@v7 + with: + python-version: "3.11" + + - name: Resolve version metadata + id: version + shell: bash + env: + LATEST_BRANCH: ${{ vars.DOCS_LATEST_BRANCH || 'edgetx_2.12' }} + run: | + branch="${GITHUB_REF_NAME}" + + case "${branch}" in + main) + version_id="dev" + title="Dev" + ;; + edgetx_[0-9]*.[0-9]*) + version_id="${branch#edgetx_}" + title="${version_id}" + ;; + *) + echo "Unsupported branch: ${branch}" >&2 + exit 1 + ;; + esac + + if [[ "${branch}" == "${LATEST_BRANCH}" ]]; then + aliases="${version_id} latest" + is_latest="true" + else + aliases="${version_id}" + is_latest="false" + fi + + { + echo "version_id=${version_id}" + echo "title=${title}" + echo "aliases=${aliases}" + echo "is_latest=${is_latest}" + } >> "${GITHUB_OUTPUT}" + + - name: Sync docs dependencies + run: uv sync + + - name: Configure git author + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Publish docs with mike + env: + # "Edit this page" should open the branch this version is built from. + DOCS_EDIT_URI: edit/${{ github.ref_name }}/website/md-docs/ + run: uv run mike deploy --push --update-aliases --title "${{ steps.version.outputs.title }}" ${{ steps.version.outputs.aliases }} + + - name: Set default docs version + if: steps.version.outputs.is_latest == 'true' + run: uv run mike set-default --push latest + + - name: Export gh-pages tree for Cloudflare + run: | + rm -rf .site-publish + mkdir .site-publish + git archive gh-pages | tar -x -C .site-publish + + - name: Deploy to Cloudflare Workers + uses: cloudflare/wrangler-action@v4 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: deploy diff --git a/.gitignore b/.gitignore index fd14c6ef0..f0ad59430 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ /_book/ /node_modules/ /book.pdf +/site/ +/.site-legacy-generated/ +/site-legacy/ +.tmp/ +.venv/ +__pycache__/ +/.site-publish/ diff --git a/Bitmap/getSize.md b/Bitmap/getSize.md deleted file mode 100644 index 347282bfa..000000000 --- a/Bitmap/getSize.md +++ /dev/null @@ -1,29 +0,0 @@ - - -## Bitmap.getSize(name) - - - -Return width, height of a bitmap object - -@status current Introduced in 2.2.0 - - -#### Parameters - -* `bitmap` (pointer) point to a bitmap previously opened with Bitmap.open() - - - -#### Return value - -* `multiple` returns 2 values: - * (number) width in pixels - * (number) height in pixels - - - -##### Notice -Only available on Horus - - diff --git a/Bitmap/open.md b/Bitmap/open.md deleted file mode 100644 index 45a6c8c3a..000000000 --- a/Bitmap/open.md +++ /dev/null @@ -1,34 +0,0 @@ - - -## Bitmap.open(name) - - - -Loads a bitmap in memory, for later use with lcd.drawBitmap(). Bitmaps should be loaded only -once, returned object should be stored and used for drawing. If loading fails for whatever -reason the resulting bitmap object will have width and height set to zero. - -Bitmap loading can fail if: - * File is not found or contains invalid image - * System is low on memory - * Combined memory usage of all Lua script bitmaps exceeds certain value - -@status current Introduced in 2.2.0 - - -#### Parameters - -* `name` (string) full path to the bitmap on SD card (i.e. “/IMAGES/test.bmp”) - - - -#### Return value - -* `bitmap` (object) a bitmap object that can be used with other bitmap functions - - - -##### Notice -Only available on Horus - - diff --git a/README.md b/README.md index b33570ea5..81d77fce4 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,18 @@ # EdgeTX 2.7 Lua Reference Guide -[Join the chat on Discord](https://discord.gg/CZCwVx2) +Source for the EdgeTX 2.7 version of the Lua Reference Guide, published at +. -The latest version of this guide will always be available [here](https://luadoc.edgetx.org). At the top of the left sidebar there is a version option if you are running an older version of EdgeTX and need the docs for that specific version. +This content was converted from the original GitBook branch to MkDocs. It is +kept for reference, so it may not include corrections made in later versions. +The page content lives in `website/md-docs/`; edit it there. -Please feel free to make suggestions or corrections to the documentation on GitHub, but the preferred method of editing is to use [GitBook](https://www.gitbook.com), so all changes will need to be made by someone who is authorized as a writer there. +## Local preview -This guide covers the development of user-written scripts for R/C transmitters running the EdgeTX 2.7 operating system with Lua support. Readers should be familiar with EdgeTX, the EdgeTX Companion, and know how to transfer files the SD card in the transmitter. +```sh +uv run mkdocs serve -a 127.0.0.1:8014 +``` -If you are new to Lua programming, you may also find the [Lua Reference Manual](https://www.lua.org/manual/5.2/) of assistance. - -Part I is an overview of the different script types, along with basic examples of each. - -Part II is a programming guide that introduces the types of EdgeTX Lua scripts and how to use them. - -Part III is the EdgeTX Lua API Reference - -Part IV covers advanced topics with examples +Pushes to `edgetx_2.7` are published automatically by +`.github/workflows/publish-versioned-docs.yml`, and pull requests get a +preview deployment from `.github/workflows/preview-docs.yml`. diff --git a/RadioSpecialFunctions.png b/RadioSpecialFunctions.png deleted file mode 100644 index 2823c40a1..000000000 Binary files a/RadioSpecialFunctions.png and /dev/null differ diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index fbbd847c2..000000000 --- a/SUMMARY.md +++ /dev/null @@ -1,175 +0,0 @@ -# Table of contents - -* [EdgeTX 2.7 Lua Reference Guide](README.md) -* [Introduction](introduction/README.md) - * [Acknowledgments](introduction/acknowledgments.md) - * [Getting Started](introduction/getting\_started.md) -* [Part I - Script Type Overview](part\_i\_-\_script\_type\_overview/README.md) - * [Custom (Mixer) Scripts](part\_i\_-\_script\_type\_overview/mix.md) - * [Telemetry Scripts](part\_i\_-\_script\_type\_overview/telemetry.md) - * [One-Time Scripts](part\_i\_-\_script\_type\_overview/one-time\_scripts.md) - * [Function Scripts](part\_i\_-\_script\_type\_overview/function\_scripts.md) - * [Widget Scripts](part\_i\_-\_script\_type\_overview/widget\_scripts.md) -* [Part II - EdgeTX Lua API Programming Guide](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/README.md) - * [Lua Basics](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/lua-basics.md) - * [Loading Code Modules Dynamically](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/loading-code-modules-dynamically.md) - * [Saving Memory](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/saving-memory.md) - * [Using Key and Touch Events](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/using-key-and-touch-events.md) - * [Drawing Flags and Colors](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/drawing-flags-and-colors.md) - * [Data Exchange with the EdgeTX Model Setup](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/data-exchange-with-the-edgetx-model-setup.md) - * [Included Lua Libraries](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/README.md) - * [io Library](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/io-library/README.md) - * [io.open()](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/io-library/io.open.md) - * [io.close()](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/io-library/io.close.md) - * [io.read()](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/io-library/io.read.md) - * [io.write()](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/io-library/io.write.md) - * [io.seek()](part\_ii\_-\_opentx\_lua\_api\_programming\_guide/included\_lua\_libraries/io-library/io.seek.md) -* [Part III - EdgeTX Lua API Reference](part\_iii\_-\_opentx\_lua\_api\_reference/README.md) - * [Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/README.md) - * [Key Event Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/key\_events.md) - * [Touch Event Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/touch-event-constants.md) - * [Flags and Pattern Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/flags-and-pattern-constants.md) - * [Color Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/color-constants.md) - * [Special Character Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/special-character-constants.md) - * [Screen Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/screen-constants.md) - * [Logical Switch Function Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/logical-switch-function-constants.md) - * [Special Function Constants](part\_iii\_-\_opentx\_lua\_api\_reference/constants/special-function-constants.md) - * [General Functions](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/README.md) - * [GREY()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/grey.md) - * [accessTelemetryPush()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/accesstelemetrypush.md) - * [chdir(directory)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/chdir.md) - * [crossfireTelemetryPop()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypop.md) - * [crossfireTelemetryPush()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypush.md) - * [defaultChannel(stick)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultchannel.md) - * [defaultStick(channel)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultstick.md) - * [getAvailableMemory()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getavailablememory.md) - * [getDateTime()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getdatetime.md) - * [getFieldInfo(source)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getfieldinfo.md) - * [getFlightMode(mode)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getflightmode.md) - * [getGeneralSettings()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getgeneralsettings.md) - * [getGlobalTimer()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getglobaltimer.md) - * [getLogicalSwitchValue(id)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getlogicalswitchvalue-id.md) - * [getRAS()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getras.md) - * [getRSSI()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrssi.md) - * [getRotEncSpeed()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrotencspeed.md) - * [getRtcTime()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrtctime.md) - * [getShmVar(id)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getshmvar-id.md) - * [getSourceIndex(sourceName)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getsourceindex-sourcename.md) - * [getSourceName(sourceIndex)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getsourcename-sourceindex.md) - * [getSwitchIndex(positionName)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchindex-positionname.md) - * [getSwitchName(switchIndex)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchname-switchindex.md) - * [getSwitchValue(switchIndex)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchvalue-switchindex.md) - * [getTime()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettime.md) - * [getTxGPS()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettxgps.md) - * [getUsage()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getusage.md) - * [getValue(source)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getvalue.md) - * [getVersion()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getversion.md) - * [ghostTelemetryPop()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/ghosttelemetrypop.md) - * [ghostTelemetryPush()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/ghosttelemetrypush.md) - * [killEvents(key)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/killevents.md) - * [loadScript(file \[, mode\], \[,env\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/loadscript.md) - * [multiBuffer(address\[,value\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/multibuffer.md) - * [playDuration(duration \[, hourFormat\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/playduration.md) - * [playFile(name)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/playfile.md) - * [playHaptic(duration, pause \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/playhaptic.md) - * [playNumber(value, unit \[, attributes\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/playnumber.md) - * [playTone(frequency, duration, pause \[, flags \[, freqIncr\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/playtone.md) - * [popupConfirmation(title, message, event)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation.md) - * [popupInput(title, event, input, min, max)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupinput.md) - * [popupWarning(title, event)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupwarning.md) - * [resetGlobalTimer(\[type\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/resetglobaltimer.md) - * [serialRead(\[num\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialread.md) - * [serialWrite(str)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialwrite.md) - * [setSerialBaudrate(baudrate)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate.md) - * [setShmVar(id, value)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/setshmvar-id-value.md) - * [setStickySwitch(id, value)](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/setstickyswitch-id-value.md) - * [setTelemetryValue(id, subID, instance, value \[, unit \[, precision \[, name\]\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/settelemetryvalue.md) - * [sources(\[first\[, last\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/sources-first-last.md) - * [switches(\[first\[, last\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/switches-first-last.md) - * [sportTelemetryPop()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypop.md) - * [sportTelemetryPush()](part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypush.md) - * [Model Functions](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/README.md) - * [model.defaultInputs()](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/defaultinputs.md) - * [model.deleteFlightModes()](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteflightmodes.md) - * [model.deleteInput(input, line)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinput.md) - * [model.deleteInputs()](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinputs.md) - * [model.deleteMix(channel, line)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemix.md) - * [model.deleteMixes()](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemixes.md) - * [model.getCurve(curve)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcurve.md) - * [model.getCustomFunction(function)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcustomfunction.md) - * [model.getFlightMode(index)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getflightmode.md) - * [model.getGlobalVariable(index, flight\_mode)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getglobalvariable.md) - * [model.getInfo()](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinfo.md) - * [model.getInput(input, line)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinput.md) - * [model.getInputsCount(input)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinputscount.md) - * [model.getLogicalSwitch(switch)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getlogicalswitch.md) - * [model.getMix(channel, line)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmix.md) - * [model.getMixesCount(channel)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmixescount.md) - * [model.getModule(index)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmodule.md) - * [model.getOutput(index)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getoutput.md) - * [model.getSensor(sensor)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/getsensor.md) - * [model.getTimer(timer)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/gettimer.md) - * [model.insertInput(input, line, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertinput.md) - * [model.insertMix(channel, line, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertmix.md) - * [model.resetSensor(sensor)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/resetsensor.md) - * [model.resetTimer(timer)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/resettimer.md) - * [model.setCurve(curve, params)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcurve.md) - * [model.setCustomFunction(function, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcustomfunction.md) - * [model.setFlightMode(index, params)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setflightmode.md) - * [model.setGlobalVariable(index, flight\_mode, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setglobalvariable.md) - * [model.setInfo(value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setinfo.md) - * [model.setLogicalSwitch(switch, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setlogicalswitch.md) - * [model.setModule(index, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setmodule.md) - * [model.setOutput(index, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/setoutput.md) - * [model.setTimer(timer, value)](part\_iii\_-\_opentx\_lua\_api\_reference/model-functions-less-than-greater-than-luadoc-begin-model/settimer.md) - * [Lcd Functions](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/README.md) - * [Lcd Functions Overview](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd\_functions-overview.md) - * [lcd.RGB(r, g, b | rgb)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/rgb.md) - * [lcd.clear(\[color\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/clear.md) - * [lcd.drawAnnulus(x, y, r1, r2, start, end \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawannulus.md) - * [lcd.drawArc(x, y, r, start, end \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawarc.md) - * [lcd.drawBitmap(bitmap, x, y \[, scale\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawbitmap.md) - * [lcd.drawChannel(x, y, source, flags)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawchannel.md) - * [lcd.drawCircle(x, y, r \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcircle.md) - * [lcd.drawCombobox(x, y, w, list, idx \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcombobox.md) - * [lcd.drawFilledCircle(x, y, r \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledcircle.md) - * [lcd.drawFilledRectangle(x, y, w, h \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledrectangle.md) - * [lcd.drawFilledTriangle(x1, y1, x2, y2, x3, y3 \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledtriangle.md) - * [lcd.drawGauge(x, y, w, h, fill, maxfill \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawgauge.md) - * [lcd.drawHudRectangle(pitch, roll, xmin, xmax, ymin, ymax \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawhudrectangle.md) - * [lcd.drawLine(x1, y1, x2, y2, pattern, flags)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawline.md) - * [lcd.drawLineWithClipping(x1, y1, x2, y2, xmin, xmax, ymin, ymax, pattern \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawlinewithclipping.md) - * [lcd.drawNumber(x, y, value \[, flags \[, inversColor\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawnumber.md) - * [lcd.drawPie(x, y, r, start, end \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpie.md) - * [lcd.drawPixmap(x, y, name)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpixmap.md) - * [lcd.drawPoint(x, y)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpoint.md) - * [lcd.drawRectangle(x, y, w, h \[, flags \[, t\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawrectangle.md) - * [lcd.drawScreenTitle(title, page, pages)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawscreentitle.md) - * [lcd.drawSource(x, y, source \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawsource.md) - * [lcd.drawSwitch(x, y, switch, flags)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawswitch.md) - * [lcd.drawText(x, y, text \[, flags \[, inversColor\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtext.md) - * [lcd.drawTextLines(x, y, w, h, text \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.drawtextlines-x-y-w-h-text-flags.md) - * [lcd.drawTimer(x, y, value \[, flags \[, inversColor\]\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtimer.md) - * [lcd.drawTriangle(x1, y1, x2, y2, x3, y3 \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtriangle.md) - * [lcd.exitFullScreen()](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.exitfullscreen.md) - * [lcd.getColor(flags)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getcolor.md) - * [lcd.getLastLeftPos()](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastleftpos.md) - * [lcd.getLastPos()](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastpos.md) - * [lcd.getLastRightPos()](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastrightpos.md) - * [lcd.refresh()](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/refresh.md) - * [lcd.resetBacklightTimeout()](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/resetbacklighttimeout.md) - * [lcd.setColor(colorIndex, color)](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/setcolor.md) - * [lcd.sizeText(text \[, flags\])](part\_iii\_-\_opentx\_lua\_api\_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/sizetext.md) - * [Bitmap Functions](part\_iii\_-\_opentx\_lua\_api\_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/README.md) - * [Bitmap.getSize(name)](part\_iii\_-\_opentx\_lua\_api\_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/getsize.md) - * [Bitmap.open(name)](part\_iii\_-\_opentx\_lua\_api\_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/open.md) - * [Filesystem](part\_iii\_-\_opentx\_lua\_api\_reference/filesystem/README.md) - * [dir(directory)](part\_iii\_-\_opentx\_lua\_api\_reference/filesystem/dir-directory.md) - * [fstat(path)](part\_iii\_-\_opentx\_lua\_api\_reference/filesystem/fstat-path.md) -* [Part IV - Advanced Topics](part\_iv\_-\_advanced\_topics/README.md) - * [Lua data sharing across scripts](part\_iv\_-\_advanced\_topics/lua\_data\_sharing\_across\_scripts.md) - * [Debugging techniques](part\_iv\_-\_advanced\_topics/debugging\_techniques.md) - * [Speed/memory optimizaton tricks](part\_iv\_-\_advanced\_topics/optimization\_tricks.md) -* [Appendix](appendix/README.md) - * [Fonts](appendix/fonts.md) - * [Units](appendix/units.md) diff --git a/cover.jpg b/cover.jpg deleted file mode 100644 index c438756b3..000000000 Binary files a/cover.jpg and /dev/null differ diff --git a/cover_small.jpg b/cover_small.jpg deleted file mode 100644 index 273083032..000000000 Binary files a/cover_small.jpg and /dev/null differ diff --git a/introduction.md b/introduction.md deleted file mode 100644 index 188e352a8..000000000 --- a/introduction.md +++ /dev/null @@ -1,3 +0,0 @@ -# Introduction - -This section includes Acknowledgments and Getting Started. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..33179e991 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,257 @@ +site_name: EdgeTX Lua Reference Guide +site_description: EdgeTX 2.7 Lua documentation +site_url: https://luadoc.edgetx.org/ +repo_url: https://github.com/EdgeTX/lua-reference-guide +repo_name: EdgeTX/lua-reference-guide +# The publish workflow sets DOCS_EDIT_URI to the branch being built. +edit_uri: !ENV [DOCS_EDIT_URI, "edit/edgetx_2.7/website/md-docs/"] +docs_dir: website/md-docs +site_dir: site +theme: + name: material + logo: assets/edgetx-logo.svg + favicon: assets/edgetx-logo.svg + font: false + palette: + - media: '(prefers-color-scheme: light)' + scheme: default + primary: custom + accent: custom + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - media: '(prefers-color-scheme: dark)' + scheme: slate + primary: custom + accent: custom + toggle: + icon: material/brightness-4 + name: Switch to light mode + features: + - navigation.indexes + - navigation.path + - navigation.top + - toc.follow + - search.suggest + - search.highlight + - content.code.copy + - content.action.edit +plugins: +- search: + separator: '[\s\-\.]+' +- minify: + minify_html: true +extra_css: +- stylesheets/extra-live-v2.css +extra_javascript: +- javascripts/mobile-nav-inline.js +- javascripts/legacy-version-banner.js +extra: + version: + provider: mike + default: latest + alias: true +markdown_extensions: +- tables +- admonition +- pymdownx.details +- pymdownx.superfences +- pymdownx.highlight: + anchor_linenums: true +- pymdownx.inlinehilite +- pymdownx.snippets +- pymdownx.tabbed: + alternate_style: true +- pymdownx.tilde +- attr_list +- md_in_html +- toc: + permalink: true +nav: +- EdgeTX Lua Reference Guide: index.md +- Introduction: + - Introduction: introduction/index.md + - Acknowledgments: introduction/acknowledgments.md + - Getting Started: introduction/getting-started.md +- Part I - Script Type Overview: + - Part I - Script Type Overview: overview/index.md + - Custom (Mixer) Scripts: overview/mix.md + - Telemetry Scripts: overview/telemetry.md + - One-Time Scripts: overview/one-time-scripts.md + - Function Scripts: overview/function-scripts.md + - Widget Scripts: overview/widget-scripts.md +- Part II - EdgeTX Lua API Programming Guide: + - Part II - EdgeTX Lua API Programming Guide: programming/index.md + - Lua Basics: programming/lua-basics.md + - Loading Code Modules Dynamically: programming/loading-code-modules-dynamically.md + - Saving Memory: programming/saving-memory.md + - Using Key and Touch Events: programming/using-key-and-touch-events.md + - Drawing Flags and Colors: programming/drawing-flags-and-colors.md + - Data Exchange with the EdgeTX Model Setup: programming/data-exchange-with-the-edgetx-model-setup.md + - Included Lua Libraries: + - Included Lua Libraries: programming/included-lua-libraries/index.md + - io Library: + - io Library: programming/included-lua-libraries/io-library/index.md + - io.open(): programming/included-lua-libraries/io-library/io-open.md + - io.close(): programming/included-lua-libraries/io-library/io-close.md + - io.read(): programming/included-lua-libraries/io-library/io-read.md + - io.write(): programming/included-lua-libraries/io-library/io-write.md + - io.seek(): programming/included-lua-libraries/io-library/io-seek.md +- Part III - EdgeTX Lua API Reference: + - Part III - EdgeTX Lua API Reference: api-reference/index.md + - Constants: + - Constants: api-reference/constants/index.md + - Key Event Constants: api-reference/constants/key-events.md + - Touch Event Constants: api-reference/constants/touch-event-constants.md + - Flags and Pattern Constants: api-reference/constants/flags-and-pattern-constants.md + - Color Constants: api-reference/constants/color-constants.md + - Special Character Constants: api-reference/constants/special-character-constants.md + - Screen Constants: api-reference/constants/screen-constants.md + - Logical Switch Function Constants: api-reference/constants/logical-switch-function-constants.md + - Special Function Constants: api-reference/constants/special-function-constants.md + - General Functions: + - General Functions: api-reference/general/index.md + - GREY(): api-reference/general/grey.md + - accessTelemetryPush(): api-reference/general/accesstelemetrypush.md + - chdir(directory): api-reference/general/chdir.md + - crossfireTelemetryPop(): api-reference/general/crossfiretelemetrypop.md + - crossfireTelemetryPush(): api-reference/general/crossfiretelemetrypush.md + - defaultChannel(stick): api-reference/general/defaultchannel.md + - defaultStick(channel): api-reference/general/defaultstick.md + - getAvailableMemory(): api-reference/general/getavailablememory.md + - getDateTime(): api-reference/general/getdatetime.md + - getFieldInfo(source): api-reference/general/getfieldinfo.md + - getFlightMode(mode): api-reference/general/getflightmode.md + - getGeneralSettings(): api-reference/general/getgeneralsettings.md + - getGlobalTimer(): api-reference/general/getglobaltimer.md + - getLogicalSwitchValue(id): api-reference/general/getlogicalswitchvalue-id.md + - getRAS(): api-reference/general/getras.md + - getRSSI(): api-reference/general/getrssi.md + - getRotEncSpeed(): api-reference/general/getrotencspeed.md + - getRtcTime(): api-reference/general/getrtctime.md + - getShmVar(id): api-reference/general/getshmvar-id.md + - getSourceIndex(sourceName): api-reference/general/getsourceindex-sourcename.md + - getSourceName(sourceIndex): api-reference/general/getsourcename-sourceindex.md + - getSwitchIndex(positionName): api-reference/general/getswitchindex-positionname.md + - getSwitchName(switchIndex): api-reference/general/getswitchname-switchindex.md + - getSwitchValue(switchIndex): api-reference/general/getswitchvalue-switchindex.md + - getTime(): api-reference/general/gettime.md + - getTxGPS(): api-reference/general/gettxgps.md + - getUsage(): api-reference/general/getusage.md + - getValue(source): api-reference/general/getvalue.md + - getVersion(): api-reference/general/getversion.md + - ghostTelemetryPop(): api-reference/general/ghosttelemetrypop.md + - ghostTelemetryPush(): api-reference/general/ghosttelemetrypush.md + - killEvents(key): api-reference/general/killevents.md + - loadScript(file \[, mode\], \[,env\]): api-reference/general/loadscript.md + - multiBuffer(address\[,value\]): api-reference/general/multibuffer.md + - playDuration(duration \[, hourFormat\]): api-reference/general/playduration.md + - playFile(name): api-reference/general/playfile.md + - playHaptic(duration, pause \[, flags\]): api-reference/general/playhaptic.md + - playNumber(value, unit \[, attributes\]): api-reference/general/playnumber.md + - playTone(frequency, duration, pause \[, flags \[, freqIncr\]\]): api-reference/general/playtone.md + - popupConfirmation(title, message, event): api-reference/general/popupconfirmation.md + - popupInput(title, event, input, min, max): api-reference/general/popupinput.md + - popupWarning(title, event): api-reference/general/popupwarning.md + - resetGlobalTimer(\[type\]): api-reference/general/resetglobaltimer.md + - serialRead(\[num\]): api-reference/general/serialread.md + - serialWrite(str): api-reference/general/serialwrite.md + - setSerialBaudrate(baudrate): api-reference/general/setserialbaudrate.md + - setShmVar(id, value): api-reference/general/setshmvar-id-value.md + - setStickySwitch(id, value): api-reference/general/setstickyswitch-id-value.md + - setTelemetryValue(id, subID, instance, value \[, unit \[, precision \[, name\]\]\]): api-reference/general/settelemetryvalue.md + - sources(\[first\[, last\]\]): api-reference/general/sources-first-last.md + - switches(\[first\[, last\]\]): api-reference/general/switches-first-last.md + - sportTelemetryPop(): api-reference/general/sporttelemetrypop.md + - sportTelemetryPush(): api-reference/general/sporttelemetrypush.md + - Model Functions: + - Model Functions: api-reference/model/index.md + - model.defaultInputs(): api-reference/model/defaultinputs.md + - model.deleteFlightModes(): api-reference/model/deleteflightmodes.md + - model.deleteInput(input, line): api-reference/model/deleteinput.md + - model.deleteInputs(): api-reference/model/deleteinputs.md + - model.deleteMix(channel, line): api-reference/model/deletemix.md + - model.deleteMixes(): api-reference/model/deletemixes.md + - model.getCurve(curve): api-reference/model/getcurve.md + - model.getCustomFunction(function): api-reference/model/getcustomfunction.md + - model.getFlightMode(index): api-reference/model/getflightmode.md + - model.getGlobalVariable(index, flight\_mode): api-reference/model/getglobalvariable.md + - model.getInfo(): api-reference/model/getinfo.md + - model.getInput(input, line): api-reference/model/getinput.md + - model.getInputsCount(input): api-reference/model/getinputscount.md + - model.getLogicalSwitch(switch): api-reference/model/getlogicalswitch.md + - model.getMix(channel, line): api-reference/model/getmix.md + - model.getMixesCount(channel): api-reference/model/getmixescount.md + - model.getModule(index): api-reference/model/getmodule.md + - model.getOutput(index): api-reference/model/getoutput.md + - model.getSensor(sensor): api-reference/model/getsensor.md + - model.getTimer(timer): api-reference/model/gettimer.md + - model.insertInput(input, line, value): api-reference/model/insertinput.md + - model.insertMix(channel, line, value): api-reference/model/insertmix.md + - model.resetSensor(sensor): api-reference/model/resetsensor.md + - model.resetTimer(timer): api-reference/model/resettimer.md + - model.setCurve(curve, params): api-reference/model/setcurve.md + - model.setCustomFunction(function, value): api-reference/model/setcustomfunction.md + - model.setFlightMode(index, params): api-reference/model/setflightmode.md + - model.setGlobalVariable(index, flight\_mode, value): api-reference/model/setglobalvariable.md + - model.setInfo(value): api-reference/model/setinfo.md + - model.setLogicalSwitch(switch, value): api-reference/model/setlogicalswitch.md + - model.setModule(index, value): api-reference/model/setmodule.md + - model.setOutput(index, value): api-reference/model/setoutput.md + - model.setTimer(timer, value): api-reference/model/settimer.md + - Lcd Functions: + - Lcd Functions: api-reference/lcd/index.md + - Lcd Functions Overview: api-reference/lcd/lcd-functions-overview.md + - lcd.RGB(r, g, b | rgb): api-reference/lcd/rgb.md + - lcd.clear(\[color\]): api-reference/lcd/clear.md + - lcd.drawAnnulus(x, y, r1, r2, start, end \[, flags\]): api-reference/lcd/drawannulus.md + - lcd.drawArc(x, y, r, start, end \[, flags\]): api-reference/lcd/drawarc.md + - lcd.drawBitmap(bitmap, x, y \[, scale\]): api-reference/lcd/drawbitmap.md + - lcd.drawChannel(x, y, source, flags): api-reference/lcd/drawchannel.md + - lcd.drawCircle(x, y, r \[, flags\]): api-reference/lcd/drawcircle.md + - lcd.drawCombobox(x, y, w, list, idx \[, flags\]): api-reference/lcd/drawcombobox.md + - lcd.drawFilledCircle(x, y, r \[, flags\]): api-reference/lcd/drawfilledcircle.md + - lcd.drawFilledRectangle(x, y, w, h \[, flags\]): api-reference/lcd/drawfilledrectangle.md + - lcd.drawFilledTriangle(x1, y1, x2, y2, x3, y3 \[, flags\]): api-reference/lcd/drawfilledtriangle.md + - lcd.drawGauge(x, y, w, h, fill, maxfill \[, flags\]): api-reference/lcd/drawgauge.md + - lcd.drawHudRectangle(pitch, roll, xmin, xmax, ymin, ymax \[, flags\]): api-reference/lcd/drawhudrectangle.md + - lcd.drawLine(x1, y1, x2, y2, pattern, flags): api-reference/lcd/drawline.md + - lcd.drawLineWithClipping(x1, y1, x2, y2, xmin, xmax, ymin, ymax, pattern \[, flags\]): api-reference/lcd/drawlinewithclipping.md + - lcd.drawNumber(x, y, value \[, flags \[, inversColor\]\]): api-reference/lcd/drawnumber.md + - lcd.drawPie(x, y, r, start, end \[, flags\]): api-reference/lcd/drawpie.md + - lcd.drawPixmap(x, y, name): api-reference/lcd/drawpixmap.md + - lcd.drawPoint(x, y): api-reference/lcd/drawpoint.md + - lcd.drawRectangle(x, y, w, h \[, flags \[, t\]\]): api-reference/lcd/drawrectangle.md + - lcd.drawScreenTitle(title, page, pages): api-reference/lcd/drawscreentitle.md + - lcd.drawSource(x, y, source \[, flags\]): api-reference/lcd/drawsource.md + - lcd.drawSwitch(x, y, switch, flags): api-reference/lcd/drawswitch.md + - lcd.drawText(x, y, text \[, flags \[, inversColor\]\]): api-reference/lcd/drawtext.md + - lcd.drawTextLines(x, y, w, h, text \[, flags\]): api-reference/lcd/lcd-drawtextlines-x-y-w-h-text-flags.md + - lcd.drawTimer(x, y, value \[, flags \[, inversColor\]\]): api-reference/lcd/drawtimer.md + - lcd.drawTriangle(x1, y1, x2, y2, x3, y3 \[, flags\]): api-reference/lcd/drawtriangle.md + - lcd.exitFullScreen(): api-reference/lcd/lcd-exitfullscreen.md + - lcd.getColor(flags): api-reference/lcd/getcolor.md + - lcd.getLastLeftPos(): api-reference/lcd/getlastleftpos.md + - lcd.getLastPos(): api-reference/lcd/getlastpos.md + - lcd.getLastRightPos(): api-reference/lcd/getlastrightpos.md + - lcd.refresh(): api-reference/lcd/refresh.md + - lcd.resetBacklightTimeout(): api-reference/lcd/resetbacklighttimeout.md + - lcd.setColor(colorIndex, color): api-reference/lcd/setcolor.md + - lcd.sizeText(text \[, flags\]): api-reference/lcd/sizetext.md + - Bitmap Functions: + - Bitmap Functions: api-reference/bitmap/index.md + - Bitmap.getSize(name): api-reference/bitmap/getsize.md + - Bitmap.open(name): api-reference/bitmap/open.md + - Filesystem: + - Filesystem: api-reference/filesystem/index.md + - dir(directory): api-reference/filesystem/dir-directory.md + - fstat(path): api-reference/filesystem/fstat-path.md +- Part IV - Advanced Topics: + - Part IV - Advanced Topics: advanced-topics/index.md + - Lua data sharing across scripts: advanced-topics/lua-data-sharing-across-scripts.md + - Debugging techniques: advanced-topics/debugging-techniques.md + - Speed/memory optimizaton tricks: advanced-topics/optimization-tricks.md +- Appendix: + - Appendix: appendix/index.md + - Fonts: appendix/fonts.md + - Units: appendix/units.md diff --git a/part_i_-_script_type_overview.md b/part_i_-_script_type_overview.md deleted file mode 100644 index d5b5df8aa..000000000 --- a/part_i_-_script_type_overview.md +++ /dev/null @@ -1,3 +0,0 @@ -# Part I - Script Type Overview - -This section introduces the types of Lua scripts supported by OpenTX and how they may be used. \ No newline at end of file diff --git a/part_ii_-_opentx_lua_api_programming_guide.md b/part_ii_-_opentx_lua_api_programming_guide.md deleted file mode 100644 index efb1fe9b0..000000000 --- a/part_ii_-_opentx_lua_api_programming_guide.md +++ /dev/null @@ -1,2 +0,0 @@ -# Part II - OpenTX Lua API Programming Guide -This section provides more specifics on the OpenTX Lua implementation. Here you will find syntax rules for interface tables and functions. \ No newline at end of file diff --git a/part_iii_-_opentx_lua_api_reference.md b/part_iii_-_opentx_lua_api_reference.md deleted file mode 100644 index 2f1e3745d..000000000 --- a/part_iii_-_opentx_lua_api_reference.md +++ /dev/null @@ -1,3 +0,0 @@ -# Part III - OpenTX Lua API Reference - -This section describes the Lua libraries, functions and constants that are provided by OpenTX. \ No newline at end of file diff --git a/part_vi_-_advanced_topics.md b/part_vi_-_advanced_topics.md deleted file mode 100644 index 7dd3a7bde..000000000 --- a/part_vi_-_advanced_topics.md +++ /dev/null @@ -1,3 +0,0 @@ -# Part VI - Advanced Topics - -The advanced topics section covers file i/o, data sharing, and debugging techniques \ No newline at end of file diff --git a/part_vii_-_appendix.md b/part_vii_-_appendix.md deleted file mode 100644 index 6bac8da68..000000000 --- a/part_vii_-_appendix.md +++ /dev/null @@ -1,3 +0,0 @@ -# Part VII - Appendix - -Various additional documents \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..b49058885 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "lua-reference-guide-docs" +version = "0.1.0" +description = "Docs tooling for the EdgeTX Lua Reference Guide migration" +requires-python = ">=3.11" +dependencies = [ + "mkdocs>=1.6,<2.0", + "mkdocs-material>=9.5,<10.0", + "mike>=2,<3", + "mkdocs-minify-plugin>=0.8,<1.0", + "markdown>=3.6,<4.0", +] + +[tool.uv] +package = false diff --git a/tools/generate-api-docs.py b/tools/generate-api-docs.py deleted file mode 100755 index d29c6568e..000000000 --- a/tools/generate-api-docs.py +++ /dev/null @@ -1,318 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- - -from __future__ import print_function # (at top of module) - -import sys -import re -import os -import errno -import glob -import argparse -import urllib2 -import datetime - -DEBUG = False - -MODULES = {} -FUNCTIONS = [] - -STARTMARKER = "[//]: <> (LUADOC-BEGIN:" -ENDMARKER = "[//]: <> (LUADOC-END:" -SUMMARYFILE = "SUMMARY.md" -READMEFILE = "README.md" -DOCBASE = "https://raw.githubusercontent.com/EdgeTX/lua-reference-guide/edgetx_2.4/" -SOURCEBASE = "https://raw.githubusercontent.com/EdgeTX/edgetx/main/radio/src/lua/" - - -def logDebug(txt): - if DEBUG: - print(txt) - -def logInfo(txt): - print("Info: %s" % txt) - -def logError(txt): - print("Error: %s" % txt) - sys.exit(1) - - -def parseParameters(lines): - params = [] - for l in lines: - #l = l.strip(" \t\n") - #logDebug("l: %s" % l) - paramName = l.split(" ")[0].strip(" \t\n") - paramText = " ".join( l.split(" ")[1:] ) - #logDebug("param: %s, desc: %s" %(paramName, paramText)) - params.append( (paramName, paramText) ) - return params - -def extractItems(item, doc): - # find all items - pattern = "^@" + item + ".*?\n\s*\n" - items = re.findall(pattern, doc, flags = re.DOTALL | re.MULTILINE) - #logDebug("Found %d %s items in %s" % (len(items), item, repr(doc))) - - # remove found items from the text - leftoverLines = doc - for i in items : - # print("f:", repr(i)) - leftoverLines = leftoverLines.replace(i, "", 1) - pass - - # format found items - result = [] - for i in items: - result.append( i[len(item)+2:] ) - - return result, leftoverLines - -def parseFunction(doc): - functions, lines = extractItems("function", doc + "\n") - logDebug("Function: %s" % repr(functions)) - funcDefinition = functions[0] - logDebug("Function: %s" % funcDefinition) - # get function name - funcName = funcDefinition.split("(")[0] - # parse module name - moduleName = "general" - try: - moduleName, funcName = funcName.split(".") - except: - pass - logDebug("module name: %s" % moduleName) - logDebug("Function name: %s" % funcName) - - params, lines = extractItems("param", lines) - logDebug("params: %s" % repr(params)) - params = parseParameters(params) - - retvals, lines = extractItems("retval", lines) - logDebug("retvals: %s" % repr(retvals)) - retvals = parseParameters(retvals) - - notices, lines = extractItems("notice", lines) - logDebug("notices: %s" % repr(notices)) - - description = lines - - #add to registry - functionObject = (moduleName, funcName, funcDefinition, description, params, retvals, notices) - - if not moduleName in MODULES: - MODULES[moduleName] = [] - MODULES[moduleName].append(functionObject) - -def parseDoc(doc): - # remove beginning and end delimiter - doc = doc[9:-3] + "\n" - logDebug("\n\nDoc:\n %s" % doc) - # first line defines contents - firstLine = doc.split('\n')[0].strip(" \t\n") - if len(firstLine) < 2: - logError("definition missing in:\n%s" % doc) - contentType = firstLine.split(" ")[0] - logDebug("content type: %s" % contentType) - if contentType == "@function": - parseFunction(doc) - elif contentType == "@foobar": - pass - else: - logInfo("Unknown content type: %s" % contentType) - - -def parseSource(data): - docs = re.findall("/\*luadoc.*?\*/", data, flags = re.DOTALL) - logInfo("Found %d documentation sections" % len(docs)) - for doc in docs: - parseDoc(doc) - - -def escape(txt): - return txt.replace("<", "<").replace(">", ">") - -def byExtension_key(example): - # sorts such that display order is notes(.md), example(.lua), output(.png) - order = ".0" # assume notes - if example[1] == "lua": - order = ".1" - elif example[1] == "png": - order = ".2" - return (example[0] + order) - -def addExamples(moduleName, funcName): - doc = "" - examplePattern = "%s/%s-example*.*" % (moduleName, funcName) - logDebug("Looking for examples that fit pattern: %s" % examplePattern) - examples = glob.glob(examplePattern) - if len(examples) > 0: - # sort examples considering their extension (.md -> .lua -> .png within the same base name) - examples = sorted([x.split(".") for x in examples], key = byExtension_key) - # header - doc += "\n\n---\n\n### Examples\n\n" - for example in examples: - fileName = example[0]+"."+example[1] - logInfo("Adding contents of example %s" % fileName) - with open(fileName, "r") as e: - if example[1] == "md": - # md files are included verbatim - doc += e.read() - doc += "\n\n" - if example[1] == "lua": - # add download link before content is included - doc += "%s\n\n" % (DOCBASE, fileName.replace("\\", "/"), example[0].replace("\\", "/")) - # lua files are escaped in code block - doc += "```lua\n" - doc += e.read() - if doc[-1] != '\n': - doc += "\n" - doc += "```\n\n" - if example[1] == "png": - # png files are linked as images - doc += "![](%s)" % os.path.basename(fileName) - doc += "\n\n" - return doc - -def generateFunctionDoc(f): - # f = (moduleName, funcName, funcDefinition, description, params, retvals, notices) - doc = "\n\n" - # doc = "\n\n" % datetime.datetime.utcnow().strftime('%Y/%m/%d %H:%M:%S UTC') - - # name - doc += "## %s\n\n" % escape(f[2]) - - # description - doc += "%s" % f[3] - doc += "\n" - - # params - doc += "#### Parameters\n\n" - if len(f[4]) == 0: - doc += "none" - else: - for p in f[4]: - doc += "* `%s` %s" % p - doc += "\n\n" - - # return values - doc += "#### Return value\n\n" - if len(f[5]) == 0: - doc += "none" - else: - for p in f[5]: - doc += "* `%s` %s" % p - doc += "\n\n" - - # notices - if len(f[6]) > 0: - doc += "##### Notice\n" - for p in f[6]: - doc += "%s\n" % p - - # look for other pre-created examples and include them - doc += addExamples(f[0], f[1]) - - return doc - -def mkdir_p(path): - try: - os.makedirs(path) - except OSError as exc: # Python >2.5 - if exc.errno == errno.EEXIST and os.path.isdir(path): - pass - else: raise - -def insertSection(newContents, sectionName): - logDebug("Inserting section: %s" % sectionName) - - if sectionName == "timestamp": - newContents.append("%s%s)\n" % (STARTMARKER, sectionName)) - newContents.append("
last updated on %s
\n" % datetime.datetime.utcnow().strftime('%Y/%m/%d %H:%M:%S UTC')) - newContents.append("%s%s)\n" % (ENDMARKER, sectionName)) - return - - newContents.append(" * [%s Functions](%s/%s_functions.md) %s%s)\n" % (sectionName.capitalize(), sectionName, sectionName, STARTMARKER, sectionName)) - - # look for an overview for the section and insert it if found - overviewFileName = "%s/%s_functions-overview.md" % (sectionName, sectionName) - if os.path.isfile(overviewFileName): - newContents.append(" * [%s Functions Overview](%s)\n" % (sectionName.capitalize(), overviewFileName)) - - for f in sorted(MODULES[sectionName]): - # f = (moduleName, funcName, funcDefinition, description, params, retvals, notices) - newContents.append(" * [%s](%s/%s.md)\n" % (f[2].rstrip(), sectionName, f[1])) - - newContents[-1] = "%s %s%s)\n" % (newContents[-1].rstrip(),ENDMARKER, sectionName) - -def replaceSections(fileName): - newContents = [] - ignoreLine = False - with open(fileName, "r") as data: - contents = data.readlines() - - for line in contents: - if line.find(STARTMARKER) >= 0: - ignoreLine = True - elif line.find(ENDMARKER) >= 0: - # parse the section name and call insertSection - sectionName = line.split(ENDMARKER)[1].split(")")[0] - insertSection(newContents, sectionName) - ignoreLine = False - else: - if not ignoreLine: - newContents.append(line) - - with open(fileName, "w+") as out: - for line in newContents: - out.write(line) - logInfo("generated %s" % fileName) - -# start of main program - -parser = argparse.ArgumentParser(description='Foo bar') -parser.add_argument("-d", "--debug", help="increase output verbosity", action="store_true") -parser.add_argument('files', nargs='*') -args = parser.parse_args() - -DEBUG = args.debug - -if len(args.files) == 0: - args.files = [ SOURCEBASE + f for f in ("api_general.cpp", "api_colorlcd.cpp", "api_model.cpp")] - -for fileName in args.files: - logInfo("Opening %s" % fileName) - if fileName.startswith("http"): - inp = urllib2.urlopen(fileName) - else: - inp = open(fileName, "r") - data = inp.read() - inp.close() - parseSource(data) - -#show gathered data -for m in MODULES.iterkeys(): - summary = "" - logDebug("Module: %s" % m) - for f in sorted(MODULES[m]): - # f = (moduleName, funcName, funcDefinition, description, params, retvals, notices) - logDebug("Function: %s" % repr(f)) - doc = generateFunctionDoc(f) - # print(doc) - docName = "part_iii_-_opentx_lua_api_reference/%s-functions-less-than-greater-than-luadoc-begin-%s/%s.md" % (f[0], f[0], f[1].lower()) - mkdir_p(os.path.dirname(docName)) - with open(docName, "w") as out: - out.write(doc) - logInfo("generated %s" % docName) - if f[0] != "general": - summary += " * [%s.%s()](%s)\n" % (f[0], f[1], docName) - else: - summary += " * [%s()](%s)\n" % (f[1], docName) - print("Summary:") - print(summary) - -#now update SUMMARY.MD replacing the outdated sections -replaceSections(SUMMARYFILE) - -#now update the timestamp in README.md -replaceSections(READMEFILE) diff --git a/uv.lock b/uv.lock new file mode 100644 index 000000000..019bbe245 --- /dev/null +++ b/uv.lock @@ -0,0 +1,627 @@ +version = 1 +revision = 3 +requires-python = ">=3.11" + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "backrefs" +version = "6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/a6/e325ec73b638d3ede4421b5445d4a0b8b219481826cc079d510100af356c/backrefs-6.2.tar.gz", hash = "sha256:f44ff4d48808b243b6c0cdc6231e22195c32f77046018141556c66f8bab72a49", size = 7012303, upload-time = "2026-02-16T19:10:15.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/39/3765df263e08a4df37f4f43cb5aa3c6c17a4bdd42ecfe841e04c26037171/backrefs-6.2-py310-none-any.whl", hash = "sha256:0fdc7b012420b6b144410342caeb8adc54c6866cf12064abc9bb211302e496f8", size = 381075, upload-time = "2026-02-16T19:10:04.322Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f0/35240571e1b67ffb19dafb29ab34150b6f59f93f717b041082cdb1bfceb1/backrefs-6.2-py311-none-any.whl", hash = "sha256:08aa7fae530c6b2361d7bdcbda1a7c454e330cc9dbcd03f5c23205e430e5c3be", size = 392874, upload-time = "2026-02-16T19:10:06.314Z" }, + { url = "https://files.pythonhosted.org/packages/e3/63/77e8c9745b4d227cce9f5e0a6f68041278c5f9b18588b35905f5f19c1beb/backrefs-6.2-py312-none-any.whl", hash = "sha256:c3f4b9cb2af8cda0d87ab4f57800b57b95428488477be164dd2b47be54db0c90", size = 398787, upload-time = "2026-02-16T19:10:08.274Z" }, + { url = "https://files.pythonhosted.org/packages/c5/71/c754b1737ad99102e03fa3235acb6cb6d3ac9d6f596cbc3e5f236705abd8/backrefs-6.2-py313-none-any.whl", hash = "sha256:12df81596ab511f783b7d87c043ce26bc5b0288cf3bb03610fe76b8189282b2b", size = 400747, upload-time = "2026-02-16T19:10:09.791Z" }, + { url = "https://files.pythonhosted.org/packages/af/75/be12ba31a6eb20dccef2320cd8ccb3f7d9013b68ba4c70156259fee9e409/backrefs-6.2-py314-none-any.whl", hash = "sha256:e5f805ae09819caa1aa0623b4a83790e7028604aa2b8c73ba602c4454e665de7", size = 412602, upload-time = "2026-02-16T19:10:12.317Z" }, + { url = "https://files.pythonhosted.org/packages/21/f8/d02f650c47d05034dcd6f9c8cf94f39598b7a89c00ecda0ecb2911bc27e9/backrefs-6.2-py39-none-any.whl", hash = "sha256:664e33cd88c6840b7625b826ecf2555f32d491800900f5a541f772c485f7cda7", size = 381077, upload-time = "2026-02-16T19:10:13.74Z" }, +] + +[[package]] +name = "certifi" +version = "2026.2.25" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6", size = 143363, upload-time = "2026-03-15T18:53:25.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/28/ff6f234e628a2de61c458be2779cb182bc03f6eec12200d4a525bbfc9741/charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e", size = 293582, upload-time = "2026-03-15T18:50:25.454Z" }, + { url = "https://files.pythonhosted.org/packages/1c/b7/b1a117e5385cbdb3205f6055403c2a2a220c5ea80b8716c324eaf75c5c95/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9", size = 197240, upload-time = "2026-03-15T18:50:27.196Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5f/2574f0f09f3c3bc1b2f992e20bce6546cb1f17e111c5be07308dc5427956/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d", size = 217363, upload-time = "2026-03-15T18:50:28.601Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d1/0ae20ad77bc949ddd39b51bf383b6ca932f2916074c95cad34ae465ab71f/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bc72863f4d9aba2e8fd9085e63548a324ba706d2ea2c83b260da08a59b9482de", size = 212994, upload-time = "2026-03-15T18:50:30.102Z" }, + { url = "https://files.pythonhosted.org/packages/60/ac/3233d262a310c1b12633536a07cde5ddd16985e6e7e238e9f3f9423d8eb9/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73", size = 204697, upload-time = "2026-03-15T18:50:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/25/3c/8a18fc411f085b82303cfb7154eed5bd49c77035eb7608d049468b53f87c/charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:0c173ce3a681f309f31b87125fecec7a5d1347261ea11ebbb856fa6006b23c8c", size = 191673, upload-time = "2026-03-15T18:50:33.433Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a7/11cfe61d6c5c5c7438d6ba40919d0306ed83c9ab957f3d4da2277ff67836/charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c907cdc8109f6c619e6254212e794d6548373cc40e1ec75e6e3823d9135d29cc", size = 201120, upload-time = "2026-03-15T18:50:35.105Z" }, + { url = "https://files.pythonhosted.org/packages/b5/10/cf491fa1abd47c02f69687046b896c950b92b6cd7337a27e6548adbec8e4/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:404a1e552cf5b675a87f0651f8b79f5f1e6fd100ee88dc612f89aa16abd4486f", size = 200911, upload-time = "2026-03-15T18:50:36.819Z" }, + { url = "https://files.pythonhosted.org/packages/28/70/039796160b48b18ed466fde0af84c1b090c4e288fae26cd674ad04a2d703/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e3c701e954abf6fc03a49f7c579cc80c2c6cc52525340ca3186c41d3f33482ef", size = 192516, upload-time = "2026-03-15T18:50:38.228Z" }, + { url = "https://files.pythonhosted.org/packages/ff/34/c56f3223393d6ff3124b9e78f7de738047c2d6bc40a4f16ac0c9d7a1cb3c/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a6967aaf043bceabab5412ed6bd6bd26603dae84d5cb75bf8d9a74a4959d398", size = 218795, upload-time = "2026-03-15T18:50:39.664Z" }, + { url = "https://files.pythonhosted.org/packages/e8/3b/ce2d4f86c5282191a041fdc5a4ce18f1c6bd40a5bd1f74cf8625f08d51c1/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5feb91325bbceade6afab43eb3b508c63ee53579fe896c77137ded51c6b6958e", size = 201833, upload-time = "2026-03-15T18:50:41.552Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9b/b6a9f76b0fd7c5b5ec58b228ff7e85095370282150f0bd50b3126f5506d6/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f820f24b09e3e779fe84c3c456cb4108a7aa639b0d1f02c28046e11bfcd088ed", size = 213920, upload-time = "2026-03-15T18:50:43.33Z" }, + { url = "https://files.pythonhosted.org/packages/ae/98/7bc23513a33d8172365ed30ee3a3b3fe1ece14a395e5fc94129541fc6003/charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b35b200d6a71b9839a46b9b7fff66b6638bb52fc9658aa58796b0326595d3021", size = 206951, upload-time = "2026-03-15T18:50:44.789Z" }, + { url = "https://files.pythonhosted.org/packages/32/73/c0b86f3d1458468e11aec870e6b3feac931facbe105a894b552b0e518e79/charset_normalizer-3.4.6-cp311-cp311-win32.whl", hash = "sha256:9ca4c0b502ab399ef89248a2c84c54954f77a070f28e546a85e91da627d1301e", size = 143703, upload-time = "2026-03-15T18:50:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/c6/e3/76f2facfe8eddee0bbd38d2594e709033338eae44ebf1738bcefe0a06185/charset_normalizer-3.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:a9e68c9d88823b274cf1e72f28cb5dc89c990edf430b0bfd3e2fb0785bfeabf4", size = 153857, upload-time = "2026-03-15T18:50:47.563Z" }, + { url = "https://files.pythonhosted.org/packages/e2/dc/9abe19c9b27e6cd3636036b9d1b387b78c40dedbf0b47f9366737684b4b0/charset_normalizer-3.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:97d0235baafca5f2b09cf332cc275f021e694e8362c6bb9c96fc9a0eb74fc316", size = 142751, upload-time = "2026-03-15T18:50:49.234Z" }, + { url = "https://files.pythonhosted.org/packages/e5/62/c0815c992c9545347aeea7859b50dc9044d147e2e7278329c6e02ac9a616/charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab", size = 295154, upload-time = "2026-03-15T18:50:50.88Z" }, + { url = "https://files.pythonhosted.org/packages/a8/37/bdca6613c2e3c58c7421891d80cc3efa1d32e882f7c4a7ee6039c3fc951a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21", size = 199191, upload-time = "2026-03-15T18:50:52.658Z" }, + { url = "https://files.pythonhosted.org/packages/6c/92/9934d1bbd69f7f398b38c5dae1cbf9cc672e7c34a4adf7b17c0a9c17d15d/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2", size = 218674, upload-time = "2026-03-15T18:50:54.102Z" }, + { url = "https://files.pythonhosted.org/packages/af/90/25f6ab406659286be929fd89ab0e78e38aa183fc374e03aa3c12d730af8a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff", size = 215259, upload-time = "2026-03-15T18:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ef/79a463eb0fff7f96afa04c1d4c51f8fc85426f918db467854bfb6a569ce3/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5", size = 207276, upload-time = "2026-03-15T18:50:57.054Z" }, + { url = "https://files.pythonhosted.org/packages/f7/72/d0426afec4b71dc159fa6b4e68f868cd5a3ecd918fec5813a15d292a7d10/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0", size = 195161, upload-time = "2026-03-15T18:50:58.686Z" }, + { url = "https://files.pythonhosted.org/packages/bf/18/c82b06a68bfcb6ce55e508225d210c7e6a4ea122bfc0748892f3dc4e8e11/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a", size = 203452, upload-time = "2026-03-15T18:51:00.196Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/0c25979b92f8adafdbb946160348d8d44aa60ce99afdc27df524379875cb/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2", size = 202272, upload-time = "2026-03-15T18:51:01.703Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3d/7fea3e8fe84136bebbac715dd1221cc25c173c57a699c030ab9b8900cbb7/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5", size = 195622, upload-time = "2026-03-15T18:51:03.526Z" }, + { url = "https://files.pythonhosted.org/packages/57/8a/d6f7fd5cb96c58ef2f681424fbca01264461336d2a7fc875e4446b1f1346/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6", size = 220056, upload-time = "2026-03-15T18:51:05.269Z" }, + { url = "https://files.pythonhosted.org/packages/16/50/478cdda782c8c9c3fb5da3cc72dd7f331f031e7f1363a893cdd6ca0f8de0/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d", size = 203751, upload-time = "2026-03-15T18:51:06.858Z" }, + { url = "https://files.pythonhosted.org/packages/75/fc/cc2fcac943939c8e4d8791abfa139f685e5150cae9f94b60f12520feaa9b/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2", size = 216563, upload-time = "2026-03-15T18:51:08.564Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b7/a4add1d9a5f68f3d037261aecca83abdb0ab15960a3591d340e829b37298/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923", size = 209265, upload-time = "2026-03-15T18:51:10.312Z" }, + { url = "https://files.pythonhosted.org/packages/6c/18/c094561b5d64a24277707698e54b7f67bd17a4f857bbfbb1072bba07c8bf/charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4", size = 144229, upload-time = "2026-03-15T18:51:11.694Z" }, + { url = "https://files.pythonhosted.org/packages/ab/20/0567efb3a8fd481b8f34f739ebddc098ed062a59fed41a8d193a61939e8f/charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb", size = 154277, upload-time = "2026-03-15T18:51:13.004Z" }, + { url = "https://files.pythonhosted.org/packages/15/57/28d79b44b51933119e21f65479d0864a8d5893e494cf5daab15df0247c17/charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4", size = 142817, upload-time = "2026-03-15T18:51:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/1e/1d/4fdabeef4e231153b6ed7567602f3b68265ec4e5b76d6024cf647d43d981/charset_normalizer-3.4.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:11afb56037cbc4b1555a34dd69151e8e069bee82e613a73bef6e714ce733585f", size = 294823, upload-time = "2026-03-15T18:51:15.755Z" }, + { url = "https://files.pythonhosted.org/packages/47/7b/20e809b89c69d37be748d98e84dce6820bf663cf19cf6b942c951a3e8f41/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423fb7e748a08f854a08a222b983f4df1912b1daedce51a72bd24fe8f26a1843", size = 198527, upload-time = "2026-03-15T18:51:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/37/a6/4f8d27527d59c039dce6f7622593cdcd3d70a8504d87d09eb11e9fdc6062/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d73beaac5e90173ac3deb9928a74763a6d230f494e4bfb422c217a0ad8e629bf", size = 218388, upload-time = "2026-03-15T18:51:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/f6/9b/4770ccb3e491a9bacf1c46cc8b812214fe367c86a96353ccc6daf87b01ec/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d60377dce4511655582e300dc1e5a5f24ba0cb229005a1d5c8d0cb72bb758ab8", size = 214563, upload-time = "2026-03-15T18:51:20.374Z" }, + { url = "https://files.pythonhosted.org/packages/2b/58/a199d245894b12db0b957d627516c78e055adc3a0d978bc7f65ddaf7c399/charset_normalizer-3.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:530e8cebeea0d76bdcf93357aa5e41336f48c3dc709ac52da2bb167c5b8271d9", size = 206587, upload-time = "2026-03-15T18:51:21.807Z" }, + { url = "https://files.pythonhosted.org/packages/7e/70/3def227f1ec56f5c69dfc8392b8bd63b11a18ca8178d9211d7cc5e5e4f27/charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:a26611d9987b230566f24a0a125f17fe0de6a6aff9f25c9f564aaa2721a5fb88", size = 194724, upload-time = "2026-03-15T18:51:23.508Z" }, + { url = "https://files.pythonhosted.org/packages/58/ab/9318352e220c05efd31c2779a23b50969dc94b985a2efa643ed9077bfca5/charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34315ff4fc374b285ad7f4a0bf7dcbfe769e1b104230d40f49f700d4ab6bbd84", size = 202956, upload-time = "2026-03-15T18:51:25.239Z" }, + { url = "https://files.pythonhosted.org/packages/75/13/f3550a3ac25b70f87ac98c40d3199a8503676c2f1620efbf8d42095cfc40/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ddd609f9e1af8c7bd6e2aca279c931aefecd148a14402d4e368f3171769fd", size = 201923, upload-time = "2026-03-15T18:51:26.682Z" }, + { url = "https://files.pythonhosted.org/packages/1b/db/c5c643b912740b45e8eec21de1bbab8e7fc085944d37e1e709d3dcd9d72f/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:80d0a5615143c0b3225e5e3ef22c8d5d51f3f72ce0ea6fb84c943546c7b25b6c", size = 195366, upload-time = "2026-03-15T18:51:28.129Z" }, + { url = "https://files.pythonhosted.org/packages/5a/67/3b1c62744f9b2448443e0eb160d8b001c849ec3fef591e012eda6484787c/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:92734d4d8d187a354a556626c221cd1a892a4e0802ccb2af432a1d85ec012194", size = 219752, upload-time = "2026-03-15T18:51:29.556Z" }, + { url = "https://files.pythonhosted.org/packages/f6/98/32ffbaf7f0366ffb0445930b87d103f6b406bc2c271563644bde8a2b1093/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:613f19aa6e082cf96e17e3ffd89383343d0d589abda756b7764cf78361fd41dc", size = 203296, upload-time = "2026-03-15T18:51:30.921Z" }, + { url = "https://files.pythonhosted.org/packages/41/12/5d308c1bbe60cabb0c5ef511574a647067e2a1f631bc8634fcafaccd8293/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2b1a63e8224e401cafe7739f77efd3f9e7f5f2026bda4aead8e59afab537784f", size = 215956, upload-time = "2026-03-15T18:51:32.399Z" }, + { url = "https://files.pythonhosted.org/packages/53/e9/5f85f6c5e20669dbe56b165c67b0260547dea97dba7e187938833d791687/charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6cceb5473417d28edd20c6c984ab6fee6c6267d38d906823ebfe20b03d607dc2", size = 208652, upload-time = "2026-03-15T18:51:34.214Z" }, + { url = "https://files.pythonhosted.org/packages/f1/11/897052ea6af56df3eef3ca94edafee410ca699ca0c7b87960ad19932c55e/charset_normalizer-3.4.6-cp313-cp313-win32.whl", hash = "sha256:d7de2637729c67d67cf87614b566626057e95c303bc0a55ffe391f5205e7003d", size = 143940, upload-time = "2026-03-15T18:51:36.15Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5c/724b6b363603e419829f561c854b87ed7c7e31231a7908708ac086cdf3e2/charset_normalizer-3.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:572d7c822caf521f0525ba1bce1a622a0b85cf47ffbdae6c9c19e3b5ac3c4389", size = 154101, upload-time = "2026-03-15T18:51:37.876Z" }, + { url = "https://files.pythonhosted.org/packages/01/a5/7abf15b4c0968e47020f9ca0935fb3274deb87cb288cd187cad92e8cdffd/charset_normalizer-3.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a4474d924a47185a06411e0064b803c68be044be2d60e50e8bddcc2649957c1f", size = 143109, upload-time = "2026-03-15T18:51:39.565Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/ffe1e1259f384594063ea1869bfb6be5cdb8bc81020fc36c3636bc8302a1/charset_normalizer-3.4.6-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9cc6e6d9e571d2f863fa77700701dae73ed5f78881efc8b3f9a4398772ff53e8", size = 294458, upload-time = "2026-03-15T18:51:41.134Z" }, + { url = "https://files.pythonhosted.org/packages/56/60/09bb6c13a8c1016c2ed5c6a6488e4ffef506461aa5161662bd7636936fb1/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef5960d965e67165d75b7c7ffc60a83ec5abfc5c11b764ec13ea54fbef8b4421", size = 199277, upload-time = "2026-03-15T18:51:42.953Z" }, + { url = "https://files.pythonhosted.org/packages/00/50/dcfbb72a5138bbefdc3332e8d81a23494bf67998b4b100703fd15fa52d81/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b3694e3f87f8ac7ce279d4355645b3c878d24d1424581b46282f24b92f5a4ae2", size = 218758, upload-time = "2026-03-15T18:51:44.339Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/d79a9a191bb75f5aa81f3aaaa387ef29ce7cb7a9e5074ba8ea095cc073c2/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5d11595abf8dd942a77883a39d81433739b287b6aa71620f15164f8096221b30", size = 215299, upload-time = "2026-03-15T18:51:45.871Z" }, + { url = "https://files.pythonhosted.org/packages/76/7e/bc8911719f7084f72fd545f647601ea3532363927f807d296a8c88a62c0d/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7bda6eebafd42133efdca535b04ccb338ab29467b3f7bf79569883676fc628db", size = 206811, upload-time = "2026-03-15T18:51:47.308Z" }, + { url = "https://files.pythonhosted.org/packages/e2/40/c430b969d41dda0c465aa36cc7c2c068afb67177bef50905ac371b28ccc7/charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:bbc8c8650c6e51041ad1be191742b8b421d05bbd3410f43fa2a00c8db87678e8", size = 193706, upload-time = "2026-03-15T18:51:48.849Z" }, + { url = "https://files.pythonhosted.org/packages/48/15/e35e0590af254f7df984de1323640ef375df5761f615b6225ba8deb9799a/charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:22c6f0c2fbc31e76c3b8a86fba1a56eda6166e238c29cdd3d14befdb4a4e4815", size = 202706, upload-time = "2026-03-15T18:51:50.257Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bd/f736f7b9cc5e93a18b794a50346bb16fbfd6b37f99e8f306f7951d27c17c/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7edbed096e4a4798710ed6bc75dcaa2a21b68b6c356553ac4823c3658d53743a", size = 202497, upload-time = "2026-03-15T18:51:52.012Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ba/2cc9e3e7dfdf7760a6ed8da7446d22536f3d0ce114ac63dee2a5a3599e62/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7f9019c9cb613f084481bd6a100b12e1547cf2efe362d873c2e31e4035a6fa43", size = 193511, upload-time = "2026-03-15T18:51:53.723Z" }, + { url = "https://files.pythonhosted.org/packages/9e/cb/5be49b5f776e5613be07298c80e1b02a2d900f7a7de807230595c85a8b2e/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:58c948d0d086229efc484fe2f30c2d382c86720f55cd9bc33591774348ad44e0", size = 220133, upload-time = "2026-03-15T18:51:55.333Z" }, + { url = "https://files.pythonhosted.org/packages/83/43/99f1b5dad345accb322c80c7821071554f791a95ee50c1c90041c157ae99/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:419a9d91bd238052642a51938af8ac05da5b3343becde08d5cdeab9046df9ee1", size = 203035, upload-time = "2026-03-15T18:51:56.736Z" }, + { url = "https://files.pythonhosted.org/packages/87/9a/62c2cb6a531483b55dddff1a68b3d891a8b498f3ca555fbcf2978e804d9d/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5273b9f0b5835ff0350c0828faea623c68bfa65b792720c453e22b25cc72930f", size = 216321, upload-time = "2026-03-15T18:51:58.17Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/94a010ff81e3aec7c293eb82c28f930918e517bc144c9906a060844462eb/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0e901eb1049fdb80f5bd11ed5ea1e498ec423102f7a9b9e4645d5b8204ff2815", size = 208973, upload-time = "2026-03-15T18:51:59.998Z" }, + { url = "https://files.pythonhosted.org/packages/2a/57/4ecff6d4ec8585342f0c71bc03efaa99cb7468f7c91a57b105bcd561cea8/charset_normalizer-3.4.6-cp314-cp314-win32.whl", hash = "sha256:b4ff1d35e8c5bd078be89349b6f3a845128e685e751b6ea1169cf2160b344c4d", size = 144610, upload-time = "2026-03-15T18:52:02.213Z" }, + { url = "https://files.pythonhosted.org/packages/80/94/8434a02d9d7f168c25767c64671fead8d599744a05d6a6c877144c754246/charset_normalizer-3.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:74119174722c4349af9708993118581686f343adc1c8c9c007d59be90d077f3f", size = 154962, upload-time = "2026-03-15T18:52:03.658Z" }, + { url = "https://files.pythonhosted.org/packages/46/4c/48f2cdbfd923026503dfd67ccea45c94fd8fe988d9056b468579c66ed62b/charset_normalizer-3.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:e5bcc1a1ae744e0bb59641171ae53743760130600da8db48cbb6e4918e186e4e", size = 143595, upload-time = "2026-03-15T18:52:05.123Z" }, + { url = "https://files.pythonhosted.org/packages/31/93/8878be7569f87b14f1d52032946131bcb6ebbd8af3e20446bc04053dc3f1/charset_normalizer-3.4.6-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ad8faf8df23f0378c6d527d8b0b15ea4a2e23c89376877c598c4870d1b2c7866", size = 314828, upload-time = "2026-03-15T18:52:06.831Z" }, + { url = "https://files.pythonhosted.org/packages/06/b6/fae511ca98aac69ecc35cde828b0a3d146325dd03d99655ad38fc2cc3293/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5ea69428fa1b49573eef0cc44a1d43bebd45ad0c611eb7d7eac760c7ae771bc", size = 208138, upload-time = "2026-03-15T18:52:08.239Z" }, + { url = "https://files.pythonhosted.org/packages/54/57/64caf6e1bf07274a1e0b7c160a55ee9e8c9ec32c46846ce59b9c333f7008/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:06a7e86163334edfc5d20fe104db92fcd666e5a5df0977cb5680a506fe26cc8e", size = 224679, upload-time = "2026-03-15T18:52:10.043Z" }, + { url = "https://files.pythonhosted.org/packages/aa/cb/9ff5a25b9273ef160861b41f6937f86fae18b0792fe0a8e75e06acb08f1d/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e1f6e2f00a6b8edb562826e4632e26d063ac10307e80f7461f7de3ad8ef3f077", size = 223475, upload-time = "2026-03-15T18:52:11.854Z" }, + { url = "https://files.pythonhosted.org/packages/fc/97/440635fc093b8d7347502a377031f9605a1039c958f3cd18dcacffb37743/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b52c68d64c1878818687a473a10547b3292e82b6f6fe483808fb1468e2f52f", size = 215230, upload-time = "2026-03-15T18:52:13.325Z" }, + { url = "https://files.pythonhosted.org/packages/cd/24/afff630feb571a13f07c8539fbb502d2ab494019492aaffc78ef41f1d1d0/charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:7504e9b7dc05f99a9bbb4525c67a2c155073b44d720470a148b34166a69c054e", size = 199045, upload-time = "2026-03-15T18:52:14.752Z" }, + { url = "https://files.pythonhosted.org/packages/e5/17/d1399ecdaf7e0498c327433e7eefdd862b41236a7e484355b8e0e5ebd64b/charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:172985e4ff804a7ad08eebec0a1640ece87ba5041d565fff23c8f99c1f389484", size = 211658, upload-time = "2026-03-15T18:52:16.278Z" }, + { url = "https://files.pythonhosted.org/packages/b5/38/16baa0affb957b3d880e5ac2144caf3f9d7de7bc4a91842e447fbb5e8b67/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4be9f4830ba8741527693848403e2c457c16e499100963ec711b1c6f2049b7c7", size = 210769, upload-time = "2026-03-15T18:52:17.782Z" }, + { url = "https://files.pythonhosted.org/packages/05/34/c531bc6ac4c21da9ddfddb3107be2287188b3ea4b53b70fc58f2a77ac8d8/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:79090741d842f564b1b2827c0b82d846405b744d31e84f18d7a7b41c20e473ff", size = 201328, upload-time = "2026-03-15T18:52:19.553Z" }, + { url = "https://files.pythonhosted.org/packages/fa/73/a5a1e9ca5f234519c1953608a03fe109c306b97fdfb25f09182babad51a7/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:87725cfb1a4f1f8c2fc9890ae2f42094120f4b44db9360be5d99a4c6b0e03a9e", size = 225302, upload-time = "2026-03-15T18:52:21.043Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f6/cd782923d112d296294dea4bcc7af5a7ae0f86ab79f8fefbda5526b6cfc0/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fcce033e4021347d80ed9c66dcf1e7b1546319834b74445f561d2e2221de5659", size = 211127, upload-time = "2026-03-15T18:52:22.491Z" }, + { url = "https://files.pythonhosted.org/packages/0e/c5/0b6898950627af7d6103a449b22320372c24c6feda91aa24e201a478d161/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ca0276464d148c72defa8bb4390cce01b4a0e425f3b50d1435aa6d7a18107602", size = 222840, upload-time = "2026-03-15T18:52:24.113Z" }, + { url = "https://files.pythonhosted.org/packages/7d/25/c4bba773bef442cbdc06111d40daa3de5050a676fa26e85090fc54dd12f0/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:197c1a244a274bb016dd8b79204850144ef77fe81c5b797dc389327adb552407", size = 216890, upload-time = "2026-03-15T18:52:25.541Z" }, + { url = "https://files.pythonhosted.org/packages/35/1a/05dacadb0978da72ee287b0143097db12f2e7e8d3ffc4647da07a383b0b7/charset_normalizer-3.4.6-cp314-cp314t-win32.whl", hash = "sha256:2a24157fa36980478dd1770b585c0f30d19e18f4fb0c47c13aa568f871718579", size = 155379, upload-time = "2026-03-15T18:52:27.05Z" }, + { url = "https://files.pythonhosted.org/packages/5d/7a/d269d834cb3a76291651256f3b9a5945e81d0a49ab9f4a498964e83c0416/charset_normalizer-3.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:cd5e2801c89992ed8c0a3f0293ae83c159a60d9a5d685005383ef4caca77f2c4", size = 169043, upload-time = "2026-03-15T18:52:28.502Z" }, + { url = "https://files.pythonhosted.org/packages/23/06/28b29fba521a37a8932c6a84192175c34d49f84a6d4773fa63d05f9aff22/charset_normalizer-3.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:47955475ac79cc504ef2704b192364e51d0d473ad452caedd0002605f780101c", size = 148523, upload-time = "2026-03-15T18:52:29.956Z" }, + { url = "https://files.pythonhosted.org/packages/2a/68/687187c7e26cb24ccbd88e5069f5ef00eba804d36dde11d99aad0838ab45/charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69", size = 61455, upload-time = "2026-03-15T18:53:23.833Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "csscompressor" +version = "0.9.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/2a/8c3ac3d8bc94e6de8d7ae270bb5bc437b210bb9d6d9e46630c98f4abd20c/csscompressor-0.9.5.tar.gz", hash = "sha256:afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05", size = 237808, upload-time = "2017-11-26T21:13:08.238Z" } + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "htmlmin2" +version = "0.1.13" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/31/a76f4bfa885f93b8167cb4c85cf32b54d1f64384d0b897d45bc6d19b7b45/htmlmin2-0.1.13-py3-none-any.whl", hash = "sha256:75609f2a42e64f7ce57dbff28a39890363bde9e7e5885db633317efbdf8c79a2", size = 34486, upload-time = "2023-03-14T21:28:30.388Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jsmin" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/73/e01e4c5e11ad0494f4407a3f623ad4d87714909f50b17a06ed121034ff6e/jsmin-3.0.1.tar.gz", hash = "sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc", size = 13925, upload-time = "2022-01-16T20:35:59.13Z" } + +[[package]] +name = "lua-reference-guide-docs" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "markdown" }, + { name = "mike" }, + { name = "mkdocs" }, + { name = "mkdocs-material" }, + { name = "mkdocs-minify-plugin" }, +] + +[package.metadata] +requires-dist = [ + { name = "markdown", specifier = ">=3.6,<4.0" }, + { name = "mike", specifier = ">=2,<3" }, + { name = "mkdocs", specifier = ">=1.6,<2.0" }, + { name = "mkdocs-material", specifier = ">=9.5,<10.0" }, + { name = "mkdocs-minify-plugin", specifier = ">=0.8,<1.0" }, +] + +[[package]] +name = "markdown" +version = "3.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mike" +version = "2.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "mkdocs" }, + { name = "pyparsing" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "verspec" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/09/de1cab0018eb5f1fbd9dcc26b6e61f9453c5ec2eb790949d6ed75e1ffe55/mike-2.1.4.tar.gz", hash = "sha256:75d549420b134603805a65fc67f7dcd9fcd0ad1454fb2c893d9e844cba1aa6e4", size = 38190, upload-time = "2026-03-08T02:46:29.187Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/f7/10f5e101db25741b91e4f4792c5d97b4fa834ead5cf509ae91097d939424/mike-2.1.4-py3-none-any.whl", hash = "sha256:39933e992e155dd70f2297e749a0ed78d8fd7942bc33a3666195d177758a280e", size = 33820, upload-time = "2026-03-08T02:46:28.149Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, +] + +[[package]] +name = "mkdocs-material" +version = "9.7.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "backrefs" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/29/6d2bcf41ae40802c4beda2432396fff97b8456fb496371d1bc7aad6512ec/mkdocs_material-9.7.6.tar.gz", hash = "sha256:00bdde50574f776d328b1862fe65daeaf581ec309bd150f7bff345a098c64a69", size = 4097959, upload-time = "2026-03-19T15:41:58.161Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl", hash = "sha256:71b84353921b8ea1ba84fe11c50912cc512da8fe0881038fcc9a0761c0e635ba", size = 9305470, upload-time = "2026-03-19T15:41:55.217Z" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, +] + +[[package]] +name = "mkdocs-minify-plugin" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "csscompressor" }, + { name = "htmlmin2" }, + { name = "jsmin" }, + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/67/fe4b77e7a8ae7628392e28b14122588beaf6078b53eb91c7ed000fd158ac/mkdocs-minify-plugin-0.8.0.tar.gz", hash = "sha256:bc11b78b8120d79e817308e2b11539d790d21445eb63df831e393f76e52e753d", size = 8366, upload-time = "2024-01-29T16:11:32.982Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/cd/2e8d0d92421916e2ea4ff97f10a544a9bd5588eb747556701c983581df13/mkdocs_minify_plugin-0.8.0-py3-none-any.whl", hash = "sha256:5fba1a3f7bd9a2142c9954a6559a57e946587b21f133165ece30ea145c66aee6", size = 6723, upload-time = "2024-01-29T16:11:31.851Z" }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, +] + +[[package]] +name = "pathspec" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", size = 131200, upload-time = "2026-01-27T03:59:46.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.9.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz", hash = "sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", size = 28737, upload-time = "2026-03-05T18:34:13.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl", hash = "sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", size = 21216, upload-time = "2026-03-05T18:34:12.172Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pymdown-extensions" +version = "10.21" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/63/06673d1eb6d8f83c0ea1f677d770e12565fb516928b4109c9e2055656a9e/pymdown_extensions-10.21.tar.gz", hash = "sha256:39f4a020f40773f6b2ff31d2cd2546c2c04d0a6498c31d9c688d2be07e1767d5", size = 853363, upload-time = "2026-02-15T20:44:06.748Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/2c/5b079febdc65e1c3fb2729bf958d18b45be7113828528e8a0b5850dd819a/pymdown_extensions-10.21-py3-none-any.whl", hash = "sha256:91b879f9f864d49794c2d9534372b10150e6141096c3908a455e45ca72ad9d3f", size = 268877, upload-time = "2026-02-15T20:44:05.464Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "verspec" +version = "0.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +] diff --git a/acknowledgments.md b/website/md-docs/acknowledgments.md similarity index 100% rename from acknowledgments.md rename to website/md-docs/acknowledgments.md diff --git a/part_iv_-_advanced_topics/debugging_techniques.md b/website/md-docs/advanced-topics/debugging-techniques.md similarity index 99% rename from part_iv_-_advanced_topics/debugging_techniques.md rename to website/md-docs/advanced-topics/debugging-techniques.md index fa24be67a..e11c742bd 100644 --- a/part_iv_-_advanced_topics/debugging_techniques.md +++ b/website/md-docs/advanced-topics/debugging-techniques.md @@ -97,4 +97,3 @@ end   return thisPage ``` - diff --git a/part_iv_-_advanced_topics/README.md b/website/md-docs/advanced-topics/index.md similarity index 99% rename from part_iv_-_advanced_topics/README.md rename to website/md-docs/advanced-topics/index.md index d5127e1d0..70b3346c2 100644 --- a/part_iv_-_advanced_topics/README.md +++ b/website/md-docs/advanced-topics/index.md @@ -1,4 +1,3 @@ # Part VI - Advanced Topics The advanced topics section covers file I/O, data sharing, and debugging techniques - diff --git a/part_iv_-_advanced_topics/lua_data_sharing_across_scripts.md b/website/md-docs/advanced-topics/lua-data-sharing-across-scripts.md similarity index 100% rename from part_iv_-_advanced_topics/lua_data_sharing_across_scripts.md rename to website/md-docs/advanced-topics/lua-data-sharing-across-scripts.md diff --git a/part_iv_-_advanced_topics/optimization_tricks.md b/website/md-docs/advanced-topics/optimization-tricks.md similarity index 65% rename from part_iv_-_advanced_topics/optimization_tricks.md rename to website/md-docs/advanced-topics/optimization-tricks.md index 8c4508c9b..19f20d9a7 100644 --- a/part_iv_-_advanced_topics/optimization_tricks.md +++ b/website/md-docs/advanced-topics/optimization-tricks.md @@ -2,7 +2,7 @@ ## Faster getValue() -Normally one uses [getValue()](../part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getvalue.md) function with the source/filed name like so: +Normally one uses [getValue()](../api-reference/general/getvalue.md) function with the source/filed name like so: ```lua local foo = getValue("bar") @@ -18,7 +18,7 @@ local function run_a_lot() end ``` -Why is this method faster? With the function [getFieldInfo(name)](../part\_iii\_-\_opentx\_lua\_api\_reference/general-functions-less-than-greater-than-luadoc-begin-general/getfieldinfo.md) we get the `numerical id` of the wanted filed. The function has to find the requested value by its name in the table of all available sources. That search takes some time. +Why is this method faster? With the function [getFieldInfo(name)](../api-reference/general/getfieldinfo.md) we get the `numerical id` of the wanted filed. The function has to find the requested value by its name in the table of all available sources. That search takes some time. When we use this syntax the search is only done once. In comparison in the first example the search must be performed every time `getValue("bar")` is called. diff --git a/part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/getsize.md b/website/md-docs/api-reference/bitmap/getsize.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/getsize.md rename to website/md-docs/api-reference/bitmap/getsize.md index d7e790d63..23157c9da 100644 --- a/part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/getsize.md +++ b/website/md-docs/api-reference/bitmap/getsize.md @@ -17,4 +17,3 @@ Return width, height of a bitmap object ### Notice Only available on Horus - diff --git a/part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/README.md b/website/md-docs/api-reference/bitmap/index.md similarity index 95% rename from part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/README.md rename to website/md-docs/api-reference/bitmap/index.md index 751cdaae0..26b19d9bb 100644 --- a/part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/README.md +++ b/website/md-docs/api-reference/bitmap/index.md @@ -1,2 +1 @@ # Bitmap Functions - diff --git a/part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/open.md b/website/md-docs/api-reference/bitmap/open.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/open.md rename to website/md-docs/api-reference/bitmap/open.md index a6ff06b97..92b1893cd 100644 --- a/part_iii_-_opentx_lua_api_reference/bitmap-functions-less-than-greater-than-luadoc-begin-bitmap/open.md +++ b/website/md-docs/api-reference/bitmap/open.md @@ -21,4 +21,3 @@ Bitmap loading can fail if: ### Notice Only available on Horus - diff --git a/part_iii_-_opentx_lua_api_reference/constants/color-constants.md b/website/md-docs/api-reference/constants/color-constants.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/constants/color-constants.md rename to website/md-docs/api-reference/constants/color-constants.md index 4e6558926..0750313d9 100644 --- a/part_iii_-_opentx_lua_api_reference/constants/color-constants.md +++ b/website/md-docs/api-reference/constants/color-constants.md @@ -79,4 +79,3 @@ These should no longer be used, but they are included for backwards compatibilit * TRIM\_BGCOLOR -> COLOR\_THEME\_FOCUS * TRIM\_SHADOW\_COLOR -> COLOR\_THEME\_PRIMARY1 * WARNING\_COLOR -> COLOR\_THEME\_WARNING - diff --git a/part_iii_-_opentx_lua_api_reference/constants/flags-and-pattern-constants.md b/website/md-docs/api-reference/constants/flags-and-pattern-constants.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/constants/flags-and-pattern-constants.md rename to website/md-docs/api-reference/constants/flags-and-pattern-constants.md index 160117f3b..8376b1f00 100644 --- a/part_iii_-_opentx_lua_api_reference/constants/flags-and-pattern-constants.md +++ b/website/md-docs/api-reference/constants/flags-and-pattern-constants.md @@ -35,4 +35,3 @@ description: >- | FORCE | pixels will be black | | ERASE | pixels will be white | | DOTTED | lines will appear dotted | - diff --git a/part_iii_-_opentx_lua_api_reference/constants/README.md b/website/md-docs/api-reference/constants/index.md similarity index 90% rename from part_iii_-_opentx_lua_api_reference/constants/README.md rename to website/md-docs/api-reference/constants/index.md index dfd982c95..2f45c21cf 100644 --- a/part_iii_-_opentx_lua_api_reference/constants/README.md +++ b/website/md-docs/api-reference/constants/index.md @@ -4,9 +4,8 @@ description: This section describes various constants that are provided for Lua # Constants -* [Key Events](key_events.md) +* [Key Events](key-events.md) * [Touch Events](touch-event-constants.md) * [Flags and Patterns](flags-and-pattern-constants.md) * [Colors](color-constants.md) * [Screen size](screen-constants.md) - diff --git a/part_iii_-_opentx_lua_api_reference/constants/key_events.md b/website/md-docs/api-reference/constants/key-events.md similarity index 85% rename from part_iii_-_opentx_lua_api_reference/constants/key_events.md rename to website/md-docs/api-reference/constants/key-events.md index 33f682306..27bf09138 100644 --- a/part_iii_-_opentx_lua_api_reference/constants/key_events.md +++ b/website/md-docs/api-reference/constants/key-events.md @@ -22,14 +22,14 @@ Couple of examples: * a longer pres on key would generate: `FIRST`, `LONG`, `BREAK` * even longer press: `FIRST`, `LONG`, `REPEAT,`REPEAT, ..., `BREAK` -This normal key event sequence can be altered with the [killEvents(key)](../general-functions-less-than-greater-than-luadoc-begin-general/killevents.md) function. Any time this function is called (after the `FIRST` event) all further key events for this key will be suppressed until the next key press of this key. Examples: +This normal key event sequence can be altered with the [killEvents(key)](../general/killevents.md) function. Any time this function is called (after the `FIRST` event) all further key events for this key will be suppressed until the next key press of this key. Examples: * kill immediately after the key press would generate: `FIRST` * kill after the long key press would generate: `FIRST`, `LONG` ## Constants -The `event` parameter in the [Telemetry](../../part\_i\_-\_script\_type\_overview/telemetry.md) and [One-Time](https://github.com/opentx/opentx-2-3-lua-reference-guide/tree/0d355d19f1961b689994cf78b84005864d33f9b5/one-time\_scripts.md) scripts run function actually carries two pieces of information: +The `event` parameter in the [Telemetry](../../overview/telemetry.md) and [One-Time](https://github.com/opentx/opentx-2-3-lua-reference-guide/tree/0d355d19f1961b689994cf78b84005864d33f9b5/one-time\_scripts.md) scripts run function actually carries two pieces of information: * key number * type of event diff --git a/part_iii_-_opentx_lua_api_reference/constants/logical-switch-function-constants.md b/website/md-docs/api-reference/constants/logical-switch-function-constants.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/constants/logical-switch-function-constants.md rename to website/md-docs/api-reference/constants/logical-switch-function-constants.md diff --git a/part_iii_-_opentx_lua_api_reference/constants/screen-constants.md b/website/md-docs/api-reference/constants/screen-constants.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/constants/screen-constants.md rename to website/md-docs/api-reference/constants/screen-constants.md index 7f4e9872a..d61f5bab1 100644 --- a/part_iii_-_opentx_lua_api_reference/constants/screen-constants.md +++ b/website/md-docs/api-reference/constants/screen-constants.md @@ -4,4 +4,3 @@ | :--- | :--- | | LCD\_W | width in pixels | | LCD\_H | height in pixels | - diff --git a/part_iii_-_opentx_lua_api_reference/constants/special-character-constants.md b/website/md-docs/api-reference/constants/special-character-constants.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/constants/special-character-constants.md rename to website/md-docs/api-reference/constants/special-character-constants.md diff --git a/part_iii_-_opentx_lua_api_reference/constants/special-function-constants.md b/website/md-docs/api-reference/constants/special-function-constants.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/constants/special-function-constants.md rename to website/md-docs/api-reference/constants/special-function-constants.md diff --git a/part_iii_-_opentx_lua_api_reference/constants/touch-event-constants.md b/website/md-docs/api-reference/constants/touch-event-constants.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/constants/touch-event-constants.md rename to website/md-docs/api-reference/constants/touch-event-constants.md index 6e5b6003a..9e49b436c 100644 --- a/part_iii_-_opentx_lua_api_reference/constants/touch-event-constants.md +++ b/website/md-docs/api-reference/constants/touch-event-constants.md @@ -34,4 +34,3 @@ In addition to the above touch events a `touchState` table is passed to `refresh * `startX, startY, slideX, slideY` are only present with `EVT_TOUCH_SLIDE`. * `swipeUp` / `swipeDown` / `swipeLeft` / `swipeRight` _may_ be present only with`EVT_TOUCH_SLIDE`. * `tapCount` is zero for anything but `EVT_TOUCH_TAP`. - diff --git a/part_iii_-_opentx_lua_api_reference/filesystem/dir-directory.md b/website/md-docs/api-reference/filesystem/dir-directory.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/filesystem/dir-directory.md rename to website/md-docs/api-reference/filesystem/dir-directory.md index 57c36e2d5..818e6df9a 100644 --- a/part_iii_-_opentx_lua_api_reference/filesystem/dir-directory.md +++ b/website/md-docs/api-reference/filesystem/dir-directory.md @@ -21,4 +21,3 @@ none y = y + 20 end ``` - diff --git a/part_iii_-_opentx_lua_api_reference/filesystem/fstat-path.md b/website/md-docs/api-reference/filesystem/fstat-path.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/filesystem/fstat-path.md rename to website/md-docs/api-reference/filesystem/fstat-path.md index 6ad5aa528..d764dd3db 100644 --- a/part_iii_-_opentx_lua_api_reference/filesystem/fstat-path.md +++ b/website/md-docs/api-reference/filesystem/fstat-path.md @@ -38,4 +38,3 @@ If exist, return the object information. time = info.time end ``` - diff --git a/part_iii_-_opentx_lua_api_reference/filesystem/README.md b/website/md-docs/api-reference/filesystem/index.md similarity index 92% rename from part_iii_-_opentx_lua_api_reference/filesystem/README.md rename to website/md-docs/api-reference/filesystem/index.md index 7a2370799..6d41ab86f 100644 --- a/part_iii_-_opentx_lua_api_reference/filesystem/README.md +++ b/website/md-docs/api-reference/filesystem/index.md @@ -1,2 +1 @@ # Filesystem - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/accesstelemetrypush.md b/website/md-docs/api-reference/general/accesstelemetrypush.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/accesstelemetrypush.md rename to website/md-docs/api-reference/general/accesstelemetrypush.md index bf180de75..3482ddf08 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/accesstelemetrypush.md +++ b/website/md-docs/api-reference/general/accesstelemetrypush.md @@ -18,4 +18,3 @@ When called without parameters, it will only return the status of the output buf ## Return value * `boolean` data queued in output buffer or not. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/chdir.md b/website/md-docs/api-reference/general/chdir.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/chdir.md rename to website/md-docs/api-reference/general/chdir.md index ecb58c5db..edff42182 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/chdir.md +++ b/website/md-docs/api-reference/general/chdir.md @@ -11,4 +11,3 @@ Change the working directory ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypop.md b/website/md-docs/api-reference/general/crossfiretelemetrypop.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypop.md rename to website/md-docs/api-reference/general/crossfiretelemetrypop.md index 75e7b25eb..b5f59728f 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypop.md +++ b/website/md-docs/api-reference/general/crossfiretelemetrypop.md @@ -14,4 +14,3 @@ none * `multiple` returns 2 values: * command \(number\) * packet \(table\) data bytes - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypush.md b/website/md-docs/api-reference/general/crossfiretelemetrypush.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypush.md rename to website/md-docs/api-reference/general/crossfiretelemetrypush.md index ad1c146a7..f3b7c60bd 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/crossfiretelemetrypush.md +++ b/website/md-docs/api-reference/general/crossfiretelemetrypush.md @@ -15,4 +15,3 @@ When called without parameters, it will only return the status of the output buf * `boolean` data queued in output buffer or not. * `nil` incorrect telemetry protocol. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultchannel.md b/website/md-docs/api-reference/general/defaultchannel.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultchannel.md rename to website/md-docs/api-reference/general/defaultchannel.md index 8b0668905..869c2f59f 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultchannel.md +++ b/website/md-docs/api-reference/general/defaultchannel.md @@ -12,4 +12,3 @@ Get channel assigned to stick. See Default Channel Order in General Settings * `number` channel assigned to this stick \(from 0 to 3\) * `nil` stick not found - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultstick.md b/website/md-docs/api-reference/general/defaultstick.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultstick.md rename to website/md-docs/api-reference/general/defaultstick.md index 8a81314b9..c5918012a 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/defaultstick.md +++ b/website/md-docs/api-reference/general/defaultstick.md @@ -11,4 +11,3 @@ Get stick that is assigned to a channel. See Default Channel Order in General Se ## Return value * `number` Stick assigned to this channel \(from 0 to 3\) - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getavailablememory.md b/website/md-docs/api-reference/general/getavailablememory.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getavailablememory.md rename to website/md-docs/api-reference/general/getavailablememory.md index eabeda44a..cf0b2a332 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getavailablememory.md +++ b/website/md-docs/api-reference/general/getavailablememory.md @@ -9,4 +9,3 @@ none ## Return value * `usage` \(number\) a value returned in b - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getdatetime.md b/website/md-docs/api-reference/general/getdatetime.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getdatetime.md rename to website/md-docs/api-reference/general/getdatetime.md index 65be5d530..2b1d6d8aa 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getdatetime.md +++ b/website/md-docs/api-reference/general/getdatetime.md @@ -17,4 +17,3 @@ none * `min` \(number\) minutes * `sec` \(number\) seconds * `suffix` \(text\) am or pm - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getfieldinfo.md b/website/md-docs/api-reference/general/getfieldinfo.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getfieldinfo.md rename to website/md-docs/api-reference/general/getfieldinfo.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getflightmode.md b/website/md-docs/api-reference/general/getflightmode.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getflightmode.md rename to website/md-docs/api-reference/general/getflightmode.md index 3f64688fa..23458e4d0 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getflightmode.md +++ b/website/md-docs/api-reference/general/getflightmode.md @@ -15,4 +15,3 @@ Return flight mode data. * `multiple` returns 2 values: * \(number\) \(current\) flight mode number \(0 - 8\) * \(string\) \(current\) flight mode name - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getgeneralsettings.md b/website/md-docs/api-reference/general/getgeneralsettings.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getgeneralsettings.md rename to website/md-docs/api-reference/general/getgeneralsettings.md index 9a00e30b3..1aa392ec9 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getgeneralsettings.md +++ b/website/md-docs/api-reference/general/getgeneralsettings.md @@ -21,4 +21,3 @@ none * `language` \(string\) radio language \(used for menus\) * `voice` \(string\) voice language \(used for speech\) * `gtimer` \(number\) radio global timer in seconds \(does not include current session\) - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getglobaltimer.md b/website/md-docs/api-reference/general/getglobaltimer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getglobaltimer.md rename to website/md-docs/api-reference/general/getglobaltimer.md index 13f810dae..8be6c2753 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getglobaltimer.md +++ b/website/md-docs/api-reference/general/getglobaltimer.md @@ -15,4 +15,3 @@ none * `session` \(number\) radio session in seconds * `ttimer` \(number\) radio throttle timer in seconds * `tptimer` \(number\) radio throttle percent timer in seconds - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getlogicalswitchvalue-id.md b/website/md-docs/api-reference/general/getlogicalswitchvalue-id.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getlogicalswitchvalue-id.md rename to website/md-docs/api-reference/general/getlogicalswitchvalue-id.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getras.md b/website/md-docs/api-reference/general/getras.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getras.md rename to website/md-docs/api-reference/general/getras.md index a8a2bb442..7cda11d2d 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getras.md +++ b/website/md-docs/api-reference/general/getras.md @@ -17,4 +17,3 @@ none ### Notice RAS was called SWR in the past - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrotencspeed.md b/website/md-docs/api-reference/general/getrotencspeed.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrotencspeed.md rename to website/md-docs/api-reference/general/getrotencspeed.md index 10db5b8af..33f02cc1a 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrotencspeed.md +++ b/website/md-docs/api-reference/general/getrotencspeed.md @@ -15,4 +15,3 @@ none ```text return 0 on radio without rotary encoder ``` - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrssi.md b/website/md-docs/api-reference/general/getrssi.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrssi.md rename to website/md-docs/api-reference/general/getrssi.md index e9e453f46..fb2e0cbd5 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrssi.md +++ b/website/md-docs/api-reference/general/getrssi.md @@ -13,4 +13,3 @@ none * `rssi` RSSI value \(0 if no link\) * `alarm_low` Configured low RSSI alarm level * `alarm_crit` Configured critical RSSI alarm level - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrtctime.md b/website/md-docs/api-reference/general/getrtctime.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrtctime.md rename to website/md-docs/api-reference/general/getrtctime.md index dc0f24e7d..012649e3f 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getrtctime.md +++ b/website/md-docs/api-reference/general/getrtctime.md @@ -11,4 +11,3 @@ none ## Return value * `number` Number of seconds elapsed since 1. Jan 1970 - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getshmvar-id.md b/website/md-docs/api-reference/general/getshmvar-id.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getshmvar-id.md rename to website/md-docs/api-reference/general/getshmvar-id.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getsourceindex-sourcename.md b/website/md-docs/api-reference/general/getsourceindex-sourcename.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getsourceindex-sourcename.md rename to website/md-docs/api-reference/general/getsourceindex-sourcename.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getsourcename-sourceindex.md b/website/md-docs/api-reference/general/getsourcename-sourceindex.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getsourcename-sourceindex.md rename to website/md-docs/api-reference/general/getsourcename-sourceindex.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchindex-positionname.md b/website/md-docs/api-reference/general/getswitchindex-positionname.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchindex-positionname.md rename to website/md-docs/api-reference/general/getswitchindex-positionname.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchname-switchindex.md b/website/md-docs/api-reference/general/getswitchname-switchindex.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchname-switchindex.md rename to website/md-docs/api-reference/general/getswitchname-switchindex.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchvalue-switchindex.md b/website/md-docs/api-reference/general/getswitchvalue-switchindex.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchvalue-switchindex.md rename to website/md-docs/api-reference/general/getswitchvalue-switchindex.md index 188be9d4b..4d2279bcf 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getswitchvalue-switchindex.md +++ b/website/md-docs/api-reference/general/getswitchvalue-switchindex.md @@ -9,4 +9,3 @@ ## Return value * `value`: true/false. The value of the switch. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettime.md b/website/md-docs/api-reference/general/gettime.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettime.md rename to website/md-docs/api-reference/general/gettime.md index 43dfb94dd..05ab46161 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettime.md +++ b/website/md-docs/api-reference/general/gettime.md @@ -15,4 +15,3 @@ none * `number` Number of 10ms ticks since the radio was started Example: run time: 12.54 seconds, return value: 1254 - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettxgps.md b/website/md-docs/api-reference/general/gettxgps.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettxgps.md rename to website/md-docs/api-reference/general/gettxgps.md index 001fdae0a..b2954e242 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/gettxgps.md +++ b/website/md-docs/api-reference/general/gettxgps.md @@ -19,4 +19,3 @@ none * 'speed' \(number\) internal GPSspeed in 0.1m/s * 'heading' \(number\) internal GPS ground course estimation in degrees \* 10 * 'hdop' \(number\) internal GPS horizontal dilution of precision - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getusage.md b/website/md-docs/api-reference/general/getusage.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getusage.md rename to website/md-docs/api-reference/general/getusage.md index d7d7018ea..0b4e304ae 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getusage.md +++ b/website/md-docs/api-reference/general/getusage.md @@ -11,4 +11,3 @@ none ## Return value * `usage` \(number\) a value from 0 to 100 \(percent\) - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getvalue.md b/website/md-docs/api-reference/general/getvalue.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getvalue.md rename to website/md-docs/api-reference/general/getvalue.md index 885578d89..d8512438d 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getvalue.md +++ b/website/md-docs/api-reference/general/getvalue.md @@ -45,4 +45,3 @@ In OpenTX 2.1.x the telemetry sources no longer have a predefined name. To get a ### Notice Getting a value by its numerical identifier is faster then by its name. While `Cels` sensor returns current values of all cells in a table, a `Cels+` or `Cels-` will return a single value - the maximum or minimum Cels value. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getversion.md b/website/md-docs/api-reference/general/getversion.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getversion.md rename to website/md-docs/api-reference/general/getversion.md index f4ad0d1c9..0c6f0ea0a 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/getversion.md +++ b/website/md-docs/api-reference/general/getversion.md @@ -54,4 +54,3 @@ none Since EdgeTX 2.4.0, sixth value added * \(string\) OS name \(i.e. EdgeTX or nil if OpenTX\) - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/ghosttelemetrypop.md b/website/md-docs/api-reference/general/ghosttelemetrypop.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/ghosttelemetrypop.md rename to website/md-docs/api-reference/general/ghosttelemetrypop.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/ghosttelemetrypush.md b/website/md-docs/api-reference/general/ghosttelemetrypush.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/ghosttelemetrypush.md rename to website/md-docs/api-reference/general/ghosttelemetrypush.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/grey.md b/website/md-docs/api-reference/general/grey.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/grey.md rename to website/md-docs/api-reference/general/grey.md index 936ac3f37..966d40a44 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/grey.md +++ b/website/md-docs/api-reference/general/grey.md @@ -15,4 +15,3 @@ none ### Notice Only available on Taranis - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/README.md b/website/md-docs/api-reference/general/index.md similarity index 95% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/README.md rename to website/md-docs/api-reference/general/index.md index 0a55ad401..e77fb7172 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/README.md +++ b/website/md-docs/api-reference/general/index.md @@ -1,2 +1 @@ # General Functions - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/killevents.md b/website/md-docs/api-reference/general/killevents.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/killevents.md rename to website/md-docs/api-reference/general/killevents.md index b1dc9d01d..a20350d36 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/killevents.md +++ b/website/md-docs/api-reference/general/killevents.md @@ -11,4 +11,3 @@ Stops key state machine. See [Key Events](https://github.com/EdgeTX/lua-referenc ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/loadscript.md b/website/md-docs/api-reference/general/loadscript.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/loadscript.md rename to website/md-docs/api-reference/general/loadscript.md index c36f755c0..78385a075 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/loadscript.md +++ b/website/md-docs/api-reference/general/loadscript.md @@ -46,4 +46,3 @@ Return values are same as from Lua API loadfile\(\) method: If the script was lo #### Notice Note that you will get an error if you specify `mode` as "b" or "t" and that specific version of the file does not exist \(eg. no .luac file when "b" is used\). Also note that `mode` is NOT passed on to Lua's loader function, so unlike with loadfile\(\) the actual file content is not checked \(as if no mode or "bt" were passed to loadfile\(\)\). - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/multibuffer.md b/website/md-docs/api-reference/general/multibuffer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/multibuffer.md rename to website/md-docs/api-reference/general/multibuffer.md index 6f911ebd3..5de2bd577 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/multibuffer.md +++ b/website/md-docs/api-reference/general/multibuffer.md @@ -13,4 +13,3 @@ This function reads/writes the Multi protocol buffer to interact with a protocol ## Return value * `buffer` value \(number\) - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playduration.md b/website/md-docs/api-reference/general/playduration.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playduration.md rename to website/md-docs/api-reference/general/playduration.md index 275150d5a..da9b34154 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playduration.md +++ b/website/md-docs/api-reference/general/playduration.md @@ -14,4 +14,3 @@ Play a time value \(text to speech\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playfile.md b/website/md-docs/api-reference/general/playfile.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playfile.md rename to website/md-docs/api-reference/general/playfile.md index 77e24c78f..efa9c0459 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playfile.md +++ b/website/md-docs/api-reference/general/playfile.md @@ -15,4 +15,3 @@ Play a file from the SD card ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playhaptic.md b/website/md-docs/api-reference/general/playhaptic.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playhaptic.md rename to website/md-docs/api-reference/general/playhaptic.md index 57c1f75b8..36812a674 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playhaptic.md +++ b/website/md-docs/api-reference/general/playhaptic.md @@ -15,4 +15,3 @@ Generate haptic feedback ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playnumber.md b/website/md-docs/api-reference/general/playnumber.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playnumber.md rename to website/md-docs/api-reference/general/playnumber.md index 4e160e3ad..2afad35b7 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playnumber.md +++ b/website/md-docs/api-reference/general/playnumber.md @@ -16,4 +16,3 @@ Play a numerical value \(text to speech\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playtone.md b/website/md-docs/api-reference/general/playtone.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playtone.md rename to website/md-docs/api-reference/general/playtone.md index 8d611c4a3..6183768ef 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/playtone.md +++ b/website/md-docs/api-reference/general/playtone.md @@ -18,4 +18,3 @@ Play a tone ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation-title-message-event.md b/website/md-docs/api-reference/general/popupconfirmation-title-message-event.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation-title-message-event.md rename to website/md-docs/api-reference/general/popupconfirmation-title-message-event.md index 9ab3ef8bb..e5b44f820 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation-title-message-event.md +++ b/website/md-docs/api-reference/general/popupconfirmation-title-message-event.md @@ -17,4 +17,3 @@ Raises a pop-up on screen that asks for confirmation ### Notice Use only from stand-alone and telemetry scripts. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation.md b/website/md-docs/api-reference/general/popupconfirmation.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation.md rename to website/md-docs/api-reference/general/popupconfirmation.md index 9ab3ef8bb..e5b44f820 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupconfirmation.md +++ b/website/md-docs/api-reference/general/popupconfirmation.md @@ -17,4 +17,3 @@ Raises a pop-up on screen that asks for confirmation ### Notice Use only from stand-alone and telemetry scripts. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupinput.md b/website/md-docs/api-reference/general/popupinput.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupinput.md rename to website/md-docs/api-reference/general/popupinput.md index f0de646be..d6005dcc8 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupinput.md +++ b/website/md-docs/api-reference/general/popupinput.md @@ -21,4 +21,3 @@ Raises a pop-up on screen that allows uses input ### Notice Use only from stand-alone and telemetry scripts. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupwarning.md b/website/md-docs/api-reference/general/popupwarning.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupwarning.md rename to website/md-docs/api-reference/general/popupwarning.md index 8b8860248..fc299672b 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/popupwarning.md +++ b/website/md-docs/api-reference/general/popupwarning.md @@ -16,4 +16,3 @@ Raises a pop-up on screen that shows a warning ### Notice Use only from stand-alone and telemetry scripts. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/resetglobaltimer.md b/website/md-docs/api-reference/general/resetglobaltimer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/resetglobaltimer.md rename to website/md-docs/api-reference/general/resetglobaltimer.md index ebc6802fc..06c73a247 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/resetglobaltimer.md +++ b/website/md-docs/api-reference/general/resetglobaltimer.md @@ -17,4 +17,3 @@ Resets the radio global timer to 0. ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialread.md b/website/md-docs/api-reference/general/serialread.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialread.md rename to website/md-docs/api-reference/general/serialread.md index 49b30da95..8e66d2907 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialread.md +++ b/website/md-docs/api-reference/general/serialread.md @@ -13,4 +13,3 @@ none ## Return value * `str` string. Empty if no new characters were available. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialwrite.md b/website/md-docs/api-reference/general/serialwrite.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialwrite.md rename to website/md-docs/api-reference/general/serialwrite.md index 134105022..df1e23e5d 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/serialwrite.md +++ b/website/md-docs/api-reference/general/serialwrite.md @@ -13,4 +13,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate-baudrate.md b/website/md-docs/api-reference/general/setserialbaudrate-baudrate.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate-baudrate.md rename to website/md-docs/api-reference/general/setserialbaudrate-baudrate.md index 4f0835542..08348d01c 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate-baudrate.md +++ b/website/md-docs/api-reference/general/setserialbaudrate-baudrate.md @@ -11,4 +11,3 @@ Set baudrate for serial port\(s\) affected to LUA ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate.md b/website/md-docs/api-reference/general/setserialbaudrate.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate.md rename to website/md-docs/api-reference/general/setserialbaudrate.md index 4f0835542..08348d01c 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setserialbaudrate.md +++ b/website/md-docs/api-reference/general/setserialbaudrate.md @@ -11,4 +11,3 @@ Set baudrate for serial port\(s\) affected to LUA ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setshmvar-id-value.md b/website/md-docs/api-reference/general/setshmvar-id-value.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setshmvar-id-value.md rename to website/md-docs/api-reference/general/setshmvar-id-value.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setstickyswitch-id-value.md b/website/md-docs/api-reference/general/setstickyswitch-id-value.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setstickyswitch-id-value.md rename to website/md-docs/api-reference/general/setstickyswitch-id-value.md index 36d43fa68..49e711b57 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/setstickyswitch-id-value.md +++ b/website/md-docs/api-reference/general/setstickyswitch-id-value.md @@ -12,4 +12,3 @@ Sets the value of a sticky logical switch. ## Return value * bufferFull: true/false. This function sends a message from Lua to the logical switch processor via a buffer with eight slots that are read 10 times per second. If the buffer is full, then a true value is returned, and no message was sent (i.e. the switch was not changed). - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/settelemetryvalue.md b/website/md-docs/api-reference/general/settelemetryvalue.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/settelemetryvalue.md rename to website/md-docs/api-reference/general/settelemetryvalue.md index 33a923d6b..9b8b59e9b 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/settelemetryvalue.md +++ b/website/md-docs/api-reference/general/settelemetryvalue.md @@ -23,4 +23,3 @@ ### Notice All three parameters `id`, `subID` and `instance` can't be zero at the same time. At least one of them must be different from zero. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sources-first-last.md b/website/md-docs/api-reference/general/sources-first-last.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sources-first-last.md rename to website/md-docs/api-reference/general/sources-first-last.md diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypop.md b/website/md-docs/api-reference/general/sporttelemetrypop.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypop.md rename to website/md-docs/api-reference/general/sporttelemetrypop.md index a112e66cb..a48b4566e 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypop.md +++ b/website/md-docs/api-reference/general/sporttelemetrypop.md @@ -16,4 +16,3 @@ none * frame ID \(number\) * data ID \(number\) * value \(number\) - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypush.md b/website/md-docs/api-reference/general/sporttelemetrypush.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypush.md rename to website/md-docs/api-reference/general/sporttelemetrypush.md index 07c718a17..1e7ad272b 100644 --- a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/sporttelemetrypush.md +++ b/website/md-docs/api-reference/general/sporttelemetrypush.md @@ -17,4 +17,3 @@ When called without parameters, it will only return the status of the output buf * `boolean` data queued in output buffer or not. * `nil` incorrect telemetry protocol. - diff --git a/part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/switches-first-last.md b/website/md-docs/api-reference/general/switches-first-last.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/general-functions-less-than-greater-than-luadoc-begin-general/switches-first-last.md rename to website/md-docs/api-reference/general/switches-first-last.md diff --git a/part_iii_-_opentx_lua_api_reference/README.md b/website/md-docs/api-reference/index.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/README.md rename to website/md-docs/api-reference/index.md index 38b3c70ce..f106a994c 100644 --- a/part_iii_-_opentx_lua_api_reference/README.md +++ b/website/md-docs/api-reference/index.md @@ -1,4 +1,3 @@ # Part III - EdgeTX Lua API Reference This section describes the Lua libraries, functions and constants that are provided by EdgeTX. - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/clear.md b/website/md-docs/api-reference/lcd/clear.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/clear.md rename to website/md-docs/api-reference/lcd/clear.md index 8841c70f4..efef1ba6c 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/clear.md +++ b/website/md-docs/api-reference/lcd/clear.md @@ -11,4 +11,3 @@ Clear the LCD screen ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawannulus.md b/website/md-docs/api-reference/lcd/drawannulus.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawannulus.md rename to website/md-docs/api-reference/lcd/drawannulus.md index 2e50483fe..389b97685 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawannulus.md +++ b/website/md-docs/api-reference/lcd/drawannulus.md @@ -14,4 +14,3 @@ Draw an arc ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawarc.md b/website/md-docs/api-reference/lcd/drawarc.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawarc.md rename to website/md-docs/api-reference/lcd/drawarc.md index 95399131e..a1df1d56e 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawarc.md +++ b/website/md-docs/api-reference/lcd/drawarc.md @@ -14,4 +14,3 @@ Draw an arc ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawbitmap.md b/website/md-docs/api-reference/lcd/drawbitmap.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawbitmap.md rename to website/md-docs/api-reference/lcd/drawbitmap.md index db7ca35fd..eeb75f879 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawbitmap.md +++ b/website/md-docs/api-reference/lcd/drawbitmap.md @@ -17,4 +17,3 @@ none ### Notice Only available on Horus - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawchannel.md b/website/md-docs/api-reference/lcd/drawchannel.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawchannel.md rename to website/md-docs/api-reference/lcd/drawchannel.md index e155eb5ee..b10ac8f04 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawchannel.md +++ b/website/md-docs/api-reference/lcd/drawchannel.md @@ -13,4 +13,3 @@ Display a telemetry value at \(x,y\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcircle.md b/website/md-docs/api-reference/lcd/drawcircle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcircle.md rename to website/md-docs/api-reference/lcd/drawcircle.md index ab24dc68e..4d5b41fd0 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcircle.md +++ b/website/md-docs/api-reference/lcd/drawcircle.md @@ -13,4 +13,3 @@ Draw a circle at \(x, y\) of specified radius ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcombobox.md b/website/md-docs/api-reference/lcd/drawcombobox.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcombobox.md rename to website/md-docs/api-reference/lcd/drawcombobox.md index faf2a88f0..a215dd7ab 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawcombobox.md +++ b/website/md-docs/api-reference/lcd/drawcombobox.md @@ -22,4 +22,3 @@ none ### Notice Only available on Taranis - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledcircle.md b/website/md-docs/api-reference/lcd/drawfilledcircle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledcircle.md rename to website/md-docs/api-reference/lcd/drawfilledcircle.md index 7eb094bab..63621488b 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledcircle.md +++ b/website/md-docs/api-reference/lcd/drawfilledcircle.md @@ -13,4 +13,3 @@ Draw a filled circle at \(x, y\) of specified radius ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledrectangle.md b/website/md-docs/api-reference/lcd/drawfilledrectangle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledrectangle.md rename to website/md-docs/api-reference/lcd/drawfilledrectangle.md index 041040a5f..c29f64b79 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledrectangle.md +++ b/website/md-docs/api-reference/lcd/drawfilledrectangle.md @@ -15,4 +15,3 @@ Draw a solid rectangle from top left corner \(x,y\) of specified width and heigh ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledtriangle.md b/website/md-docs/api-reference/lcd/drawfilledtriangle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledtriangle.md rename to website/md-docs/api-reference/lcd/drawfilledtriangle.md index 2fe02ed65..974649957 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawfilledtriangle.md +++ b/website/md-docs/api-reference/lcd/drawfilledtriangle.md @@ -12,4 +12,3 @@ Draw a filled triangle ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawgauge.md b/website/md-docs/api-reference/lcd/drawgauge.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawgauge.md rename to website/md-docs/api-reference/lcd/drawgauge.md index 303cddbe4..679e66be6 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawgauge.md +++ b/website/md-docs/api-reference/lcd/drawgauge.md @@ -16,4 +16,3 @@ Draw a simple gauge that is filled based upon fill value ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawhudrectangle.md b/website/md-docs/api-reference/lcd/drawhudrectangle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawhudrectangle.md rename to website/md-docs/api-reference/lcd/drawhudrectangle.md index 6b70599fb..c78954d1d 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawhudrectangle.md +++ b/website/md-docs/api-reference/lcd/drawhudrectangle.md @@ -13,4 +13,3 @@ Draw a rectangle in perspective ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawline.md b/website/md-docs/api-reference/lcd/drawline.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawline.md rename to website/md-docs/api-reference/lcd/drawline.md index e0585f94d..fea4e0575 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawline.md +++ b/website/md-docs/api-reference/lcd/drawline.md @@ -18,4 +18,3 @@ none ### Notice If the start or the end of the line is outside the LCD dimensions, then the whole line will not be drawn \(starting from OpenTX 2.1.5\) - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawlinewithclipping.md b/website/md-docs/api-reference/lcd/drawlinewithclipping.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawlinewithclipping.md rename to website/md-docs/api-reference/lcd/drawlinewithclipping.md index daad8cf10..aabd2af2f 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawlinewithclipping.md +++ b/website/md-docs/api-reference/lcd/drawlinewithclipping.md @@ -14,4 +14,3 @@ Draw a line only inside a rectangle ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawnumber.md b/website/md-docs/api-reference/lcd/drawnumber.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawnumber.md rename to website/md-docs/api-reference/lcd/drawnumber.md index 4583c6d75..508baa3fc 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawnumber.md +++ b/website/md-docs/api-reference/lcd/drawnumber.md @@ -14,4 +14,3 @@ Display a number at \(x,y\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpie.md b/website/md-docs/api-reference/lcd/drawpie.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpie.md rename to website/md-docs/api-reference/lcd/drawpie.md index 2b29efb06..a35909c1e 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpie.md +++ b/website/md-docs/api-reference/lcd/drawpie.md @@ -14,4 +14,3 @@ Draw a pie slice ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpixmap.md b/website/md-docs/api-reference/lcd/drawpixmap.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpixmap.md rename to website/md-docs/api-reference/lcd/drawpixmap.md index c46eb2cf2..6dd0fc972 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpixmap.md +++ b/website/md-docs/api-reference/lcd/drawpixmap.md @@ -16,4 +16,3 @@ none ### Notice Maximum image size is \[display width / 2\] x \[display height\] pixels. - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpoint.md b/website/md-docs/api-reference/lcd/drawpoint.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpoint.md rename to website/md-docs/api-reference/lcd/drawpoint.md index 2d95aea29..60c62c727 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawpoint.md +++ b/website/md-docs/api-reference/lcd/drawpoint.md @@ -17,4 +17,3 @@ none ### Notice Taranis has an LCD display width of 212 pixels and height of 64 pixels. Position \(0,0\) is at top left. Y axis is negative, top line is 0, bottom line is 63. Drawing on an existing black pixel produces white pixel \(TODO check this!\) - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawrectangle.md b/website/md-docs/api-reference/lcd/drawrectangle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawrectangle.md rename to website/md-docs/api-reference/lcd/drawrectangle.md index 99271e748..ff29a0c39 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawrectangle.md +++ b/website/md-docs/api-reference/lcd/drawrectangle.md @@ -16,4 +16,3 @@ Draw a rectangle from top left corner \(x,y\) of specified width and height ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawscreentitle.md b/website/md-docs/api-reference/lcd/drawscreentitle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawscreentitle.md rename to website/md-docs/api-reference/lcd/drawscreentitle.md index 087eccb58..a43ee92e4 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawscreentitle.md +++ b/website/md-docs/api-reference/lcd/drawscreentitle.md @@ -17,4 +17,3 @@ none ### Notice Only available on Taranis - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawsource.md b/website/md-docs/api-reference/lcd/drawsource.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawsource.md rename to website/md-docs/api-reference/lcd/drawsource.md index a746ad894..4050e6f3a 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawsource.md +++ b/website/md-docs/api-reference/lcd/drawsource.md @@ -13,4 +13,3 @@ Displays the name of the corresponding input as defined by the source at \(x,y\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawswitch.md b/website/md-docs/api-reference/lcd/drawswitch.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawswitch.md rename to website/md-docs/api-reference/lcd/drawswitch.md index b13ec8def..a84891c26 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawswitch.md +++ b/website/md-docs/api-reference/lcd/drawswitch.md @@ -13,4 +13,3 @@ Draw a text representation of switch at \(x,y\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtext.md b/website/md-docs/api-reference/lcd/drawtext.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtext.md rename to website/md-docs/api-reference/lcd/drawtext.md diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtimer.md b/website/md-docs/api-reference/lcd/drawtimer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtimer.md rename to website/md-docs/api-reference/lcd/drawtimer.md index 8c4b79f8b..eaacec075 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtimer.md +++ b/website/md-docs/api-reference/lcd/drawtimer.md @@ -14,4 +14,3 @@ Display a value formatted as time at \(x,y\) ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtriangle.md b/website/md-docs/api-reference/lcd/drawtriangle.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtriangle.md rename to website/md-docs/api-reference/lcd/drawtriangle.md index 5f4b6e6e4..6425df0d4 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/drawtriangle.md +++ b/website/md-docs/api-reference/lcd/drawtriangle.md @@ -12,4 +12,3 @@ Draw a triangle ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getcolor.md b/website/md-docs/api-reference/lcd/getcolor.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getcolor.md rename to website/md-docs/api-reference/lcd/getcolor.md index 42870a17d..f71fb9c32 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getcolor.md +++ b/website/md-docs/api-reference/lcd/getcolor.md @@ -15,4 +15,3 @@ Get the color value from flags ### Notice Only available on radios with color display - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastleftpos.md b/website/md-docs/api-reference/lcd/getlastleftpos.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastleftpos.md rename to website/md-docs/api-reference/lcd/getlastleftpos.md index 6db6f0989..db3ad439a 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastleftpos.md +++ b/website/md-docs/api-reference/lcd/getlastleftpos.md @@ -15,4 +15,3 @@ none ### Notice Only available on Taranis - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastpos.md b/website/md-docs/api-reference/lcd/getlastpos.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastpos.md rename to website/md-docs/api-reference/lcd/getlastpos.md index 2ade6a6ee..1cc9a3f14 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastpos.md +++ b/website/md-docs/api-reference/lcd/getlastpos.md @@ -17,4 +17,3 @@ none Only available on Taranis For added clarity, it is recommended to use lcd.getLastRightPos\(\) - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastrightpos.md b/website/md-docs/api-reference/lcd/getlastrightpos.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastrightpos.md rename to website/md-docs/api-reference/lcd/getlastrightpos.md index 7ee37c2b4..cbdc1847c 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/getlastrightpos.md +++ b/website/md-docs/api-reference/lcd/getlastrightpos.md @@ -17,4 +17,3 @@ none Only available on Taranis This is strictly equivalent to former lcd.getLastPos\(\) - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/README.md b/website/md-docs/api-reference/lcd/index.md similarity index 94% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/README.md rename to website/md-docs/api-reference/lcd/index.md index 7dcb769ba..24f2ab896 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/README.md +++ b/website/md-docs/api-reference/lcd/index.md @@ -1,2 +1 @@ # Lcd Functions - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.drawtextlines-x-y-w-h-text-flags.md b/website/md-docs/api-reference/lcd/lcd-drawtextlines-x-y-w-h-text-flags.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.drawtextlines-x-y-w-h-text-flags.md rename to website/md-docs/api-reference/lcd/lcd-drawtextlines-x-y-w-h-text-flags.md diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.exitfullscreen.md b/website/md-docs/api-reference/lcd/lcd-exitfullscreen.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.exitfullscreen.md rename to website/md-docs/api-reference/lcd/lcd-exitfullscreen.md index 0b4343f2d..8be6e5b58 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd.exitfullscreen.md +++ b/website/md-docs/api-reference/lcd/lcd-exitfullscreen.md @@ -7,4 +7,3 @@ Exit full screen widget mode. ### Notice Only available on radios with color display - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd_functions-overview.md b/website/md-docs/api-reference/lcd/lcd-functions-overview.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd_functions-overview.md rename to website/md-docs/api-reference/lcd/lcd-functions-overview.md index a4445798e..07d1c7172 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/lcd_functions-overview.md +++ b/website/md-docs/api-reference/lcd/lcd-functions-overview.md @@ -11,4 +11,3 @@ The run function is periodically called when the screen is visible. In OpenTX 2. For Widget scripts, `lcd.clear()` is not needed, as each invocation starts with a blank screen showing the theme background. But it can be used to overwrite the theme background with another color by calling `lcd.clear(color)`. Please see above for a description of the constants for [flags and patterns](../constants/flags-and-pattern-constants.md), [colors](../constants/color-constants.md), and [screen size](../constants/screen-constants.md) that can be used with lcd drawing functions. - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/refresh.md b/website/md-docs/api-reference/lcd/refresh.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/refresh.md rename to website/md-docs/api-reference/lcd/refresh.md index 755afe1df..354e5df02 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/refresh.md +++ b/website/md-docs/api-reference/lcd/refresh.md @@ -13,4 +13,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/resetbacklighttimeout.md b/website/md-docs/api-reference/lcd/resetbacklighttimeout.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/resetbacklighttimeout.md rename to website/md-docs/api-reference/lcd/resetbacklighttimeout.md index abe2000ed..1d7b9b990 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/resetbacklighttimeout.md +++ b/website/md-docs/api-reference/lcd/resetbacklighttimeout.md @@ -11,4 +11,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/rgb.md b/website/md-docs/api-reference/lcd/rgb.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/rgb.md rename to website/md-docs/api-reference/lcd/rgb.md index 0eb757b1e..ca3deccce 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/rgb.md +++ b/website/md-docs/api-reference/lcd/rgb.md @@ -18,4 +18,3 @@ Returns a drawing flag with RGB color code ### Notice Only available on radios with color display. Use _either_ lcd.RGB\(r,g,b\) _or_ lcd.RGB\(rgb\). - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/setcolor.md b/website/md-docs/api-reference/lcd/setcolor.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/setcolor.md rename to website/md-docs/api-reference/lcd/setcolor.md index 4772e72b0..04c33b454 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/setcolor.md +++ b/website/md-docs/api-reference/lcd/setcolor.md @@ -21,4 +21,3 @@ none ### Notice Only available on radios with color display - diff --git a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/sizetext.md b/website/md-docs/api-reference/lcd/sizetext.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/sizetext.md rename to website/md-docs/api-reference/lcd/sizetext.md index 35937fc85..2167fe948 100644 --- a/part_iii_-_opentx_lua_api_reference/lcd-functions-less-than-greater-than-luadoc-begin-lcd/sizetext.md +++ b/website/md-docs/api-reference/lcd/sizetext.md @@ -12,4 +12,3 @@ Get the width and height of a text string drawn with flags ## Return value * `w,h` \(integers\) width and height of the text - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/defaultinputs.md b/website/md-docs/api-reference/model/defaultinputs.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/defaultinputs.md rename to website/md-docs/api-reference/model/defaultinputs.md index 6664a1e7e..8dc1bdfc5 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/defaultinputs.md +++ b/website/md-docs/api-reference/model/defaultinputs.md @@ -11,4 +11,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteflightmodes.md b/website/md-docs/api-reference/model/deleteflightmodes.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteflightmodes.md rename to website/md-docs/api-reference/model/deleteflightmodes.md index d5fa704cb..fc7fe15d2 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteflightmodes.md +++ b/website/md-docs/api-reference/model/deleteflightmodes.md @@ -11,4 +11,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinput.md b/website/md-docs/api-reference/model/deleteinput.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinput.md rename to website/md-docs/api-reference/model/deleteinput.md index 9a0465148..d2c325fd9 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinput.md +++ b/website/md-docs/api-reference/model/deleteinput.md @@ -12,4 +12,3 @@ Delete line from specified input ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinputs.md b/website/md-docs/api-reference/model/deleteinputs.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinputs.md rename to website/md-docs/api-reference/model/deleteinputs.md index 4790e714c..daa9fede9 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deleteinputs.md +++ b/website/md-docs/api-reference/model/deleteinputs.md @@ -11,4 +11,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemix.md b/website/md-docs/api-reference/model/deletemix.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemix.md rename to website/md-docs/api-reference/model/deletemix.md index 8e5225ae6..f550b363e 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemix.md +++ b/website/md-docs/api-reference/model/deletemix.md @@ -12,4 +12,3 @@ Delete mixer line from specified Channel ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemixes.md b/website/md-docs/api-reference/model/deletemixes.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemixes.md rename to website/md-docs/api-reference/model/deletemixes.md index bb854c832..094e6436f 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/deletemixes.md +++ b/website/md-docs/api-reference/model/deletemixes.md @@ -11,4 +11,3 @@ none ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcurve.md b/website/md-docs/api-reference/model/getcurve.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcurve.md rename to website/md-docs/api-reference/model/getcurve.md index a4527550b..a96df43ec 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcurve.md +++ b/website/md-docs/api-reference/model/getcurve.md @@ -24,4 +24,3 @@ Note that functions returns the tables starting with index 0 contrary to LUA's u * `x` \(table\) **only included for custom curve type**: * `key` is point number \(zero based\) * `value` is x value - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcustomfunction.md b/website/md-docs/api-reference/model/getcustomfunction.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcustomfunction.md rename to website/md-docs/api-reference/model/getcustomfunction.md index e6bda79b3..a315c2bb4 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getcustomfunction.md +++ b/website/md-docs/api-reference/model/getcustomfunction.md @@ -19,4 +19,3 @@ Get Custom Function parameters * `mode` \(number\) mode \(only returned only returned if action is **not** play track, sound or script\) * `param` \(number\) parameter \(only returned only returned if action is **not** play track, sound or script\) * `active` \(number\) 0 = disabled, 1 = enabled - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getflightmode.md b/website/md-docs/api-reference/model/getflightmode.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getflightmode.md rename to website/md-docs/api-reference/model/getflightmode.md index b8c77c014..45ed8ac0d 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getflightmode.md +++ b/website/md-docs/api-reference/model/getflightmode.md @@ -22,4 +22,3 @@ Return input data for given input and line number * `trimsModes` \(table\) table of trim mode: * `key` is trim number \(zero based\) * `value` is trim mode - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getglobalvariable.md b/website/md-docs/api-reference/model/getglobalvariable.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getglobalvariable.md rename to website/md-docs/api-reference/model/getglobalvariable.md index 5f77a525c..a4bdd767e 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getglobalvariable.md +++ b/website/md-docs/api-reference/model/getglobalvariable.md @@ -22,4 +22,3 @@ Example: ### Notice a simple warning or notice - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinfo.md b/website/md-docs/api-reference/model/getinfo.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinfo.md rename to website/md-docs/api-reference/model/getinfo.md diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinput.md b/website/md-docs/api-reference/model/getinput.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinput.md rename to website/md-docs/api-reference/model/getinput.md index 48b6070fa..fd2e1f300 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinput.md +++ b/website/md-docs/api-reference/model/getinput.md @@ -23,4 +23,3 @@ Return input data for given input and line number * `curveValue` \(number\) curve index * `carryTrim` \(boolean\) input trims applied * 'flightModes' \(number\) bit-mask of active flight modes - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinputscount.md b/website/md-docs/api-reference/model/getinputscount.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinputscount.md rename to website/md-docs/api-reference/model/getinputscount.md index 0b693e427..0b040e29e 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getinputscount.md +++ b/website/md-docs/api-reference/model/getinputscount.md @@ -11,4 +11,3 @@ Return number of lines for given input ## Return value * `number` number of configured lines for given input - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getlogicalswitch.md b/website/md-docs/api-reference/model/getlogicalswitch.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getlogicalswitch.md rename to website/md-docs/api-reference/model/getlogicalswitch.md diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmix.md b/website/md-docs/api-reference/model/getmix.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmix.md rename to website/md-docs/api-reference/model/getmix.md index 7a774e9cd..d767d3037 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmix.md +++ b/website/md-docs/api-reference/model/getmix.md @@ -28,4 +28,3 @@ Get configuration for specified Mix * `delayDown` \(number\) delay down * `speedUp` \(number\) speed up * `speedDown` \(number\) speed down - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmixescount.md b/website/md-docs/api-reference/model/getmixescount.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmixescount.md rename to website/md-docs/api-reference/model/getmixescount.md index 9a894652f..815673071 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmixescount.md +++ b/website/md-docs/api-reference/model/getmixescount.md @@ -11,4 +11,3 @@ Get the number of Mixer lines that the specified Channel has ## Return value * `number` number of mixes for requested channel - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmodule.md b/website/md-docs/api-reference/model/getmodule.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmodule.md rename to website/md-docs/api-reference/model/getmodule.md index df8290060..0c042ea71 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getmodule.md +++ b/website/md-docs/api-reference/model/getmodule.md @@ -46,4 +46,3 @@ Get RF module parameters * `protocol` \(number\) protocol number \(Multi only\) * `subProtocol` \(number\) sub-protocol number \(Multi only\) * `channelsOrder` \(number\) first 4 channels expected order \(Multi only\) - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getoutput.md b/website/md-docs/api-reference/model/getoutput.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getoutput.md rename to website/md-docs/api-reference/model/getoutput.md index 72a4c9a8b..f0dc8979e 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getoutput.md +++ b/website/md-docs/api-reference/model/getoutput.md @@ -22,4 +22,3 @@ Get servo parameters * `curve` * \(number\) Curve number \(0 for Curve1\) * or `nil` if no curve set - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getsensor.md b/website/md-docs/api-reference/model/getsensor.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getsensor.md rename to website/md-docs/api-reference/model/getsensor.md index fd883b21e..20eb4ab4f 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/getsensor.md +++ b/website/md-docs/api-reference/model/getsensor.md @@ -19,4 +19,3 @@ Get Telemetry Sensor parameters * `id` \(number\) Only custom sensors * `instance` \(number\) Only custom sensors * `formula` \(number\) Only calculated sensors. 0 = Add etc. see list of formula choices in Companion popup - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/gettimer.md b/website/md-docs/api-reference/model/gettimer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/gettimer.md rename to website/md-docs/api-reference/model/gettimer.md index 58cf40299..766e7a183 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/gettimer.md +++ b/website/md-docs/api-reference/model/gettimer.md @@ -19,4 +19,3 @@ Get model timer parameters * `minuteBeep` \(boolean\) minute beep * `persistent` \(number\) persistent timer * `name` \(string\) timer name - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/README.md b/website/md-docs/api-reference/model/index.md similarity index 94% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/README.md rename to website/md-docs/api-reference/model/index.md index d92fe826b..3dca7cc69 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/README.md +++ b/website/md-docs/api-reference/model/index.md @@ -1,2 +1 @@ # Model Functions - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertinput.md b/website/md-docs/api-reference/model/insertinput.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertinput.md rename to website/md-docs/api-reference/model/insertinput.md index 0f39d66ea..b3fe6fed1 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertinput.md +++ b/website/md-docs/api-reference/model/insertinput.md @@ -13,4 +13,3 @@ Insert an Input at specified line ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertmix.md b/website/md-docs/api-reference/model/insertmix.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertmix.md rename to website/md-docs/api-reference/model/insertmix.md index c9871f641..c660504c3 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/insertmix.md +++ b/website/md-docs/api-reference/model/insertmix.md @@ -13,4 +13,3 @@ Insert a mixer line into Channel ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/resetsensor.md b/website/md-docs/api-reference/model/resetsensor.md similarity index 95% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/resetsensor.md rename to website/md-docs/api-reference/model/resetsensor.md index 599d033ea..3fd7379d2 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/resetsensor.md +++ b/website/md-docs/api-reference/model/resetsensor.md @@ -10,5 +10,4 @@ Reset Telemetry Sensor parameters ## Return value -* `nil` - +* `nil` diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/resettimer.md b/website/md-docs/api-reference/model/resettimer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/resettimer.md rename to website/md-docs/api-reference/model/resettimer.md index c2d7c30b9..44cebdd67 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/resettimer.md +++ b/website/md-docs/api-reference/model/resettimer.md @@ -11,4 +11,3 @@ Reset model timer to a startup value ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcurve.md b/website/md-docs/api-reference/model/setcurve.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcurve.md rename to website/md-docs/api-reference/model/setcurve.md index 8fe36de64..03f6c09b1 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcurve.md +++ b/website/md-docs/api-reference/model/setcurve.md @@ -42,4 +42,3 @@ setting a 6-point standard smoothed curve 7 - extra values for y are set 8 - extra values for x are set ``` - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcustomfunction.md b/website/md-docs/api-reference/model/setcustomfunction.md similarity index 100% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setcustomfunction.md rename to website/md-docs/api-reference/model/setcustomfunction.md diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setflightmode.md b/website/md-docs/api-reference/model/setflightmode.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setflightmode.md rename to website/md-docs/api-reference/model/setflightmode.md index 89ee23596..792d5c7af 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setflightmode.md +++ b/website/md-docs/api-reference/model/setflightmode.md @@ -12,4 +12,3 @@ Set Flight mode parameters ## Return value none - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setglobalvariable.md b/website/md-docs/api-reference/model/setglobalvariable.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setglobalvariable.md rename to website/md-docs/api-reference/model/setglobalvariable.md index faabd4c62..5c5edf5a6 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setglobalvariable.md +++ b/website/md-docs/api-reference/model/setglobalvariable.md @@ -15,4 +15,3 @@ none ### Notice Global variable can only store integer values, any floating point value is converted into integer value by truncating everything behind a floating point. - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setinfo.md b/website/md-docs/api-reference/model/setinfo.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setinfo.md rename to website/md-docs/api-reference/model/setinfo.md index 8f8440be7..615e75357 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setinfo.md +++ b/website/md-docs/api-reference/model/setinfo.md @@ -15,4 +15,3 @@ none ### Notice If a parameter is missing from the value, then that parameter remains unchanged. - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setlogicalswitch.md b/website/md-docs/api-reference/model/setlogicalswitch.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setlogicalswitch.md rename to website/md-docs/api-reference/model/setlogicalswitch.md index edbf48dfa..a38523113 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setlogicalswitch.md +++ b/website/md-docs/api-reference/model/setlogicalswitch.md @@ -18,4 +18,3 @@ none If a parameter is missing from the value, then that parameter remains unchanged. To set the `and` member \(which is Lua keyword\) use the following syntax: `model.setLogicalSwitch(30, {func=4,v1=1,v2=-99, ["and"]=24})` - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setmodule.md b/website/md-docs/api-reference/model/setmodule.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setmodule.md rename to website/md-docs/api-reference/model/setmodule.md index ba2c81eb5..8884e3a34 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setmodule.md +++ b/website/md-docs/api-reference/model/setmodule.md @@ -16,4 +16,3 @@ none ### Notice If a parameter is missing from the value, then that parameter remains unchanged. - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setoutput.md b/website/md-docs/api-reference/model/setoutput.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setoutput.md rename to website/md-docs/api-reference/model/setoutput.md index 5fb0fc60c..cc5acb54f 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/setoutput.md +++ b/website/md-docs/api-reference/model/setoutput.md @@ -16,4 +16,3 @@ none ### Notice If a parameter is missing from the value, then that parameter remains unchanged. - diff --git a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/settimer.md b/website/md-docs/api-reference/model/settimer.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/settimer.md rename to website/md-docs/api-reference/model/settimer.md index 2bf783203..5438e72c9 100644 --- a/part_iii_-_opentx_lua_api_reference/model-functions-less-than-greater-than-luadoc-begin-model/settimer.md +++ b/website/md-docs/api-reference/model/settimer.md @@ -16,4 +16,3 @@ none ### Notice If a parameter is missing from the value, then that parameter remains unchanged. - diff --git a/appendix/fonts.md b/website/md-docs/appendix/fonts.md similarity index 99% rename from appendix/fonts.md rename to website/md-docs/appendix/fonts.md index 2adbb2409..48c7c13ff 100644 --- a/appendix/fonts.md +++ b/website/md-docs/appendix/fonts.md @@ -101,4 +101,3 @@ | MIDSIZE | ![](https://raw.githubusercontent.com/opentx/opentx/2.2/radio/src/fonts/std/font_se_08x10.png) | | 0 Default | ![](https://raw.githubusercontent.com/opentx/opentx/2.2/radio/src/fonts/std/font_se_05x07.png) | | SMLSIZE | ![](https://raw.githubusercontent.com/opentx/opentx/2.2/radio/src/fonts/std/font_se_04x06.png) | - diff --git a/appendix/README.md b/website/md-docs/appendix/index.md similarity index 98% rename from appendix/README.md rename to website/md-docs/appendix/index.md index 95c43b78a..708da8938 100644 --- a/appendix/README.md +++ b/website/md-docs/appendix/index.md @@ -1,4 +1,3 @@ # Part VII - Appendix Various additional documents - diff --git a/appendix/units.md b/website/md-docs/appendix/units.md similarity index 99% rename from appendix/units.md rename to website/md-docs/appendix/units.md index 8a732d476..5d359c208 100644 --- a/appendix/units.md +++ b/website/md-docs/appendix/units.md @@ -35,4 +35,3 @@ | 40 | Virtual unit | UNIT\_GPS | | 41 | Virtual unit | UNIT\_BITFIELD | | 42 | Virtual unit | UNIT\_TEXT | - diff --git a/website/md-docs/assets/edgetx-logo.svg b/website/md-docs/assets/edgetx-logo.svg new file mode 100644 index 000000000..2f0adba37 --- /dev/null +++ b/website/md-docs/assets/edgetx-logo.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/md-docs/assets/fonts/Roboto-Bold.ttf b/website/md-docs/assets/fonts/Roboto-Bold.ttf new file mode 100644 index 000000000..d3f01ad24 Binary files /dev/null and b/website/md-docs/assets/fonts/Roboto-Bold.ttf differ diff --git a/website/md-docs/assets/fonts/Roboto-Regular.ttf b/website/md-docs/assets/fonts/Roboto-Regular.ttf new file mode 100644 index 000000000..2c97eeadf Binary files /dev/null and b/website/md-docs/assets/fonts/Roboto-Regular.ttf differ diff --git a/.gitbook/assets/CompanionSpecialFunctions (1) (1).png b/website/md-docs/assets/legacy-2.7/CompanionSpecialFunctions (1) (1).png similarity index 100% rename from .gitbook/assets/CompanionSpecialFunctions (1) (1).png rename to website/md-docs/assets/legacy-2.7/CompanionSpecialFunctions (1) (1).png diff --git a/.gitbook/assets/CompanionSpecialFunctions (1).png b/website/md-docs/assets/legacy-2.7/CompanionSpecialFunctions (1).png similarity index 100% rename from .gitbook/assets/CompanionSpecialFunctions (1).png rename to website/md-docs/assets/legacy-2.7/CompanionSpecialFunctions (1).png diff --git a/.gitbook/assets/README.md b/website/md-docs/assets/legacy-2.7/README.md similarity index 100% rename from .gitbook/assets/README.md rename to website/md-docs/assets/legacy-2.7/README.md diff --git a/.gitbook/assets/RadioSpecialFunctions (1) (1).png b/website/md-docs/assets/legacy-2.7/RadioSpecialFunctions (1) (1).png similarity index 100% rename from .gitbook/assets/RadioSpecialFunctions (1) (1).png rename to website/md-docs/assets/legacy-2.7/RadioSpecialFunctions (1) (1).png diff --git a/.gitbook/assets/RadioSpecialFunctions (1).png b/website/md-docs/assets/legacy-2.7/RadioSpecialFunctions (1).png similarity index 100% rename from .gitbook/assets/RadioSpecialFunctions (1).png rename to website/md-docs/assets/legacy-2.7/RadioSpecialFunctions (1).png diff --git a/.gitbook/assets/btn_donate_LG (1).gif b/website/md-docs/assets/legacy-2.7/btn_donate_LG (1).gif similarity index 100% rename from .gitbook/assets/btn_donate_LG (1).gif rename to website/md-docs/assets/legacy-2.7/btn_donate_LG (1).gif diff --git a/.gitbook/assets/btn_donate_LG.gif b/website/md-docs/assets/legacy-2.7/btn_donate_LG.gif similarity index 100% rename from .gitbook/assets/btn_donate_LG.gif rename to website/md-docs/assets/legacy-2.7/btn_donate_LG.gif diff --git a/.gitbook/assets/clear-example1 (1) (1) (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/clear-example1 (1) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/clear-example1 (1) (1) (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/clear-example1 (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/clear-example1 (1) (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/clear-example1 (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/clear-example1 (1) (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/clear-example1 (1) (1) (1) (1).png diff --git a/.gitbook/assets/clear-example2 (1) (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/clear-example2 (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/clear-example2 (1) (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/clear-example2 (1) (1) (1) (1).png diff --git a/.gitbook/assets/clear-example2 (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/clear-example2 (1) (1) (1).png similarity index 100% rename from .gitbook/assets/clear-example2 (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/clear-example2 (1) (1) (1).png diff --git a/.gitbook/assets/companion-settings (1).png b/website/md-docs/assets/legacy-2.7/companion-settings (1).png similarity index 100% rename from .gitbook/assets/companion-settings (1).png rename to website/md-docs/assets/legacy-2.7/companion-settings (1).png diff --git a/.gitbook/assets/companion-settings.png b/website/md-docs/assets/legacy-2.7/companion-settings.png similarity index 100% rename from .gitbook/assets/companion-settings.png rename to website/md-docs/assets/legacy-2.7/companion-settings.png diff --git a/.gitbook/assets/count-dn (1) (1).png b/website/md-docs/assets/legacy-2.7/count-dn (1) (1).png similarity index 100% rename from .gitbook/assets/count-dn (1) (1).png rename to website/md-docs/assets/legacy-2.7/count-dn (1) (1).png diff --git a/.gitbook/assets/count-dn (1).png b/website/md-docs/assets/legacy-2.7/count-dn (1).png similarity index 100% rename from .gitbook/assets/count-dn (1).png rename to website/md-docs/assets/legacy-2.7/count-dn (1).png diff --git a/.gitbook/assets/count-up (1) (1).png b/website/md-docs/assets/legacy-2.7/count-up (1) (1).png similarity index 100% rename from .gitbook/assets/count-up (1) (1).png rename to website/md-docs/assets/legacy-2.7/count-up (1) (1).png diff --git a/.gitbook/assets/count-up (1).png b/website/md-docs/assets/legacy-2.7/count-up (1).png similarity index 100% rename from .gitbook/assets/count-up (1).png rename to website/md-docs/assets/legacy-2.7/count-up (1).png diff --git a/.gitbook/assets/drawChannel-example (1) (1) (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/drawChannel-example (1) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/drawChannel-example (1) (1) (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/drawChannel-example (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/drawChannel-example (1) (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/drawChannel-example (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/drawChannel-example (1) (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/drawChannel-example (1) (1) (1) (1).png diff --git a/.gitbook/assets/drawCombobox-example (1).png b/website/md-docs/assets/legacy-2.7/drawCombobox-example (1).png similarity index 100% rename from .gitbook/assets/drawCombobox-example (1).png rename to website/md-docs/assets/legacy-2.7/drawCombobox-example (1).png diff --git a/.gitbook/assets/drawCombobox-example.png b/website/md-docs/assets/legacy-2.7/drawCombobox-example.png similarity index 100% rename from .gitbook/assets/drawCombobox-example.png rename to website/md-docs/assets/legacy-2.7/drawCombobox-example.png diff --git a/.gitbook/assets/drawFilledRectangle-example (1).png b/website/md-docs/assets/legacy-2.7/drawFilledRectangle-example (1).png similarity index 100% rename from .gitbook/assets/drawFilledRectangle-example (1).png rename to website/md-docs/assets/legacy-2.7/drawFilledRectangle-example (1).png diff --git a/.gitbook/assets/drawFilledRectangle-example.png b/website/md-docs/assets/legacy-2.7/drawFilledRectangle-example.png similarity index 100% rename from .gitbook/assets/drawFilledRectangle-example.png rename to website/md-docs/assets/legacy-2.7/drawFilledRectangle-example.png diff --git a/.gitbook/assets/drawGauge-example (1).png b/website/md-docs/assets/legacy-2.7/drawGauge-example (1).png similarity index 100% rename from .gitbook/assets/drawGauge-example (1).png rename to website/md-docs/assets/legacy-2.7/drawGauge-example (1).png diff --git a/.gitbook/assets/drawGauge-example.png b/website/md-docs/assets/legacy-2.7/drawGauge-example.png similarity index 100% rename from .gitbook/assets/drawGauge-example.png rename to website/md-docs/assets/legacy-2.7/drawGauge-example.png diff --git a/.gitbook/assets/drawLine-example (1).png b/website/md-docs/assets/legacy-2.7/drawLine-example (1).png similarity index 100% rename from .gitbook/assets/drawLine-example (1).png rename to website/md-docs/assets/legacy-2.7/drawLine-example (1).png diff --git a/.gitbook/assets/drawLine-example.png b/website/md-docs/assets/legacy-2.7/drawLine-example.png similarity index 100% rename from .gitbook/assets/drawLine-example.png rename to website/md-docs/assets/legacy-2.7/drawLine-example.png diff --git a/.gitbook/assets/drawNumber-example (1) (1).png b/website/md-docs/assets/legacy-2.7/drawNumber-example (1) (1).png similarity index 100% rename from .gitbook/assets/drawNumber-example (1) (1).png rename to website/md-docs/assets/legacy-2.7/drawNumber-example (1) (1).png diff --git a/.gitbook/assets/drawNumber-example (1).png b/website/md-docs/assets/legacy-2.7/drawNumber-example (1).png similarity index 100% rename from .gitbook/assets/drawNumber-example (1).png rename to website/md-docs/assets/legacy-2.7/drawNumber-example (1).png diff --git a/.gitbook/assets/drawPixmap-example (1).png b/website/md-docs/assets/legacy-2.7/drawPixmap-example (1).png similarity index 100% rename from .gitbook/assets/drawPixmap-example (1).png rename to website/md-docs/assets/legacy-2.7/drawPixmap-example (1).png diff --git a/.gitbook/assets/drawPixmap-example.png b/website/md-docs/assets/legacy-2.7/drawPixmap-example.png similarity index 100% rename from .gitbook/assets/drawPixmap-example.png rename to website/md-docs/assets/legacy-2.7/drawPixmap-example.png diff --git a/.gitbook/assets/drawPoint-example (1).png b/website/md-docs/assets/legacy-2.7/drawPoint-example (1).png similarity index 100% rename from .gitbook/assets/drawPoint-example (1).png rename to website/md-docs/assets/legacy-2.7/drawPoint-example (1).png diff --git a/.gitbook/assets/drawPoint-example.png b/website/md-docs/assets/legacy-2.7/drawPoint-example.png similarity index 100% rename from .gitbook/assets/drawPoint-example.png rename to website/md-docs/assets/legacy-2.7/drawPoint-example.png diff --git a/.gitbook/assets/drawRectangle-example (1).png b/website/md-docs/assets/legacy-2.7/drawRectangle-example (1).png similarity index 100% rename from .gitbook/assets/drawRectangle-example (1).png rename to website/md-docs/assets/legacy-2.7/drawRectangle-example (1).png diff --git a/.gitbook/assets/drawRectangle-example.png b/website/md-docs/assets/legacy-2.7/drawRectangle-example.png similarity index 100% rename from .gitbook/assets/drawRectangle-example.png rename to website/md-docs/assets/legacy-2.7/drawRectangle-example.png diff --git a/.gitbook/assets/drawScreenTitle-example (1) (1).png b/website/md-docs/assets/legacy-2.7/drawScreenTitle-example (1) (1).png similarity index 100% rename from .gitbook/assets/drawScreenTitle-example (1) (1).png rename to website/md-docs/assets/legacy-2.7/drawScreenTitle-example (1) (1).png diff --git a/.gitbook/assets/drawScreenTitle-example (1).png b/website/md-docs/assets/legacy-2.7/drawScreenTitle-example (1).png similarity index 100% rename from .gitbook/assets/drawScreenTitle-example (1).png rename to website/md-docs/assets/legacy-2.7/drawScreenTitle-example (1).png diff --git a/.gitbook/assets/drawSource-example (1).png b/website/md-docs/assets/legacy-2.7/drawSource-example (1).png similarity index 100% rename from .gitbook/assets/drawSource-example (1).png rename to website/md-docs/assets/legacy-2.7/drawSource-example (1).png diff --git a/.gitbook/assets/drawSource-example.png b/website/md-docs/assets/legacy-2.7/drawSource-example.png similarity index 100% rename from .gitbook/assets/drawSource-example.png rename to website/md-docs/assets/legacy-2.7/drawSource-example.png diff --git a/.gitbook/assets/drawSwitch-example (1).png b/website/md-docs/assets/legacy-2.7/drawSwitch-example (1).png similarity index 100% rename from .gitbook/assets/drawSwitch-example (1).png rename to website/md-docs/assets/legacy-2.7/drawSwitch-example (1).png diff --git a/.gitbook/assets/drawSwitch-example.png b/website/md-docs/assets/legacy-2.7/drawSwitch-example.png similarity index 100% rename from .gitbook/assets/drawSwitch-example.png rename to website/md-docs/assets/legacy-2.7/drawSwitch-example.png diff --git a/.gitbook/assets/drawText-example (1).png b/website/md-docs/assets/legacy-2.7/drawText-example (1).png similarity index 100% rename from .gitbook/assets/drawText-example (1).png rename to website/md-docs/assets/legacy-2.7/drawText-example (1).png diff --git a/.gitbook/assets/drawText-example.png b/website/md-docs/assets/legacy-2.7/drawText-example.png similarity index 100% rename from .gitbook/assets/drawText-example.png rename to website/md-docs/assets/legacy-2.7/drawText-example.png diff --git a/.gitbook/assets/drawTimer-example (1) (1).png b/website/md-docs/assets/legacy-2.7/drawTimer-example (1) (1).png similarity index 100% rename from .gitbook/assets/drawTimer-example (1) (1).png rename to website/md-docs/assets/legacy-2.7/drawTimer-example (1) (1).png diff --git a/.gitbook/assets/drawTimer-example (1).png b/website/md-docs/assets/legacy-2.7/drawTimer-example (1).png similarity index 100% rename from .gitbook/assets/drawTimer-example (1).png rename to website/md-docs/assets/legacy-2.7/drawTimer-example (1).png diff --git a/.gitbook/assets/flags (1).png b/website/md-docs/assets/legacy-2.7/flags (1).png similarity index 100% rename from .gitbook/assets/flags (1).png rename to website/md-docs/assets/legacy-2.7/flags (1).png diff --git a/.gitbook/assets/flags.png b/website/md-docs/assets/legacy-2.7/flags.png similarity index 100% rename from .gitbook/assets/flags.png rename to website/md-docs/assets/legacy-2.7/flags.png diff --git a/.gitbook/assets/getDateTime-example (1) (1).png b/website/md-docs/assets/legacy-2.7/getDateTime-example (1) (1).png similarity index 100% rename from .gitbook/assets/getDateTime-example (1) (1).png rename to website/md-docs/assets/legacy-2.7/getDateTime-example (1) (1).png diff --git a/.gitbook/assets/getDateTime-example (1).png b/website/md-docs/assets/legacy-2.7/getDateTime-example (1).png similarity index 100% rename from .gitbook/assets/getDateTime-example (1).png rename to website/md-docs/assets/legacy-2.7/getDateTime-example (1).png diff --git a/.gitbook/assets/getFieldInfo-example (1) (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/getFieldInfo-example (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/getFieldInfo-example (1) (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/getFieldInfo-example (1) (1) (1) (1).png diff --git a/.gitbook/assets/getFieldInfo-example (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/getFieldInfo-example (1) (1) (1).png similarity index 100% rename from .gitbook/assets/getFieldInfo-example (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/getFieldInfo-example (1) (1) (1).png diff --git a/.gitbook/assets/getGeneralSettings-example (1) (1).png b/website/md-docs/assets/legacy-2.7/getGeneralSettings-example (1) (1).png similarity index 100% rename from .gitbook/assets/getGeneralSettings-example (1) (1).png rename to website/md-docs/assets/legacy-2.7/getGeneralSettings-example (1) (1).png diff --git a/.gitbook/assets/getGeneralSettings-example (1).png b/website/md-docs/assets/legacy-2.7/getGeneralSettings-example (1).png similarity index 100% rename from .gitbook/assets/getGeneralSettings-example (1).png rename to website/md-docs/assets/legacy-2.7/getGeneralSettings-example (1).png diff --git a/.gitbook/assets/getValue-example (1) (1) (1).png b/website/md-docs/assets/legacy-2.7/getValue-example (1) (1) (1).png similarity index 100% rename from .gitbook/assets/getValue-example (1) (1) (1).png rename to website/md-docs/assets/legacy-2.7/getValue-example (1) (1) (1).png diff --git a/.gitbook/assets/getValue-example (1) (1).png b/website/md-docs/assets/legacy-2.7/getValue-example (1) (1).png similarity index 100% rename from .gitbook/assets/getValue-example (1) (1).png rename to website/md-docs/assets/legacy-2.7/getValue-example (1) (1).png diff --git a/.gitbook/assets/setGlobalVariable-example (1).png b/website/md-docs/assets/legacy-2.7/setGlobalVariable-example (1).png similarity index 100% rename from .gitbook/assets/setGlobalVariable-example (1).png rename to website/md-docs/assets/legacy-2.7/setGlobalVariable-example (1).png diff --git a/.gitbook/assets/setGlobalVariable-example.png b/website/md-docs/assets/legacy-2.7/setGlobalVariable-example.png similarity index 100% rename from .gitbook/assets/setGlobalVariable-example.png rename to website/md-docs/assets/legacy-2.7/setGlobalVariable-example.png diff --git a/.gitbook/assets/shocount (1).png b/website/md-docs/assets/legacy-2.7/shocount (1).png similarity index 100% rename from .gitbook/assets/shocount (1).png rename to website/md-docs/assets/legacy-2.7/shocount (1).png diff --git a/.gitbook/assets/shocount.png b/website/md-docs/assets/legacy-2.7/shocount.png similarity index 100% rename from .gitbook/assets/shocount.png rename to website/md-docs/assets/legacy-2.7/shocount.png diff --git a/website/md-docs/assets/luals/Bitmap.d.lua b/website/md-docs/assets/luals/Bitmap.d.lua new file mode 100644 index 000000000..7b72a925b --- /dev/null +++ b/website/md-docs/assets/luals/Bitmap.d.lua @@ -0,0 +1,59 @@ +---@meta + +-- GENERATED FILE — do not hand-edit. +-- Regenerated by `tools/docs_pipeline.py build` (see docs-system/README.md). +-- To fix API facts: edit the upstream EdgeTX /*luadoc*/ comment, then +-- re-extract and rebuild. To add narrative content: edit +-- docs-system/overlays/.md, then rebuild. + +--- LCD line pattern selector such as SOLID or DOTTED. +---@alias pen_type integer +--- Text rendering flags used by legacy LCD number APIs. +---@alias text_flags integer +--- Packed 16-bit RGB color value for color LCD APIs. +---@alias lcd_color_RGB565 integer +--- Font size selector such as XXLSIZE, DBLSIZE, MIDSIZE, or SMLSIZE. +---@alias lcd_font_size integer +--- Bitmask of LCD text rendering flags such as INVERS, BLINK, and SHADOWED. +---@alias lcd_text_flags integer +--- Combined LCD text formatting bitmask covering font size and text flags. +---@alias lcd_text_format integer +--- Signed EdgeTX source value in the normalized range from -1024 to 1024. +---@alias source_range_1024 integer +--- Global timer selector such as all, total, session, throttle, or throttlepct. +---@alias timer_type string +--- Telemetry unit identifier from the EdgeTX unit list. +---@alias unit_type integer +--- Telemetry precision selector controlling decimal places. +---@alias prec_type integer + +---@class Bitmap +Bitmap = {} + +--- Return width, height of a bitmap object +--- @since 2.2.0 +---@param name pointer point to a bitmap previously opened with Bitmap.open() +---@return integer width_in_pixels +---@return integer height_in_pixels +function Bitmap.getSize(name) end + +--- Loads a bitmap in memory, for later use with lcd.drawBitmap(). Bitmaps should be loaded only +once, returned object should be stored and used for drawing. If loading fails for whatever +reason the resulting bitmap object will have width and height set to zero. +--- @since 2.2.0 +---@param name string full path to the bitmap on SD card (i.e. “/IMAGES/test.bmp”) +---@return object bitmap +function Bitmap.open(name) end + +--- Return a resized bitmap object +--- @since 2.8.0 +---@param bitmap pointer point to a bitmap previously opened with Bitmap.open() +---@param width integer the new bitmap width +---@param height integer the new bitmap height +function Bitmap.resize(bitmap, width, height) end + +--- Return a 8bit bitmap mask that can be used with lcd.drawBitmapPattern() +--- @since 2.8.0 +---@param bitmap pointer point to a bitmap previously opened with Bitmap.open() +---@return unknown a +function Bitmap.toMask(bitmap) end diff --git a/website/md-docs/assets/luals/lcd.d.lua b/website/md-docs/assets/luals/lcd.d.lua new file mode 100644 index 000000000..d845fa01f --- /dev/null +++ b/website/md-docs/assets/luals/lcd.d.lua @@ -0,0 +1,353 @@ +---@meta + +-- GENERATED FILE — do not hand-edit. +-- Regenerated by `tools/docs_pipeline.py build` (see docs-system/README.md). +-- To fix API facts: edit the upstream EdgeTX /*luadoc*/ comment, then +-- re-extract and rebuild. To add narrative content: edit +-- docs-system/overlays/.md, then rebuild. + +--- LCD line pattern selector such as SOLID or DOTTED. +---@alias pen_type integer +--- Text rendering flags used by legacy LCD number APIs. +---@alias text_flags integer +--- Packed 16-bit RGB color value for color LCD APIs. +---@alias lcd_color_RGB565 integer +--- Font size selector such as XXLSIZE, DBLSIZE, MIDSIZE, or SMLSIZE. +---@alias lcd_font_size integer +--- Bitmask of LCD text rendering flags such as INVERS, BLINK, and SHADOWED. +---@alias lcd_text_flags integer +--- Combined LCD text formatting bitmask covering font size and text flags. +---@alias lcd_text_format integer +--- Signed EdgeTX source value in the normalized range from -1024 to 1024. +---@alias source_range_1024 integer +--- Global timer selector such as all, total, session, throttle, or throttlepct. +---@alias timer_type string +--- Telemetry unit identifier from the EdgeTX unit list. +---@alias unit_type integer +--- Telemetry precision selector controlling decimal places. +---@alias prec_type integer + +---@class lcd +lcd = {} + +--- Returns a drawing flag with RGB color code +--- @since 2.2.0 +---@param r integer a number between 0 and 255 that expresses the amount of red in the color +---@param g integer a number between 0 and 255 that expresses the amount of green in the color +---@param b integer a number between 0 and 255 that expresses the amount of blue in the color +---@param rgb integer a number between 0 and 0xFFFFFF that expresses the RGB value (0xFF000=RED, 0x00FF00=GREEN, 0x0000FF=BLUE) +---@return integer flag +function lcd.RGB(r, g, b, rgb) end + +--- Clear the LCD screen +--- @since 2.0.0 +---@param color? unknown +function lcd.clear(color) end + +--- Draw an arc +--- @since 2.4.0 +---@param x integer coordinates of the center +---@param y integer coordinates of the center +---@param r1 integer radii of the inside and outside of the annulus +---@param r2 integer radii of the inside and outside of the annulus +---@param start integer start and end of the annulus +---@param end integer start and end of the annulus +---@param flags? integer please see the Lcd functions overview +function lcd.drawAnnulus(x, y, r1, r2, start, end, flags) end + +--- Draw an arc +--- @since 2.4.0 +---@param x integer coordinates of the center +---@param y integer coordinates of the center +---@param r integer radius +---@param start integer start and end of the arc +---@param end integer start and end of the arc +---@param flags? integer please see the Lcd functions overview +function lcd.drawArc(x, y, r, start, end, flags) end + +--- Displays a bitmap at (x,y) +--- @since 2.2.0 +---@param bitmap pointer point to a bitmap previously opened with Bitmap.open() +---@param x integer starting coordinates +---@param y integer starting coordinates +---@param scale? integer scale in %, 50 divides size by two, 100 is unchanged, 200 doubles size. Omitting scale draws image in 1:1 scale and is faster than specifying 100 for scale. +function lcd.drawBitmap(bitmap, x, y, scale) end + +--- Displays a bitmap pattern at (x,y) +--- @since 2.8.0 +---@param bitmap pointer point to a bitmap previously opened with Bitmap.open() +---@param x integer starting coordinates +---@param y integer starting coordinates +---@param flags? integer please see the Lcd functions overview +function lcd.drawBitmapPattern(bitmap, x, y, flags) end + +--- Displays a bitmap pattern pie at (x,y) +--- @since 2.8.0 +---@param bitmap pointer point to a bitmap previously opened with Bitmap.open() +---@param x integer starting coordinates +---@param y integer starting coordinates +---@param startangle unknown Start angle +---@param endangle unknown End angle +---@param flags? integer please see the Lcd functions overview +function lcd.drawBitmapPatternPie(bitmap, x, y, startangle, endangle, flags) end + +--- Display a telemetry value at (x,y) +--- @since 2.0.6 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param source integer|string can be a source identifier (number) or a source name (string). See getValue() +---@param flags integer please see the Lcd functions overview +function lcd.drawChannel(x, y, source, flags) end + +--- Draw a circle at (x, y) of specified radius +--- @since 2.4.0 +---@param x integer center position +---@param y integer center position +---@param r integer radius in pixels +---@param flags? integer please see the Lcd functions overview +function lcd.drawCircle(x, y, r, flags) end + +--- Draw a combo box +--- @since 2.0.0 +---@param x integer top left corner position +---@param y integer top left corner position +---@param w integer width of combo box in pixels +---@param list table combo box elements, each element is a string +---@param idx integer index of entry to highlight +---@param flags? integer drawing flags, the flags can not be combined: * BLINK combo box is expanded * INVERS combo box collapsed, text inversed * 0 or not present combo box collapsed, text normal +function lcd.drawCombobox(x, y, w, list, idx, flags) end + +--- Draw a filled circle at (x, y) of specified radius +--- @since 2.4.0 +---@param x integer center position +---@param y integer center position +---@param r integer radius in pixels +---@param flags? integer please see the Lcd functions overview +function lcd.drawFilledCircle(x, y, r, flags) end + +--- Draw a solid rectangle from top left corner (x,y) of specified width and height +--- @since 2.0.0 +---@param x integer top left corner position +---@param y integer top left corner position +---@param w integer width in pixels +---@param h integer height in pixels +---@param flags? integer please see the Lcd functions overview +---@param opacity? integer opacity defaults to 0 (only on radios with color display) +function lcd.drawFilledRectangle(x, y, w, h, flags, opacity) end + +--- Draw a filled triangle +--- @since 2.4.0 +---@param x1 integer coordinates of the three vertices +---@param y1 integer coordinates of the three vertices +---@param x2 integer coordinates of the three vertices +---@param y2 integer coordinates of the three vertices +---@param x3 integer coordinates of the three vertices +---@param y3 integer coordinates of the three vertices +---@param flags? integer please see the Lcd functions overview +function lcd.drawFilledTriangle(x1, y1, x2, y2, x3, y3, flags) end + +--- Draw a simple gauge that is filled based upon fill value +--- @since 2.0.0 +---@param x integer top left corner position +---@param y integer top left corner position +---@param w integer width in pixels +---@param h integer height in pixels +---@param fill integer amount of fill to apply +---@param maxfill integer total value of fill +---@param flags? integer please see the Lcd functions overview +function lcd.drawGauge(x, y, w, h, fill, maxfill, flags) end + +--- Draw a rectangle in perspective +--- @since 2.4.0 +---@param pitch integer pitch and roll to define the orientation of the rectangle +---@param roll integer pitch and roll to define the orientation of the rectangle +---@param xmin integer the limits of the rectangle +---@param xmax integer the limits of the rectangle +---@param ymin integer the limits of the rectangle +---@param ymax integer the limits of the rectangle +---@param flags? integer please see the Lcd functions overview +function lcd.drawHudRectangle(pitch, roll, xmin, xmax, ymin, ymax, flags) end + +--- Draw a straight line on LCD +--- @since 2.0.0 +---@param x1 integer starting coordinate +---@param y1 integer starting coordinate +---@param x2 integer end coordinate +---@param y2 integer end coordinate +---@param pattern unknown SOLID or DOTTED +---@param flags? integer lcdflags +function lcd.drawLine(x1, y1, x2, y2, pattern, flags) end + +--- Draw a line only inside a rectangle +--- @since 2.4.0 +---@param x1 integer coordinates of the start and end of the unclipped line +---@param y1 integer coordinates of the start and end of the unclipped line +---@param x2 integer coordinates of the start and end of the unclipped line +---@param y2 integer coordinates of the start and end of the unclipped line +---@param xmin integer the limits of the rectangle inside which the line is drawn +---@param xmax integer the limits of the rectangle inside which the line is drawn +---@param ymin integer the limits of the rectangle inside which the line is drawn +---@param ymax integer the limits of the rectangle inside which the line is drawn +---@param pattern FORCE please see the Lcd functions overview +---@param flags? integer please see the Lcd functions overview +function lcd.drawLineWithClipping(x1, y1, x2, y2, xmin, xmax, ymin, ymax, pattern, flags) end + +--- Display a number at (x,y) +--- @since 2.0.0 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param value integer value to display +---@param flags? integer please see the Lcd functions overview +---@param inverscolor? unknown overrides the inverse text color for INVERS +function lcd.drawNumber(x, y, value, flags, inverscolor) end + +--- Draw a pie slice +--- @since 2.4.0 +---@param x integer coordinates of the center +---@param y integer coordinates of the center +---@param r integer radius +---@param start integer start and end of the pie slice +---@param end integer start and end of the pie slice +---@param flags? integer please see the Lcd functions overview +function lcd.drawPie(x, y, r, start, end, flags) end + +--- Draw a bitmap at (x,y) +--- @since 2.0.0 +---@param x integer starting coordinates +---@param y integer starting coordinates +---@param name string full path to the bitmap on SD card (i.e. “/IMAGES/test.bmp”) +function lcd.drawPixmap(x, y, name) end + +--- Draw a single pixel at (x,y) position +--- @since 2.0.0 +---@param x integer x position +---@param y integer y position +---@param flags? integer please see the Lcd functions overview +function lcd.drawPoint(x, y, flags) end + +--- Draw a rectangle from top left corner (x,y) of specified width and height +--- @since 2.0.0 +---@param x integer top left corner position +---@param y integer top left corner position +---@param w integer width in pixels +---@param h integer height in pixels +---@param flags? integer please see the Lcd functions overview +---@param t? integer thickness in pixels, defaults to 1 (only on radios with color display) +---@param opacity? integer opacity defaults to 0 (only on radios with color display) +function lcd.drawRectangle(x, y, w, h, flags, t, opacity) end + +--- Draw a title bar +--- @since 2.0.0 +---@param title string text for the title +---@param page integer page number +---@param pages integer total number of pages. Only used as indicator on the right side of title bar. (i.e. idx=2, cnt=5, display 2/5) +function lcd.drawScreenTitle(title, page, pages) end + +--- Displays the name of the corresponding input as defined by the source at (x,y) +--- @since 2.0.0 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param source integer source index +---@param flags? integer please see the Lcd functions overview +function lcd.drawSource(x, y, source, flags) end + +--- Draw a text representation of switch at (x,y) +--- @since 2.0.0 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param switch integer number of switch to display, negative number displays negated switch +---@param flags integer please see the Lcd functions overview, only SMLSIZE, BLINK and INVERS. +function lcd.drawSwitch(x, y, switch, flags) end + +--- Draw a text beginning at (x,y) +--- @since 2.0.0 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param text string text to display +---@param flags? integer please see the Lcd functions overview for drawing flags and colors, and the Appendix for available characters in each font set. +---@param inverscolor? unknown overrides the inverse text color for INVERS +function lcd.drawText(x, y, text, flags, inverscolor) end + +--- Draw text inside rectangle (x,y,w,h) with line breaks +--- @since 2.5.0 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param w integer width and height of bounding rectangle +---@param h integer width and height of bounding rectangle +---@param text string text to display +---@param flags? integer please see the Lcd functions overview for drawing flags and colors, and the Appendix for available characters in each font set. RIGHT, CENTER and VCENTER are not implemented. +---@return integer x_y +function lcd.drawTextLines(x, y, w, h, text, flags) end + +--- Display a value formatted as time at (x,y) +--- @since 2.0.0 +---@param x integer starting coordinate +---@param y integer starting coordinate +---@param value integer time in seconds +---@param flags? integer please see the Lcd functions overview +---@param inverscolor? unknown overrides the inverse text color for INVERS +function lcd.drawTimer(x, y, value, flags, inverscolor) end + +--- Draw a triangle +--- @since 2.4.0 +---@param x1 integer coordinates of the three vertices +---@param y1 integer coordinates of the three vertices +---@param x2 integer coordinates of the three vertices +---@param y2 integer coordinates of the three vertices +---@param x3 integer coordinates of the three vertices +---@param y3 integer coordinates of the three vertices +---@param flags? integer please see the Lcd functions overview +function lcd.drawTriangle(x1, y1, x2, y2, x3, y3, flags) end + +--- Exit full screen widget mode. +--- @since 2.5.0 +function lcd.exitFullScreen() end + +--- Get the color value from flags +--- @since 2.3.11 +---@param flags integer please see the Lcd functions overview +---@return integer color +function lcd.getColor(flags) end + +--- Returns the leftmost x position from previous drawtext or drawNumber output +--- @since 2.2.0 +---@return integer number +function lcd.getLastLeftPos() end + +--- Returns the rightmost x position from previous output +--- @since 2.0.0 +---@return integer number +function lcd.getLastPos() end + +--- Returns the rightest x position from previous drawtext or drawNumber output +--- @since 2.2.0 +---@return integer number +function lcd.getLastRightPos() end + +--- Invert a rectangle zone from top left corner (x,y) of specified width and height +--- @since 2.8.0 +---@param x integer top left corner position +---@param y integer top left corner position +---@param w integer width in pixels +---@param h integer height in pixels +---@param flags? integer please see the Lcd functions overview +function lcd.invertRect(x, y, w, h, flags) end + +--- Refresh the LCD screen +--- @since 2.2.0 +function lcd.refresh() end + +--- Reset the backlight timeout +--- @since 2.3.6 +function lcd.resetBacklightTimeout() end + +--- Change an indexed color (theme colors and CUSTOM_COLOR). Please see the Lcd functions overview for indexed color constants +--- @since 2.2.0 +function lcd.setColor() end + +--- Get the width and height of a text string drawn with flags +--- @since 2.5.0 +---@param text string +---@param flags? integer please see the Lcd functions overview +---@return integer w_h +function lcd.sizeText(text, flags) end diff --git a/website/md-docs/assets/luals/lvgl.d.lua b/website/md-docs/assets/luals/lvgl.d.lua new file mode 100644 index 000000000..d03f10350 --- /dev/null +++ b/website/md-docs/assets/luals/lvgl.d.lua @@ -0,0 +1,326 @@ +---@meta + +-- GENERATED FILE — do not hand-edit. +-- Regenerated by `tools/docs_pipeline.py build` (see docs-system/README.md). +-- To fix API facts: edit the upstream EdgeTX /*luadoc*/ comment, then +-- re-extract and rebuild. To add narrative content: edit +-- docs-system/overlays/.md, then rebuild. + +--- LCD line pattern selector such as SOLID or DOTTED. +---@alias pen_type integer +--- Text rendering flags used by legacy LCD number APIs. +---@alias text_flags integer +--- Packed 16-bit RGB color value for color LCD APIs. +---@alias lcd_color_RGB565 integer +--- Font size selector such as XXLSIZE, DBLSIZE, MIDSIZE, or SMLSIZE. +---@alias lcd_font_size integer +--- Bitmask of LCD text rendering flags such as INVERS, BLINK, and SHADOWED. +---@alias lcd_text_flags integer +--- Combined LCD text formatting bitmask covering font size and text flags. +---@alias lcd_text_format integer +--- Signed EdgeTX source value in the normalized range from -1024 to 1024. +---@alias source_range_1024 integer +--- Global timer selector such as all, total, session, throttle, or throttlepct. +---@alias timer_type string +--- Telemetry unit identifier from the EdgeTX unit list. +---@alias unit_type integer +--- Telemetry precision selector controlling decimal places. +---@alias prec_type integer + +---@class lvgl +lvgl = {} + +--- Display a button showing a text alignment name. Tapping it opens a popup menu to choose an alignment from, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called on every refresh cycle to keep the displayed value in sync, to get the currently selected alignment, defaults to nil * set (function) called when the user taps an alignment in the popup; passed the selected alignment value, defaults to nil +---@return table +function lvgl.align(parent, params) end + +--- Display an arc. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * thickness (number) width of the arc's line, defaults to 1 * radius (number or function) radius of the arc, defaults to 0 * startAngle (number or function) starting angle in degrees (0-360), 0 is 3 o'clock, defaults to 0 * endAngle (number or function) ending angle in degrees, defaults to 360 * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 * rounded (boolean) if true the ends of the arc are rounded, defaults to false * bgColor (color or function) color of the background arc, not used by default * bgOpacity (number or function) opacity of the background arc, defaults to 0 (not visible) * bgStartAngle (number or function) starting angle of the background arc in degrees, defaults to 0 * bgEndAngle (number or function) ending angle of the background arc in degrees, defaults to 360 +---@return table +function lvgl.arc(parent, params) end + +--- Create a container for managing object layout. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * flexFlow (lvgl.FLOW_COLUMN or lvgl.FLOW_ROW) enables flex layout for this box, not used by default * flexPad (number) padding between rows/columns when flex layout is used; recommend using lvgl.PAD_xxx values, defaults to PAD_OUTLINE * scrollBar (boolean) enables/disables scroll bars, defaults to true * scrollDir (lvgl.SCROLL_xx) allowed scroll directions when child objects extend past the box bounds (stand alone scripts only), defaults to lvgl.SCROLL_ALL * scrolled (function) called when the box content is scrolled; passed x, y of the current scroll position, defaults to nil * scrollTo (function) overrides the box scroll position; must return x, y to scroll to, defaults to nil * align (alignment type (LEFT, RIGHT, CENTER, VTOP, VBOTTOM, VCENTER)) alignment used with flex layouts (added in 2.11.4); avoid combining an alignment with a scrollbar on the same axis, defaults to CENTER | VTOP * borderPad (number or table) border padding around the container edges; a single number applies to all sides, or a table {left=?, right=?, top=?, bottom=?} (added in 2.11.5), defaults to PAD_OUTLINE if flexFlow is set, otherwise 0 +---@return table +function lvgl.box(parent, params) end + +--- Build a complex UI in a single operation from a table of object definitions. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the built objects to; if omitted they attach to the top-level script window +---@param params table a table of tables, each defining one LVGL object: * type (string or type constant) mandatory, selects the kind of object to create, e.g. "rectangle" or lvgl.RECTANGLE; named type constants (e.g. lvgl.RECTANGLE) added in 2.11.4, string names work in all versions * name (string) optional name used to look up this object in the returned table, defaults to an empty string * children (table) optional nested table of the same shape, to create child objects * any other key accepted by the constructor function for the chosen type +---@return table +function lvgl.build(parent, params) end + +--- Add a text button using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * text (string or function) text displayed in the button, defaults to an empty string * press (function) called when the user taps the button, after releasing ENTER or the screen; may optionally return a non-zero integer to display the button in the checked state, defaults to nil * longpress (function) called on a long tap; may optionally return a non-zero integer to display the button in the checked state, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil * checked (boolean) sets the initial checked state; can be updated with lvgl.set(), defaults to false * color (color or function) background color, defaults to the EdgeTX button style PRIMARY2 theme color * textColor (color or function) text color, defaults to the EdgeTX button style SECONDARY1 theme color * cornerRadius (number) radius for the button's corners, defaults to the EdgeTX button style radius * font (font value or function) sets the font size, e.g. MIDSIZE, DBLSIZE; defaults to STDSIZE +---@return table +function lvgl.button(parent, params) end + +--- Display a button showing an option value. Tapping it opens a popup menu of options to choose from, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * title (string) text displayed in the popup menu's header, defaults to an empty string * values (table) simple table of option strings shown in the popup; can be changed via lvgl.set() since 2.11.6, defaults to an empty list * get (function) called on every refresh cycle to keep the displayed value in sync, to get the index of the currently selected option (1..number of values), defaults to nil * set (function) called when the user taps a menu item; passed the selected item's index (1..number of values), defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil * filter (function) called for each option when the popup opens, passed the option's index; return true to show it, false to hide it, defaults to nil * popupWidth (number) width of the popup window, defaults to 0 (use default width) +---@return table +function lvgl.choice(parent, params) end + +--- Display a solid or outlined circle. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * thickness (number) width of the border line, defaults to 1 * filled (boolean) if true the circle is filled with color, defaults to false * radius (number or function) radius of the circle, defaults to 0 * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 +---@return table +function lvgl.circle(parent, params) end + +--- Delete LVGL objects. +--- @since 2.11.0 +---@param parent? object optional LVGL object whose children should be deleted; if omitted, the entire script UI is deleted +---@return unknown none +function lvgl.clear(parent) end + +--- Close an LVGL object that represents a closable container or dialog. +--- @since 2.11.0 +---@param obj object LVGL object previously created by the lvgl library +---@return unknown none +function lvgl.close(obj) end + +--- Display a button showing a color swatch. Tapping it opens the color picker dialog, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called once when the object is created, to get the initial color, defaults to nil * set (function) called when the user picks a color; passed the selected color value, defaults to nil +---@return table +function lvgl.color(parent, params) end + +--- Display a Yes/No confirmation dialog box. +--- @since 2.11.0 +---@param params table * title (string) text displayed in the dialog's header, defaults to an empty string * message (string) text displayed in the dialog's body, defaults to an empty string * confirm (function) called when the user taps Yes, defaults to nil * cancel (function) called when the user taps No, defaults to nil +---@return unknown none +function lvgl.confirm(params) end + +--- Display a dialog box. +--- @since 2.11.0 +---@param params table * title (string) text displayed in the dialog's header, defaults to an empty string * close (function) called when the dialog is closed, defaults to nil * flexFlow (lvgl.FLOW_COLUMN or lvgl.FLOW_ROW) enables flex layout for this box, not used by default * flexPad (number) padding between rows/columns when flex layout is used, defaults to PAD_OUTLINE +---@return table +function lvgl.dialog(params) end + +--- Disable interaction for an LVGL control object. +--- @since 2.11.0 +---@param obj object LVGL object previously created by the lvgl library +---@return unknown none +function lvgl.disable(obj) end + +--- Enable interaction for an LVGL control object. +--- @since 2.11.0 +---@param obj object LVGL object previously created by the lvgl library +---@return unknown none +function lvgl.enable(obj) end + +--- If the script is running in full screen mode, return it to normal mode. +--- @since 2.11.0 +---@return unknown none +function lvgl.exitFullScreen() end + +--- Display a button showing a filename. Tapping it opens a popup file picker, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * title (string) text displayed in the popup's header, defaults to an empty string * get (function) called when the popup is opened, and after the selection changes, to get the currently selected filename; must return a string, defaults to nil * set (function) called when the user picks a file; passed the selected filename (without path), defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil * folder (string) SD card folder to browse for files, defaults to nil * extension (string) extension filter, e.g. .png or concatenated .png.bmp to match multiple, defaults to nil (no filter) * hideExtension (boolean) if true, the extension is stripped before set is called and hidden in the picker list, defaults to false * maxLen (number) maximum filename length (measured after hideExtension stripping, if set); files with longer names are not shown in the picker list, defaults to 255 +---@return table +function lvgl.file(parent, params) end + +--- Display a button showing a font name. Tapping it opens a popup menu to choose a font from, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called on every refresh cycle to keep the displayed value in sync, to get the currently selected font, defaults to nil * set (function) called when the user taps a font in the popup; passed the selected font value, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil +---@return table +function lvgl.font(parent, params) end + +--- For a widget script, returns the local instance table created by (and returned from) the script's `create()` function. +--- @since 2.11.0 +---@return table +function lvgl.getContext() end + +--- Get the current scroll position of a container object. +--- @since 2.11.2 +---@param parent object LVGL container object (e.g. box, rectangle, or page) +---@return unknown number +function lvgl.getScrollPos(parent) end + +--- Hide an LVGL object. +--- @since 2.11.0 +---@param parent object LVGL object to hide +---@return unknown none +function lvgl.hide(parent) end + +--- Display a horizontal line. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * rounded (boolean) if true the line's end caps are rounded, defaults to false * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 * dashGap (number) gap size for dashed lines, defaults to 0 * dashWidth (number) dash size for dashed lines, defaults to 0; both dashGap and dashWidth must be > 0 to draw dashed lines +---@return table +function lvgl.hline(parent, params) end + +--- Display an image, centered in the frame `(x, y, w, h)`. Images can be scaled to fit entirely within the frame or to fill it completely. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * file (string) full path to the image file on the SD card, defaults to an empty string * fill (boolean) if true the image is scaled to completely fill the frame (may be cropped); if false it is scaled to fit entirely within the frame (may have empty borders), defaults to false +---@return table +function lvgl.image(parent, params) end + +--- Test if the script is running in App Mode. +--- @since 2.11.0 +---@return boolean +function lvgl.isAppMode() end + +--- Test if the script is running in full screen mode. +--- @since 2.11.0 +---@return boolean +function lvgl.isFullScreen() end + +--- Display a text label. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * text (string or function) text to display, defaults to an empty string * font (font value or function) sets the font size, e.g. MIDSIZE, DBLSIZE; defaults to STDSIZE * align (text alignment value or function) sets the text justification, e.g. RIGHT, VCENTER; defaults to LEFT. RIGHT/CENTER require w to be set. LEFT/RIGHT/CENTER align text horizontally within the label's bounding box (x,y,w,h); VCENTER/VTOP/VBOTTOM align the label's bounding box vertically within the parent object +---@return table +function lvgl.label(parent, params) end + +--- Display one or more connected line segments. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * rounded (boolean) if true the line's end caps are rounded, defaults to false * thickness (number) thickness of each line segment, defaults to 1 * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 * pts (table or function) table of points, each a {x, y} pair; at least two points are required, defaults to nil +---@return table +function lvgl.line(parent, params) end + +--- Open a popup menu with multiple options to choose from, using EdgeTX styling. +--- @since 2.11.1 +---@param params table * title (string) text displayed in the popup's header, defaults to an empty string * values (table) simple table of option strings shown in the popup, defaults to an empty list * get (function) called when the popup is opened, to get the index of the currently selected option (1..number of values), defaults to nil * set (function) called when the user taps a menu item; passed the selected item's index (1..number of values), defaults to nil +---@return unknown none +function lvgl.menu(params) end + +--- Display a message dialog box. +--- @since 2.11.0 +---@param params table * title (string) text displayed in the dialog's header, defaults to an empty string * message (string) text displayed in the dialog's body, defaults to an empty string * details (string) additional text displayed in the dialog's body, defaults to an empty string +---@return unknown none +function lvgl.message(params) end + +--- Add a momentary text button using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * text (string or function) text displayed in the button, defaults to an empty string * press (function) called immediately when the user first taps the button or presses ENTER, defaults to nil * release (function) called when the user releases ENTER or stops touching the screen, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil * color (color or function) background color, defaults to the EdgeTX button style PRIMARY2 theme color * textColor (color or function) text color, defaults to the EdgeTX button style SECONDARY1 theme color * cornerRadius (number) radius for the button's corners, defaults to the EdgeTX button style radius * font (font value or function) sets the font size, e.g. MIDSIZE, DBLSIZE; defaults to STDSIZE +---@return table +function lvgl.momentaryButton(parent, params) end + +--- Add a number edit box using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called to get the current value to display, defaults to nil * set (function) called for every change to the number while editing; passed the new value, defaults to nil * edited (function) called after the user finishes editing; passed the final value (added in 2.11.5), defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil * min (number) minimum allowed value, defaults to -1024 * max (number) maximum allowed value, defaults to 1024 * display (function) overrides how the value is displayed; passed the current value, must return a string, defaults to nil +---@return table +function lvgl.numberEdit(parent, params) end + +--- Create a page layout for a One-Time script using EdgeTX styling: a header with title/sub-title lines and a back button in the top-left corner. Should be created as the top-level LVGL object, with all other objects added as its children. +--- @since 2.11.0 +---@param params table * title (string or function) title text in the header; function support added in 2.11.4, defaults to an empty string * subtitle (string or function) sub-title text in the header; function support added in 2.11.4, defaults to an empty string * icon (string) full path to a 30x30 grey-scale mask image for the back button icon (white = transparent, black = opaque); defaults to the EdgeTX logo icon * back (function) called when RTN is pressed, or when the back button is tapped -- the top-left header button if backButton is not set, otherwise a second button on the top-right, defaults to nil * menu (function) called when the top-left header button is tapped, but only if backButton is set to true -- in that case back moves to a second button on the top-right, defaults to nil * prevButton (table) adds a prev navigation button; table has a press function and optional active function (added in 2.11.4), defaults to nil * nextButton (table) adds a next navigation button; table has a press function and optional active function (added in 2.11.4), defaults to nil * flexFlow (lvgl.FLOW_COLUMN or lvgl.FLOW_ROW) enables flex layout for this page, not used by default * flexPad (number) padding between rows/columns when flex layout is used, defaults to PAD_OUTLINE * scrollBar (boolean) enables/disables scroll bars, defaults to true * scrollDir (lvgl.SCROLL_xx) allowed scroll directions when child objects extend past the page bounds (stand alone scripts only), defaults to lvgl.SCROLL_ALL * scrolled (function) called when the page content is scrolled; passed x, y of the current scroll position, defaults to nil * scrollTo (function) overrides the page scroll position; must return x, y to scroll to, defaults to nil * align (alignment type (LEFT, RIGHT, CENTER, VTOP, VBOTTOM, VCENTER)) alignment used with flex layouts (added in 2.11.4), defaults to CENTER | VTOP * backButton (boolean) if true, adds a second header button on the top-right calling back, and repurposes the top-left button to call menu instead (added in 2.11.4), defaults to false * borderPad (number or table) border padding around the container edges; a single number applies to all sides, or a table {left=?, right=?, top=?, bottom=?} (added in 2.11.5), defaults to PAD_OUTLINE if flexFlow is set, otherwise 0 +---@return table +function lvgl.page(params) end + +--- Display a QR code. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * data (string) URL or other content to encode, defaults to an empty string * bgColor (color) background color for the QR code image, defaults to COLOR_THEME_SECONDARY3 +---@return table +function lvgl.qrcode(parent, params) end + +--- Display a rectangle. Based on `lvgl.box`, so all `lvgl.box` settings also apply. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * thickness (number) width of the border line, defaults to 1 * filled (boolean or function) if true the rectangle is filled with color, defaults to false (function support added in 2.11.4) * rounded (number) if greater than 0, rounds the corners with this radius; must be >= thickness if set, defaults to 0 * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 +---@return table +function lvgl.rectangle(parent, params) end + +--- Update the settings of an existing LVGL object. Can also be used to change settings that have no dedicated update function (e.g. rectangle thickness). Can also be called as `parent:set(params)`. +--- @since 2.11.0 +---@param parent object LVGL object to update; unlike the constructor functions, this parameter is required, not optional +---@param params table settings to update; use the same keys documented for the object's constructor function +---@return unknown none +function lvgl.set(parent, params) end + +--- Create a container for a single row of a settings page, automatically padded for controls such as toggle/textEdit/button. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * title (string or function) text displayed on the left; function support added in 2.11.6, defaults to an empty string +---@return table +function lvgl.setting(parent, params) end + +--- Show an LVGL object. +--- @since 2.11.0 +---@param parent object LVGL object to show +---@return unknown none +function lvgl.show(parent) end + +--- Add a horizontal slider using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * min (number) minimum value at the left end of the range, defaults to 0 * max (number) maximum value at the right end of the range, defaults to 100 * get (function) called to get the current knob value; should return a value between min and max inclusive, defaults to nil * set (function) called when the user moves the knob; passed the new value, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil +---@return table +function lvgl.slider(parent, params) end + +--- Display a button showing a source name. Tapping it opens the source-select popup, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called on every refresh cycle to keep the displayed value in sync, to get the currently selected source, defaults to nil * set (function) called when the user picks a source; passed the selected source value, defaults to nil * filter (number) controls which source types the user can pick; combine lvgl.SRC_xxx constants to build a custom filter, defaults to lvgl.SRC_ALL +---@return table +function lvgl.source(parent, params) end + +--- Display a button showing a switch name. Tapping it opens the switch-select popup, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called on every refresh cycle to keep the displayed value in sync, to get the currently selected switch, defaults to nil * set (function) called when the user picks a switch; passed the selected switch value, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil * filter (number) controls which switch types the user can pick; combine lvgl.SW_xxx constants to build a custom filter, defaults to lvgl.SW_ALL +---@return table +function lvgl.switch(parent, params) end + +--- Add a text edit box using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * value (string or function) text to edit; if a function, the text can be changed by both script and user, defaults to an empty string * length (number) maximum editable text length, 1 to 128, defaults to 32 * set (function) called when the user edits the text; passed the new string content, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil +---@return table +function lvgl.textEdit(parent, params) end + +--- Display a button showing a timer name. Tapping it opens a popup menu to choose a timer from, using EdgeTX styling. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called on every refresh cycle to keep the displayed value in sync, to get the currently selected timer, defaults to nil * set (function) called when the user taps a timer in the popup; passed the selected timer value, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil +---@return table +function lvgl.timer(parent, params) end + +--- Add a toggle switch using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * get (function) called to get the current state; must return a boolean or number (0/false = off, 1/true = on), defaults to nil * set (function) called when the user interacts with the switch; passed a single number, 0 = off, 1 = on, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil +---@return table +function lvgl.toggle(parent, params) end + +--- Display a filled triangle. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 * pts (table or function) table of exactly three points, each a {x, y} pair, defaults to nil +---@return table +function lvgl.triangle(parent, params) end + +--- Add a vertical slider using the EdgeTX style. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * min (number) minimum value at the bottom end of the range, defaults to 0 * max (number) maximum value at the top end of the range, defaults to 100 * get (function) called to get the current knob value; should return a value between min and max inclusive, defaults to nil * set (function) called when the user moves the knob; passed the new value, defaults to nil * active (function) sets the enabled/disabled state; must return a boolean, true to enable, defaults to nil +---@return table +function lvgl.verticalSlider(parent, params) end + +--- Display a vertical line. +--- @since 2.11.0 +---@param parent? object optional LVGL object to attach the new object to; if omitted the object is created in the top-level script window +---@param params table * x (number) position relative to the top-left of the parent * y (number) position relative to the top-left of the parent * w (number) width * h (number) height * color (color or function) primary color for the object * pos (function) dynamic position callback returning x, y * size (function) dynamic size callback returning w, h * visible (function) dynamic visibility callback * floating (boolean) keep the object fixed inside a scrollable container, added in 2.11.6, defaults to false * rounded (boolean) if true the line's end caps are rounded, defaults to false * opacity (number or function) opacity from 0 (transparent) to 255 (opaque), defaults to 255 * dashGap (number) gap size for dashed lines, defaults to 0 * dashWidth (number) dash size for dashed lines, defaults to 0; both dashGap and dashWidth must be > 0 to draw dashed lines +---@return table +function lvgl.vline(parent, params) end diff --git a/website/md-docs/assets/luals/model.d.lua b/website/md-docs/assets/luals/model.d.lua new file mode 100644 index 000000000..7eb9437f7 --- /dev/null +++ b/website/md-docs/assets/luals/model.d.lua @@ -0,0 +1,259 @@ +---@meta + +-- GENERATED FILE — do not hand-edit. +-- Regenerated by `tools/docs_pipeline.py build` (see docs-system/README.md). +-- To fix API facts: edit the upstream EdgeTX /*luadoc*/ comment, then +-- re-extract and rebuild. To add narrative content: edit +-- docs-system/overlays/.md, then rebuild. + +--- LCD line pattern selector such as SOLID or DOTTED. +---@alias pen_type integer +--- Text rendering flags used by legacy LCD number APIs. +---@alias text_flags integer +--- Packed 16-bit RGB color value for color LCD APIs. +---@alias lcd_color_RGB565 integer +--- Font size selector such as XXLSIZE, DBLSIZE, MIDSIZE, or SMLSIZE. +---@alias lcd_font_size integer +--- Bitmask of LCD text rendering flags such as INVERS, BLINK, and SHADOWED. +---@alias lcd_text_flags integer +--- Combined LCD text formatting bitmask covering font size and text flags. +---@alias lcd_text_format integer +--- Signed EdgeTX source value in the normalized range from -1024 to 1024. +---@alias source_range_1024 integer +--- Global timer selector such as all, total, session, throttle, or throttlepct. +---@alias timer_type string +--- Telemetry unit identifier from the EdgeTX unit list. +---@alias unit_type integer +--- Telemetry precision selector controlling decimal places. +---@alias prec_type integer + +---@class model +model = {} + +--- Set all inputs to defaults +--- @since 2.0.0 +function model.defaultInputs() end + +--- Clear all flightModes +--- @since 2.3.10 +function model.deleteFlightModes() end + +--- Delete line from specified input +--- @since 2.0.0 +---@param input integer input number (use 0 for Input1) +---@param line integer input line (use 0 for first line) +function model.deleteInput(input, line) end + +--- Delete all Inputs +--- @since 2.0.0 +function model.deleteInputs() end + +--- Delete mixer line from specified Channel +--- @since 2.0.0 +---@param channel integer channel number (use 0 for CH1) +---@param line integer mix number (use 0 for first line(mix)) +function model.deleteMix(channel, line) end + +--- Remove all mixers +--- @since 2.0.0 +function model.deleteMixes() end + +--- Get Curve parameters +--- @since 2.0.12 +---@param curve integer curve number (use 0 for Curve1) +---@return nil +---@return table +function model.getCurve(curve) end + +--- Get Custom Function parameters +--- @since 2.0.0 +---@param function integer custom function number (use 0 for CF1) +---@return nil +---@return table +function model.getCustomFunction(function) end + +--- +--- @since 2.3.10 +---@param index integer flight mode number (use 0 for FM0) +---@return nil +---@return table +function model.getFlightMode(index) end + +--- Return current global variable value +--- @since unknown +---@param index integer zero based global variable index, use 0 for GV1, 8 for GV9 +---@param flight_mode integer Flight mode number (0 = FM0, 8 = FM8) +---@return nil +---@return integer +function model.getGlobalVariable(index, flight_mode) end + +--- Returns details about a Global Variable, but not values +--- @since 2.11.0 +---@param index integer zero based global variable index, use 0 for GV1, 8 for GV9 +---@return table +function model.getGlobalVariableDetails(index) end + +--- Get current Model information +--- @since 2.0.6 +---@return table +function model.getInfo() end + +--- Return input data for given input and line number +--- @since 2.0.0 +---@param input integer input number (use 0 for Input1) +---@param line integer input line (use 0 for first line) +---@return nil +---@return table +function model.getInput(input, line) end + +--- Return number of lines for given input +--- @since 2.0.0 +---@param input integer input number (use 0 for Input1) +---@return integer +function model.getInputsCount(input) end + +--- Get Logical Switch parameters +--- @since 2.0.0 +---@param switch integer logical switch number (use 0 for LS1) +---@return nil +---@return table +function model.getLogicalSwitch(switch) end + +--- Get configuration for specified Mix +--- @since 2.0.0 +---@param channel integer channel number (use 0 for CH1) +---@param line integer mix number (use 0 for first line(mix)) +---@return nil +---@return table +function model.getMix(channel, line) end + +--- Get the number of Mixer lines that the specified Channel has +--- @since 2.0.0 +---@param channel integer channel number (use 0 for CH1) +---@return integer +function model.getMixesCount(channel) end + +--- Get RF module parameters +--- @since 2.2.0 +---@param index integer module index (0 for internal, 1 for external) +---@return nil +---@return table +function model.getModule(index) end + +--- Get servo parameters +--- @since 2.0.0 +---@param index integer output number (use 0 for CH1) +---@return nil +---@return table +function model.getOutput(index) end + +--- Get Telemetry Sensor parameters +--- @since 2.3.0 +---@param sensor integer sensor number (use 0 for sensor 1) +---@return nil +---@return table +function model.getSensor(sensor) end + +--- Get heli swash parameters +--- @since 2.8.0 +---@return table +function model.getSwashRing() end + +--- Get model timer parameters +--- @since 2.0.0 +---@param timer integer timer index (0 for Timer 1) +---@return nil +---@return table +function model.getTimer(timer) end + +--- Insert an Input at specified line +--- @since 2.0.0 +---@param input integer input number (use 0 for Input1) +---@param line integer input line (use 0 for first line) +---@param value table input data, see model.getInput() +function model.insertInput(input, line, value) end + +--- Insert a mixer line into Channel +--- @since 2.0.0 +---@param channel integer channel number (use 0 for CH1) +---@param line integer mix number (use 0 for first line(mix)) +---@param value table see model.getMix() for table format +function model.insertMix(channel, line, value) end + +--- Reset Telemetry Sensor parameters +--- @since 2.3.11 +---@param sensor integer sensor number (use 0 for sensor 1) +---@return nil +function model.resetSensor(sensor) end + +--- Reset model timer to a startup value +--- @since unknown +---@param timer integer timer index (0 for Timer 1) +function model.resetTimer(timer) end + +--- Set Curve parameters +--- @since 2.2.0 +---@param curve integer curve number (use 0 for Curve1) +---@param params integer see model.getCurve return format for table format. setCurve uses standard lua array indexing and arrays start at index 1 +---@return integer 0 +function model.setCurve(curve, params) end + +--- Set Custom Function parameters +--- @since 2.0.0 +---@param function integer custom function number (use 0 for CF1) +---@param value table custom function parameters, see model.getCustomFunction() for table format +function model.setCustomFunction(function, value) end + +--- Set Flight mode parameters +--- @since 2.3.10 +---@param index integer flight mode number (use 0 for FM0) +---@param params unknown see model.getFlightMode return format for table format. +function model.setFlightMode(index, params) end + +--- Sets current global variable value. See also model.getGlobalVariable() +--- @since unknown +---@param index integer zero based global variable index, use 0 for GV1, 8 for GV9 +---@param flight_mode integer Flight mode number (0 = FM0, 8 = FM8) +---@param value unknown new value for global variable. Permitted range is from -1024 to 1024. +function model.setGlobalVariable(index, flight_mode, value) end + +--- Sets details about a Global Variable, but not values +--- @since 2.11.0 +---@param index integer zero based global variable index, use 0 for GV1, 8 for GV9 +---@param params table see model.getGlobalVariableDetails(index) return format for table format +---@return unknown none +function model.setGlobalVariableDetails(index, params) end + +--- Set the current Model information +--- @since 2.0.6 +---@param value unknown model information data, see model.getInfo() +function model.setInfo(value) end + +--- Set Logical Switch parameters +--- @since 2.0.0 +---@param switch integer logical switch number (use 0 for LS1) +---@param value table see model.getLogicalSwitch() for table format +function model.setLogicalSwitch(switch, value) end + +--- Set RF module parameters +--- @since 2.2.0 +---@param index integer module index (0 for internal, 1 for external) +---@param value unknown module parameters, see model.getModule() +function model.setModule(index, value) end + +--- Set servo parameters +--- @since 2.0.0 +---@param index integer channel number (use 0 for CH1) +---@param value table servo parameters, see model.getOutput() for table format +function model.setOutput(index, value) end + +--- Set heli swash parameters +--- @since 2.8.0 +---@param params table swash ring parameters, see model.getSwashRing() for table format +function model.setSwashRing(params) end + +--- Set model timer parameters +--- @since 2.0.0 +---@param timer integer timer index (0 for Timer 1) +---@param value unknown timer parameters, see model.getTimer() +function model.setTimer(timer, value) end diff --git a/website/md-docs/assets/luals/runtime.d.lua b/website/md-docs/assets/luals/runtime.d.lua new file mode 100644 index 000000000..4020f70e1 --- /dev/null +++ b/website/md-docs/assets/luals/runtime.d.lua @@ -0,0 +1,514 @@ +---@meta + +-- GENERATED FILE — do not hand-edit. +-- Regenerated by `tools/docs_pipeline.py build` (see docs-system/README.md). +-- To fix API facts: edit the upstream EdgeTX /*luadoc*/ comment, then +-- re-extract and rebuild. To add narrative content: edit +-- docs-system/overlays/.md, then rebuild. + +--- LCD line pattern selector such as SOLID or DOTTED. +---@alias pen_type integer +--- Text rendering flags used by legacy LCD number APIs. +---@alias text_flags integer +--- Packed 16-bit RGB color value for color LCD APIs. +---@alias lcd_color_RGB565 integer +--- Font size selector such as XXLSIZE, DBLSIZE, MIDSIZE, or SMLSIZE. +---@alias lcd_font_size integer +--- Bitmask of LCD text rendering flags such as INVERS, BLINK, and SHADOWED. +---@alias lcd_text_flags integer +--- Combined LCD text formatting bitmask covering font size and text flags. +---@alias lcd_text_format integer +--- Signed EdgeTX source value in the normalized range from -1024 to 1024. +---@alias source_range_1024 integer +--- Global timer selector such as all, total, session, throttle, or throttlepct. +---@alias timer_type string +--- Telemetry unit identifier from the EdgeTX unit list. +---@alias unit_type integer +--- Telemetry precision selector controlling decimal places. +---@alias prec_type integer + +--- Returns gray value which can be used in LCD functions +--- @since 2.0.13 +---@return integer +function GREY() end + +--- This functions allows for sending SPORT / ACCESS telemetry data toward the receiver, +and more generally, to anything connected SPORT bus on the receiver or transmitter. +--- @since 2.3 +---@param module integer module index (0 = internal, 1 = external) +---@param rxuid integer receiver index +---@param sensorid unknown physical sensor ID +---@param frameid unknown frame ID +---@param dataid unknown data ID +---@param value unknown value +---@return boolean +function accessTelemetryPush(module, rxuid, sensorid, frameid, dataid, value) end + +--- Apply RGB led colors previously defined by setRGBLedColor +--- @since 2.10 +function applyRGBLedColors() end + +--- Change the working directory +--- @since 2.3.0 +---@param directory string New working directory +function chdir(directory) end + +--- Pops a received Crossfire Telemetry packet from the queue. +--- @since 2.2.0 +---@return nil +---@return integer command +---@return table packet +function crossfireTelemetryPop() end + +--- This functions allows for sending telemetry data toward the TBS Crossfire link. +--- @since 2.2.0 +---@param command unknown command +---@param data table table of data bytes +---@return boolean +---@return nil +function crossfireTelemetryPush(command, data) end + +--- Get channel assigned to stick. See Default Channel Order in General Settings +--- @since 2.0.0 +---@param stick integer stick number (from 0 to 3) +---@return integer +---@return nil +function defaultChannel(stick) end + +--- Get stick that is assigned to a channel. See Default Channel Order in General Settings. +--- @since 2.0.0 +---@param channel integer channel number (0 means CH1) +---@return integer +function defaultStick(channel) end + +--- Returns FRESULT (e.g. 0=OK, 4=File not found, 5=Path not found, 6=Path invalid) +--- @since 2.9.0 +function del() end + +--- Return an iterator listing all the files and directories name in a directory +--- @since 2.5.0 +---@param directory string Working directory +function dir(directory) end + +--- flushes audio queue +--- @since unknown +function flushAudio() end + +--- Checks the existence of file or directory. + If not exist, return nil. + If exist, return the object information. +--- @since 2.5.0 +---@param path string path to the object +---@return table +function fstat(path) end + +--- Get available memory remaining in the Heap for Lua. +--- @since unknown +---@return integer usage +function getAvailableMemory() end + +--- Return current system date and time that is kept by the RTC unit +--- @since unknown +---@return table +function getDateTime() end + +--- Return detailed information about field (source) +--- @since 2.0.8 +---@param source string can be an index (number) (which was obtained by getFieldInfo or getSourceIndex) or a name (string) of the source. +---@return table +---@return nil +function getFieldInfo(source) end + +--- Return flight mode data. +--- @since 2.1.7 +---@param mode integer flight mode number to return (0 - 8). If mode parameter is not specified (or contains invalid value), then the current flight mode data is returned. +---@return integer current_flight_mode_number_0_8 +---@return string current_flight_mode_name +function getFlightMode(mode) end + +--- Returns (some of) the general radio settings +--- @since 2.0.6 +---@return table +function getGeneralSettings() end + +--- Returns radio timers +--- @since unknown +---@return table +function getGlobalTimer() end + +--- +--- @since 2.6 +---@param id integer identifying the logical switch (zero for LS1 etc.). +---@return true/false value +function getLogicalSwitchValue(id) end + +--- +--- @since 2.8.0 +---@param outputindex integer identifying the output channel number 0 for CH1, up to MAX_OUTPUT_CHANNELS - 1. +---@return integer +function getOutputValue(outputindex) end + +--- Return the RAS value or nil if no valid hardware found +--- @since 2.2.0 +---@return integer +function getRAS() end + +--- Get RSSI value as well as low and critical RSSI alarm levels (in dB) +--- @since 2.2.0 +---@return unknown rssi +---@return unknown alarm_low +---@return unknown alarm_crit +function getRSSI() end + +--- Return rotary encoder mode +--- @since 2.8.0 +---@return integer +function getRotEncMode() end + +--- Return rotary encoder current speed +--- @since 2.3.10 +---@return integer +function getRotEncSpeed() end + +--- Return current RTC system date as unix timstamp (in seconds since 1. Jan 1970) +--- @since unknown +---@return integer +function getRtcTime() end + +--- +--- @since 2.6 +---@param id integer between 1 and 16 identifying the shared memory variable. +---@return integer value +function getShmVar(id) end + +--- +--- @since 2.6 +---@param sourcename string naming a value source as it is shown on radio menus where you can select it. Notice that many names have special characters in them. +---@return integer sourceindex +function getSourceIndex(sourcename) end + +--- +--- @since 2.6 +---@param sourceindex integer identifying a value source as returned by getSourceIndex(sourceName) or the id field in the table returned by getFieldInfo. +---@return string sourcename +function getSourceName(sourceindex) end + +--- Returns the value of a source. Superseeds getValue. +--- @since 2.0.0 +---@param source string can be an index (number) (which was obtained by getFieldInfo or getSourceIndex) or a name (string) of the source. +---@return integer +---@return unknown iscurrent +---@return unknown isfresh +function getSourceValue(source) end + +--- +--- @since 3.0 +---@return integer +function getStickMode() end + +--- +--- @since 2.6 +---@param positionname string naming a switch position as it is shown on radio menus where you can select a switch. Notice that many names have special characters in them like arrow up/down etc. +---@return integer value +function getSwitchIndex(positionname) end + +--- +--- @since 2.12 +---@param sourceindex integer identifying a value source as returned by getSourceIndex(sourceName) or the id field in the table returned by getFieldInfo. +---@return table +function getSwitchInfo(sourceindex) end + +--- +--- @since 2.6 +---@param switchindex integer identifying a switch as returned by getSwitchIndex(positionName) or fields in the table returned by model.getLogicalSwitch(switch) identifying switches. +---@return string value +function getSwitchName(switchindex) end + +--- +--- @since 2.6 +---@param switchindex integer identifying a switch as returned by getSwitchIndex(positionName) or fields in the table returned by model.getLogicalSwitch(switch) identifying switches. +---@return integer value +function getSwitchValue(switchindex) end + +--- Return the time since the radio was started in multiple of 10ms +--- @since 2.0.0 +---@return integer +function getTime() end + +--- +--- @since 2.9.0 +---@return integer +function getTrainerStatus() end + +--- Return the internal GPS position or nil if no valid hardware found +--- @since 2.2.2 +---@return table +function getTxGPS() end + +--- Get percent of already used Lua instructions in current script execution cycle. +--- @since 2.2.1 +---@return integer usage +function getUsage() end + +--- Returns the value of a source. +--- @since 2.0.0 +---@param source string can be an index (number) (which was obtained by getFieldInfo or getSourceIndex) or a name (string) of the source. +---@return integer +---@return table +---@return table +---@return table +function getValue(source) end + +--- Return OpenTX version +--- @since 2.0.0 +---@return string +---@return string opentx_version_ie_2 +---@return string radio_type_x12s_x10_x9e_x9d_x9d_or_x7 +---@return integer major_version_ie_2_if_version_2 +---@return integer minor_version_ie_1_if_version_2 +---@return integer revision_number_ie_5_if_version_2 +---@return string os_name_i +function getVersion() end + +--- Pops a received Ghost Telemetry packet from the queue. +--- @since 2.7.0 +---@return nil +---@return integer type +---@return table packet +function ghostTelemetryPop() end + +--- This functions allows for sending telemetry data toward the Ghost link. +--- @since 2.7.0 +---@param command unknown command +---@param data table table of data bytes +---@return boolean +---@return nil +function ghostTelemetryPush(command, data) end + +--- Stops key state machine. See [Key Events](../key_events.md) for the detailed description. +--- @since 2.0.0 +---@param key integer key to be killed, can also include event type (only the key part is used) +function killEvents(key) end + +--- Load a Lua script file. This is similar to Lua's own [loadfile()](https://www.lua.org/manual/5.2/manual.html#pdf-loadfile) +API method, but it uses OpenTx's optional pre-compilation feature to save memory and time during load. +--- @since 2.2.0 +---@param file string Full path and file name of script. The file extension is optional and ignored (see mode param to control which extension will be used). However, if an extension is specified, it should be ".lua" (or ".luac"), otherwise it is treated as part of the file name and the .lua/.luac will be appended to that. +---@param mode? string (optional) Controls whether to force loading the text (.lua) or pre-compiled binary (.luac) version of the script. By default ETX will load the newest version and compile a new binary if necessary (overwriting any existing .luac version of the same script, and stripping some debug info like line numbers). You can use mode to control the loading behavior more specifically. Possible values are: * b only binary. * t only text. * T (default on simulator) prefer text but load binary if that is the only version available. * bt (default on radio) either binary or text, whichever is newer (binary preferred when timestamps are equal). * Add x to avoid automatic compilation of source file to .luac version. Eg: "tx", "bx", or "btx". * Add c to force compilation of source file to .luac version (even if existing version is newer than source file). Eg: "tc" or "btc" (forces "t", overrides "x"). * Add d to keep extra debug info in the compiled binary. Eg: "td", "btd", or "tcd" (no effect with just "b" or with "x"). +---@param env? integer See documentation for Lua function loadfile(). +---@return function|nil +---@return string|nil +function loadScript(file, mode, env) end + +--- Create a directory +--- @since 2.11.0 +---@param directory string Directory to create +function mkdir(directory) end + +--- This function reads/writes the Multi protocol buffer to interact with a protocol. +--- @since 2.3.2 +---@param address unknown to read/write in the buffer @param (optional): value to write in the buffer +---@return integer +function multiBuffer(address) end + +--- Play a time value (text to speech) +--- @since 2.1.0 +---@param duration integer number of seconds to play. Only integral part is used. +---@param hourformat? integer * 0 or not present play format: minutes and seconds. * != 0 play format: hours, minutes and seconds. * @param volume (number): - (1..5) override radio settings Wav volume for the duration of file - omitting the parameter uses radio settings Wav volume +---@return unknown none +function playDuration(duration, hourformat) end + +--- Play a file from the SD card +--- @since 2.0.0 +---@param filename string full path to wav file (i.e. "/SOUNDS/en/system/tada.wav") Introduced in 2.1.0: If you use a relative path, the current language is appended to the path (example: for English language: /SOUNDS/en is appended) +---@param volume? integer - (1..5) override radio settings Wav volume for the duration of file - omitting the parameter uses radio settings Wav volume +---@return unknown none +function playFile(filename, volume) end + +--- Generate haptic feedback +--- @since 2.2.0 +---@param duration integer length of the haptic feedback in milliseconds +---@param pause integer length of the silence after haptic feedback in milliseconds +---@param flags? integer * 0 or not present play with normal priority * PLAY_NOW play immediately +function playHaptic(duration, pause, flags) end + +--- Play a numerical value (text to speech) +--- @since 2.0.0 +---@param value integer number to play. Value is interpreted as integer. +---@param unit integer unit identifier, see the Units reference for the full list +---@param attributes? integer possible values: * 0 or not present plays integral part of the number (for a number 123 it plays 123) * PREC1 plays a number with one decimal place (for a number 123 it plays 12.3) * PREC2 plays a number with two decimal places (for a number 123 it plays 1.23) +---@param volume? integer - (1..5) override radio settings Wav volume for the duration of file - omitting the parameter uses radio settings Wav volume +---@return unknown none +function playNumber(value, unit, attributes, volume) end + +--- Play a tone +--- @since 2.1.0 +---@param frequency integer tone frequency in Hz (from 150 to 15000) +---@param duration integer length of the tone in milliseconds +---@param pause integer length of the silence after the tone in milliseconds +---@param flags? integer * 0 or not present play with normal priority. * PLAY_BACKGROUND play in background (built in vario function uses this context) * PLAY_NOW play immediately +---@param freqincr? integer positive number increases the tone pitch (frequency with time), negative number decreases it. The frequency changes every 10 milliseconds, the change is freqIncr * 10Hz. The valid range is from -127 to 127. +---@param volume? integer - (1..5) override radio settings Beep volume for the duration of file - omitting the parameter uses radio settings Beep volume +---@return unknown none +function playTone(frequency, duration, pause, flags, freqincr, volume) end + +--- Raises a pop-up on screen that asks for confirmation +--- @since 2.2.0 +---@param title string title to display +---@param message string text to display +---@param event integer the event variable that is passed in from the Run function (key pressed) +---@return unknown cancel +function popupConfirmation(title, message, event) end + +--- Raises a pop-up on screen that allows uses input +--- @since 2.0.0 +---@param title string text to display +---@param event integer the event variable that is passed in from the Run function (key pressed) +---@param input integer value that can be adjusted by the +/- keys +---@param min integer min value that input can reach (by pressing the - key) +---@param max integer max value that input can reach +---@return integer +---@return unknown ok +---@return unknown cancel +function popupInput(title, event, input, min, max) end + +--- Raises a pop-up on screen that shows a warning +--- @since 2.2.0 +---@param title string text to display +---@param event integer the event variable that is passed in from the Run function (key pressed) +---@return unknown cancel +function popupWarning(title, event) end + +--- Rename a file or directory + If the file or directory is being moved to a new parent directory, then the new parent + directory must already exist. +--- @since 2.11.0 +---@param from_path string Current path to rename @param to_path (string) Path to rename to +function rename(from_path) end + +--- Resets the radio global timer to 0. +--- @since 2.2.2 +---@param type? unknown : if set to 'all', throttle ,throttle percent and session timers are reset too if set to 'session', radio session timer is reset too if set to 'ttimer', radio throttle timer is reset too if set to 'tptimer', radio throttle percent timer is reset too +function resetGlobalTimer(type) end + +--- Takes a screenshot, which is saved to the SCREENSHOTS folder on the radio SD card. +--- @since 2.11 +---@return unknown none +function screenshot() end + +--- +--- @since 2.9.0 +---@param port_nr valid values are only 0 and 1 on radios that have SWSERIALPOWER defined 0 - first serial port, e.g. on TX16S AUX1 1 - second serial port, e.g. on TX16S AUX2 +---@return true value +---@return nil +function serialGetPower(port_nr) end + +--- +--- @since 2.3.8 +---@param num? integer maximum number of bytes to read. If non-zero, serialRead will read up to num characters from the buffer. If 0 or left out, serialRead will read up to and including the first newline character or the end of the buffer. Note that the returned string may not end in a newline if this character is not present in the buffer. +---@return unknown str +function serialRead(num) end + +--- +--- @since 2.9.0 +---@param port_nr valid values are only 0 and 1 on radios that have SWSERIALPOWER defined 0 - first serial port, e.g. on TX16S AUX1 1 - second serial port, e.g. on TX16S AUX2 +---@param value 0 - disable power 1 - enable power +---@return true/false success +function serialSetPower(port_nr, value) end + +--- +--- @since 2.3.10 +---@param str string String to be written to the serial port. +function serialWrite(str) end + +--- Overrides the LED color for a custom function switch +--- @since 3.0.0 +---@param id string identifying a custom function switch name +---@param rvalue integer value of red channel +---@param bvalue integer value of green channel +---@param cvalue integer value of blue channel +function setCFSLedColor(id, rvalue, bvalue, cvalue) end + +--- +--- @since 3.0 +---@param offset integer offset in angular degree. -1 to offset to current X position +---@param range integer range in angular degree. 180° max.90 means min/max value will be reached at 45° from offset position +function setIMU_X(offset, range) end + +--- +--- @since 3.0 +---@param offset integer offset in angular degree. -1 to offset to current Y position +---@param range integer range in angular degree, 180° max. 90 means min/max value will be reached at 45° from offset position +function setIMU_Y(offset, range) end + +--- +--- @since 2.10 +---@param id integer identifying a led in the led chain +---@param rvalue integer value of red channel +---@param bvalue integer value of green channel +---@param cvalue integer value of blue channel +function setRGBLedColor(id, rvalue, bvalue, cvalue) end + +--- +--- @since 2.3.12 +---@param baudrate unknown Desired baurate +function setSerialBaudrate(baudrate) end + +--- +--- @since 2.6 +---@param id integer between 1 and 16 identifying the shared memory variable. +---@param value integer . The value of the shared memory variable. +function setShmVar(id, value) end + +--- +--- @since 2.6 +---@param id integer identifying the sticky logical switch (zero for LS1 etc.). +---@param value integer . The new value of the sticky logical switch. +---@return true/false bufferfull +function setStickySwitch(id, value) end + +--- +--- @since 2.2.0 +---@param id unknown Id of the sensor, valid range is from 0 to 0xFFFF +---@param subid unknown subID of the sensor, usually 0, valid range is from 0 to 7 +---@param instance unknown instance of the sensor (SensorID), valid range is from 0 to 0xFF +---@param value unknown fed to the sensor +---@param unit? unknown unit of the sensor, see the Units reference for the full list +---@param precision? unknown the precision of the sensor * 0 or not present no decimal precision. * != 0 value is divided by 10^precision, e.g. value=1000, prec=2 => 10.00. +---@param name? string Name of the sensor if it does not yet exist (4 chars). * not present Name defaults to the Id. * present Sensor takes name of the argument. Argument must have name surrounded by quotes: e.g., "Name" +---@return unknown true +function setTelemetryValue(id, subid, instance, value, unit, precision, name) end + +--- +--- @since 2.6 +---@param first? integer first source index. If nil or omitted, the first available source is used. +---@param last? integer last soure index. If nil or omitted, the last available source is used. +function sources(first, last) end + +--- Pops a received SPORT packet from the queue. Please note that only packets using a data ID within 0x5000 to 0x50FF +(frame ID == 0x10), as well as packets with a frame ID equal 0x32 (regardless of the data ID) will be passed to +the LUA telemetry receive queue. +--- @since 2.2.0 +---@return nil +---@return integer sensor_id +---@return integer frame_id +---@return integer data_id +---@return integer value +function sportTelemetryPop() end + +--- This functions allows for sending SPORT telemetry data toward the receiver, +and more generally, to anything connected SPORT bus on the receiver or transmitter. +--- @since 2.2.0 +---@param sensorid unknown physical sensor ID +---@param frameid unknown frame ID +---@param dataid unknown data ID +---@param value unknown value +---@return boolean +---@return nil +function sportTelemetryPush(sensorid, frameid, dataid, value) end + +--- +--- @since 2.6 +---@param first? integer first switch index. If nil or omitted, the first available switch is used. +---@param last? integer last switch index. If nil or omitted, the last available switch is used. +function switches(first, last) end diff --git a/website/md-docs/assets/radios/betafpv-literadio-3-pro-500.png b/website/md-docs/assets/radios/betafpv-literadio-3-pro-500.png new file mode 100644 index 000000000..1ccf8a21b Binary files /dev/null and b/website/md-docs/assets/radios/betafpv-literadio-3-pro-500.png differ diff --git a/website/md-docs/assets/radios/fatfish-f16-500.png b/website/md-docs/assets/radios/fatfish-f16-500.png new file mode 100644 index 000000000..0c469ba97 Binary files /dev/null and b/website/md-docs/assets/radios/fatfish-f16-500.png differ diff --git a/website/md-docs/assets/radios/flysky-el18-500.png b/website/md-docs/assets/radios/flysky-el18-500.png new file mode 100644 index 000000000..8df8f1ffe Binary files /dev/null and b/website/md-docs/assets/radios/flysky-el18-500.png differ diff --git a/website/md-docs/assets/radios/flysky-nb4-500.png b/website/md-docs/assets/radios/flysky-nb4-500.png new file mode 100644 index 000000000..e31c7d174 Binary files /dev/null and b/website/md-docs/assets/radios/flysky-nb4-500.png differ diff --git a/website/md-docs/assets/radios/flysky-nv14-500.png b/website/md-docs/assets/radios/flysky-nv14-500.png new file mode 100644 index 000000000..1a0055799 Binary files /dev/null and b/website/md-docs/assets/radios/flysky-nv14-500.png differ diff --git a/website/md-docs/assets/radios/flysky-pa01-500.png b/website/md-docs/assets/radios/flysky-pa01-500.png new file mode 100644 index 000000000..8ddbe074e Binary files /dev/null and b/website/md-docs/assets/radios/flysky-pa01-500.png differ diff --git a/website/md-docs/assets/radios/flysky-pl18-500.png b/website/md-docs/assets/radios/flysky-pl18-500.png new file mode 100644 index 000000000..905beb4f8 Binary files /dev/null and b/website/md-docs/assets/radios/flysky-pl18-500.png differ diff --git a/website/md-docs/assets/radios/flysky-pl18u-500.png b/website/md-docs/assets/radios/flysky-pl18u-500.png new file mode 100644 index 000000000..02389bbf4 Binary files /dev/null and b/website/md-docs/assets/radios/flysky-pl18u-500.png differ diff --git a/website/md-docs/assets/radios/flysky-st16-500.png b/website/md-docs/assets/radios/flysky-st16-500.png new file mode 100644 index 000000000..6d30321b9 Binary files /dev/null and b/website/md-docs/assets/radios/flysky-st16-500.png differ diff --git a/website/md-docs/assets/radios/frsky-qx7-500.png b/website/md-docs/assets/radios/frsky-qx7-500.png new file mode 100644 index 000000000..d77e04d98 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-qx7-500.png differ diff --git a/website/md-docs/assets/radios/frsky-x10-500.png b/website/md-docs/assets/radios/frsky-x10-500.png new file mode 100644 index 000000000..51775c634 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-x10-500.png differ diff --git a/website/md-docs/assets/radios/frsky-x12s-500.png b/website/md-docs/assets/radios/frsky-x12s-500.png new file mode 100644 index 000000000..95830a1c4 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-x12s-500.png differ diff --git a/website/md-docs/assets/radios/frsky-x9-lite-500.png b/website/md-docs/assets/radios/frsky-x9-lite-500.png new file mode 100644 index 000000000..450b3f59f Binary files /dev/null and b/website/md-docs/assets/radios/frsky-x9-lite-500.png differ diff --git a/website/md-docs/assets/radios/frsky-x9d-2019-500.png b/website/md-docs/assets/radios/frsky-x9d-2019-500.png new file mode 100644 index 000000000..f04ac7d43 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-x9d-2019-500.png differ diff --git a/website/md-docs/assets/radios/frsky-x9d-500.png b/website/md-docs/assets/radios/frsky-x9d-500.png new file mode 100644 index 000000000..d3dbdf2e1 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-x9d-500.png differ diff --git a/website/md-docs/assets/radios/frsky-x9e-500.png b/website/md-docs/assets/radios/frsky-x9e-500.png new file mode 100644 index 000000000..34fceec79 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-x9e-500.png differ diff --git a/website/md-docs/assets/radios/frsky-xlite-pro-500.png b/website/md-docs/assets/radios/frsky-xlite-pro-500.png new file mode 100644 index 000000000..ee9f8f729 Binary files /dev/null and b/website/md-docs/assets/radios/frsky-xlite-pro-500.png differ diff --git a/website/md-docs/assets/radios/hrs-v12-500.png b/website/md-docs/assets/radios/hrs-v12-500.png new file mode 100644 index 000000000..38bfeaf0e Binary files /dev/null and b/website/md-docs/assets/radios/hrs-v12-500.png differ diff --git a/website/md-docs/assets/radios/hrs-v14-500.png b/website/md-docs/assets/radios/hrs-v14-500.png new file mode 100644 index 000000000..9825353ec Binary files /dev/null and b/website/md-docs/assets/radios/hrs-v14-500.png differ diff --git a/website/md-docs/assets/radios/hrs-v16-500.png b/website/md-docs/assets/radios/hrs-v16-500.png new file mode 100644 index 000000000..ee9f75246 Binary files /dev/null and b/website/md-docs/assets/radios/hrs-v16-500.png differ diff --git a/website/md-docs/assets/radios/iflight-commando-14-500.png b/website/md-docs/assets/radios/iflight-commando-14-500.png new file mode 100644 index 000000000..cb2e8e92b Binary files /dev/null and b/website/md-docs/assets/radios/iflight-commando-14-500.png differ diff --git a/website/md-docs/assets/radios/iflight-commando-8-500.png b/website/md-docs/assets/radios/iflight-commando-8-500.png new file mode 100644 index 000000000..a94109fc7 Binary files /dev/null and b/website/md-docs/assets/radios/iflight-commando-8-500.png differ diff --git a/website/md-docs/assets/radios/jumper-bumblebee-500.png b/website/md-docs/assets/radios/jumper-bumblebee-500.png new file mode 100644 index 000000000..5248e450b Binary files /dev/null and b/website/md-docs/assets/radios/jumper-bumblebee-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t-lite-500.png b/website/md-docs/assets/radios/jumper-t-lite-500.png new file mode 100644 index 000000000..75d667706 Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t-lite-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t12-500.png b/website/md-docs/assets/radios/jumper-t12-500.png new file mode 100644 index 000000000..1b6865365 Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t12-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t14-500.png b/website/md-docs/assets/radios/jumper-t14-500.png new file mode 100644 index 000000000..daecb7e10 Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t14-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t15-500.png b/website/md-docs/assets/radios/jumper-t15-500.png new file mode 100644 index 000000000..bced67014 Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t15-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t15-pro-500.png b/website/md-docs/assets/radios/jumper-t15-pro-500.png new file mode 100644 index 000000000..d50b6f6ab Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t15-pro-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t16-500.png b/website/md-docs/assets/radios/jumper-t16-500.png new file mode 100644 index 000000000..d6bf9633d Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t16-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t18-500.png b/website/md-docs/assets/radios/jumper-t18-500.png new file mode 100644 index 000000000..e5ae77d1a Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t18-500.png differ diff --git a/website/md-docs/assets/radios/jumper-t20-500.png b/website/md-docs/assets/radios/jumper-t20-500.png new file mode 100644 index 000000000..7747e5070 Binary files /dev/null and b/website/md-docs/assets/radios/jumper-t20-500.png differ diff --git a/website/md-docs/assets/radios/jumper-tpro-500.png b/website/md-docs/assets/radios/jumper-tpro-500.png new file mode 100644 index 000000000..99e217286 Binary files /dev/null and b/website/md-docs/assets/radios/jumper-tpro-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-boxer-500.png b/website/md-docs/assets/radios/radiomaster-boxer-500.png new file mode 100644 index 000000000..cc82c1a2b Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-boxer-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-gx12-500.png b/website/md-docs/assets/radios/radiomaster-gx12-500.png new file mode 100644 index 000000000..1c05bd228 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-gx12-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-mt12-500.png b/website/md-docs/assets/radios/radiomaster-mt12-500.png new file mode 100644 index 000000000..c09cc6cbe Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-mt12-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-pocket-500.png b/website/md-docs/assets/radios/radiomaster-pocket-500.png new file mode 100644 index 000000000..f72c17ed4 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-pocket-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-t8pro-500.png b/website/md-docs/assets/radios/radiomaster-t8pro-500.png new file mode 100644 index 000000000..ff213c1b6 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-t8pro-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-tx12-500.png b/website/md-docs/assets/radios/radiomaster-tx12-500.png new file mode 100644 index 000000000..7f696a386 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-tx12-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-tx15-500.png b/website/md-docs/assets/radios/radiomaster-tx15-500.png new file mode 100644 index 000000000..45444c663 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-tx15-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-tx16s-max-500.png b/website/md-docs/assets/radios/radiomaster-tx16s-max-500.png new file mode 100644 index 000000000..e5a6008e1 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-tx16s-max-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-tx16s-mk3-max-500.png b/website/md-docs/assets/radios/radiomaster-tx16s-mk3-max-500.png new file mode 100644 index 000000000..050c970c3 Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-tx16s-mk3-max-500.png differ diff --git a/website/md-docs/assets/radios/radiomaster-zorro-500.png b/website/md-docs/assets/radios/radiomaster-zorro-500.png new file mode 100644 index 000000000..08f3a8d6c Binary files /dev/null and b/website/md-docs/assets/radios/radiomaster-zorro-500.png differ diff --git a/part_iii_-_opentx_lua_api_reference/Bitmap-functions-less-than-greater-than-luadoc-begin-Bitmap/getsize.md b/website/md-docs/bitmap/getsize.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/Bitmap-functions-less-than-greater-than-luadoc-begin-Bitmap/getsize.md rename to website/md-docs/bitmap/getsize.md index 347282bfa..611a11405 100644 --- a/part_iii_-_opentx_lua_api_reference/Bitmap-functions-less-than-greater-than-luadoc-begin-Bitmap/getsize.md +++ b/website/md-docs/bitmap/getsize.md @@ -25,5 +25,3 @@ Return width, height of a bitmap object ##### Notice Only available on Horus - - diff --git a/part_iii_-_opentx_lua_api_reference/Bitmap-functions-less-than-greater-than-luadoc-begin-Bitmap/open.md b/website/md-docs/bitmap/open.md similarity index 99% rename from part_iii_-_opentx_lua_api_reference/Bitmap-functions-less-than-greater-than-luadoc-begin-Bitmap/open.md rename to website/md-docs/bitmap/open.md index 45a6c8c3a..e5d95ce9a 100644 --- a/part_iii_-_opentx_lua_api_reference/Bitmap-functions-less-than-greater-than-luadoc-begin-Bitmap/open.md +++ b/website/md-docs/bitmap/open.md @@ -30,5 +30,3 @@ Bitmap loading can fail if: ##### Notice Only available on Horus - - diff --git a/part_iv_-_converting_opentx_20_scripts.md b/website/md-docs/converting-opentx-20-scripts/index.md similarity index 99% rename from part_iv_-_converting_opentx_20_scripts.md rename to website/md-docs/converting-opentx-20-scripts/index.md index df9829887..a3e90bb7f 100644 --- a/part_iv_-_converting_opentx_20_scripts.md +++ b/website/md-docs/converting-opentx-20-scripts/index.md @@ -3,4 +3,3 @@ The handling of telemetry data is significantly improved in OpenTX 2.1. However, in order to support the additional flexibility of having multiple sensors of the same type, many Lua scripts referencing GPS and Lipo sensor data will require revision. This section also covers some of the requirements for scripts that are necessary for them to function properly under both OpenTX 2.1 and OpenTX 2.0. - diff --git a/debugging_techniques.md b/website/md-docs/debugging-techniques.md similarity index 99% rename from debugging_techniques.md rename to website/md-docs/debugging-techniques.md index 886b16e33..423439170 100644 --- a/debugging_techniques.md +++ b/website/md-docs/debugging-techniques.md @@ -92,4 +92,3 @@ end   return thisPage ``` - diff --git a/function_scripts.md b/website/md-docs/function-scripts.md similarity index 97% rename from function_scripts.md rename to website/md-docs/function-scripts.md index fd6be4cb3..2be8a3eb5 100644 --- a/function_scripts.md +++ b/website/md-docs/function-scripts.md @@ -33,8 +33,8 @@ Place them on SD card in folder /SCRIPTS/FUNCTIONS/ ##### Script interface definition Every script must include a *return* statement at the end, that defines its interface to the rest of OpenTX code. This statement defines: -* script *init* function (optional, see [Init Function Syntax](init_function_syntax.md)) -* script *run* function (see [Run Function Syntax](run_function_syntax.md)) +* script *init* function (optional, see [Init Function Syntax](init-function-syntax.md)) +* script *run* function (see [Run Function Syntax](run-function-syntax.md)) #####Example (interface only): ```lua @@ -125,5 +125,3 @@ end return { init=init, run=run } ``` - - diff --git a/general/accessTelemetryPush.md b/website/md-docs/general/accesstelemetrypush.md similarity index 99% rename from general/accessTelemetryPush.md rename to website/md-docs/general/accesstelemetrypush.md index c7216b72c..6e79a7a5d 100644 --- a/general/accessTelemetryPush.md +++ b/website/md-docs/general/accesstelemetrypush.md @@ -32,6 +32,3 @@ When called without parameters, it will only return the status of the output buf #### Return value * `boolean` data queued in output buffer or not. - - - diff --git a/general/chdir.md b/website/md-docs/general/chdir.md similarity index 99% rename from general/chdir.md rename to website/md-docs/general/chdir.md index a862d09f8..919e6dcdd 100644 --- a/general/chdir.md +++ b/website/md-docs/general/chdir.md @@ -19,4 +19,3 @@ #### Return value none - diff --git a/general/crossfireTelemetryPop.md b/website/md-docs/general/crossfiretelemetrypop.md similarity index 99% rename from general/crossfireTelemetryPop.md rename to website/md-docs/general/crossfiretelemetrypop.md index 4232a538c..cad2c7c89 100644 --- a/general/crossfireTelemetryPop.md +++ b/website/md-docs/general/crossfiretelemetrypop.md @@ -20,6 +20,3 @@ none * `multiple` returns 2 values: * command (number) * packet (table) data bytes - - - diff --git a/general/crossfireTelemetryPush.md b/website/md-docs/general/crossfiretelemetrypush.md similarity index 99% rename from general/crossfireTelemetryPush.md rename to website/md-docs/general/crossfiretelemetrypush.md index 8e33ea003..ccf479131 100644 --- a/general/crossfireTelemetryPush.md +++ b/website/md-docs/general/crossfiretelemetrypush.md @@ -24,6 +24,3 @@ When called without parameters, it will only return the status of the output buf * `boolean` data queued in output buffer or not. * `nil` incorrect telemetry protocol. - - - diff --git a/general/defaultChannel.md b/website/md-docs/general/defaultchannel.md similarity index 99% rename from general/defaultChannel.md rename to website/md-docs/general/defaultchannel.md index 19aebeaf1..dc602d2a2 100644 --- a/general/defaultChannel.md +++ b/website/md-docs/general/defaultchannel.md @@ -20,6 +20,3 @@ Get channel assigned to stick. See Default Channel Order in General Settings * `number` channel assigned to this stick (from 0 to 3) * `nil` stick not found - - - diff --git a/general/defaultStick.md b/website/md-docs/general/defaultstick.md similarity index 99% rename from general/defaultStick.md rename to website/md-docs/general/defaultstick.md index f88b51f4b..24f1a20ae 100644 --- a/general/defaultStick.md +++ b/website/md-docs/general/defaultstick.md @@ -18,6 +18,3 @@ Get stick that is assigned to a channel. See Default Channel Order in General Se #### Return value * `number` Stick assigned to this channel (from 0 to 3) - - - diff --git a/general/getAvailableMemory.md b/website/md-docs/general/getavailablememory.md similarity index 98% rename from general/getAvailableMemory.md rename to website/md-docs/general/getavailablememory.md index 13353f54a..20b4fec9f 100644 --- a/general/getAvailableMemory.md +++ b/website/md-docs/general/getavailablememory.md @@ -14,6 +14,3 @@ none #### Return value * `usage` (number) a value returned in b - - - diff --git a/general/getDateTime.md b/website/md-docs/general/getdatetime.md similarity index 99% rename from general/getDateTime.md rename to website/md-docs/general/getdatetime.md index 3902b43dd..aaeaa0603 100644 --- a/general/getDateTime.md +++ b/website/md-docs/general/getdatetime.md @@ -22,6 +22,3 @@ none * `min` (number) minutes * `sec` (number) seconds * `suffix` (text) am or pm - - - diff --git a/general/getFieldInfo.md b/website/md-docs/general/getfieldinfo.md similarity index 99% rename from general/getFieldInfo.md rename to website/md-docs/general/getfieldinfo.md index 3ed99bfbd..e0add2c1e 100644 --- a/general/getFieldInfo.md +++ b/website/md-docs/general/getfieldinfo.md @@ -33,6 +33,3 @@ The list of valid sources is available: * 'unit' (number) unit identifier [Full list](../appendix/units.html) * `nil` the requested field was not found - - - diff --git a/general/getFlightMode.md b/website/md-docs/general/getflightmode.md similarity index 99% rename from general/getFlightMode.md rename to website/md-docs/general/getflightmode.md index 26ad4b223..1ebd13149 100644 --- a/general/getFlightMode.md +++ b/website/md-docs/general/getflightmode.md @@ -21,6 +21,3 @@ is not specified (or contains invalid value), then the current flight mode data * `multiple` returns 2 values: * (number) (current) flight mode number (0 - 8) * (string) (current) flight mode name - - - diff --git a/general/getGeneralSettings.md b/website/md-docs/general/getgeneralsettings.md similarity index 99% rename from general/getGeneralSettings.md rename to website/md-docs/general/getgeneralsettings.md index a752ff5e9..14bf3b6f4 100644 --- a/general/getGeneralSettings.md +++ b/website/md-docs/general/getgeneralsettings.md @@ -26,6 +26,3 @@ none * `language` (string) radio language (used for menus) * `voice` (string) voice language (used for speech) * `gtimer` (number) radio global timer in seconds (does not include current session) - - - diff --git a/general/getGlobalTimer.md b/website/md-docs/general/getglobaltimer.md similarity index 99% rename from general/getGlobalTimer.md rename to website/md-docs/general/getglobaltimer.md index 245d214e3..b6e8738ca 100644 --- a/general/getGlobalTimer.md +++ b/website/md-docs/general/getglobaltimer.md @@ -21,6 +21,3 @@ none * `session` (number) radio session in seconds * `ttimer` (number) radio throttle timer in seconds * `tptimer` (number) radio throttle percent timer in seconds - - - diff --git a/general/getRAS.md b/website/md-docs/general/getras.md similarity index 99% rename from general/getRAS.md rename to website/md-docs/general/getras.md index 783243586..3f62f0000 100644 --- a/general/getRAS.md +++ b/website/md-docs/general/getras.md @@ -22,5 +22,3 @@ This is just a hardware pass/fail measure and does not represent the quality of ##### Notice RAS was called SWR in the past - - diff --git a/general/getRotEncSpeed.md b/website/md-docs/general/getrotencspeed.md similarity index 99% rename from general/getRotEncSpeed.md rename to website/md-docs/general/getrotencspeed.md index 4d47fa7d7..f06bf906f 100644 --- a/general/getRotEncSpeed.md +++ b/website/md-docs/general/getrotencspeed.md @@ -17,6 +17,3 @@ none * `number` in list: ROTENC_LOWSPEED, ROTENC_MIDSPEED, ROTENC_HIGHSPEED return 0 on radio without rotary encoder - - - diff --git a/general/getRSSI.md b/website/md-docs/general/getrssi.md similarity index 99% rename from general/getRSSI.md rename to website/md-docs/general/getrssi.md index deee9abc5..5bf12e48e 100644 --- a/general/getRSSI.md +++ b/website/md-docs/general/getrssi.md @@ -20,6 +20,3 @@ none * `alarm_low` Configured low RSSI alarm level * `alarm_crit` Configured critical RSSI alarm level - - - diff --git a/general/getRtcTime.md b/website/md-docs/general/getrtctime.md similarity index 99% rename from general/getRtcTime.md rename to website/md-docs/general/getrtctime.md index 4fdf0e3f1..1881910bb 100644 --- a/general/getRtcTime.md +++ b/website/md-docs/general/getrtctime.md @@ -17,6 +17,3 @@ none #### Return value * `number` Number of seconds elapsed since 1. Jan 1970 - - - diff --git a/general/getTime.md b/website/md-docs/general/gettime.md similarity index 99% rename from general/getTime.md rename to website/md-docs/general/gettime.md index 817dc5473..92a0efc6d 100644 --- a/general/getTime.md +++ b/website/md-docs/general/gettime.md @@ -20,6 +20,3 @@ none * `number` Number of 10ms ticks since the radio was started Example: run time: 12.54 seconds, return value: 1254 - - - diff --git a/general/getTxGPS.md b/website/md-docs/general/gettxgps.md similarity index 99% rename from general/getTxGPS.md rename to website/md-docs/general/gettxgps.md index 5ffcd51ee..4fbf3f27e 100644 --- a/general/getTxGPS.md +++ b/website/md-docs/general/gettxgps.md @@ -24,6 +24,3 @@ none * 'speed' (number) internal GPSspeed in 0.1m/s * 'heading' (number) internal GPS ground course estimation in degrees * 10 * 'hdop' (number) internal GPS horizontal dilution of precision - - - diff --git a/general/getUsage.md b/website/md-docs/general/getusage.md similarity index 99% rename from general/getUsage.md rename to website/md-docs/general/getusage.md index c686cb11a..5c8fa1615 100644 --- a/general/getUsage.md +++ b/website/md-docs/general/getusage.md @@ -16,6 +16,3 @@ none #### Return value * `usage` (number) a value from 0 to 100 (percent) - - - diff --git a/general/getValue.md b/website/md-docs/general/getvalue.md similarity index 99% rename from general/getValue.md rename to website/md-docs/general/getvalue.md index 5e3200893..9c7f71e22 100644 --- a/general/getValue.md +++ b/website/md-docs/general/getvalue.md @@ -60,5 +60,3 @@ case the returned value is 0): Getting a value by its numerical identifier is faster then by its name. While `Cels` sensor returns current values of all cells in a table, a `Cels+` or `Cels-` will return a single value - the maximum or minimum Cels value. - - diff --git a/general/getVersion.md b/website/md-docs/general/getversion.md similarity index 99% rename from general/getVersion.md rename to website/md-docs/general/getversion.md index d60a3ed74..63467ab18 100644 --- a/general/getVersion.md +++ b/website/md-docs/general/getversion.md @@ -54,6 +54,3 @@ If running in simulator the "-simu" is added * (number) revision number (ie 5 if version 2.1.5) Since EdgeTX 2.4.0, sixth value added * (string) OS name (i.e. EdgeTX or nil if OpenTX) - - - diff --git a/general/GREY.md b/website/md-docs/general/grey.md similarity index 99% rename from general/GREY.md rename to website/md-docs/general/grey.md index 96e86d2e7..4bb48636e 100644 --- a/general/GREY.md +++ b/website/md-docs/general/grey.md @@ -21,5 +21,3 @@ none ##### Notice Only available on Taranis - - diff --git a/general/killEvents.md b/website/md-docs/general/killevents.md similarity index 82% rename from general/killEvents.md rename to website/md-docs/general/killevents.md index 970713053..7d3c4cfb7 100644 --- a/general/killEvents.md +++ b/website/md-docs/general/killevents.md @@ -4,7 +4,7 @@ -Stops key state machine. See [Key Events](../key_events.md) for the detailed description. +Stops key state machine. See [Key Events](../key-events.md) for the detailed description. @status current Introduced in 2.0.0 @@ -19,4 +19,3 @@ Stops key state machine. See [Key Events](../key_events.md) for the detailed des #### Return value none - diff --git a/general/loadScript.md b/website/md-docs/general/loadscript.md similarity index 99% rename from general/loadScript.md rename to website/md-docs/general/loadscript.md index 1de9ad7aa..03843c895 100644 --- a/general/loadScript.md +++ b/website/md-docs/general/loadscript.md @@ -61,5 +61,3 @@ then the loaded script (or "chunk") is returned as a function. Otherwise, return ##### Notice Note that you will get an error if you specify `mode` as "b" or "t" and that specific version of the file does not exist (eg. no .luac file when "b" is used). Also note that `mode` is NOT passed on to Lua's loader function, so unlike with loadfile() the actual file content is not checked (as if no mode or "bt" were passed to loadfile()). - - diff --git a/general/multiBuffer.md b/website/md-docs/general/multibuffer.md similarity index 99% rename from general/multiBuffer.md rename to website/md-docs/general/multibuffer.md index 1fa5ae72e..da2469768 100644 --- a/general/multiBuffer.md +++ b/website/md-docs/general/multibuffer.md @@ -19,6 +19,3 @@ This function reads/writes the Multi protocol buffer to interact with a protocol #### Return value * `buffer` value (number) - - - diff --git a/general/playDuration.md b/website/md-docs/general/playduration.md similarity index 99% rename from general/playDuration.md rename to website/md-docs/general/playduration.md index 60e92b5d4..4c9ed9f54 100644 --- a/general/playDuration.md +++ b/website/md-docs/general/playduration.md @@ -22,4 +22,3 @@ Play a time value (text to speech) #### Return value none - diff --git a/general/playFile.md b/website/md-docs/general/playfile.md similarity index 99% rename from general/playFile.md rename to website/md-docs/general/playfile.md index 80253f697..1167771a0 100644 --- a/general/playFile.md +++ b/website/md-docs/general/playfile.md @@ -20,4 +20,3 @@ to the path (example: for English language: `/SOUNDS/en` is appended) #### Return value none - diff --git a/general/playHaptic.md b/website/md-docs/general/playhaptic.md similarity index 99% rename from general/playHaptic.md rename to website/md-docs/general/playhaptic.md index 959c7f8b5..cc982ff3e 100644 --- a/general/playHaptic.md +++ b/website/md-docs/general/playhaptic.md @@ -24,4 +24,3 @@ Generate haptic feedback #### Return value none - diff --git a/general/playNumber.md b/website/md-docs/general/playnumber.md similarity index 99% rename from general/playNumber.md rename to website/md-docs/general/playnumber.md index 8d0bf10c4..f7155f523 100644 --- a/general/playNumber.md +++ b/website/md-docs/general/playnumber.md @@ -26,4 +26,3 @@ Play a numerical value (text to speech) #### Return value none - diff --git a/general/playTone.md b/website/md-docs/general/playtone.md similarity index 99% rename from general/playTone.md rename to website/md-docs/general/playtone.md index 5881a8805..6070652dd 100644 --- a/general/playTone.md +++ b/website/md-docs/general/playtone.md @@ -31,4 +31,3 @@ The valid range is from -127 to 127. #### Return value none - diff --git a/general/popupConfirmation.md b/website/md-docs/general/popupconfirmation.md similarity index 99% rename from general/popupConfirmation.md rename to website/md-docs/general/popupconfirmation.md index 309f6758a..4d66b0ded 100644 --- a/general/popupConfirmation.md +++ b/website/md-docs/general/popupconfirmation.md @@ -29,5 +29,3 @@ Run function (key pressed) ##### Notice Use only from stand-alone and telemetry scripts. - - diff --git a/general/popupInput.md b/website/md-docs/general/popupinput.md similarity index 99% rename from general/popupInput.md rename to website/md-docs/general/popupinput.md index b2e5c8fff..84f41cc22 100644 --- a/general/popupInput.md +++ b/website/md-docs/general/popupinput.md @@ -36,5 +36,3 @@ Run function (key pressed) ##### Notice Use only from stand-alone and telemetry scripts. - - diff --git a/general/popupWarning.md b/website/md-docs/general/popupwarning.md similarity index 99% rename from general/popupWarning.md rename to website/md-docs/general/popupwarning.md index 234735058..826722b78 100644 --- a/general/popupWarning.md +++ b/website/md-docs/general/popupwarning.md @@ -26,5 +26,3 @@ Run function (key pressed) ##### Notice Use only from stand-alone and telemetry scripts. - - diff --git a/general/resetGlobalTimer.md b/website/md-docs/general/resetglobaltimer.md similarity index 99% rename from general/resetGlobalTimer.md rename to website/md-docs/general/resetglobaltimer.md index f78daee9c..eb5d78952 100644 --- a/general/resetGlobalTimer.md +++ b/website/md-docs/general/resetglobaltimer.md @@ -21,4 +21,3 @@ #### Return value none - diff --git a/general/serialRead.md b/website/md-docs/general/serialread.md similarity index 99% rename from general/serialRead.md rename to website/md-docs/general/serialread.md index 38f17b76e..d851668df 100644 --- a/general/serialRead.md +++ b/website/md-docs/general/serialread.md @@ -20,6 +20,3 @@ none #### Return value * `str` string. Empty if no new characters were available. - - - diff --git a/general/serialWrite.md b/website/md-docs/general/serialwrite.md similarity index 99% rename from general/serialWrite.md rename to website/md-docs/general/serialwrite.md index dfde516c5..67d7cb326 100644 --- a/general/serialWrite.md +++ b/website/md-docs/general/serialwrite.md @@ -17,4 +17,3 @@ none #### Return value none - diff --git a/general/setSerialBaudrate.md b/website/md-docs/general/setserialbaudrate.md similarity index 99% rename from general/setSerialBaudrate.md rename to website/md-docs/general/setserialbaudrate.md index f5983d73d..e91bca73d 100644 --- a/general/setSerialBaudrate.md +++ b/website/md-docs/general/setserialbaudrate.md @@ -17,4 +17,3 @@ none #### Return value none - diff --git a/general/setTelemetryValue.md b/website/md-docs/general/settelemetryvalue.md similarity index 99% rename from general/setTelemetryValue.md rename to website/md-docs/general/settelemetryvalue.md index d99c3281f..10be19cec 100644 --- a/general/setTelemetryValue.md +++ b/website/md-docs/general/settelemetryvalue.md @@ -38,5 +38,3 @@ ##### Notice All three parameters `id`, `subID` and `instance` can't be zero at the same time. At least one of them must be different from zero. - - diff --git a/general/sportTelemetryPop.md b/website/md-docs/general/sporttelemetrypop.md similarity index 99% rename from general/sportTelemetryPop.md rename to website/md-docs/general/sporttelemetrypop.md index d1788f83d..1c6175a57 100644 --- a/general/sportTelemetryPop.md +++ b/website/md-docs/general/sporttelemetrypop.md @@ -24,6 +24,3 @@ none * frame ID (number) * data ID (number) * value (number) - - - diff --git a/general/sportTelemetryPush.md b/website/md-docs/general/sporttelemetrypush.md similarity index 99% rename from general/sportTelemetryPush.md rename to website/md-docs/general/sporttelemetrypush.md index 8ee05d831..320f5ddff 100644 --- a/general/sportTelemetryPush.md +++ b/website/md-docs/general/sporttelemetrypush.md @@ -29,6 +29,3 @@ When called without parameters, it will only return the status of the output buf * `boolean` data queued in output buffer or not. * `nil` incorrect telemetry protocol. - - - diff --git a/getting_started.md b/website/md-docs/getting-started.md similarity index 99% rename from getting_started.md rename to website/md-docs/getting-started.md index 8e3477675..28cb66bf9 100644 --- a/getting_started.md +++ b/website/md-docs/getting-started.md @@ -13,4 +13,4 @@ If you intend to use mixer scripts, when updating the firmware on your transmitt Also note that the SD Structure path should contain a valid path to a copy of your transmitter's SD card contents, although that's not specific to Lua. -![Edit Settings dialog from OpenTX Companion](companion-settings.png) \ No newline at end of file +![Edit Settings dialog from OpenTX Companion](companion-settings.png) diff --git a/website/md-docs/gitbook/assets/index.md b/website/md-docs/gitbook/assets/index.md new file mode 100644 index 000000000..42e879c7c --- /dev/null +++ b/website/md-docs/gitbook/assets/index.md @@ -0,0 +1,52 @@ +# io Library + +The **io** library has been simplified and only a subset of functions and their functionality is available. What follows is a complete reference of io functions that are available to OpenTX scripts + +## Available functions: + +* [io.open\(\)](io_open.md) +* [io.close\(\)](io_close.md) +* [io.read\(\)](io_read.md) +* [io.write\(\)](io_write.md) +* [io.seek\(\)](io_seek.md) + +## Examples + +### Read the whole file + +```lua +-- this is an OpenTX stand-alone script + +local function run(event) + print("lua io.read test") -- print() statements are visible in Debug output window + local f = io.open("foo.bar", "r") + while true do + local data = io.read(f, 10) -- read up to 10 characters (newline char also counts!) + if #data == 0 then break end -- we get zero length string back when we reach end of the file + print("data: "..data) + end + io.close(f) + return 1 +end + +return { run=run } +``` + +### Append data to file + +```lua +-- this is an OpenTX stand-alone script + +local function run(event) + print("lua io.write test") + local f = io.open("foo.bar", "a") -- open file in append mode + io.write(f, "first line\r\nsecond line\r\n") + io.write(f, 4, "\r\n", 35.6778, "\r\n") -- one can write multiple items at the same time + local foo = -4.45 + io.write(f, foo, "\r\n") + io.close(f) + return 1 -- this will end the script execution +end + +return { run=run } +``` diff --git a/handling_gps_sensor_data.md b/website/md-docs/handling-gps-sensor-data.md similarity index 100% rename from handling_gps_sensor_data.md rename to website/md-docs/handling-gps-sensor-data.md diff --git a/handling_lipo_sensor_data.md b/website/md-docs/handling-lipo-sensor-data.md similarity index 100% rename from handling_lipo_sensor_data.md rename to website/md-docs/handling-lipo-sensor-data.md diff --git a/included_lua_libraries.md b/website/md-docs/included-lua-libraries.md similarity index 99% rename from included_lua_libraries.md rename to website/md-docs/included-lua-libraries.md index e632a443a..4fa755805 100644 --- a/included_lua_libraries.md +++ b/website/md-docs/included-lua-libraries.md @@ -13,4 +13,3 @@ | bit32 | since OpenTX 2.1.0 | | math | since OpenTX 2.0.0 | | debug | - | - diff --git a/website/md-docs/index.md b/website/md-docs/index.md new file mode 100644 index 000000000..b33570ea5 --- /dev/null +++ b/website/md-docs/index.md @@ -0,0 +1,19 @@ +# EdgeTX 2.7 Lua Reference Guide + +[Join the chat on Discord](https://discord.gg/CZCwVx2) + +The latest version of this guide will always be available [here](https://luadoc.edgetx.org). At the top of the left sidebar there is a version option if you are running an older version of EdgeTX and need the docs for that specific version. + +Please feel free to make suggestions or corrections to the documentation on GitHub, but the preferred method of editing is to use [GitBook](https://www.gitbook.com), so all changes will need to be made by someone who is authorized as a writer there. + +This guide covers the development of user-written scripts for R/C transmitters running the EdgeTX 2.7 operating system with Lua support. Readers should be familiar with EdgeTX, the EdgeTX Companion, and know how to transfer files the SD card in the transmitter. + +If you are new to Lua programming, you may also find the [Lua Reference Manual](https://www.lua.org/manual/5.2/) of assistance. + +Part I is an overview of the different script types, along with basic examples of each. + +Part II is a programming guide that introduces the types of EdgeTX Lua scripts and how to use them. + +Part III is the EdgeTX Lua API Reference + +Part IV covers advanced topics with examples diff --git a/init_function_syntax.md b/website/md-docs/init-function-syntax.md similarity index 99% rename from init_function_syntax.md rename to website/md-docs/init-function-syntax.md index 6f0a76b71..f00163eb7 100644 --- a/init_function_syntax.md +++ b/website/md-docs/init-function-syntax.md @@ -13,5 +13,3 @@ none * #####Return values: none - - diff --git a/input_table_syntax.md b/website/md-docs/input-table-syntax.md similarity index 99% rename from input_table_syntax.md rename to website/md-docs/input-table-syntax.md index e471a7b2a..4704d1040 100644 --- a/input_table_syntax.md +++ b/website/md-docs/input-table-syntax.md @@ -43,4 +43,3 @@ end return {input=input, run=run} ``` - diff --git a/introduction/README.md b/website/md-docs/introduction.md similarity index 98% rename from introduction/README.md rename to website/md-docs/introduction.md index 6df11c06f..10821593f 100644 --- a/introduction/README.md +++ b/website/md-docs/introduction.md @@ -1,4 +1,3 @@ # Introduction This section includes Acknowledgments and Getting Started. - diff --git a/introduction/acknowledgments.md b/website/md-docs/introduction/acknowledgments.md similarity index 100% rename from introduction/acknowledgments.md rename to website/md-docs/introduction/acknowledgments.md diff --git a/introduction/getting_started.md b/website/md-docs/introduction/getting-started.md similarity index 100% rename from introduction/getting_started.md rename to website/md-docs/introduction/getting-started.md diff --git a/website/md-docs/introduction/index.md b/website/md-docs/introduction/index.md new file mode 100644 index 000000000..10821593f --- /dev/null +++ b/website/md-docs/introduction/index.md @@ -0,0 +1,3 @@ +# Introduction + +This section includes Acknowledgments and Getting Started. diff --git a/website/md-docs/javascripts/legacy-version-banner.js b/website/md-docs/javascripts/legacy-version-banner.js new file mode 100644 index 000000000..aa99e476f --- /dev/null +++ b/website/md-docs/javascripts/legacy-version-banner.js @@ -0,0 +1,117 @@ +// Shows a notice above the page content when the version being viewed is +// the development build ("dev") or anything other than the one mike aliases +// as "latest". The version is worked out at runtime from the URL and mike's +// versions.json rather than from per-version config, so every version can +// ship the same mkdocs.yml (main is a straight copy of the release branch). +// Material doesn't expose `extra` in #__config, so config can't drive this. + +const DEV_VERSION = "dev"; +const LATEST_ALIAS = "latest"; + +function getSiteConfig() { + const configNode = document.querySelector("#__config"); + if (!configNode) return null; + + try { + return JSON.parse(configNode.textContent || "{}"); + } catch { + return null; + } +} + +function getVersionRoot(config) { + // config.base is the relative path from this page to the version root, + // e.g. "../.." -- resolving it against the page URL gives //. + const base = config?.base; + if (typeof base !== "string") return null; + return new URL(base.endsWith("/") ? base : `${base}/`, window.location.href); +} + +async function loadVersions(siteRoot) { + try { + const response = await fetch(new URL("versions.json", siteRoot)); + if (!response.ok) return null; + const versions = await response.json(); + return Array.isArray(versions) ? versions : null; + } catch { + return null; + } +} + +function buildBanner({ label, message, linkText, linkHref }) { + const banner = document.createElement("aside"); + banner.className = "legacy-version-banner"; + banner.setAttribute("role", "note"); + banner.setAttribute("aria-label", label); + + const labelNode = document.createElement("p"); + labelNode.className = "legacy-version-banner__label"; + labelNode.textContent = label; + + const messageNode = document.createElement("p"); + messageNode.className = "legacy-version-banner__message"; + messageNode.textContent = `${message} `; + + if (linkHref) { + const link = document.createElement("a"); + link.href = linkHref; + link.textContent = linkText; + messageNode.appendChild(link); + } + + banner.appendChild(labelNode); + banner.appendChild(messageNode); + return banner; +} + +async function mountVersionBanner() { + const container = document.querySelector(".md-content__inner"); + if (!container || container.querySelector(".legacy-version-banner")) return; + + const versionRoot = getVersionRoot(getSiteConfig()); + if (!versionRoot) return; + + // Not served through mike (e.g. plain `mkdocs serve`): no versions.json + // one level up, so no banner. + const siteRoot = new URL("../", versionRoot); + const versions = await loadVersions(siteRoot); + if (!versions) return; + + const segment = decodeURIComponent(versionRoot.pathname.split("/").filter(Boolean).pop() || ""); + const current = versions.find( + (entry) => entry.version === segment || (entry.aliases || []).includes(segment), + ); + if (!current) return; + + const latest = versions.find((entry) => (entry.aliases || []).includes(LATEST_ALIAS)); + const latestHref = latest ? new URL(`${LATEST_ALIAS}/`, siteRoot).href : null; + const latestTitle = latest?.title || latest?.version; + + let banner = null; + if (current.version === DEV_VERSION) { + banner = buildBanner({ + label: "Development version", + message: + "These docs track EdgeTX development and may describe features or changes that are not in a released version yet.", + linkText: latest ? `View the ${latestTitle} release docs.` : "", + linkHref: latestHref, + }); + } else if (latest && current.version !== latest.version) { + banner = buildBanner({ + label: "Legacy version", + message: `You are viewing the documentation for EdgeTX ${current.title || current.version}. It is kept for reference and may not include later corrections.`, + linkText: `Go to the latest version (${latestTitle}).`, + linkHref: latestHref, + }); + } + + if (banner && !container.querySelector(".legacy-version-banner")) { + container.insertBefore(banner, container.firstChild); + } +} + +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", mountVersionBanner, { once: true }); +} else { + mountVersionBanner(); +} diff --git a/website/md-docs/javascripts/mobile-nav-inline.js b/website/md-docs/javascripts/mobile-nav-inline.js new file mode 100644 index 000000000..f6135777f --- /dev/null +++ b/website/md-docs/javascripts/mobile-nav-inline.js @@ -0,0 +1,265 @@ +(function () { + const mobileMedia = window.matchMedia("(max-width: 76.234375em)"); + const rootClass = "mobile-desktop-nav-active"; + + function directChild(element, selector) { + const children = Array.from(element.children); + return children.find((child) => child.matches(selector)) || null; + } + + function directChildren(element, selector) { + return Array.from(element.children).filter((child) => child.matches(selector)); + } + + function textOf(element) { + return (element?.textContent || "").trim(); + } + + // With the navigation.indexes theme feature enabled, a section that has + // its own index page gets its toggle