Merge branch 'main' into gif_displayio_support
This commit is contained in:
commit
fa435468fa
82
.github/actions/fetch_submodules/action.yml
vendored
Normal file
82
.github/actions/fetch_submodules/action.yml
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
name: 'Fetch Submodules'
|
||||
|
||||
inputs:
|
||||
submodules:
|
||||
description: 'The submodules to cache'
|
||||
required: false
|
||||
default: '["extmod/ulab", "lib/", "tools/"]'
|
||||
type: string
|
||||
|
||||
cache:
|
||||
description: 'The cache action to use'
|
||||
required: false
|
||||
default: 'restore'
|
||||
type: choice
|
||||
options:
|
||||
- cache
|
||||
- restore
|
||||
|
||||
version:
|
||||
description: 'Whether to generate CP version'
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
outputs:
|
||||
frozen:
|
||||
description: 'Whether frozen submodules were fetched'
|
||||
value: ${{ steps.cp-deps.outputs.frozen_tags }}
|
||||
|
||||
version:
|
||||
description: 'The CP version'
|
||||
value: ${{ steps.cp-version.outputs.cp-version }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Create submodule status
|
||||
id: create-submodule-status
|
||||
run: |
|
||||
git submodule status ${{ join(fromJSON(inputs.submodules), ' ') }} >> submodule_status
|
||||
echo $(cut -d ' ' -f 2 submodule_status) | echo "submodules=[\"$(sed "s/ /\", \"/g")\"]" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
|
||||
- name: Cache submodules
|
||||
if: ${{ inputs.cache == 'cache' }}
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(steps.create-submodule-status.outputs.submodules), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Restore submodules
|
||||
if: ${{ inputs.cache == 'restore' }}
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(steps.create-submodule-status.outputs.submodules), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Remove submodule status
|
||||
run: rm submodule_status
|
||||
shell: bash
|
||||
|
||||
- name: CircuitPython dependencies
|
||||
id: cp-deps
|
||||
run: python tools/ci_fetch_deps.py ${{ matrix.board || github.job }}
|
||||
shell: bash
|
||||
|
||||
- name: CircuitPython version
|
||||
id: cp-version
|
||||
if: ${{ inputs.version == 'true' }}
|
||||
run: |
|
||||
echo "::group::Fetch history and tags"
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" --tags https://github.com/adafruit/circuitpython HEAD
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" origin $GITHUB_SHA
|
||||
git repack -d
|
||||
echo "::endgroup::"
|
||||
CP_VERSION=$(tools/describe)
|
||||
echo "$CP_VERSION"
|
||||
echo "CP_VERSION=$CP_VERSION" >> $GITHUB_ENV
|
||||
echo "cp-version=$CP_VERSION" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
125
.github/workflows/build.yml
vendored
125
.github/workflows/build.yml
vendored
@ -16,9 +16,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
CACHE_SUBMODULES: "['extmod/ulab', 'lib/', 'tools/']"
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-20.04
|
||||
@ -28,7 +25,7 @@ jobs:
|
||||
boards-arm: ${{ steps.set-matrix.outputs.boards-arm }}
|
||||
boards-espressif: ${{ steps.set-matrix.outputs.boards-espressif }}
|
||||
boards-riscv: ${{ steps.set-matrix.outputs.boards-riscv }}
|
||||
cp-version: ${{ steps.cp-version.outputs.cp-version }}
|
||||
cp-version: ${{ steps.set-up-submodules.outputs.version }}
|
||||
steps:
|
||||
- name: Dump GitHub context
|
||||
run: echo "$GITHUB_CONTEXT"
|
||||
@ -45,28 +42,12 @@ jobs:
|
||||
python-version: "3.x"
|
||||
- name: Duplicate USB VID/PID check
|
||||
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Cache submodules
|
||||
uses: actions/cache@v3
|
||||
- name: Set up submodules
|
||||
id: set-up-submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: CircuitPython dependencies
|
||||
run: |
|
||||
python tools/ci_fetch_deps.py ${{ github.job }}
|
||||
echo "::group::Fetch history and tags"
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" --tags https://github.com/adafruit/circuitpython HEAD
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" origin $GITHUB_SHA
|
||||
git repack -d
|
||||
echo "::endgroup::"
|
||||
- name: CircuitPython version
|
||||
id: cp-version
|
||||
run: |
|
||||
CP_VERSION=$(tools/describe)
|
||||
echo "$CP_VERSION"
|
||||
echo "CP_VERSION=$CP_VERSION" >> $GITHUB_ENV
|
||||
echo "cp-version=$CP_VERSION" >> $GITHUB_OUTPUT
|
||||
cache: "cache"
|
||||
version: true
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@ -202,17 +183,8 @@ jobs:
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: CircuitPython dependencies
|
||||
run: python tools/ci_fetch_deps.py ${{ github.job }}
|
||||
- name: CircuitPython version
|
||||
run: tools/describe
|
||||
- name: Set up submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
- name: Versions
|
||||
run: |
|
||||
gcc --version
|
||||
@ -260,21 +232,12 @@ jobs:
|
||||
with:
|
||||
submodules: false
|
||||
fetch-depth: 1
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: CircuitPython dependencies
|
||||
run: python tools/ci_fetch_deps.py ${{ github.job }}
|
||||
- name: CircuitPython version
|
||||
run: tools/describe
|
||||
- name: Set up python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Set up submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@ -343,16 +306,9 @@ jobs:
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: CircuitPython dependencies
|
||||
id: cp-deps
|
||||
run: python tools/ci_fetch_deps.py ${{ matrix.board }}
|
||||
- name: Set up submodules
|
||||
id: set-up-submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get install -y gettext mtools
|
||||
@ -379,7 +335,7 @@ jobs:
|
||||
python3 --version
|
||||
mkfs.fat --version || true
|
||||
- name: Build mpy-cross
|
||||
if: ${{ steps.cp-deps.outputs.frozen_tags == 'True' }}
|
||||
if: ${{ steps.set-up-submodules.outputs.frozen == 'True' }}
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
@ -425,16 +381,9 @@ jobs:
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: CircuitPython dependencies
|
||||
id: cp-deps
|
||||
run: python tools/ci_fetch_deps.py ${{ matrix.board }}
|
||||
- name: Set up submodules
|
||||
id: set-up-submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
- uses: carlosperate/arm-none-eabi-gcc-action@v1
|
||||
with:
|
||||
release: '10-2020-q4'
|
||||
@ -448,7 +397,7 @@ jobs:
|
||||
arm-none-eabi-gcc --version
|
||||
python3 --version
|
||||
- name: Build mpy-cross
|
||||
if: ${{ steps.cp-deps.outputs.frozen_tags == 'True' }}
|
||||
if: ${{ steps.set-up-submodules.outputs.frozen == 'True' }}
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
@ -474,7 +423,6 @@ jobs:
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
|
||||
|
||||
|
||||
build-espressif:
|
||||
runs-on: ubuntu-22.04
|
||||
needs: test
|
||||
@ -498,13 +446,6 @@ jobs:
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.10"
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: Get IDF commit
|
||||
id: idf-commit
|
||||
run: |
|
||||
@ -518,19 +459,13 @@ jobs:
|
||||
.git/modules/ports/espressif/esp-idf
|
||||
ports/espressif/esp-idf
|
||||
key: submodules-idf-${{ steps.idf-commit.outputs.commit }}
|
||||
- name: CircuitPython dependencies
|
||||
id: cp-deps
|
||||
run: python tools/ci_fetch_deps.py ${{ matrix.board }}
|
||||
- name: CircuitPython version
|
||||
run: tools/describe
|
||||
- name: Cache IDF tools
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.IDF_TOOLS_PATH }}
|
||||
key: ${{ runner.os }}-Python-${{ steps.setup-python.outputs.python-version }}-tools-idf-${{ steps.idf-commit.outputs.commit }}
|
||||
- name: Clone IDF submodules
|
||||
run: git submodule update --init --depth=1
|
||||
working-directory: ${{ env.IDF_PATH }}
|
||||
- name: Initialize IDF submodules
|
||||
run: git submodule update --init --depth=1 --recursive $IDF_PATH
|
||||
- name: Install IDF tools
|
||||
run: |
|
||||
echo "Installing ESP-IDF tools"
|
||||
@ -539,6 +474,9 @@ jobs:
|
||||
echo "Installing Python environment and packages"
|
||||
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
|
||||
rm -rf $IDF_TOOLS_PATH/dist
|
||||
- name: Set up submodules
|
||||
id: set-up-submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
source $IDF_PATH/export.sh
|
||||
@ -552,7 +490,7 @@ jobs:
|
||||
ninja --version
|
||||
cmake --version
|
||||
- name: Build mpy-cross
|
||||
if: ${{ steps.cp-deps.outputs.frozen_tags == 'True' }}
|
||||
if: ${{ steps.set-up-submodules.outputs.frozen == 'True' }}
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
@ -600,16 +538,9 @@ jobs:
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: Create submodule status
|
||||
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}"
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
- name: CircuitPython dependencies
|
||||
id: cp-deps
|
||||
run: python tools/ci_fetch_deps.py ${{ matrix.board }}
|
||||
- name: Set up submodules
|
||||
id: set-up-submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get install -y gettext
|
||||
@ -622,7 +553,7 @@ jobs:
|
||||
riscv64-unknown-elf-gcc --version
|
||||
python3 --version
|
||||
- name: Build mpy-cross
|
||||
if: ${{ steps.cp-deps.outputs.frozen_tags == 'True' }}
|
||||
if: ${{ steps.set-up-submodules.outputs.frozen == 'True' }}
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Setup build failure matcher
|
||||
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
|
||||
|
17
.github/workflows/create_website_pr.yml
vendored
17
.github/workflows/create_website_pr.yml
vendored
@ -25,19 +25,10 @@ jobs:
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- name: CircuitPython dependencies
|
||||
run: |
|
||||
python tools/ci_fetch_deps.py ${{ github.job }}
|
||||
echo "::group::Fetch history and tags"
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" --tags https://github.com/adafruit/circuitpython HEAD
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" origin $GITHUB_SHA
|
||||
git repack -d
|
||||
echo "::endgroup::"
|
||||
- name: CircuitPython version
|
||||
run: |
|
||||
CP_VERSION=$(tools/describe)
|
||||
echo "$CP_VERSION"
|
||||
echo "CP_VERSION=$CP_VERSION" >> $GITHUB_ENV
|
||||
- name: Set up submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
with:
|
||||
version: true
|
||||
- name: Install dependencies
|
||||
run: pip install -r requirements-dev.txt
|
||||
- name: Versions
|
||||
|
10
.github/workflows/notify.yml
vendored
10
.github/workflows/notify.yml
vendored
@ -7,8 +7,12 @@ on:
|
||||
jobs:
|
||||
notify:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
steps:
|
||||
- uses: jenschelkopf/issue-label-notification-action@1.3
|
||||
- uses: tekktrik/issue-labeled-ping@v1
|
||||
with:
|
||||
recipients: |
|
||||
ulab=@v923z
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
user: v923z
|
||||
label: ulab
|
||||
message: Heads up {user} - the "{label}" label was applied to this issue.
|
||||
|
30
.github/workflows/ports_windows.yml
vendored
30
.github/workflows/ports_windows.yml
vendored
@ -19,7 +19,7 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
windows:
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
@ -75,31 +75,11 @@ jobs:
|
||||
with:
|
||||
submodules: false
|
||||
fetch-depth: 1
|
||||
- name: Create submodule status
|
||||
run: git submodule status extmod/ulab lib/ tools/ >> submodule_status
|
||||
- name: Restore submodules
|
||||
uses: actions/cache/restore@v3
|
||||
|
||||
- name: Set up submodules
|
||||
uses: ./.github/actions/fetch_submodules
|
||||
with:
|
||||
path: |
|
||||
.git/modules/
|
||||
extmod/ulab
|
||||
lib/
|
||||
tools/
|
||||
key: submodules-common-${{ hashFiles('submodule_status') }}
|
||||
enableCrossOsArchive: true
|
||||
- name: CircuitPython dependencies
|
||||
run: |
|
||||
python tools/ci_fetch_deps.py windows
|
||||
echo "::group::Fetch history and tags"
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" --tags https://github.com/adafruit/circuitpython HEAD
|
||||
git fetch --no-recurse-submodules --shallow-since="2021-07-01" origin $GITHUB_SHA
|
||||
git repack -d
|
||||
echo "::endgroup::"
|
||||
- name: CircuitPython version
|
||||
run: |
|
||||
CP_VERSION=$(tools/describe)
|
||||
echo "$CP_VERSION"
|
||||
echo "CP_VERSION=$CP_VERSION" >> $GITHUB_ENV
|
||||
version: true
|
||||
|
||||
- name: build mpy-cross
|
||||
run: make -j2 -C mpy-cross
|
||||
|
@ -14,7 +14,7 @@ build:
|
||||
python: "3"
|
||||
jobs:
|
||||
post_install:
|
||||
- python tools/ci_fetch_deps.py docs HEAD
|
||||
- python tools/ci_fetch_deps.py build-doc
|
||||
|
||||
formats:
|
||||
- pdf
|
||||
|
@ -267,6 +267,14 @@ After the license comment::
|
||||
|
||||
"""
|
||||
|
||||
Version description
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
After the import statements::
|
||||
|
||||
__version__ = "0.0.0+auto.0"
|
||||
__repo__ = "<repo github link>"
|
||||
|
||||
|
||||
Class description
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit e68bb707b20ee326d84ab75fc9fb35f2e85b87e3
|
||||
Subproject commit f2dd2230c4fdf1aa5c7a160782efdde18e8204bb
|
@ -1 +1 @@
|
||||
Subproject commit ba05423ed9aae09ce293603b519a4ac644ef0dab
|
||||
Subproject commit 9ddd59650598b7a0641d70aabcc8aab71799cb93
|
@ -1 +1 @@
|
||||
Subproject commit 4fd499e39720f8ce970cceeb97c2a85c485f7335
|
||||
Subproject commit e07e1853d7e995b9797a064c098bccc5c384632e
|
@ -1 +1 @@
|
||||
Subproject commit 4a4619a524918f2705c05ca4959385937afa9a7c
|
||||
Subproject commit ab0ffa938dfa7eb1fd7260353a7a4e28f55e537a
|
@ -1 +1 @@
|
||||
Subproject commit 726270f5103d9d94810eb8b52041b7521afafc5c
|
||||
Subproject commit e6a9a0140ed44ef5f15d8040fce35b5319c1f216
|
@ -1 +1 @@
|
||||
Subproject commit 656be4d79196b5f25ab9ebca731d448c5b3bdc17
|
||||
Subproject commit cf2b173d0fc3ac2cd961754c6adf8f614a1c7c39
|
@ -1 +1 @@
|
||||
Subproject commit 6cf9f3cf32e0c176c861de6356813ea4d08034d6
|
||||
Subproject commit 1590d81f7d1474b25aed6a0cb793c7e6dc7634ec
|
@ -1 +1 @@
|
||||
Subproject commit 992b601e2469f30e95ec35c9859b4aa2cd917504
|
||||
Subproject commit 340c62ef6ce867b3924d166afc3d2a171680f799
|
@ -1 +1 @@
|
||||
Subproject commit 794488d1de3d17d1a08887c4a651cfac2c5a1524
|
||||
Subproject commit 8e0f081a0fcc94053b8ef480a916b10855a3c0d5
|
@ -1 +1 @@
|
||||
Subproject commit 1919916dcf57e0879832b9c274c5fb77712d7775
|
||||
Subproject commit 38bd02f014403954ab52154e3877e502d83862dc
|
@ -1 +1 @@
|
||||
Subproject commit 5b4703428fc299ac268d08350c885122b2af1e75
|
||||
Subproject commit 61ca58788aabd53558e10c32064a1304aa7454f2
|
@ -1 +1 @@
|
||||
Subproject commit c8e82b96c68041a11a52f3053d0d2733ae2d1a49
|
||||
Subproject commit d689ca77c67806484037e00110c669cf55846b6e
|
@ -1 +1 @@
|
||||
Subproject commit b6891e734183f978e7b3d0a363140e98635c0a04
|
||||
Subproject commit e38bf1f9cf1e8faeb7d15a1d10674fb2c0a81e72
|
@ -1 +1 @@
|
||||
Subproject commit 31c819f377cf71f61cfb84eae159f1f948980db7
|
||||
Subproject commit f26bead58d3c4036eced586d275396816e92e80a
|
@ -1 +1 @@
|
||||
Subproject commit 1064fdee5a1421f528af452be5e45ae95ef2b89a
|
||||
Subproject commit 9516aa97e9216eac2b229fbb7dac34fa60c347c4
|
@ -1 +1 @@
|
||||
Subproject commit 7eeea1aaf6bb5fa0deb080a1dc1aa3cd103f9aad
|
||||
Subproject commit 759c5c348878932adc5fcc9e4f3b3f570b43e17f
|
@ -1 +1 @@
|
||||
Subproject commit cad34af5267aca3665fdaf1ea5a0eee921d13f06
|
||||
Subproject commit 74a1c261103cda43172053ff2370777255b9bf8d
|
@ -1 +1 @@
|
||||
Subproject commit df4c73a5e719f17fae0309e811ff17627cd0f268
|
||||
Subproject commit c46c59e3004817c708c78c59d247b02161c6bf06
|
@ -1 +1 @@
|
||||
Subproject commit f611d5e31c9735a3c3ac43185e35dcd5f659e3aa
|
||||
Subproject commit 46a49205f3f14546273dd1267e66cad82f03986c
|
@ -1 +1 @@
|
||||
Subproject commit 317f4bdb799afa59b164def4ea0610f57db9922e
|
||||
Subproject commit 203d0b1489cb90a39f8a780570287f1a5bd610a0
|
@ -1 +1 @@
|
||||
Subproject commit bb2fc8c157ee44869cde4cbc1ab20e6f31ac727f
|
||||
Subproject commit eb17bffa757dc8c0a53fe9e61c45246c06418099
|
@ -1 +1 @@
|
||||
Subproject commit 9ff56ce53f05e23ff678965ba54af89b24b1199a
|
||||
Subproject commit e23c4871456cdf0ef1bfb59d1c2f6e38b7b640ee
|
@ -1 +1 @@
|
||||
Subproject commit 0a8fcbfc92060eb298ea52d5e88587b37347a0be
|
||||
Subproject commit eac33b430b0cbe1f6f583000f6b29f75bfe8507e
|
@ -1 +1 @@
|
||||
Subproject commit 7832bbb5449d55d8c7b731e4ff7490b801e94a9e
|
||||
Subproject commit 2634ca0163020bebec300fcca6e0b5afcdc655b8
|
@ -1 +1 @@
|
||||
Subproject commit 565fed515138f962c4bcce0ee756d32e708a151a
|
||||
Subproject commit b6d9f852f50b489615f3f357f9758d0073335334
|
@ -1 +1 @@
|
||||
Subproject commit fbdb77d7127e7d6a8d3574440b0f790c94a28cf8
|
||||
Subproject commit 596cc896e5c8815caa2a6f405560833193848149
|
@ -1 +1 @@
|
||||
Subproject commit 6234787515e2f0ece40b6408722ff0b42824038e
|
||||
Subproject commit d4ff0388f3e3af2745864f2c3e5926f500673a40
|
21
locale/ID.po
21
locale/ID.po
@ -671,6 +671,7 @@ msgstr "Pin bus %d sudah digunakan"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2509,6 +2510,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2937,6 +2942,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2978,9 +2987,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "error = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3357,7 +3366,7 @@ msgstr "key tidak valid"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "micropython decorator tidak valid"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3614,7 +3623,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3751,6 +3760,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
@ -663,6 +663,7 @@ msgstr ""
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2478,6 +2479,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2906,6 +2911,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2947,9 +2956,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3326,7 +3335,7 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3583,7 +3592,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3719,6 +3728,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
21
locale/cs.po
21
locale/cs.po
@ -672,6 +672,7 @@ msgstr "Sběrnicový pin %d je již používán"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2496,6 +2497,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2924,6 +2929,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2965,9 +2974,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3344,7 +3353,7 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3601,7 +3610,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3737,6 +3746,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
@ -675,6 +675,7 @@ msgstr "Bus-Pin %d wird schon benutzt"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "Beim Starten wurde Taste A gedrückt.\n"
|
||||
|
||||
@ -2554,6 +2555,10 @@ msgstr "Array- und Indexlänge müssen gleich sein"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr "Das Array hat zu viele Dimensionen"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2994,6 +2999,10 @@ msgstr "Abmessungen stimmen nicht überein"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/mod für uint nicht implementiert"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "durch Null dividieren"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "Division durch Null"
|
||||
@ -3035,13 +3044,11 @@ msgstr "epoch_time wird auf diesem Board nicht unterstützt"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "Fehler = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
"esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu "
|
||||
"können. Sieh in der Dokumentation für eine Anleitung nach."
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "exceptions must derive from BaseException"
|
||||
@ -3418,7 +3425,7 @@ msgstr "ungültiger Schlüssel"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "ungültiger micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "Invalide Einstellung"
|
||||
|
||||
@ -3681,7 +3688,7 @@ msgstr "kein Reset Pin verfügbar"
|
||||
msgid "no response from SD card"
|
||||
msgstr "keine Antwort von der SD-Karte"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "kein solches Attribut"
|
||||
|
||||
@ -3819,6 +3826,10 @@ msgstr "nur eine bit_depth=16 wird unterstützt"
|
||||
msgid "only mono is supported"
|
||||
msgstr "nur Mono wird unterstützt"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
@ -4431,6 +4442,13 @@ msgstr "zi muss eine Gleitkommazahl sein"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi muss die Form (n_section, 2) haben"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
#~ "documentation for instructions."
|
||||
#~ msgstr ""
|
||||
#~ "esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu "
|
||||
#~ "können. Sieh in der Dokumentation für eine Anleitung nach."
|
||||
|
||||
#~ msgid "%q must be of type %q"
|
||||
#~ msgstr "%q muss vom Type %q sein"
|
||||
|
||||
@ -4499,9 +4517,6 @@ msgstr "zi muss die Form (n_section, 2) haben"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "Komplexe Division durch null"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "durch Null dividieren"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr "int() arg 2 muss >= 2 und <= 36 sein"
|
||||
|
||||
|
21
locale/el.po
21
locale/el.po
@ -678,6 +678,7 @@ msgstr "Bus pin %d είναι ήδη σε χρήση"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2505,6 +2506,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2933,6 +2938,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2974,9 +2983,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3353,7 +3362,7 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3610,7 +3619,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3746,6 +3755,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
@ -675,6 +675,7 @@ msgstr "Bus pin %d is already in use"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2512,6 +2513,10 @@ msgstr "array and index length must be equal"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2943,6 +2948,10 @@ msgstr "dimensions do not match"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/mod not implemented for uint"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "divide by zero"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "division by zero"
|
||||
@ -2984,9 +2993,9 @@ msgstr "epoch_time not supported on this board"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "error = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3363,7 +3372,7 @@ msgstr "invalid key"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "invalid micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3620,7 +3629,7 @@ msgstr "no reset pin available"
|
||||
msgid "no response from SD card"
|
||||
msgstr "no response from SD card"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "no such attribute"
|
||||
|
||||
@ -3756,6 +3765,10 @@ msgstr "only bit_depth=16 is supported"
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
@ -4407,9 +4420,6 @@ msgstr "zi must be of shape (n_section, 2)"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "complex division by zero"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "divide by zero"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr "int() arg 2 must be >= 2 and <= 36"
|
||||
|
||||
|
39
locale/es.po
39
locale/es.po
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2023-01-18 18:05+0000\n"
|
||||
"PO-Revision-Date: 2023-02-01 22:11+0000\n"
|
||||
"Last-Translator: Jose David M <jquintana202020@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\n"
|
||||
@ -16,7 +16,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
"X-Generator: Weblate 4.16-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -680,6 +680,7 @@ msgstr "Bus pin %d ya está siendo utilizado"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "Botón A fue presionado al inicio.\n"
|
||||
|
||||
@ -2562,6 +2563,10 @@ msgstr "Longitud del array e índice tienen que ser iguales"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr "La matriz tiene demasiadas dimensiones"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr "el arreglo es muy grande"
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2997,6 +3002,10 @@ msgstr "las dimensiones no concuerdan"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/mod no implementado para uint"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "divide por cero"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "división por cero"
|
||||
@ -3038,13 +3047,13 @@ msgstr "epoch_time no esta soportado en esta tarjeta"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "error = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
"esp32_camera. la camara necesita PSRAM reservada para ser configurada. Vea "
|
||||
"la documentacion para mas instrucciones."
|
||||
"espcamera. La cámara requiere una configuración de PSRAM reservada. "
|
||||
"Refiérase a la documentación para más instrucciones."
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "exceptions must derive from BaseException"
|
||||
@ -3419,7 +3428,7 @@ msgstr "llave inválida"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "decorador de micropython inválido"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "configuracion invalida"
|
||||
|
||||
@ -3680,7 +3689,7 @@ msgstr "no hay pin de reinicio disponible"
|
||||
msgid "no response from SD card"
|
||||
msgstr "no hay respuesta de la tarjeta SD"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "no hay tal atributo"
|
||||
|
||||
@ -3819,6 +3828,10 @@ msgstr "solo se admite bit_depth=16"
|
||||
msgid "only mono is supported"
|
||||
msgstr "solamente mono esta suportado"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr "solamente ndarrays pueden ser concatenadas"
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr "solamente oversample=64 esta soportado"
|
||||
@ -4427,6 +4440,13 @@ msgstr "zi debe ser de tipo flotante"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi debe ser una forma (n_section,2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
#~ "documentation for instructions."
|
||||
#~ msgstr ""
|
||||
#~ "esp32_camera. la camara necesita PSRAM reservada para ser configurada. "
|
||||
#~ "Vea la documentacion para mas instrucciones."
|
||||
|
||||
#~ msgid "%q must be of type %q"
|
||||
#~ msgstr "%q debe ser de typo %q"
|
||||
|
||||
@ -4477,9 +4497,6 @@ msgstr "zi debe ser una forma (n_section,2)"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "división compleja por cero"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "divide por cero"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr "int() arg 2 debe ser >= 2 y <= 36"
|
||||
|
||||
|
@ -668,6 +668,7 @@ msgstr "Ginagamit na ang DAC"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2496,6 +2497,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2935,6 +2940,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "dibisyon ng zero"
|
||||
@ -2976,9 +2985,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3356,7 +3365,7 @@ msgstr "mali ang key"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "mali ang micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3617,7 +3626,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "walang ganoon na attribute"
|
||||
|
||||
@ -3754,6 +3763,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
33
locale/fr.po
33
locale/fr.po
@ -681,6 +681,7 @@ msgstr "La broche %d du bus est déjà utilisée"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "Le bouton A était pressé au démarrage.\n"
|
||||
|
||||
@ -2580,6 +2581,10 @@ msgstr "la taille de la matrice et de l'index doivent être égaux"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr "la tableau à trop de dimensions"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -3021,6 +3026,10 @@ msgstr "les dimensions ne correspondent pas"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/mod ne sont pas implémentés pour uint"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "division par zéro"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "division par zéro"
|
||||
@ -3062,13 +3071,11 @@ msgstr "epoch_time n'est pas supporté sur ce panneau"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "erreur = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
"esp32_camera.Camera nécessite la configuration de PSRAM réservée. Se référer "
|
||||
"à la documentation."
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "exceptions must derive from BaseException"
|
||||
@ -3445,7 +3452,7 @@ msgstr "clé invalide"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "décorateur micropython invalide"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "réglage invalide"
|
||||
|
||||
@ -3707,7 +3714,7 @@ msgstr "pas de broche de réinitialisation disponible"
|
||||
msgid "no response from SD card"
|
||||
msgstr "pas de réponse de la carte SD"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "pas de tel attribut"
|
||||
|
||||
@ -3846,6 +3853,10 @@ msgstr "seul bit_depth = 16 est pris en charge"
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
@ -4456,6 +4467,13 @@ msgstr "zi doit être de type float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi doit être de forme (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
#~ "documentation for instructions."
|
||||
#~ msgstr ""
|
||||
#~ "esp32_camera.Camera nécessite la configuration de PSRAM réservée. Se "
|
||||
#~ "référer à la documentation."
|
||||
|
||||
#~ msgid "%q must be of type %q"
|
||||
#~ msgstr "%q doit être du type %q"
|
||||
|
||||
@ -4521,9 +4539,6 @@ msgstr "zi doit être de forme (n_section, 2)"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "division complexe par zéro"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "division par zéro"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr ""
|
||||
#~ "Le deuxième argument de int() doit être compris entre 2 et 36 inclus"
|
||||
|
21
locale/hi.po
21
locale/hi.po
@ -663,6 +663,7 @@ msgstr ""
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2478,6 +2479,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2906,6 +2911,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2947,9 +2956,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3326,7 +3335,7 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3583,7 +3592,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3719,6 +3728,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
@ -675,6 +675,7 @@ msgstr "Bus pin %d è già in uso"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2506,6 +2507,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2943,6 +2948,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "divisione per zero"
|
||||
@ -2984,9 +2993,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "errore = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3364,7 +3373,7 @@ msgstr "chiave non valida"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "decoratore non valido in micropython"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3626,7 +3635,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "attributo inesistente"
|
||||
|
||||
@ -3765,6 +3774,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
21
locale/ja.po
21
locale/ja.po
@ -675,6 +675,7 @@ msgstr "Busピン%dはすでに使用中"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2498,6 +2499,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2930,6 +2935,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "ゼロ除算 (division by zero)"
|
||||
@ -2971,9 +2980,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "error = 0x1%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3351,7 +3360,7 @@ msgstr "不正な鍵"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "不正なmicropythonデコレータ"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3608,7 +3617,7 @@ msgstr "利用可能なリセットピンがありません"
|
||||
msgid "no response from SD card"
|
||||
msgstr "SDカードからの応答がありません"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "指定の属性はありません"
|
||||
|
||||
@ -3744,6 +3753,10 @@ msgstr "bit_depth=16のみ対応しています"
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
21
locale/ko.po
21
locale/ko.po
@ -666,6 +666,7 @@ msgstr ""
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2482,6 +2483,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2910,6 +2915,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2951,9 +2960,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3330,7 +3339,7 @@ msgstr "키가 유효하지 않습니다"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3587,7 +3596,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3723,6 +3732,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
21
locale/nl.po
21
locale/nl.po
@ -668,6 +668,7 @@ msgstr "Bus pin %d al in gebruik"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2508,6 +2509,10 @@ msgstr "array en indexlengte moeten gelijk zijn"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2939,6 +2944,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "deling door nul"
|
||||
@ -2980,9 +2989,9 @@ msgstr "epoch_time niet ondersteund op dit bord"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "fout = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3360,7 +3369,7 @@ msgstr "ongeldige sleutel"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "ongeldige micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3620,7 +3629,7 @@ msgstr "geen reset pin beschikbaar"
|
||||
msgid "no response from SD card"
|
||||
msgstr "geen antwoord van SD kaart"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "niet zo'n attribuut"
|
||||
|
||||
@ -3756,6 +3765,10 @@ msgstr "alleen bit_depth=16 wordt ondersteund"
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
21
locale/pl.po
21
locale/pl.po
@ -670,6 +670,7 @@ msgstr "Nóżka magistrali %d jest w użyciu"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
@ -2489,6 +2490,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2918,6 +2923,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "dzielenie przez zero"
|
||||
@ -2959,9 +2968,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "błąd = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3338,7 +3347,7 @@ msgstr "zły klucz"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "zły dekorator micropythona"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3595,7 +3604,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "nie ma takiego atrybutu"
|
||||
|
||||
@ -3731,6 +3740,10 @@ msgstr "obsługiwane jest tylko bit_depth=16"
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2023-01-13 18:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-03 04:15+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
"X-Generator: Weblate 4.16-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -683,6 +683,7 @@ msgstr "O pino bus %d já está em uso"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "O botão A foi pressionado na inicialização.\n"
|
||||
|
||||
@ -2561,6 +2562,10 @@ msgstr "a matriz e comprimento do índice devem ser iguais"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr "a matriz possui muitas dimensões"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr "a array é grande demais"
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2998,6 +3003,10 @@ msgstr "as dimensões não coincidem"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/mod não implementado para uint"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "divido por zero"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "divisão por zero"
|
||||
@ -3039,13 +3048,13 @@ msgstr "O epoch_time não é compatível com esta placa"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "erro = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
"esp32_camera.Camera requer que uma reserva PSRAM seja configurada. Consulte "
|
||||
"a documentação para obter mais informações."
|
||||
"O espcamera.Camera requer que o PSRAM seja reservado para que possa ser "
|
||||
"configurado. Consulte a documentação para obter mais informações."
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "exceptions must derive from BaseException"
|
||||
@ -3421,7 +3430,7 @@ msgstr "chave inválida"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "o decorador micropython é inválido"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "configuração inválida"
|
||||
|
||||
@ -3683,7 +3692,7 @@ msgstr "nenhum pino de redefinição está disponível"
|
||||
msgid "no response from SD card"
|
||||
msgstr "não houve resposta do cartão SD"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "não há tal atributo"
|
||||
|
||||
@ -3819,6 +3828,10 @@ msgstr "apenas bit_depth = 16 é compatível"
|
||||
msgid "only mono is supported"
|
||||
msgstr "Apenas o mono é compatível"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr "somente os ndarrays podem ser concatenados"
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr "apenas oversample=64 é compatível"
|
||||
@ -4431,6 +4444,13 @@ msgstr "zi deve ser de um tipo float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi deve estar na forma (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
#~ "documentation for instructions."
|
||||
#~ msgstr ""
|
||||
#~ "esp32_camera.Camera requer que uma reserva PSRAM seja configurada. "
|
||||
#~ "Consulte a documentação para obter mais informações."
|
||||
|
||||
#~ msgid "%q must be of type %q"
|
||||
#~ msgstr "%q deve ser do tipo %q"
|
||||
|
||||
@ -4502,9 +4522,6 @@ msgstr "zi deve estar na forma (n_section, 2)"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "divisão complexa por zero"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "divido por zero"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr "int() arg 2 deve ser >= 2 e <= 36"
|
||||
|
||||
|
21
locale/ru.po
21
locale/ru.po
@ -680,6 +680,7 @@ msgstr "Пин шины %d уже используется"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "Кнопка A была нажата при загрузке\n"
|
||||
|
||||
@ -2546,6 +2547,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2974,6 +2979,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -3015,9 +3024,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3394,7 +3403,7 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3651,7 +3660,7 @@ msgstr "нет доступного контакта сброса"
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3787,6 +3796,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
37
locale/sv.po
37
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2023-01-13 18:51+0000\n"
|
||||
"PO-Revision-Date: 2023-01-29 16:16+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
"X-Generator: Weblate 4.16-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -675,6 +675,7 @@ msgstr "Busspinne %d används redan"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "Knapp A trycktes ned vid start.\n"
|
||||
|
||||
@ -2534,6 +2535,10 @@ msgstr "array och indexlängd måste vara lika"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr "array har för många dimensioner"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2967,6 +2972,10 @@ msgstr "dimensioner matchar inte"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/mod inte implementerat för uint"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "division med noll"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "division med noll"
|
||||
@ -3008,12 +3017,12 @@ msgstr "epoch_time stöds inte av detta kort"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "fel = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
"esp32_camera.Camera kräver reserverad PSRAM att konfigureras. Se "
|
||||
"espcamera.Camera kräver reserverat PSRAM att vara konfigurerat. Se "
|
||||
"dokumentationen för instruktioner."
|
||||
|
||||
#: py/runtime.c
|
||||
@ -3389,7 +3398,7 @@ msgstr "ogiltig nyckel"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "ogiltig mikropython-dekorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "ogiltig inställning"
|
||||
|
||||
@ -3649,7 +3658,7 @@ msgstr "ingen reset-pinne tillgänglig"
|
||||
msgid "no response from SD card"
|
||||
msgstr "inget svar från SD-kort"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "inget sådant attribut"
|
||||
|
||||
@ -3785,6 +3794,10 @@ msgstr "bara bit_depth=16 stöds"
|
||||
msgid "only mono is supported"
|
||||
msgstr "endast mono stöds"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr "endast oversample=64 stöds"
|
||||
@ -4393,6 +4406,13 @@ msgstr "zi måste vara av typ float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi måste vara i formen (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
#~ "documentation for instructions."
|
||||
#~ msgstr ""
|
||||
#~ "esp32_camera.Camera kräver reserverad PSRAM att konfigureras. Se "
|
||||
#~ "dokumentationen för instruktioner."
|
||||
|
||||
#~ msgid "%q must be of type %q"
|
||||
#~ msgstr "%q måste vara av typen %q"
|
||||
|
||||
@ -4464,9 +4484,6 @@ msgstr "zi måste vara i formen (n_section, 2)"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "komplex division med noll"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "division med noll"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr "int() arg 2 måste vara >= 2 och <= 36"
|
||||
|
||||
|
21
locale/tr.po
21
locale/tr.po
@ -678,6 +678,7 @@ msgstr "Veriyolu pini %d kullanımda"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "Başlatma sırasında A düğmesine basıldı.\n"
|
||||
|
||||
@ -2504,6 +2505,10 @@ msgstr ""
|
||||
msgid "array has too many dimensions"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2932,6 +2937,10 @@ msgstr ""
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr ""
|
||||
@ -2973,9 +2982,9 @@ msgstr ""
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
|
||||
@ -3352,7 +3361,7 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
@ -3609,7 +3618,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
@ -3745,6 +3754,10 @@ msgstr ""
|
||||
msgid "only mono is supported"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr ""
|
||||
|
@ -677,6 +677,7 @@ msgstr "Zǒngxiàn yǐnjiǎo %d yǐjīng zài shǐyòng zhōng"
|
||||
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr "qǐ dòng shí àn xià àn niǔ A.\n"
|
||||
|
||||
@ -924,7 +925,8 @@ msgstr "Fāngxiàng shūrù shí qūdòng móshì méiyǒu shǐyòng."
|
||||
|
||||
#: py/obj.c
|
||||
msgid "During handling of the above exception, another exception occurred:"
|
||||
msgstr "zài chǔ lǐ shàng shù yì cháng qī jiān, fā shēng le lìng yí gè yì cháng:"
|
||||
msgstr ""
|
||||
"zài chǔ lǐ shàng shù yì cháng qī jiān, fā shēng le lìng yí gè yì cháng:"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "ECB only operates on 16 bytes at a time"
|
||||
@ -2539,6 +2541,10 @@ msgstr "shù zǔ hé suǒ yǐn cháng dù bì xū xiāng děng"
|
||||
msgid "array has too many dimensions"
|
||||
msgstr "shùzǔ yǒu tài duō wéidù"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array is too big"
|
||||
msgstr ""
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
|
||||
msgid "array/bytes required on right side"
|
||||
@ -2973,6 +2979,10 @@ msgstr "chǐ cùn bù pǐ pèi"
|
||||
msgid "div/mod not implemented for uint"
|
||||
msgstr "div/ mó zǔ wèi wéi wèi shí xiàn"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "divide by zero"
|
||||
msgstr "chú yǐ líng"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "division by zero"
|
||||
msgstr "bèi líng chú"
|
||||
@ -3014,13 +3024,11 @@ msgstr "epoch_time bǎn bù zhī chí cǐ bǎn běn"
|
||||
msgid "error = 0x%08lX"
|
||||
msgstr "cuòwù = 0x%08lX"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid ""
|
||||
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"espcamera.Camera requires reserved PSRAM to be configured. See the "
|
||||
"documentation for instructions."
|
||||
msgstr ""
|
||||
"esp32_camera. shè xiàng jī xū yào pèi zhì yù liú de PSRAM. yǒu guān shuō "
|
||||
"míng, qǐng cān yuè wén dàng."
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "exceptions must derive from BaseException"
|
||||
@ -3395,7 +3403,7 @@ msgstr "wúxiào de mì yào"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "wúxiào de MicroPython zhuāngshì qì"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "shèzhì wúxiào"
|
||||
|
||||
@ -3653,7 +3661,7 @@ msgstr "Méiyǒu kěyòng de fùwèi yǐn jiǎo"
|
||||
msgid "no response from SD card"
|
||||
msgstr "SD kǎ wú huíyīng"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "méiyǒu cǐ shǔxìng"
|
||||
|
||||
@ -3789,6 +3797,10 @@ msgstr "Jǐn zhīchí wèi shēndù = 16"
|
||||
msgid "only mono is supported"
|
||||
msgstr "jǐn zhī chí dān shēng dào"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c
|
||||
msgid "only ndarrays can be concatenated"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiobusio/PDMIn.c
|
||||
msgid "only oversample=64 is supported"
|
||||
msgstr "jǐn zhī chí guò cǎi yàng =64"
|
||||
@ -4399,6 +4411,13 @@ msgstr "zi bìxū wèi fú diǎn xíng"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
|
||||
#~ "documentation for instructions."
|
||||
#~ msgstr ""
|
||||
#~ "esp32_camera. shè xiàng jī xū yào pèi zhì yù liú de PSRAM. yǒu guān shuō "
|
||||
#~ "míng, qǐng cān yuè wén dàng."
|
||||
|
||||
#~ msgid "%q must be of type %q"
|
||||
#~ msgstr "%q bì xū shì %q lèi xíng"
|
||||
|
||||
@ -4467,9 +4486,6 @@ msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
||||
#~ msgid "complex division by zero"
|
||||
#~ msgstr "fùzá de fēngé wèi 0"
|
||||
|
||||
#~ msgid "divide by zero"
|
||||
#~ msgstr "chú yǐ líng"
|
||||
|
||||
#~ msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
#~ msgstr "zhěngshù() cānshù 2 bìxū > = 2 qiě <= 36"
|
||||
|
||||
|
@ -11,6 +11,7 @@ LONGINT_IMPL = NONE
|
||||
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
CIRCUITPY_ANALOGIO = 0
|
||||
CIRCUITPY_ALARM = 0
|
||||
CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_AUDIOMP3 = 0
|
||||
@ -31,15 +32,14 @@ CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_SAMD = 0
|
||||
CIRCUITPY_TOUCHIO = 0
|
||||
CIRCUITPY_USB_CDC = 0
|
||||
CIRCUITPY_USB_HID = 0
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
CIRCUITPY_VECTORIO = 0
|
||||
CIRCUITPY_BUSDEVICE = 0
|
||||
CIRCUITPY_BITMAPTOOLS = 0
|
||||
CIRCUITPY_GIFIO = 0
|
||||
CIRCUITPY_WATCHDOG = 0
|
||||
|
||||
CIRCUITPY_ANALOGIO = 1
|
||||
CIRCUITPY_AUDIOIO = 1
|
||||
CIRCUITPY_AUDIOMIXER = 1
|
||||
CIRCUITPY_DISPLAYIO = 1
|
||||
|
@ -8,7 +8,7 @@ set(ENV{IDF_PATH} ${CMAKE_SOURCE_DIR}/esp-idf)
|
||||
# can build.
|
||||
set(COMPONENTS esptool_py soc driver log main esp-tls mbedtls mdns esp_event esp_adc_cal esp_netif esp_wifi lwip ulp wpa_supplicant freertos bt usb)
|
||||
|
||||
if("${CIRCUITPY_ESP32_CAMERA}")
|
||||
if("${CIRCUITPY_ESPCAMERA}")
|
||||
message("Including esp32-camera")
|
||||
set(EXTRA_COMPONENT_DIRS "esp32-camera")
|
||||
list(APPEND COMPONENTS "esp32-camera")
|
||||
|
@ -250,10 +250,10 @@ endif
|
||||
|
||||
SRC_C += $(wildcard common-hal/espidf/*.c)
|
||||
|
||||
ifneq ($(CIRCUITPY_ESP32_CAMERA),0)
|
||||
ifneq ($(CIRCUITPY_ESPCAMERA),0)
|
||||
SRC_CAMERA := \
|
||||
$(wildcard common-hal/esp32_camera/*.c) \
|
||||
$(wildcard bindings/esp32_camera/*.c)
|
||||
$(wildcard common-hal/espcamera/*.c) \
|
||||
$(wildcard bindings/espcamera/*.c)
|
||||
SRC_C += $(SRC_CAMERA)
|
||||
CFLAGS += -isystem esp32-camera/driver/include
|
||||
CFLAGS += -isystem esp32-camera/conversions/include
|
||||
@ -333,7 +333,7 @@ endif
|
||||
.PHONY: do-sdkconfig
|
||||
do-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h
|
||||
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig CMakeLists.txt | $(BUILD)/esp-idf
|
||||
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja -DCIRCUITPY_ESP32_CAMERA=$(CIRCUITPY_ESP32_CAMERA)
|
||||
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja -DCIRCUITPY_ESPCAMERA=$(CIRCUITPY_ESPCAMERA)
|
||||
|
||||
# build a lib
|
||||
# Adding -d explain -j 1 -v to the ninja line will output debug info
|
||||
@ -385,7 +385,7 @@ BINARY_BLOBS += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
|
||||
ESP_IDF_COMPONENTS_EXPANDED += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
|
||||
endif
|
||||
|
||||
ifneq ($(CIRCUITPY_ESP32_CAMERA),0)
|
||||
ifneq ($(CIRCUITPY_ESPCAMERA),0)
|
||||
ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp32-camera/libesp32-camera.a
|
||||
#$(error $(ESP_IDF_COMPONENTS_EXPANDED))
|
||||
endif
|
||||
|
File diff suppressed because it is too large
Load Diff
1001
ports/espressif/bindings/espcamera/Camera.c
Normal file
1001
ports/espressif/bindings/espcamera/Camera.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -33,11 +33,11 @@
|
||||
|
||||
#include "shared-bindings/busio/I2C.h"
|
||||
|
||||
extern const mp_obj_type_t esp32_camera_camera_type;
|
||||
typedef struct esp32_camera_camera_obj esp32_camera_camera_obj_t;
|
||||
extern const mp_obj_type_t espcamera_camera_type;
|
||||
typedef struct espcamera_camera_obj espcamera_camera_obj_t;
|
||||
|
||||
extern void common_hal_esp32_camera_camera_construct(
|
||||
esp32_camera_camera_obj_t *self,
|
||||
extern void common_hal_espcamera_camera_construct(
|
||||
espcamera_camera_obj_t *self,
|
||||
uint8_t data_pins[8],
|
||||
const mcu_pin_obj_t *external_clock_pin,
|
||||
const mcu_pin_obj_t *pixel_clock_pin,
|
||||
@ -53,11 +53,11 @@ extern void common_hal_esp32_camera_camera_construct(
|
||||
mp_int_t framebuffer_count,
|
||||
camera_grab_mode_t grab_mode);
|
||||
|
||||
extern void common_hal_esp32_camera_camera_deinit(esp32_camera_camera_obj_t *self);
|
||||
extern bool common_hal_esp32_camera_camera_deinited(esp32_camera_camera_obj_t *self);
|
||||
extern bool common_hal_esp32_camera_camera_available(esp32_camera_camera_obj_t *self);
|
||||
extern camera_fb_t *common_hal_esp32_camera_camera_take(esp32_camera_camera_obj_t *self, int timeout_ms);
|
||||
extern void common_hal_esp32_camera_camera_reconfigure(esp32_camera_camera_obj_t *self, framesize_t frame_size, pixformat_t pixel_format, camera_grab_mode_t grab_mode, mp_int_t framebuffer_count);
|
||||
extern void common_hal_espcamera_camera_deinit(espcamera_camera_obj_t *self);
|
||||
extern bool common_hal_espcamera_camera_deinited(espcamera_camera_obj_t *self);
|
||||
extern bool common_hal_espcamera_camera_available(espcamera_camera_obj_t *self);
|
||||
extern camera_fb_t *common_hal_espcamera_camera_take(espcamera_camera_obj_t *self, int timeout_ms);
|
||||
extern void common_hal_espcamera_camera_reconfigure(espcamera_camera_obj_t *self, framesize_t frame_size, pixformat_t pixel_format, camera_grab_mode_t grab_mode, mp_int_t framebuffer_count);
|
||||
|
||||
#define DECLARE_SENSOR_GETSET(type, name, field_name, setter_function_name) \
|
||||
DECLARE_SENSOR_GET(type, name, field_name, setter_function_name) \
|
||||
@ -70,10 +70,10 @@ extern void common_hal_esp32_camera_camera_reconfigure(esp32_camera_camera_obj_t
|
||||
DECLARE_SENSOR_GET(type, name, status.status_field_name, setter_function_name)
|
||||
|
||||
#define DECLARE_SENSOR_GET(type, name, status_field_name, setter_function_name) \
|
||||
extern type common_hal_esp32_camera_camera_get_##name(esp32_camera_camera_obj_t * self);
|
||||
extern type common_hal_espcamera_camera_get_##name(espcamera_camera_obj_t * self);
|
||||
|
||||
#define DECLARE_SENSOR_SET(type, name, setter_function_name) \
|
||||
extern void common_hal_esp32_camera_camera_set_##name(esp32_camera_camera_obj_t * self, type value);
|
||||
extern void common_hal_espcamera_camera_set_##name(espcamera_camera_obj_t * self, type value);
|
||||
|
||||
DECLARE_SENSOR_GET(pixformat_t, pixel_format, pixformat, set_pixformat)
|
||||
DECLARE_SENSOR_STATUS_GET(framesize_t, frame_size, framesize, set_framesize)
|
||||
@ -104,13 +104,13 @@ DECLARE_SENSOR_STATUS_GETSET(bool, raw_gma, raw_gma, set_raw_gma);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, lenc, lenc, set_lenc);
|
||||
|
||||
// From settings
|
||||
extern camera_grab_mode_t common_hal_esp32_camera_camera_get_grab_mode(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_esp32_camera_camera_get_framebuffer_count(esp32_camera_camera_obj_t *self);
|
||||
extern camera_grab_mode_t common_hal_espcamera_camera_get_grab_mode(espcamera_camera_obj_t *self);
|
||||
extern int common_hal_espcamera_camera_get_framebuffer_count(espcamera_camera_obj_t *self);
|
||||
|
||||
// From camera_sensor_info_t
|
||||
extern int common_hal_esp32_camera_camera_get_address(esp32_camera_camera_obj_t *self);
|
||||
extern const char *common_hal_esp32_camera_camera_get_sensor_name(esp32_camera_camera_obj_t *self);
|
||||
extern const bool common_hal_esp32_camera_camera_get_supports_jpeg(esp32_camera_camera_obj_t *self);
|
||||
extern framesize_t common_hal_esp32_camera_camera_get_max_frame_size(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_esp32_camera_camera_get_width(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_esp32_camera_camera_get_height(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_espcamera_camera_get_address(espcamera_camera_obj_t *self);
|
||||
extern const char *common_hal_espcamera_camera_get_sensor_name(espcamera_camera_obj_t *self);
|
||||
extern const bool common_hal_espcamera_camera_get_supports_jpeg(espcamera_camera_obj_t *self);
|
||||
extern framesize_t common_hal_espcamera_camera_get_max_frame_size(espcamera_camera_obj_t *self);
|
||||
extern int common_hal_espcamera_camera_get_width(espcamera_camera_obj_t *self);
|
||||
extern int common_hal_espcamera_camera_get_height(espcamera_camera_obj_t *self);
|
@ -29,13 +29,13 @@
|
||||
#include "py/mphal.h"
|
||||
|
||||
#include "bindings/espidf/__init__.h"
|
||||
#include "bindings/esp32_camera/__init__.h"
|
||||
#include "bindings/esp32_camera/Camera.h"
|
||||
#include "bindings/espcamera/__init__.h"
|
||||
#include "bindings/espcamera/Camera.h"
|
||||
|
||||
#include "esp_camera.h"
|
||||
#include "sensor.h"
|
||||
|
||||
//| """Wrapper for the esp32_camera library
|
||||
//| """Wrapper for the espcamera library
|
||||
//|
|
||||
//| This library enables access to any camera sensor supported by the library,
|
||||
//| including OV5640 and OV2640.
|
||||
@ -45,6 +45,7 @@
|
||||
//| Non-Espressif microcontrollers use the `imagecapture` module together with wrapper libraries such as `adafruit_ov5640 <https://circuitpython.readthedocs.io/projects/ov5640/en/latest/>`_.
|
||||
//|
|
||||
//| """
|
||||
//|
|
||||
|
||||
//| class GrabMode:
|
||||
//| """Controls when a new frame is grabbed."""
|
||||
@ -56,20 +57,20 @@
|
||||
//| """Except when 1 frame buffer is used, queue will always contain the last ``fb_count`` frames"""
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_grab_mode_type, grab_mode, WHEN_EMPTY, CAMERA_GRAB_WHEN_EMPTY);
|
||||
MAKE_ENUM_VALUE(esp32_camera_grab_mode_type, grab_mode, LATEST, CAMERA_GRAB_LATEST);
|
||||
MAKE_ENUM_VALUE(espcamera_grab_mode_type, grab_mode, WHEN_EMPTY, CAMERA_GRAB_WHEN_EMPTY);
|
||||
MAKE_ENUM_VALUE(espcamera_grab_mode_type, grab_mode, LATEST, CAMERA_GRAB_LATEST);
|
||||
|
||||
MAKE_ENUM_MAP(esp32_camera_grab_mode) {
|
||||
MAKE_ENUM_MAP(espcamera_grab_mode) {
|
||||
MAKE_ENUM_MAP_ENTRY(grab_mode, WHEN_EMPTY),
|
||||
MAKE_ENUM_MAP_ENTRY(grab_mode, LATEST),
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_grab_mode_locals_dict, esp32_camera_grab_mode_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_grab_mode);
|
||||
MAKE_ENUM_TYPE(esp32_camera, GrabMode, esp32_camera_grab_mode);
|
||||
STATIC MP_DEFINE_CONST_DICT(espcamera_grab_mode_locals_dict, espcamera_grab_mode_locals_table);
|
||||
MAKE_PRINTER(espcamera, espcamera_grab_mode);
|
||||
MAKE_ENUM_TYPE(espcamera, GrabMode, espcamera_grab_mode);
|
||||
|
||||
camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_grab_mode_type, obj, arg_name);
|
||||
return cp_enum_value(&espcamera_grab_mode_type, obj, arg_name);
|
||||
}
|
||||
|
||||
//| class PixelFormat:
|
||||
@ -85,22 +86,22 @@ camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) {
|
||||
//| """A compressed format"""
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565);
|
||||
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, GRAYSCALE, PIXFORMAT_GRAYSCALE);
|
||||
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, JPEG, PIXFORMAT_JPEG);
|
||||
MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565);
|
||||
MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, GRAYSCALE, PIXFORMAT_GRAYSCALE);
|
||||
MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, JPEG, PIXFORMAT_JPEG);
|
||||
|
||||
MAKE_ENUM_MAP(esp32_camera_pixel_format) {
|
||||
MAKE_ENUM_MAP(espcamera_pixel_format) {
|
||||
MAKE_ENUM_MAP_ENTRY(pixel_format, RGB565),
|
||||
MAKE_ENUM_MAP_ENTRY(pixel_format, GRAYSCALE),
|
||||
MAKE_ENUM_MAP_ENTRY(pixel_format, JPEG),
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_pixel_format_locals_dict, esp32_camera_pixel_format_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_pixel_format);
|
||||
MAKE_ENUM_TYPE(esp32_camera, PixelFormat, esp32_camera_pixel_format);
|
||||
STATIC MP_DEFINE_CONST_DICT(espcamera_pixel_format_locals_dict, espcamera_pixel_format_locals_table);
|
||||
MAKE_PRINTER(espcamera, espcamera_pixel_format);
|
||||
MAKE_ENUM_TYPE(espcamera, PixelFormat, espcamera_pixel_format);
|
||||
|
||||
pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_pixel_format_type, obj, arg_name);
|
||||
return cp_enum_value(&espcamera_pixel_format_type, obj, arg_name);
|
||||
}
|
||||
|
||||
//| class FrameSize:
|
||||
@ -173,29 +174,29 @@ pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) {
|
||||
//| """2560x1920"""
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HD, FRAMESIZE_HD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, FHD, FRAMESIZE_FHD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_HD, FRAMESIZE_P_HD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_3MP, FRAMESIZE_P_3MP);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QXGA, FRAMESIZE_QXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, WQXGA, FRAMESIZE_WQXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_FHD, FRAMESIZE_P_FHD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QSXGA, FRAMESIZE_QSXGA);
|
||||
MAKE_ENUM_MAP(esp32_camera_frame_size) {
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HD, FRAMESIZE_HD);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, FHD, FRAMESIZE_FHD);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, P_HD, FRAMESIZE_P_HD);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, P_3MP, FRAMESIZE_P_3MP);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QXGA, FRAMESIZE_QXGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, WQXGA, FRAMESIZE_WQXGA);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, P_FHD, FRAMESIZE_P_FHD);
|
||||
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QSXGA, FRAMESIZE_QSXGA);
|
||||
MAKE_ENUM_MAP(espcamera_frame_size) {
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, R96X96),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, R240X240),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QQVGA),
|
||||
@ -220,12 +221,12 @@ MAKE_ENUM_MAP(esp32_camera_frame_size) {
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QSXGA),
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_frame_size_locals_dict, esp32_camera_frame_size_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_frame_size);
|
||||
MAKE_ENUM_TYPE(esp32_camera, FrameSize, esp32_camera_frame_size);
|
||||
STATIC MP_DEFINE_CONST_DICT(espcamera_frame_size_locals_dict, espcamera_frame_size_locals_table);
|
||||
MAKE_PRINTER(espcamera, espcamera_frame_size);
|
||||
MAKE_ENUM_TYPE(espcamera, FrameSize, espcamera_frame_size);
|
||||
|
||||
framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_frame_size_type, obj, arg_name);
|
||||
return cp_enum_value(&espcamera_frame_size_type, obj, arg_name);
|
||||
}
|
||||
|
||||
//| class GainCeiling:
|
||||
@ -242,15 +243,15 @@ framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) {
|
||||
//| GAIN_128X: GainCeiling
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_2X, GAINCEILING_2X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_4X, GAINCEILING_4X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_8X, GAINCEILING_8X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_16X, GAINCEILING_16X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_32X, GAINCEILING_32X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_64X, GAINCEILING_64X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_128X, GAINCEILING_128X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_2X, GAINCEILING_2X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_4X, GAINCEILING_4X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_8X, GAINCEILING_8X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_16X, GAINCEILING_16X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_32X, GAINCEILING_32X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_64X, GAINCEILING_64X);
|
||||
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_128X, GAINCEILING_128X);
|
||||
|
||||
MAKE_ENUM_MAP(esp32_camera_gain_ceiling) {
|
||||
MAKE_ENUM_MAP(espcamera_gain_ceiling) {
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_2X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_4X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_8X),
|
||||
@ -260,28 +261,28 @@ MAKE_ENUM_MAP(esp32_camera_gain_ceiling) {
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_128X)
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_gain_ceiling_locals_dict, esp32_camera_gain_ceiling_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_gain_ceiling);
|
||||
MAKE_ENUM_TYPE(esp32_camera, GainCeiling, esp32_camera_gain_ceiling);
|
||||
STATIC MP_DEFINE_CONST_DICT(espcamera_gain_ceiling_locals_dict, espcamera_gain_ceiling_locals_table);
|
||||
MAKE_PRINTER(espcamera, espcamera_gain_ceiling);
|
||||
MAKE_ENUM_TYPE(espcamera, GainCeiling, espcamera_gain_ceiling);
|
||||
|
||||
gainceiling_t validate_gain_ceiling(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_gain_ceiling_type, obj, arg_name);
|
||||
return cp_enum_value(&espcamera_gain_ceiling_type, obj, arg_name);
|
||||
}
|
||||
|
||||
STATIC const mp_rom_map_elem_t esp32_camera_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_esp32_camera) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&esp32_camera_camera_type), },
|
||||
{ MP_ROM_QSTR(MP_QSTR_FrameSize), &esp32_camera_frame_size_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GainCeiling), &esp32_camera_gain_ceiling_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GrabMode), &esp32_camera_grab_mode_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PixelFormat), &esp32_camera_pixel_format_type },
|
||||
STATIC const mp_rom_map_elem_t espcamera_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_espcamera) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&espcamera_camera_type), },
|
||||
{ MP_ROM_QSTR(MP_QSTR_FrameSize), &espcamera_frame_size_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GainCeiling), &espcamera_gain_ceiling_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GrabMode), &espcamera_grab_mode_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PixelFormat), &espcamera_pixel_format_type },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_module_globals, esp32_camera_module_globals_table);
|
||||
STATIC MP_DEFINE_CONST_DICT(espcamera_module_globals, espcamera_module_globals_table);
|
||||
|
||||
const mp_obj_module_t esp32_camera_module = {
|
||||
const mp_obj_module_t espcamera_module = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t *)&esp32_camera_module_globals,
|
||||
.globals = (mp_obj_dict_t *)&espcamera_module_globals,
|
||||
};
|
||||
|
||||
MP_REGISTER_MODULE(MP_QSTR_esp32_camera, esp32_camera_module, CIRCUITPY_ESP32_CAMERA);
|
||||
MP_REGISTER_MODULE(MP_QSTR_espcamera, espcamera_module, CIRCUITPY_ESPCAMERA);
|
@ -31,13 +31,13 @@
|
||||
|
||||
#include "esp_camera.h"
|
||||
|
||||
extern const mp_obj_type_t esp32_camera_grab_mode_type;
|
||||
extern const mp_obj_type_t espcamera_grab_mode_type;
|
||||
extern const cp_enum_obj_t grab_mode_WHEN_EMPTY_obj;
|
||||
extern const mp_obj_type_t esp32_camera_pixel_format_type;
|
||||
extern const mp_obj_type_t espcamera_pixel_format_type;
|
||||
extern const cp_enum_obj_t pixel_format_RGB565_obj;
|
||||
extern const mp_obj_type_t esp32_camera_frame_size_type;
|
||||
extern const mp_obj_type_t espcamera_frame_size_type;
|
||||
extern const cp_enum_obj_t frame_size_QQVGA_obj;
|
||||
extern const mp_obj_type_t esp32_camera_gain_ceiling_type;
|
||||
extern const mp_obj_type_t espcamera_gain_ceiling_type;
|
||||
|
||||
extern camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name);
|
||||
extern pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name);
|
@ -37,6 +37,7 @@
|
||||
//| """Direct access to a few ESP-IDF details. This module *should not* include any functionality
|
||||
//| that could be implemented by other frameworks. It should only include ESP-IDF specific
|
||||
//| things."""
|
||||
//|
|
||||
|
||||
//| def heap_caps_get_total_size() -> int:
|
||||
//| """Return the total size of the ESP-IDF, which includes the CircuitPython heap."""
|
||||
@ -72,7 +73,8 @@ MP_DEFINE_CONST_FUN_OBJ_0(espidf_heap_caps_get_largest_free_block_obj, espidf_he
|
||||
//| """Erase all data in the non-volatile storage (nvs), including data stored by with `microcontroller.nvm`
|
||||
//|
|
||||
//| This is necessary when upgrading from CircuitPython 6.3.0 or earlier to CircuitPython 7.0.0, because the
|
||||
//| layout of data in nvs has changed. The old data will be lost when you perform this operation."""
|
||||
//| layout of data in nvs has changed. The old data will be lost when you perform this operation.
|
||||
//| """
|
||||
//|
|
||||
STATIC mp_obj_t espidf_erase_nvs(void) {
|
||||
ESP_ERROR_CHECK(nvs_flash_deinit());
|
||||
|
51
ports/espressif/bindings/espulp/Architecture.c
Normal file
51
ports/espressif/bindings/espulp/Architecture.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2023 MicroDev
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "py/enum.h"
|
||||
|
||||
#include "bindings/espulp/Architecture.h"
|
||||
|
||||
MAKE_ENUM_VALUE(espulp_architecture_type, architecture, FSM, FSM);
|
||||
MAKE_ENUM_VALUE(espulp_architecture_type, architecture, RISCV, RISCV);
|
||||
|
||||
//| class Architecture:
|
||||
//| """The ULP architectures available."""
|
||||
//|
|
||||
//| FSM: Architecture
|
||||
//| """The ULP Finite State Machine."""
|
||||
//|
|
||||
//| RISCV: Architecture
|
||||
//| """The ULP RISC-V Coprocessor."""
|
||||
//|
|
||||
MAKE_ENUM_MAP(espulp_architecture) {
|
||||
MAKE_ENUM_MAP_ENTRY(architecture, FSM),
|
||||
MAKE_ENUM_MAP_ENTRY(architecture, RISCV),
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(espulp_architecture_locals_dict, espulp_architecture_locals_table);
|
||||
|
||||
MAKE_PRINTER(espulp, espulp_architecture);
|
||||
|
||||
MAKE_ENUM_TYPE(espulp, Architecture, espulp_architecture);
|
40
ports/espressif/bindings/espulp/Architecture.h
Normal file
40
ports/espressif/bindings/espulp/Architecture.h
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2023 MicroDev
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_BINDINGS_ESPULP_ARCHITECTURE_H
|
||||
#define MICROPY_INCLUDED_BINDINGS_ESPULP_ARCHITECTURE_H
|
||||
|
||||
#include "py/enum.h"
|
||||
|
||||
typedef enum {
|
||||
FSM,
|
||||
RISCV
|
||||
} espulp_architecture_t;
|
||||
|
||||
extern const mp_obj_type_t espulp_architecture_type;
|
||||
extern const cp_enum_obj_t architecture_FSM_obj;
|
||||
|
||||
#endif // MICROPY_INCLUDED_BINDINGS_ESPULP_ARCHITECTURE_H
|
@ -28,19 +28,35 @@
|
||||
#include "shared-bindings/util.h"
|
||||
#include "bindings/espulp/ULP.h"
|
||||
|
||||
#include "py/enum.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/objproperty.h"
|
||||
|
||||
//| class ULP:
|
||||
//| def __init__(self):
|
||||
//| def __init__(self, arch: Architecture = Architecture.FSM):
|
||||
//| """The ultra-low-power processor.
|
||||
//|
|
||||
//| Raises an exception if another ULP has been instantiated. This
|
||||
//| ensures that is is only used by one piece of code at a time."""
|
||||
//| ensures that is is only used by one piece of code at a time.
|
||||
//|
|
||||
//| :param Architecture arch: The ulp arch"""
|
||||
//| ...
|
||||
STATIC mp_obj_t espulp_ulp_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
|
||||
enum { ARG_arch };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_arch, MP_ARG_OBJ, {.u_obj = (void *)&architecture_FSM_obj} },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
const espulp_architecture_t arch = cp_enum_value(&espulp_architecture_type, args[ARG_arch].u_obj, MP_QSTR_arch);
|
||||
|
||||
espulp_ulp_obj_t *self = m_new_obj(espulp_ulp_obj_t);
|
||||
self->base.type = &espulp_ulp_type;
|
||||
common_hal_espulp_ulp_construct(self);
|
||||
|
||||
common_hal_espulp_ulp_construct(self, arch);
|
||||
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
|
||||
@ -124,7 +140,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(espulp_ulp_run_obj, 2, espulp_ulp_run);
|
||||
//| def halt(self) -> None:
|
||||
//| """Halts the running program and releases the pins given in `run()`."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t espulp_ulp_halt(mp_obj_t self_in) {
|
||||
espulp_ulp_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
check_for_deinit(self);
|
||||
@ -134,12 +149,27 @@ STATIC mp_obj_t espulp_ulp_halt(mp_obj_t self_in) {
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(espulp_ulp_halt_obj, espulp_ulp_halt);
|
||||
|
||||
//| arch: Architecture
|
||||
//| """The ulp architecture. (read-only)"""
|
||||
//|
|
||||
STATIC mp_obj_t espulp_ulp_get_arch(mp_obj_t self_in) {
|
||||
espulp_ulp_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
check_for_deinit(self);
|
||||
|
||||
return cp_enum_find(&espulp_architecture_type, self->arch);
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(espulp_ulp_get_arch_obj, espulp_ulp_get_arch);
|
||||
|
||||
MP_PROPERTY_GETTER(espulp_ulp_arch_obj,
|
||||
(mp_obj_t)&espulp_ulp_get_arch_obj);
|
||||
|
||||
STATIC const mp_rom_map_elem_t espulp_ulp_locals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&espulp_ulp_deinit_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&espulp_ulp___exit___obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_run), MP_ROM_PTR(&espulp_ulp_run_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_halt), MP_ROM_PTR(&espulp_ulp_halt_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&espulp_ulp_deinit_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&espulp_ulp___exit___obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_run), MP_ROM_PTR(&espulp_ulp_run_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_halt), MP_ROM_PTR(&espulp_ulp_halt_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_arch), MP_ROM_PTR(&espulp_ulp_arch_obj) },
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(espulp_ulp_locals_dict, espulp_ulp_locals_table);
|
||||
|
||||
|
@ -29,10 +29,9 @@
|
||||
#include "py/obj.h"
|
||||
#include "common-hal/espulp/ULP.h"
|
||||
|
||||
|
||||
extern const mp_obj_type_t espulp_ulp_type;
|
||||
|
||||
void common_hal_espulp_ulp_construct(espulp_ulp_obj_t *self);
|
||||
void common_hal_espulp_ulp_construct(espulp_ulp_obj_t *self, espulp_architecture_t arch);
|
||||
bool common_hal_espulp_ulp_deinited(espulp_ulp_obj_t *self);
|
||||
void common_hal_espulp_ulp_deinit(espulp_ulp_obj_t *self);
|
||||
|
||||
|
@ -27,25 +27,36 @@
|
||||
#include "bindings/espulp/ULPAlarm.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
#include "py/objproperty.h"
|
||||
|
||||
//| class ULPAlarm:
|
||||
//| """Trigger an alarm when the ULP requests wake-up."""
|
||||
//|
|
||||
//| def __init__(self) -> None:
|
||||
//| def __init__(self, ulp: ULP) -> None:
|
||||
//| """Create an alarm that will be triggered when the ULP requests wake-up.
|
||||
//|
|
||||
//| The alarm is not active until it is passed to an `alarm`-enabling function, such as
|
||||
//| `alarm.light_sleep_until_alarms()` or `alarm.exit_and_deep_sleep_until_alarms()`.
|
||||
//|
|
||||
//| """
|
||||
//| :param ULP ulp: The ulp instance"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t espulp_ulpalarm_make_new(const mp_obj_type_t *type,
|
||||
size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
|
||||
STATIC mp_obj_t espulp_ulpalarm_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
|
||||
enum { ARG_ulp };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_ulp, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
espulp_ulpalarm_obj_t *self = m_new_obj(espulp_ulpalarm_obj_t);
|
||||
self->base.type = &espulp_ulpalarm_type;
|
||||
common_hal_espulp_ulpalarm_construct(self);
|
||||
|
||||
espulp_ulp_obj_t *ulp = mp_arg_validate_type(args[ARG_ulp].u_obj, &espulp_ulp_type, MP_QSTR_ulp);
|
||||
|
||||
common_hal_espulp_ulpalarm_construct(self, ulp);
|
||||
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
|
||||
|
@ -30,4 +30,4 @@
|
||||
|
||||
extern const mp_obj_type_t espulp_ulpalarm_type;
|
||||
|
||||
void common_hal_espulp_ulpalarm_construct(espulp_ulpalarm_obj_t *self);
|
||||
void common_hal_espulp_ulpalarm_construct(espulp_ulpalarm_obj_t *self, espulp_ulp_obj_t *ulp);
|
||||
|
@ -25,9 +25,11 @@
|
||||
*/
|
||||
|
||||
#include "shared-bindings/util.h"
|
||||
|
||||
#include "bindings/espulp/__init__.h"
|
||||
#include "bindings/espulp/ULP.h"
|
||||
#include "bindings/espulp/ULPAlarm.h"
|
||||
#include "bindings/espulp/Architecture.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
|
||||
@ -80,6 +82,7 @@ STATIC const mp_rom_map_elem_t espulp_module_globals_table[] = {
|
||||
// module classes
|
||||
{ MP_ROM_QSTR(MP_QSTR_ULP), MP_OBJ_FROM_PTR(&espulp_ulp_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_ULPAlarm), MP_OBJ_FROM_PTR(&espulp_ulpalarm_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Architecture), MP_ROM_PTR(&espulp_architecture_type) },
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(espulp_module_globals, espulp_module_globals_table);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x8128
|
||||
USB_PID = 0x80EE
|
||||
|
||||
USB_PRODUCT = "Feather ESP32-S2 Reverse TFT"
|
||||
USB_MANUFACTURER = "Adafruit"
|
||||
|
@ -67,6 +67,10 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
@ -1,15 +0,0 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x80EE
|
||||
USB_PRODUCT = "Feather ESP32S2 TFT no PSRAM"
|
||||
USB_MANUFACTURER = "Adafruit"
|
||||
|
||||
IDF_TARGET = esp32s2
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
@ -1,75 +0,0 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO4) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_BACKLIGHT), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_L), MP_ROM_PTR(&pin_GPIO13) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO14) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO16) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL_POWER), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO33) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO38) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_RESET), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_GPIO42) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
|
||||
// { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
@ -1,6 +0,0 @@
|
||||
# CONFIG_ESP32S2_SPIRAM_SUPPORT is not set
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
|
||||
# end of LWIP
|
@ -10,4 +10,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
OPTIMIZATION_FLAGS = -Os
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -8,4 +8,4 @@ IDF_TARGET = esp32s3
|
||||
CIRCUITPY_ESP_FLASH_MODE = qio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 8MB
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -67,6 +67,10 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
@ -11,4 +11,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
OPTIMIZATION_FLAGS = -Os
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -6,4 +6,4 @@ IDF_TARGET = esp32
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -9,7 +9,7 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase
|
||||
|
@ -9,7 +9,7 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase
|
||||
|
@ -13,4 +13,4 @@ CIRCUITPY_ESP_FLASH_SIZE = 8MB
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -30,6 +30,7 @@
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
// #define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
|
||||
#define MICROPY_HW_LED_STATUS (&pin_GPIO0)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO16)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO15)
|
||||
|
39
ports/espressif/boards/brainboardz_neuron/board.c
Executable file
39
ports/espressif/boards/brainboardz_neuron/board.c
Executable file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif
|
||||
}
|
||||
|
||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
33
ports/espressif/boards/brainboardz_neuron/mpconfigboard.h
Executable file
33
ports/espressif/boards/brainboardz_neuron/mpconfigboard.h
Executable file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Neuron"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S3"
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
11
ports/espressif/boards/brainboardz_neuron/mpconfigboard.mk
Executable file
11
ports/espressif/boards/brainboardz_neuron/mpconfigboard.mk
Executable file
@ -0,0 +1,11 @@
|
||||
USB_VID = 0x303A
|
||||
USB_PID = 0x80C8
|
||||
|
||||
USB_PRODUCT = "Neuron"
|
||||
USB_MANUFACTURER = "BrainBoardz"
|
||||
|
||||
IDF_TARGET = esp32s3
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=8MB
|
68
ports/espressif/boards/brainboardz_neuron/pins.c
Executable file
68
ports/espressif/boards/brainboardz_neuron/pins.c
Executable file
@ -0,0 +1,68 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BT), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO9) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_MISO), MP_ROM_PTR(&pin_GPIO13) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_CLK), MP_ROM_PTR(&pin_GPIO14) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_MOSI), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO16) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
34
ports/espressif/boards/brainboardz_neuron/sdkconfig
Executable file
34
ports/espressif/boards/brainboardz_neuron/sdkconfig
Executable file
@ -0,0 +1,34 @@
|
||||
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_MODE_QUAD is not set
|
||||
CONFIG_SPIRAM_MODE_OCT=y
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
|
||||
CONFIG_SPIRAM_SIZE=8388608
|
||||
# end of SPI RAM config
|
||||
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
#
|
||||
# PSRAM Clock and CS IO for ESP32S3
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM Clock and CS IO for ESP32S3
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
CONFIG_SPIRAM_SPEED_80M=y
|
||||
# CONFIG_SPIRAM_SPEED_40M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="BrainBoardzNeuron"
|
||||
# end of LWIP
|
@ -6,7 +6,7 @@ IDF_TARGET = esp32
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 8MB
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
||||
# Include these Python libraries in firmware
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
|
||||
|
@ -6,4 +6,4 @@ IDF_TARGET = esp32
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -10,4 +10,4 @@ CIRCUITPY_NEOPIXEL_WRITE = 0
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -8,4 +8,4 @@ IDF_TARGET = esp32s2
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -9,4 +9,4 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 16MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -9,4 +9,4 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 16MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
CIRCUITPY_ESPCAMERA = 0
|
||||
|
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
@ -26,19 +26,14 @@
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Feather ESP32S2 without PSRAM"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
#define MICROPY_HW_BOARD_NAME "ESP32-S3-DevKitC-1-N32R8"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S3"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO21)
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO48)
|
||||
|
||||
#define MICROPY_HW_LED_STATUS (&pin_GPIO13)
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO3)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)
|
||||
|
||||
#define DOUBLE_TAP_PIN (&pin_GPIO34)
|
||||
#define AUTORESET_DELAY_MS 500
|
@ -0,0 +1,10 @@
|
||||
USB_VID = 0x303A
|
||||
USB_PID = 0x7003
|
||||
USB_PRODUCT = "ESP32-S3-DevKitC-1-N32R8"
|
||||
USB_MANUFACTURER = "Espressif"
|
||||
|
||||
IDF_TARGET = esp32s3
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dout
|
||||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=32MB
|
@ -0,0 +1,49 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO48) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
@ -0,0 +1,77 @@
|
||||
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_MODE_QUAD is not set
|
||||
CONFIG_SPIRAM_MODE_OCT=y
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
|
||||
CONFIG_SPIRAM_SIZE=8388608
|
||||
# end of SPI RAM config
|
||||
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
#
|
||||
# PSRAM Clock and CS IO for ESP32S3
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM Clock and CS IO for ESP32S3
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
CONFIG_SPIRAM_SPEED_80M=y
|
||||
# CONFIG_SPIRAM_SPEED_40M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
|
||||
#
|
||||
# Serial flasher config
|
||||
#
|
||||
CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
|
||||
# CONFIG_ESPTOOLPY_NO_STUB is not set
|
||||
CONFIG_ESPTOOLPY_OCT_FLASH=y
|
||||
CONFIG_ESPTOOLPY_FLASHMODE_OPI=y
|
||||
# CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR is not set
|
||||
CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR=y
|
||||
CONFIG_ESPTOOLPY_FLASHMODE="dout"
|
||||
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
|
||||
# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
|
||||
CONFIG_ESPTOOLPY_FLASHFREQ="80m"
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE="32MB"
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
|
||||
CONFIG_ESPTOOLPY_BEFORE_RESET=y
|
||||
# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
|
||||
CONFIG_ESPTOOLPY_BEFORE="default_reset"
|
||||
CONFIG_ESPTOOLPY_AFTER_RESET=y
|
||||
# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
|
||||
CONFIG_ESPTOOLPY_AFTER="hard_reset"
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set
|
||||
CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set
|
||||
# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set
|
||||
CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200
|
||||
CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
|
||||
# end of Serial flasher config
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3"
|
||||
# end of LWIP
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user