Merge branch 'main' into gif_displayio_support

This commit is contained in:
Mark 2023-02-13 18:30:51 -06:00 committed by GitHub
commit fa435468fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
268 changed files with 2870 additions and 1794 deletions

View 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

View File

@ -16,9 +16,6 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true cancel-in-progress: true
env:
CACHE_SUBMODULES: "['extmod/ulab', 'lib/', 'tools/']"
jobs: jobs:
test: test:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
@ -28,7 +25,7 @@ jobs:
boards-arm: ${{ steps.set-matrix.outputs.boards-arm }} boards-arm: ${{ steps.set-matrix.outputs.boards-arm }}
boards-espressif: ${{ steps.set-matrix.outputs.boards-espressif }} boards-espressif: ${{ steps.set-matrix.outputs.boards-espressif }}
boards-riscv: ${{ steps.set-matrix.outputs.boards-riscv }} 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: steps:
- name: Dump GitHub context - name: Dump GitHub context
run: echo "$GITHUB_CONTEXT" run: echo "$GITHUB_CONTEXT"
@ -45,28 +42,12 @@ jobs:
python-version: "3.x" python-version: "3.x"
- name: Duplicate USB VID/PID check - name: Duplicate USB VID/PID check
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
- name: Create submodule status - name: Set up submodules
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status id: set-up-submodules
- name: Cache submodules uses: ./.github/actions/fetch_submodules
uses: actions/cache@v3
with: with:
path: ".git/modules/\n${{ join(fromJSON(env.CACHE_SUBMODULES), '\n') }}" cache: "cache"
key: submodules-common-${{ hashFiles('submodule_status') }} version: true
- 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
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
@ -202,17 +183,8 @@ jobs:
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.x" python-version: "3.x"
- name: Create submodule status - name: Set up submodules
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status uses: ./.github/actions/fetch_submodules
- 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: Versions - name: Versions
run: | run: |
gcc --version gcc --version
@ -260,21 +232,12 @@ jobs:
with: with:
submodules: false submodules: false
fetch-depth: 1 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 - name: Set up python
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.x" python-version: "3.x"
- name: Set up submodules
uses: ./.github/actions/fetch_submodules
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
@ -343,16 +306,9 @@ jobs:
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.x" python-version: "3.x"
- name: Create submodule status - name: Set up submodules
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status id: set-up-submodules
- name: Restore submodules uses: ./.github/actions/fetch_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: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get install -y gettext mtools sudo apt-get install -y gettext mtools
@ -379,7 +335,7 @@ jobs:
python3 --version python3 --version
mkfs.fat --version || true mkfs.fat --version || true
- name: Build mpy-cross - 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 run: make -C mpy-cross -j2
- name: Setup build failure matcher - name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json" run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
@ -425,16 +381,9 @@ jobs:
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.x" python-version: "3.x"
- name: Create submodule status - name: Set up submodules
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status id: set-up-submodules
- name: Restore submodules uses: ./.github/actions/fetch_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 }}
- uses: carlosperate/arm-none-eabi-gcc-action@v1 - uses: carlosperate/arm-none-eabi-gcc-action@v1
with: with:
release: '10-2020-q4' release: '10-2020-q4'
@ -448,7 +397,7 @@ jobs:
arm-none-eabi-gcc --version arm-none-eabi-gcc --version
python3 --version python3 --version
- name: Build mpy-cross - 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 run: make -C mpy-cross -j2
- name: Setup build failure matcher - name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json" 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 }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
build-espressif: build-espressif:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
needs: test needs: test
@ -498,13 +446,6 @@ jobs:
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.10" 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 - name: Get IDF commit
id: idf-commit id: idf-commit
run: | run: |
@ -518,19 +459,13 @@ jobs:
.git/modules/ports/espressif/esp-idf .git/modules/ports/espressif/esp-idf
ports/espressif/esp-idf ports/espressif/esp-idf
key: submodules-idf-${{ steps.idf-commit.outputs.commit }} 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 - name: Cache IDF tools
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: ${{ env.IDF_TOOLS_PATH }} path: ${{ env.IDF_TOOLS_PATH }}
key: ${{ runner.os }}-Python-${{ steps.setup-python.outputs.python-version }}-tools-idf-${{ steps.idf-commit.outputs.commit }} key: ${{ runner.os }}-Python-${{ steps.setup-python.outputs.python-version }}-tools-idf-${{ steps.idf-commit.outputs.commit }}
- name: Clone IDF submodules - name: Initialize IDF submodules
run: git submodule update --init --depth=1 run: git submodule update --init --depth=1 --recursive $IDF_PATH
working-directory: ${{ env.IDF_PATH }}
- name: Install IDF tools - name: Install IDF tools
run: | run: |
echo "Installing ESP-IDF tools" echo "Installing ESP-IDF tools"
@ -539,6 +474,9 @@ jobs:
echo "Installing Python environment and packages" echo "Installing Python environment and packages"
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env $IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
rm -rf $IDF_TOOLS_PATH/dist rm -rf $IDF_TOOLS_PATH/dist
- name: Set up submodules
id: set-up-submodules
uses: ./.github/actions/fetch_submodules
- name: Install dependencies - name: Install dependencies
run: | run: |
source $IDF_PATH/export.sh source $IDF_PATH/export.sh
@ -552,7 +490,7 @@ jobs:
ninja --version ninja --version
cmake --version cmake --version
- name: Build mpy-cross - 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 run: make -C mpy-cross -j2
- name: Setup build failure matcher - name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json" run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
@ -600,16 +538,9 @@ jobs:
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.x" python-version: "3.x"
- name: Create submodule status - name: Set up submodules
run: git submodule status ${{ join(fromJSON(env.CACHE_SUBMODULES), ' ') }} >> submodule_status id: set-up-submodules
- name: Restore submodules uses: ./.github/actions/fetch_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: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get install -y gettext sudo apt-get install -y gettext
@ -622,7 +553,7 @@ jobs:
riscv64-unknown-elf-gcc --version riscv64-unknown-elf-gcc --version
python3 --version python3 --version
- name: Build mpy-cross - 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 run: make -C mpy-cross -j2
- name: Setup build failure matcher - name: Setup build failure matcher
run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json" run: echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"

View File

@ -25,19 +25,10 @@ jobs:
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: "3.x" python-version: "3.x"
- name: CircuitPython dependencies - name: Set up submodules
run: | uses: ./.github/actions/fetch_submodules
python tools/ci_fetch_deps.py ${{ github.job }} with:
echo "::group::Fetch history and tags" version: true
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: Install dependencies - name: Install dependencies
run: pip install -r requirements-dev.txt run: pip install -r requirements-dev.txt
- name: Versions - name: Versions

View File

@ -7,8 +7,12 @@ on:
jobs: jobs:
notify: notify:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
issues: write
steps: steps:
- uses: jenschelkopf/issue-label-notification-action@1.3 - uses: tekktrik/issue-labeled-ping@v1
with: with:
recipients: | github-token: ${{ secrets.GITHUB_TOKEN }}
ulab=@v923z user: v923z
label: ulab
message: Heads up {user} - the "{label}" label was applied to this issue.

View File

@ -19,7 +19,7 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
build: windows:
runs-on: windows-2022 runs-on: windows-2022
defaults: defaults:
run: run:
@ -75,31 +75,11 @@ jobs:
with: with:
submodules: false submodules: false
fetch-depth: 1 fetch-depth: 1
- name: Create submodule status
run: git submodule status extmod/ulab lib/ tools/ >> submodule_status - name: Set up submodules
- name: Restore submodules uses: ./.github/actions/fetch_submodules
uses: actions/cache/restore@v3
with: with:
path: | version: true
.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
- name: build mpy-cross - name: build mpy-cross
run: make -j2 -C mpy-cross run: make -j2 -C mpy-cross

View File

@ -14,7 +14,7 @@ build:
python: "3" python: "3"
jobs: jobs:
post_install: post_install:
- python tools/ci_fetch_deps.py docs HEAD - python tools/ci_fetch_deps.py build-doc
formats: formats:
- pdf - pdf

View File

@ -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 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

View File

@ -671,6 +671,7 @@ msgstr "Pin bus %d sudah digunakan"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2509,6 +2510,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2937,6 +2942,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2978,9 +2987,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "error = 0x%08lX" msgstr "error = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3357,7 +3366,7 @@ msgstr "key tidak valid"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "micropython decorator tidak valid" msgstr "micropython decorator tidak valid"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3614,7 +3623,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3751,6 +3760,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -663,6 +663,7 @@ msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2478,6 +2479,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2906,6 +2911,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2947,9 +2956,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3326,7 +3335,7 @@ msgstr ""
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3583,7 +3592,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3719,6 +3728,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2496,6 +2497,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2924,6 +2929,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2965,9 +2974,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3344,7 +3353,7 @@ msgstr ""
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3601,7 +3610,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3737,6 +3746,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -675,6 +675,7 @@ msgstr "Bus-Pin %d wird schon benutzt"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "Beim Starten wurde Taste A gedrückt.\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" msgid "array has too many dimensions"
msgstr "Das Array hat zu viele Dimensionen" 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 #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2994,6 +2999,10 @@ msgstr "Abmessungen stimmen nicht überein"
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "div/mod für uint nicht implementiert" 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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "Division durch Null" msgstr "Division durch Null"
@ -3035,13 +3044,11 @@ msgstr "epoch_time wird auf diesem Board nicht unterstützt"
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "Fehler = 0x%08lX" msgstr "Fehler = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" 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 #: py/runtime.c
msgid "exceptions must derive from BaseException" msgid "exceptions must derive from BaseException"
@ -3418,7 +3425,7 @@ msgstr "ungültiger Schlüssel"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "ungültiger 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" msgid "invalid setting"
msgstr "Invalide Einstellung" msgstr "Invalide Einstellung"
@ -3681,7 +3688,7 @@ msgstr "kein Reset Pin verfügbar"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "keine Antwort von der SD-Karte" 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" msgid "no such attribute"
msgstr "kein solches Attribut" msgstr "kein solches Attribut"
@ -3819,6 +3826,10 @@ msgstr "nur eine bit_depth=16 wird unterstützt"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "nur Mono wird unterstützt" 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 #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""
@ -4431,6 +4442,13 @@ msgstr "zi muss eine Gleitkommazahl sein"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi muss die Form (n_section, 2) haben" 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" #~ msgid "%q must be of type %q"
#~ msgstr "%q muss vom Type %q sein" #~ 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" #~ msgid "complex division by zero"
#~ msgstr "Komplexe Division durch null" #~ msgstr "Komplexe Division durch null"
#~ msgid "divide by zero"
#~ msgstr "durch Null dividieren"
#~ msgid "int() arg 2 must be >= 2 and <= 36" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 muss >= 2 und <= 36 sein" #~ msgstr "int() arg 2 muss >= 2 und <= 36 sein"

View File

@ -678,6 +678,7 @@ msgstr "Bus pin %d είναι ήδη σε χρήση"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2505,6 +2506,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2933,6 +2938,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2974,9 +2983,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3353,7 +3362,7 @@ msgstr ""
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3610,7 +3619,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3746,6 +3755,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2512,6 +2513,10 @@ msgstr "array and index length must be equal"
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2943,6 +2948,10 @@ msgstr "dimensions do not match"
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "division by zero" msgstr "division by zero"
@ -2984,9 +2993,9 @@ msgstr "epoch_time not supported on this board"
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "error = 0x%08lX" msgstr "error = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3363,7 +3372,7 @@ msgstr "invalid key"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "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" msgid "invalid setting"
msgstr "" msgstr ""
@ -3620,7 +3629,7 @@ msgstr "no reset pin available"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "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" msgid "no such attribute"
msgstr "no such attribute" msgstr "no such attribute"
@ -3756,6 +3765,10 @@ msgstr "only bit_depth=16 is supported"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""
@ -4407,9 +4420,6 @@ msgstr "zi must be of shape (n_section, 2)"
#~ msgid "complex division by zero" #~ msgid "complex division by zero"
#~ msgstr "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" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 must be >= 2 and <= 36" #~ msgstr "int() arg 2 must be >= 2 and <= 36"

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\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" "Last-Translator: Jose David M <jquintana202020@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\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 #: main.c
msgid "" 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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "Botón A fue presionado al inicio.\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" msgid "array has too many dimensions"
msgstr "La matriz tiene demasiadas dimensiones" 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 #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2997,6 +3002,10 @@ msgstr "las dimensiones no concuerdan"
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "div/mod no implementado para 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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "división por cero" msgstr "división por cero"
@ -3038,13 +3047,13 @@ msgstr "epoch_time no esta soportado en esta tarjeta"
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "error = 0x%08lX" msgstr "error = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
"esp32_camera. la camara necesita PSRAM reservada para ser configurada. Vea " "espcamera. La cámara requiere una configuración de PSRAM reservada. "
"la documentacion para mas instrucciones." "Refiérase a la documentación para más instrucciones."
#: py/runtime.c #: py/runtime.c
msgid "exceptions must derive from BaseException" msgid "exceptions must derive from BaseException"
@ -3419,7 +3428,7 @@ msgstr "llave inválida"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "decorador de micropython inválido" msgstr "decorador de micropython inválido"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "configuracion invalida" msgstr "configuracion invalida"
@ -3680,7 +3689,7 @@ msgstr "no hay pin de reinicio disponible"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "no hay respuesta de la tarjeta SD" 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" msgid "no such attribute"
msgstr "no hay tal atributo" msgstr "no hay tal atributo"
@ -3819,6 +3828,10 @@ msgstr "solo se admite bit_depth=16"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "solamente mono esta suportado" 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 #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "solamente oversample=64 esta soportado" 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)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi debe ser una forma (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" #~ msgid "%q must be of type %q"
#~ msgstr "%q debe ser de typo %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" #~ msgid "complex division by zero"
#~ msgstr "división compleja por cero" #~ msgstr "división compleja por cero"
#~ msgid "divide by zero"
#~ msgstr "divide por cero"
#~ msgid "int() arg 2 must be >= 2 and <= 36" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 debe ser >= 2 y <= 36" #~ msgstr "int() arg 2 debe ser >= 2 y <= 36"

View File

@ -668,6 +668,7 @@ msgstr "Ginagamit na ang DAC"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2496,6 +2497,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2935,6 +2940,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "dibisyon ng zero" msgstr "dibisyon ng zero"
@ -2976,9 +2985,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3356,7 +3365,7 @@ msgstr "mali ang key"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "mali ang 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" msgid "invalid setting"
msgstr "" msgstr ""
@ -3617,7 +3626,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "walang ganoon na attribute" msgstr "walang ganoon na attribute"
@ -3754,6 +3763,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "Le bouton A était pressé au démarrage.\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" msgid "array has too many dimensions"
msgstr "la tableau à trop de 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 #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -3021,6 +3026,10 @@ msgstr "les dimensions ne correspondent pas"
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "div/mod ne sont pas implémentés pour 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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "division par zéro" msgstr "division par zéro"
@ -3062,13 +3071,11 @@ msgstr "epoch_time n'est pas supporté sur ce panneau"
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "erreur = 0x%08lX" msgstr "erreur = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
"esp32_camera.Camera nécessite la configuration de PSRAM réservée. Se référer "
"à la documentation."
#: py/runtime.c #: py/runtime.c
msgid "exceptions must derive from BaseException" msgid "exceptions must derive from BaseException"
@ -3445,7 +3452,7 @@ msgstr "clé invalide"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "décorateur micropython invalide" msgstr "décorateur micropython invalide"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "réglage invalide" msgstr "réglage invalide"
@ -3707,7 +3714,7 @@ msgstr "pas de broche de réinitialisation disponible"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "pas de réponse de la carte SD" 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" msgid "no such attribute"
msgstr "pas de tel attribut" msgstr "pas de tel attribut"
@ -3846,6 +3853,10 @@ msgstr "seul bit_depth = 16 est pris en charge"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""
@ -4456,6 +4467,13 @@ msgstr "zi doit être de type float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi doit être de forme (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" #~ msgid "%q must be of type %q"
#~ msgstr "%q doit être du 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" #~ msgid "complex division by zero"
#~ msgstr "division complexe par zéro" #~ msgstr "division complexe par zéro"
#~ msgid "divide by zero"
#~ msgstr "division par zéro"
#~ msgid "int() arg 2 must be >= 2 and <= 36" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "" #~ msgstr ""
#~ "Le deuxième argument de int() doit être compris entre 2 et 36 inclus" #~ "Le deuxième argument de int() doit être compris entre 2 et 36 inclus"

View File

@ -663,6 +663,7 @@ msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2478,6 +2479,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2906,6 +2911,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2947,9 +2956,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3326,7 +3335,7 @@ msgstr ""
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3583,7 +3592,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3719,6 +3728,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -675,6 +675,7 @@ msgstr "Bus pin %d è già in uso"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2506,6 +2507,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2943,6 +2948,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "divisione per zero" msgstr "divisione per zero"
@ -2984,9 +2993,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "errore = 0x%08lX" msgstr "errore = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3364,7 +3373,7 @@ msgstr "chiave non valida"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "decoratore non valido in micropython" msgstr "decoratore non valido in micropython"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3626,7 +3635,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "attributo inesistente" msgstr "attributo inesistente"
@ -3765,6 +3774,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -675,6 +675,7 @@ msgstr "Busピン%dはすでに使用中"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2498,6 +2499,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2930,6 +2935,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "ゼロ除算 (division by zero)" msgstr "ゼロ除算 (division by zero)"
@ -2971,9 +2980,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "error = 0x1%08lX" msgstr "error = 0x1%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3351,7 +3360,7 @@ msgstr "不正な鍵"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "不正なmicropythonデコレータ" msgstr "不正なmicropythonデコレータ"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3608,7 +3617,7 @@ msgstr "利用可能なリセットピンがありません"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "SDカードからの応答がありません" 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" msgid "no such attribute"
msgstr "指定の属性はありません" msgstr "指定の属性はありません"
@ -3744,6 +3753,10 @@ msgstr "bit_depth=16のみ対応しています"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -666,6 +666,7 @@ msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2482,6 +2483,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2910,6 +2915,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2951,9 +2960,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3330,7 +3339,7 @@ msgstr "키가 유효하지 않습니다"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3587,7 +3596,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3723,6 +3732,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -668,6 +668,7 @@ msgstr "Bus pin %d al in gebruik"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2508,6 +2509,10 @@ msgstr "array en indexlengte moeten gelijk zijn"
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2939,6 +2944,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "deling door nul" msgstr "deling door nul"
@ -2980,9 +2989,9 @@ msgstr "epoch_time niet ondersteund op dit bord"
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "fout = 0x%08lX" msgstr "fout = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3360,7 +3369,7 @@ msgstr "ongeldige sleutel"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "ongeldige micropython decorator" msgstr "ongeldige micropython decorator"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3620,7 +3629,7 @@ msgstr "geen reset pin beschikbaar"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "geen antwoord van SD kaart" 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" msgid "no such attribute"
msgstr "niet zo'n attribuut" msgstr "niet zo'n attribuut"
@ -3756,6 +3765,10 @@ msgstr "alleen bit_depth=16 wordt ondersteund"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "" msgstr ""
@ -2489,6 +2490,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2918,6 +2923,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "dzielenie przez zero" msgstr "dzielenie przez zero"
@ -2959,9 +2968,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "błąd = 0x%08lX" msgstr "błąd = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3338,7 +3347,7 @@ msgstr "zły klucz"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "zły dekorator micropythona" msgstr "zły dekorator micropythona"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3595,7 +3604,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "nie ma takiego atrybutu" msgstr "nie ma takiego atrybutu"
@ -3731,6 +3740,10 @@ msgstr "obsługiwane jest tylko bit_depth=16"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\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" "Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\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 #: main.c
msgid "" 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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "O botão A foi pressionado na inicialização.\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" msgid "array has too many dimensions"
msgstr "a matriz possui muitas dimensões" 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 #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" 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" msgid "div/mod not implemented for uint"
msgstr "div/mod não implementado para 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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "divisão por 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" msgid "error = 0x%08lX"
msgstr "erro = 0x%08lX" msgstr "erro = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
"esp32_camera.Camera requer que uma reserva PSRAM seja configurada. Consulte " "O espcamera.Camera requer que o PSRAM seja reservado para que possa ser "
"a documentação para obter mais informações." "configurado. Consulte a documentação para obter mais informações."
#: py/runtime.c #: py/runtime.c
msgid "exceptions must derive from BaseException" msgid "exceptions must derive from BaseException"
@ -3421,7 +3430,7 @@ msgstr "chave inválida"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "o decorador micropython é inválido" msgstr "o decorador micropython é inválido"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "configuração inválida" msgstr "configuração inválida"
@ -3683,7 +3692,7 @@ msgstr "nenhum pino de redefinição está disponível"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "não houve resposta do cartão SD" 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" msgid "no such attribute"
msgstr "não há tal atributo" msgstr "não há tal atributo"
@ -3819,6 +3828,10 @@ msgstr "apenas bit_depth = 16 é compatível"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "Apenas o mono é compatível" 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 #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "apenas oversample=64 é compatível" 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)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi deve estar na forma (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" #~ msgid "%q must be of type %q"
#~ msgstr "%q deve ser do tipo %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" #~ msgid "complex division by zero"
#~ msgstr "divisão complexa por zero" #~ msgstr "divisão complexa por zero"
#~ msgid "divide by zero"
#~ msgstr "divido por zero"
#~ msgid "int() arg 2 must be >= 2 and <= 36" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 deve ser >= 2 e <= 36" #~ msgstr "int() arg 2 deve ser >= 2 e <= 36"

View File

@ -680,6 +680,7 @@ msgstr "Пин шины %d уже используется"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "Кнопка A была нажата при загрузке\n" msgstr "Кнопка A была нажата при загрузке\n"
@ -2546,6 +2547,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2974,6 +2979,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -3015,9 +3024,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3394,7 +3403,7 @@ msgstr ""
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3651,7 +3660,7 @@ msgstr "нет доступного контакта сброса"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3787,6 +3796,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\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" "Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n" "Language: sv\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\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 #: main.c
msgid "" msgid ""
@ -675,6 +675,7 @@ msgstr "Busspinne %d används redan"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "Knapp A trycktes ned vid start.\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" msgid "array has too many dimensions"
msgstr "array har för många dimensioner" 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 #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2967,6 +2972,10 @@ msgstr "dimensioner matchar inte"
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "div/mod inte implementerat för 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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "division med noll" msgstr "division med noll"
@ -3008,12 +3017,12 @@ msgstr "epoch_time stöds inte av detta kort"
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "fel = 0x%08lX" msgstr "fel = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" 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." "dokumentationen för instruktioner."
#: py/runtime.c #: py/runtime.c
@ -3389,7 +3398,7 @@ msgstr "ogiltig nyckel"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "ogiltig mikropython-dekorator" msgstr "ogiltig mikropython-dekorator"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "ogiltig inställning" msgstr "ogiltig inställning"
@ -3649,7 +3658,7 @@ msgstr "ingen reset-pinne tillgänglig"
msgid "no response from SD card" msgid "no response from SD card"
msgstr "inget svar från SD-kort" 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" msgid "no such attribute"
msgstr "inget sådant attribut" msgstr "inget sådant attribut"
@ -3785,6 +3794,10 @@ msgstr "bara bit_depth=16 stöds"
msgid "only mono is supported" msgid "only mono is supported"
msgstr "endast mono stöds" 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 #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "endast oversample=64 stöds" 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)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi måste vara i formen (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" #~ msgid "%q must be of type %q"
#~ msgstr "%q måste vara av typen %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" #~ msgid "complex division by zero"
#~ msgstr "komplex division med noll" #~ msgstr "komplex division med noll"
#~ msgid "divide by zero"
#~ msgstr "division med noll"
#~ msgid "int() arg 2 must be >= 2 and <= 36" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 måste vara >= 2 och <= 36" #~ msgstr "int() arg 2 måste vara >= 2 och <= 36"

View File

@ -678,6 +678,7 @@ msgstr "Veriyolu pini %d kullanımda"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h #: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "Başlatma sırasında A düğmesine basıldı.\n" msgstr "Başlatma sırasında A düğmesine basıldı.\n"
@ -2504,6 +2505,10 @@ msgstr ""
msgid "array has too many dimensions" msgid "array has too many dimensions"
msgstr "" msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" msgid "array/bytes required on right side"
@ -2932,6 +2937,10 @@ msgstr ""
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr ""
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "" msgstr ""
@ -2973,9 +2982,9 @@ msgstr ""
msgid "error = 0x%08lX" msgid "error = 0x%08lX"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" msgstr ""
@ -3352,7 +3361,7 @@ msgstr ""
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "" msgstr ""
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting" msgid "invalid setting"
msgstr "" msgstr ""
@ -3609,7 +3618,7 @@ msgstr ""
msgid "no response from SD card" msgid "no response from SD card"
msgstr "" 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" msgid "no such attribute"
msgstr "" msgstr ""
@ -3745,6 +3754,10 @@ msgstr ""
msgid "only mono is supported" msgid "only mono is supported"
msgstr "" msgstr ""
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "" msgstr ""

View File

@ -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_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/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" msgid "Button A was pressed at start up.\n"
msgstr "qǐ dòng shí àn xià àn niǔ A.\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 #: py/obj.c
msgid "During handling of the above exception, another exception occurred:" 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 #: shared-bindings/aesio/aes.c
msgid "ECB only operates on 16 bytes at a time" 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" msgid "array has too many dimensions"
msgstr "shùzǔ yǒu tài duō wéidù" 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 #: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c #: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side" 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" msgid "div/mod not implemented for uint"
msgstr "div/ mó zǔ wèi wéi wèi shí xiàn" 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 #: py/runtime.c
msgid "division by zero" msgid "division by zero"
msgstr "bèi líng chú" 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" msgid "error = 0x%08lX"
msgstr "cuòwù = 0x%08lX" msgstr "cuòwù = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c #: ports/espressif/common-hal/espcamera/Camera.c
msgid "" 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." "documentation for instructions."
msgstr "" 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 #: py/runtime.c
msgid "exceptions must derive from BaseException" msgid "exceptions must derive from BaseException"
@ -3395,7 +3403,7 @@ msgstr "wúxiào de mì yào"
msgid "invalid micropython decorator" msgid "invalid micropython decorator"
msgstr "wúxiào de MicroPython zhuāngshì qì" 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" msgid "invalid setting"
msgstr "shèzhì wúxiào" 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" msgid "no response from SD card"
msgstr "SD kǎ wú huíyīng" 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" msgid "no such attribute"
msgstr "méiyǒu cǐ shǔxìng" 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" msgid "only mono is supported"
msgstr "jǐn zhī chí dān shēng dào" 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 #: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported" msgid "only oversample=64 is supported"
msgstr "jǐn zhī chí guò cǎi yàng =64" 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)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi bìxū jùyǒu xíngzhuàng (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" #~ msgid "%q must be of type %q"
#~ msgstr "%q bì xū shì %q lèi xíng" #~ 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" #~ msgid "complex division by zero"
#~ msgstr "fùzá de fēngé wèi 0" #~ 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" #~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "zhěngshù() cānshù 2 bìxū > = 2 qiě <= 36" #~ msgstr "zhěngshù() cānshù 2 bìxū > = 2 qiě <= 36"

View File

@ -11,6 +11,7 @@ LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_ANALOGIO = 0
CIRCUITPY_ALARM = 0 CIRCUITPY_ALARM = 0
CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOMP3 = 0 CIRCUITPY_AUDIOMP3 = 0
@ -31,15 +32,14 @@ CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CIRCUITPY_SAMD = 0 CIRCUITPY_SAMD = 0
CIRCUITPY_TOUCHIO = 0 CIRCUITPY_TOUCHIO = 0
CIRCUITPY_USB_CDC = 0
CIRCUITPY_USB_HID = 0 CIRCUITPY_USB_HID = 0
CIRCUITPY_USB_MIDI = 0 CIRCUITPY_USB_MIDI = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0
CIRCUITPY_BUSDEVICE = 0 CIRCUITPY_BUSDEVICE = 0
CIRCUITPY_BITMAPTOOLS = 0 CIRCUITPY_BITMAPTOOLS = 0
CIRCUITPY_GIFIO = 0 CIRCUITPY_GIFIO = 0
CIRCUITPY_WATCHDOG = 0
CIRCUITPY_ANALOGIO = 1
CIRCUITPY_AUDIOIO = 1 CIRCUITPY_AUDIOIO = 1
CIRCUITPY_AUDIOMIXER = 1 CIRCUITPY_AUDIOMIXER = 1
CIRCUITPY_DISPLAYIO = 1 CIRCUITPY_DISPLAYIO = 1

View File

@ -8,7 +8,7 @@ set(ENV{IDF_PATH} ${CMAKE_SOURCE_DIR}/esp-idf)
# can build. # 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) 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") message("Including esp32-camera")
set(EXTRA_COMPONENT_DIRS "esp32-camera") set(EXTRA_COMPONENT_DIRS "esp32-camera")
list(APPEND COMPONENTS "esp32-camera") list(APPEND COMPONENTS "esp32-camera")

View File

@ -250,10 +250,10 @@ endif
SRC_C += $(wildcard common-hal/espidf/*.c) SRC_C += $(wildcard common-hal/espidf/*.c)
ifneq ($(CIRCUITPY_ESP32_CAMERA),0) ifneq ($(CIRCUITPY_ESPCAMERA),0)
SRC_CAMERA := \ SRC_CAMERA := \
$(wildcard common-hal/esp32_camera/*.c) \ $(wildcard common-hal/espcamera/*.c) \
$(wildcard bindings/esp32_camera/*.c) $(wildcard bindings/espcamera/*.c)
SRC_C += $(SRC_CAMERA) SRC_C += $(SRC_CAMERA)
CFLAGS += -isystem esp32-camera/driver/include CFLAGS += -isystem esp32-camera/driver/include
CFLAGS += -isystem esp32-camera/conversions/include CFLAGS += -isystem esp32-camera/conversions/include
@ -333,7 +333,7 @@ endif
.PHONY: do-sdkconfig .PHONY: do-sdkconfig
do-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h do-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig CMakeLists.txt | $(BUILD)/esp-idf $(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 # build a lib
# Adding -d explain -j 1 -v to the ninja line will output debug info # 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 ESP_IDF_COMPONENTS_EXPANDED += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
endif endif
ifneq ($(CIRCUITPY_ESP32_CAMERA),0) ifneq ($(CIRCUITPY_ESPCAMERA),0)
ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp32-camera/libesp32-camera.a ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp32-camera/libesp32-camera.a
#$(error $(ESP_IDF_COMPONENTS_EXPANDED)) #$(error $(ESP_IDF_COMPONENTS_EXPANDED))
endif endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -33,11 +33,11 @@
#include "shared-bindings/busio/I2C.h" #include "shared-bindings/busio/I2C.h"
extern const mp_obj_type_t esp32_camera_camera_type; extern const mp_obj_type_t espcamera_camera_type;
typedef struct esp32_camera_camera_obj esp32_camera_camera_obj_t; typedef struct espcamera_camera_obj espcamera_camera_obj_t;
extern void common_hal_esp32_camera_camera_construct( extern void common_hal_espcamera_camera_construct(
esp32_camera_camera_obj_t *self, espcamera_camera_obj_t *self,
uint8_t data_pins[8], uint8_t data_pins[8],
const mcu_pin_obj_t *external_clock_pin, const mcu_pin_obj_t *external_clock_pin,
const mcu_pin_obj_t *pixel_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, mp_int_t framebuffer_count,
camera_grab_mode_t grab_mode); camera_grab_mode_t grab_mode);
extern void common_hal_esp32_camera_camera_deinit(esp32_camera_camera_obj_t *self); extern void common_hal_espcamera_camera_deinit(espcamera_camera_obj_t *self);
extern bool common_hal_esp32_camera_camera_deinited(esp32_camera_camera_obj_t *self); extern bool common_hal_espcamera_camera_deinited(espcamera_camera_obj_t *self);
extern bool common_hal_esp32_camera_camera_available(esp32_camera_camera_obj_t *self); extern bool common_hal_espcamera_camera_available(espcamera_camera_obj_t *self);
extern camera_fb_t *common_hal_esp32_camera_camera_take(esp32_camera_camera_obj_t *self, int timeout_ms); extern camera_fb_t *common_hal_espcamera_camera_take(espcamera_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_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) \ #define DECLARE_SENSOR_GETSET(type, name, field_name, setter_function_name) \
DECLARE_SENSOR_GET(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) DECLARE_SENSOR_GET(type, name, status.status_field_name, setter_function_name)
#define DECLARE_SENSOR_GET(type, name, 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) \ #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_GET(pixformat_t, pixel_format, pixformat, set_pixformat)
DECLARE_SENSOR_STATUS_GET(framesize_t, frame_size, framesize, set_framesize) 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); DECLARE_SENSOR_STATUS_GETSET(bool, lenc, lenc, set_lenc);
// From settings // From settings
extern camera_grab_mode_t common_hal_esp32_camera_camera_get_grab_mode(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_esp32_camera_camera_get_framebuffer_count(esp32_camera_camera_obj_t *self); extern int common_hal_espcamera_camera_get_framebuffer_count(espcamera_camera_obj_t *self);
// From camera_sensor_info_t // From camera_sensor_info_t
extern int common_hal_esp32_camera_camera_get_address(esp32_camera_camera_obj_t *self); extern int common_hal_espcamera_camera_get_address(espcamera_camera_obj_t *self);
extern const char *common_hal_esp32_camera_camera_get_sensor_name(esp32_camera_camera_obj_t *self); extern const char *common_hal_espcamera_camera_get_sensor_name(espcamera_camera_obj_t *self);
extern const bool common_hal_esp32_camera_camera_get_supports_jpeg(esp32_camera_camera_obj_t *self); extern const bool common_hal_espcamera_camera_get_supports_jpeg(espcamera_camera_obj_t *self);
extern framesize_t common_hal_esp32_camera_camera_get_max_frame_size(esp32_camera_camera_obj_t *self); extern framesize_t common_hal_espcamera_camera_get_max_frame_size(espcamera_camera_obj_t *self);
extern int common_hal_esp32_camera_camera_get_width(esp32_camera_camera_obj_t *self); extern int common_hal_espcamera_camera_get_width(espcamera_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_height(espcamera_camera_obj_t *self);

View File

@ -29,13 +29,13 @@
#include "py/mphal.h" #include "py/mphal.h"
#include "bindings/espidf/__init__.h" #include "bindings/espidf/__init__.h"
#include "bindings/esp32_camera/__init__.h" #include "bindings/espcamera/__init__.h"
#include "bindings/esp32_camera/Camera.h" #include "bindings/espcamera/Camera.h"
#include "esp_camera.h" #include "esp_camera.h"
#include "sensor.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, //| This library enables access to any camera sensor supported by the library,
//| including OV5640 and OV2640. //| 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/>`_. //| 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: //| class GrabMode:
//| """Controls when a new frame is grabbed.""" //| """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""" //| """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(espcamera_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, 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, WHEN_EMPTY),
MAKE_ENUM_MAP_ENTRY(grab_mode, LATEST), MAKE_ENUM_MAP_ENTRY(grab_mode, LATEST),
}; };
STATIC MP_DEFINE_CONST_DICT(esp32_camera_grab_mode_locals_dict, esp32_camera_grab_mode_locals_table); STATIC MP_DEFINE_CONST_DICT(espcamera_grab_mode_locals_dict, espcamera_grab_mode_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_grab_mode); MAKE_PRINTER(espcamera, espcamera_grab_mode);
MAKE_ENUM_TYPE(esp32_camera, GrabMode, esp32_camera_grab_mode); MAKE_ENUM_TYPE(espcamera, GrabMode, espcamera_grab_mode);
camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) { 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: //| class PixelFormat:
@ -85,22 +86,22 @@ camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) {
//| """A compressed format""" //| """A compressed format"""
//| //|
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565); MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565);
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, GRAYSCALE, PIXFORMAT_GRAYSCALE); MAKE_ENUM_VALUE(espcamera_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, 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, RGB565),
MAKE_ENUM_MAP_ENTRY(pixel_format, GRAYSCALE), MAKE_ENUM_MAP_ENTRY(pixel_format, GRAYSCALE),
MAKE_ENUM_MAP_ENTRY(pixel_format, JPEG), MAKE_ENUM_MAP_ENTRY(pixel_format, JPEG),
}; };
STATIC MP_DEFINE_CONST_DICT(esp32_camera_pixel_format_locals_dict, esp32_camera_pixel_format_locals_table); STATIC MP_DEFINE_CONST_DICT(espcamera_pixel_format_locals_dict, espcamera_pixel_format_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_pixel_format); MAKE_PRINTER(espcamera, espcamera_pixel_format);
MAKE_ENUM_TYPE(esp32_camera, PixelFormat, esp32_camera_pixel_format); MAKE_ENUM_TYPE(espcamera, PixelFormat, espcamera_pixel_format);
pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) { 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: //| class FrameSize:
@ -173,29 +174,29 @@ pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) {
//| """2560x1920""" //| """2560x1920"""
//| //|
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HD, FRAMESIZE_HD); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HD, FRAMESIZE_HD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, FHD, FRAMESIZE_FHD); MAKE_ENUM_VALUE(espcamera_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(espcamera_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(espcamera_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(espcamera_frame_size_type, frame_size, QXGA, FRAMESIZE_QXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD); MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, WQXGA, FRAMESIZE_WQXGA); MAKE_ENUM_VALUE(espcamera_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(espcamera_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_VALUE(espcamera_frame_size_type, frame_size, QSXGA, FRAMESIZE_QSXGA);
MAKE_ENUM_MAP(esp32_camera_frame_size) { MAKE_ENUM_MAP(espcamera_frame_size) {
MAKE_ENUM_MAP_ENTRY(frame_size, R96X96), MAKE_ENUM_MAP_ENTRY(frame_size, R96X96),
MAKE_ENUM_MAP_ENTRY(frame_size, R240X240), MAKE_ENUM_MAP_ENTRY(frame_size, R240X240),
MAKE_ENUM_MAP_ENTRY(frame_size, QQVGA), 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), MAKE_ENUM_MAP_ENTRY(frame_size, QSXGA),
}; };
STATIC MP_DEFINE_CONST_DICT(esp32_camera_frame_size_locals_dict, esp32_camera_frame_size_locals_table); STATIC MP_DEFINE_CONST_DICT(espcamera_frame_size_locals_dict, espcamera_frame_size_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_frame_size); MAKE_PRINTER(espcamera, espcamera_frame_size);
MAKE_ENUM_TYPE(esp32_camera, FrameSize, esp32_camera_frame_size); MAKE_ENUM_TYPE(espcamera, FrameSize, espcamera_frame_size);
framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) { 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: //| class GainCeiling:
@ -242,15 +243,15 @@ framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) {
//| GAIN_128X: GainCeiling //| GAIN_128X: GainCeiling
//| //|
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_2X, GAINCEILING_2X); MAKE_ENUM_VALUE(espcamera_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(espcamera_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(espcamera_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(espcamera_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(espcamera_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(espcamera_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_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_2X),
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_4X), MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_4X),
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_8X), 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) 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); STATIC MP_DEFINE_CONST_DICT(espcamera_gain_ceiling_locals_dict, espcamera_gain_ceiling_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_gain_ceiling); MAKE_PRINTER(espcamera, espcamera_gain_ceiling);
MAKE_ENUM_TYPE(esp32_camera, GainCeiling, esp32_camera_gain_ceiling); MAKE_ENUM_TYPE(espcamera, GainCeiling, espcamera_gain_ceiling);
gainceiling_t validate_gain_ceiling(mp_obj_t obj, qstr arg_name) { 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[] = { STATIC const mp_rom_map_elem_t espcamera_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_esp32_camera) }, { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_espcamera) },
{ MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&esp32_camera_camera_type), }, { MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&espcamera_camera_type), },
{ MP_ROM_QSTR(MP_QSTR_FrameSize), &esp32_camera_frame_size_type }, { MP_ROM_QSTR(MP_QSTR_FrameSize), &espcamera_frame_size_type },
{ MP_ROM_QSTR(MP_QSTR_GainCeiling), &esp32_camera_gain_ceiling_type }, { MP_ROM_QSTR(MP_QSTR_GainCeiling), &espcamera_gain_ceiling_type },
{ MP_ROM_QSTR(MP_QSTR_GrabMode), &esp32_camera_grab_mode_type }, { MP_ROM_QSTR(MP_QSTR_GrabMode), &espcamera_grab_mode_type },
{ MP_ROM_QSTR(MP_QSTR_PixelFormat), &esp32_camera_pixel_format_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 }, .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);

View File

@ -31,13 +31,13 @@
#include "esp_camera.h" #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 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 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 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 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); extern pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name);

View File

@ -37,6 +37,7 @@
//| """Direct access to a few ESP-IDF details. This module *should not* include any functionality //| """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 //| that could be implemented by other frameworks. It should only include ESP-IDF specific
//| things.""" //| things."""
//|
//| def heap_caps_get_total_size() -> int: //| def heap_caps_get_total_size() -> int:
//| """Return the total size of the ESP-IDF, which includes the CircuitPython heap.""" //| """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` //| """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 //| 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) { STATIC mp_obj_t espidf_erase_nvs(void) {
ESP_ERROR_CHECK(nvs_flash_deinit()); ESP_ERROR_CHECK(nvs_flash_deinit());

View 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);

View 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

View File

@ -28,19 +28,35 @@
#include "shared-bindings/util.h" #include "shared-bindings/util.h"
#include "bindings/espulp/ULP.h" #include "bindings/espulp/ULP.h"
#include "py/enum.h"
#include "py/runtime.h" #include "py/runtime.h"
#include "py/objproperty.h"
//| class ULP: //| class ULP:
//| def __init__(self): //| def __init__(self, arch: Architecture = Architecture.FSM):
//| """The ultra-low-power processor. //| """The ultra-low-power processor.
//| //|
//| Raises an exception if another ULP has been instantiated. This //| 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) { 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); espulp_ulp_obj_t *self = m_new_obj(espulp_ulp_obj_t);
self->base.type = &espulp_ulp_type; 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); 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: //| def halt(self) -> None:
//| """Halts the running program and releases the pins given in `run()`.""" //| """Halts the running program and releases the pins given in `run()`."""
//| ... //| ...
//|
STATIC mp_obj_t espulp_ulp_halt(mp_obj_t self_in) { STATIC mp_obj_t espulp_ulp_halt(mp_obj_t self_in) {
espulp_ulp_obj_t *self = MP_OBJ_TO_PTR(self_in); espulp_ulp_obj_t *self = MP_OBJ_TO_PTR(self_in);
check_for_deinit(self); 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); 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[] = { 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_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___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___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_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_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); STATIC MP_DEFINE_CONST_DICT(espulp_ulp_locals_dict, espulp_ulp_locals_table);

View File

@ -29,10 +29,9 @@
#include "py/obj.h" #include "py/obj.h"
#include "common-hal/espulp/ULP.h" #include "common-hal/espulp/ULP.h"
extern const mp_obj_type_t espulp_ulp_type; 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); bool common_hal_espulp_ulp_deinited(espulp_ulp_obj_t *self);
void common_hal_espulp_ulp_deinit(espulp_ulp_obj_t *self); void common_hal_espulp_ulp_deinit(espulp_ulp_obj_t *self);

View File

@ -27,25 +27,36 @@
#include "bindings/espulp/ULPAlarm.h" #include "bindings/espulp/ULPAlarm.h"
#include "py/runtime.h" #include "py/runtime.h"
#include "py/objproperty.h"
//| class ULPAlarm: //| class ULPAlarm:
//| """Trigger an alarm when the ULP requests wake-up.""" //| """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. //| """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 //| 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()`. //| `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, 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) {
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); espulp_ulpalarm_obj_t *self = m_new_obj(espulp_ulpalarm_obj_t);
self->base.type = &espulp_ulpalarm_type; 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); return MP_OBJ_FROM_PTR(self);
} }

View File

@ -30,4 +30,4 @@
extern const mp_obj_type_t espulp_ulpalarm_type; 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);

View File

@ -25,9 +25,11 @@
*/ */
#include "shared-bindings/util.h" #include "shared-bindings/util.h"
#include "bindings/espulp/__init__.h" #include "bindings/espulp/__init__.h"
#include "bindings/espulp/ULP.h" #include "bindings/espulp/ULP.h"
#include "bindings/espulp/ULPAlarm.h" #include "bindings/espulp/ULPAlarm.h"
#include "bindings/espulp/Architecture.h"
#include "py/runtime.h" #include "py/runtime.h"
@ -80,6 +82,7 @@ STATIC const mp_rom_map_elem_t espulp_module_globals_table[] = {
// module classes // module classes
{ MP_ROM_QSTR(MP_QSTR_ULP), MP_OBJ_FROM_PTR(&espulp_ulp_type) }, { 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_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); STATIC MP_DEFINE_CONST_DICT(espulp_module_globals, espulp_module_globals_table);

View File

@ -1,5 +1,5 @@
USB_VID = 0x239A USB_VID = 0x239A
USB_PID = 0x8128 USB_PID = 0x80EE
USB_PRODUCT = "Feather ESP32-S2 Reverse TFT" USB_PRODUCT = "Feather ESP32-S2 Reverse TFT"
USB_MANUFACTURER = "Adafruit" USB_MANUFACTURER = "Adafruit"

View File

@ -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_BUTTON), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_BOOT0), 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_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },

View File

@ -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

View File

@ -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);

View File

@ -1,6 +0,0 @@
# CONFIG_ESP32S2_SPIRAM_SUPPORT is not set
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
# end of LWIP

View File

@ -10,4 +10,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
OPTIMIZATION_FLAGS = -Os OPTIMIZATION_FLAGS = -Os
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -8,4 +8,4 @@ IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 8MB CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -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_BUTTON), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_BOOT0), 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_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },

View File

@ -11,4 +11,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
OPTIMIZATION_FLAGS = -Os OPTIMIZATION_FLAGS = -Os
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -6,4 +6,4 @@ IDF_TARGET = esp32
CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -9,7 +9,7 @@ CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase

View File

@ -9,7 +9,7 @@ CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase

View File

@ -13,4 +13,4 @@ CIRCUITPY_ESP_FLASH_SIZE = 8MB
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -30,6 +30,7 @@
#define MICROPY_HW_MCU_NAME "ESP32S2" #define MICROPY_HW_MCU_NAME "ESP32S2"
// #define MICROPY_HW_NEOPIXEL (&pin_GPIO18) // #define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
#define MICROPY_HW_LED_STATUS (&pin_GPIO0)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO16) #define DEFAULT_I2C_BUS_SCL (&pin_GPIO16)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO15) #define DEFAULT_I2C_BUS_SDA (&pin_GPIO15)

View 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.

View 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)

View 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

View 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);

View 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

View File

@ -6,7 +6,7 @@ IDF_TARGET = esp32
CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 8MB CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0
# Include these Python libraries in firmware # Include these Python libraries in firmware
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests

View File

@ -6,4 +6,4 @@ IDF_TARGET = esp32
CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -10,4 +10,4 @@ CIRCUITPY_NEOPIXEL_WRITE = 0
CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -8,4 +8,4 @@ IDF_TARGET = esp32s2
CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -9,4 +9,4 @@ CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 16MB CIRCUITPY_ESP_FLASH_SIZE = 16MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -9,4 +9,4 @@ CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 16MB CIRCUITPY_ESP_FLASH_SIZE = 16MB
CIRCUITPY_ESP32_CAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View File

@ -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) {
}

View File

@ -26,19 +26,14 @@
// Micropython setup // Micropython setup
#define MICROPY_HW_BOARD_NAME "Feather ESP32S2 without PSRAM" #define MICROPY_HW_BOARD_NAME "ESP32-S3-DevKitC-1-N32R8"
#define MICROPY_HW_MCU_NAME "ESP32S2" #define MICROPY_HW_MCU_NAME "ESP32S3"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33) #define MICROPY_HW_NEOPIXEL (&pin_GPIO48)
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO21)
#define MICROPY_HW_LED_STATUS (&pin_GPIO13) #define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4) #define DEFAULT_UART_BUS_RX (&pin_GPIO44)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO3) #define DEFAULT_UART_BUS_TX (&pin_GPIO43)
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36) #define AUTORESET_DELAY_MS 500
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)
#define DOUBLE_TAP_PIN (&pin_GPIO34)

View File

@ -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

View File

@ -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);

View File

@ -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