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

View File

@ -25,19 +25,10 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: CircuitPython dependencies
run: |
python tools/ci_fetch_deps.py ${{ github.job }}
echo "::group::Fetch history and tags"
git fetch --no-recurse-submodules --shallow-since="2021-07-01" --tags https://github.com/adafruit/circuitpython HEAD
git fetch --no-recurse-submodules --shallow-since="2021-07-01" origin $GITHUB_SHA
git repack -d
echo "::endgroup::"
- name: CircuitPython version
run: |
CP_VERSION=$(tools/describe)
echo "$CP_VERSION"
echo "CP_VERSION=$CP_VERSION" >> $GITHUB_ENV
- name: Set up submodules
uses: ./.github/actions/fetch_submodules
with:
version: true
- name: Install dependencies
run: pip install -r requirements-dev.txt
- name: Versions

View File

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

View File

@ -19,7 +19,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
windows:
runs-on: windows-2022
defaults:
run:
@ -75,31 +75,11 @@ jobs:
with:
submodules: false
fetch-depth: 1
- name: Create submodule status
run: git submodule status extmod/ulab lib/ tools/ >> submodule_status
- name: Restore submodules
uses: actions/cache/restore@v3
- name: Set up submodules
uses: ./.github/actions/fetch_submodules
with:
path: |
.git/modules/
extmod/ulab
lib/
tools/
key: submodules-common-${{ hashFiles('submodule_status') }}
enableCrossOsArchive: true
- name: CircuitPython dependencies
run: |
python tools/ci_fetch_deps.py windows
echo "::group::Fetch history and tags"
git fetch --no-recurse-submodules --shallow-since="2021-07-01" --tags https://github.com/adafruit/circuitpython HEAD
git fetch --no-recurse-submodules --shallow-since="2021-07-01" origin $GITHUB_SHA
git repack -d
echo "::endgroup::"
- name: CircuitPython version
run: |
CP_VERSION=$(tools/describe)
echo "$CP_VERSION"
echo "CP_VERSION=$CP_VERSION" >> $GITHUB_ENV
version: true
- name: build mpy-cross
run: make -j2 -C mpy-cross

View File

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

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

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

View File

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

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

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_fire/mpconfigboard.h
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
msgid "Button A was pressed at start up.\n"
msgstr "Beim Starten wurde Taste A gedrückt.\n"
@ -2554,6 +2555,10 @@ msgstr "Array- und Indexlänge müssen gleich sein"
msgid "array has too many dimensions"
msgstr "Das Array hat zu viele Dimensionen"
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@ -2994,6 +2999,10 @@ msgstr "Abmessungen stimmen nicht überein"
msgid "div/mod not implemented for uint"
msgstr "div/mod für uint nicht implementiert"
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr "durch Null dividieren"
#: py/runtime.c
msgid "division by zero"
msgstr "Division durch Null"
@ -3035,13 +3044,11 @@ msgstr "epoch_time wird auf diesem Board nicht unterstützt"
msgid "error = 0x%08lX"
msgstr "Fehler = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid ""
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
"espcamera.Camera requires reserved PSRAM to be configured. See the "
"documentation for instructions."
msgstr ""
"esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu "
"können. Sieh in der Dokumentation für eine Anleitung nach."
#: py/runtime.c
msgid "exceptions must derive from BaseException"
@ -3418,7 +3425,7 @@ msgstr "ungültiger Schlüssel"
msgid "invalid micropython decorator"
msgstr "ungültiger micropython decorator"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting"
msgstr "Invalide Einstellung"
@ -3681,7 +3688,7 @@ msgstr "kein Reset Pin verfügbar"
msgid "no response from SD card"
msgstr "keine Antwort von der SD-Karte"
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
msgid "no such attribute"
msgstr "kein solches Attribut"
@ -3819,6 +3826,10 @@ msgstr "nur eine bit_depth=16 wird unterstützt"
msgid "only mono is supported"
msgstr "nur Mono wird unterstützt"
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported"
msgstr ""
@ -4431,6 +4442,13 @@ msgstr "zi muss eine Gleitkommazahl sein"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi muss die Form (n_section, 2) haben"
#~ msgid ""
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
#~ "documentation for instructions."
#~ msgstr ""
#~ "esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu "
#~ "können. Sieh in der Dokumentation für eine Anleitung nach."
#~ msgid "%q must be of type %q"
#~ msgstr "%q muss vom Type %q sein"
@ -4499,9 +4517,6 @@ msgstr "zi muss die Form (n_section, 2) haben"
#~ msgid "complex division by zero"
#~ msgstr "Komplexe Division durch null"
#~ msgid "divide by zero"
#~ msgstr "durch Null dividieren"
#~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 muss >= 2 und <= 36 sein"

View File

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

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

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2023-01-18 18:05+0000\n"
"PO-Revision-Date: 2023-02-01 22:11+0000\n"
"Last-Translator: Jose David M <jquintana202020@gmail.com>\n"
"Language-Team: \n"
"Language: es\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15.1-dev\n"
"X-Generator: Weblate 4.16-dev\n"
#: main.c
msgid ""
@ -680,6 +680,7 @@ msgstr "Bus pin %d ya está siendo utilizado"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
msgid "Button A was pressed at start up.\n"
msgstr "Botón A fue presionado al inicio.\n"
@ -2562,6 +2563,10 @@ msgstr "Longitud del array e índice tienen que ser iguales"
msgid "array has too many dimensions"
msgstr "La matriz tiene demasiadas dimensiones"
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr "el arreglo es muy grande"
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@ -2997,6 +3002,10 @@ msgstr "las dimensiones no concuerdan"
msgid "div/mod not implemented for uint"
msgstr "div/mod no implementado para uint"
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr "divide por cero"
#: py/runtime.c
msgid "division by zero"
msgstr "división por cero"
@ -3038,13 +3047,13 @@ msgstr "epoch_time no esta soportado en esta tarjeta"
msgid "error = 0x%08lX"
msgstr "error = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid ""
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
"espcamera.Camera requires reserved PSRAM to be configured. See the "
"documentation for instructions."
msgstr ""
"esp32_camera. la camara necesita PSRAM reservada para ser configurada. Vea "
"la documentacion para mas instrucciones."
"espcamera. La cámara requiere una configuración de PSRAM reservada. "
"Refiérase a la documentación para más instrucciones."
#: py/runtime.c
msgid "exceptions must derive from BaseException"
@ -3419,7 +3428,7 @@ msgstr "llave inválida"
msgid "invalid micropython decorator"
msgstr "decorador de micropython inválido"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting"
msgstr "configuracion invalida"
@ -3680,7 +3689,7 @@ msgstr "no hay pin de reinicio disponible"
msgid "no response from SD card"
msgstr "no hay respuesta de la tarjeta SD"
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
msgid "no such attribute"
msgstr "no hay tal atributo"
@ -3819,6 +3828,10 @@ msgstr "solo se admite bit_depth=16"
msgid "only mono is supported"
msgstr "solamente mono esta suportado"
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr "solamente ndarrays pueden ser concatenadas"
#: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported"
msgstr "solamente oversample=64 esta soportado"
@ -4427,6 +4440,13 @@ msgstr "zi debe ser de tipo flotante"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi debe ser una forma (n_section,2)"
#~ msgid ""
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
#~ "documentation for instructions."
#~ msgstr ""
#~ "esp32_camera. la camara necesita PSRAM reservada para ser configurada. "
#~ "Vea la documentacion para mas instrucciones."
#~ msgid "%q must be of type %q"
#~ msgstr "%q debe ser de typo %q"
@ -4477,9 +4497,6 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgid "complex division by zero"
#~ msgstr "división compleja por cero"
#~ msgid "divide by zero"
#~ msgstr "divide por cero"
#~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 debe ser >= 2 y <= 36"

View File

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

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

View File

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

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

View File

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

View File

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

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

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

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2023-01-13 18:51+0000\n"
"PO-Revision-Date: 2023-02-03 04:15+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n"
"Language: pt_BR\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.15.1-dev\n"
"X-Generator: Weblate 4.16-dev\n"
#: main.c
msgid ""
@ -683,6 +683,7 @@ msgstr "O pino bus %d já está em uso"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
msgid "Button A was pressed at start up.\n"
msgstr "O botão A foi pressionado na inicialização.\n"
@ -2561,6 +2562,10 @@ msgstr "a matriz e comprimento do índice devem ser iguais"
msgid "array has too many dimensions"
msgstr "a matriz possui muitas dimensões"
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr "a array é grande demais"
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@ -2998,6 +3003,10 @@ msgstr "as dimensões não coincidem"
msgid "div/mod not implemented for uint"
msgstr "div/mod não implementado para uint"
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr "divido por zero"
#: py/runtime.c
msgid "division by zero"
msgstr "divisão por zero"
@ -3039,13 +3048,13 @@ msgstr "O epoch_time não é compatível com esta placa"
msgid "error = 0x%08lX"
msgstr "erro = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid ""
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
"espcamera.Camera requires reserved PSRAM to be configured. See the "
"documentation for instructions."
msgstr ""
"esp32_camera.Camera requer que uma reserva PSRAM seja configurada. Consulte "
"a documentação para obter mais informações."
"O espcamera.Camera requer que o PSRAM seja reservado para que possa ser "
"configurado. Consulte a documentação para obter mais informações."
#: py/runtime.c
msgid "exceptions must derive from BaseException"
@ -3421,7 +3430,7 @@ msgstr "chave inválida"
msgid "invalid micropython decorator"
msgstr "o decorador micropython é inválido"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting"
msgstr "configuração inválida"
@ -3683,7 +3692,7 @@ msgstr "nenhum pino de redefinição está disponível"
msgid "no response from SD card"
msgstr "não houve resposta do cartão SD"
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
msgid "no such attribute"
msgstr "não há tal atributo"
@ -3819,6 +3828,10 @@ msgstr "apenas bit_depth = 16 é compatível"
msgid "only mono is supported"
msgstr "Apenas o mono é compatível"
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr "somente os ndarrays podem ser concatenados"
#: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported"
msgstr "apenas oversample=64 é compatível"
@ -4431,6 +4444,13 @@ msgstr "zi deve ser de um tipo float"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid ""
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
#~ "documentation for instructions."
#~ msgstr ""
#~ "esp32_camera.Camera requer que uma reserva PSRAM seja configurada. "
#~ "Consulte a documentação para obter mais informações."
#~ msgid "%q must be of type %q"
#~ msgstr "%q deve ser do tipo %q"
@ -4502,9 +4522,6 @@ msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid "complex division by zero"
#~ msgstr "divisão complexa por zero"
#~ msgid "divide by zero"
#~ msgstr "divido por zero"
#~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "int() arg 2 deve ser >= 2 e <= 36"

View File

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

View File

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

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

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_fire/mpconfigboard.h
#: ports/espressif/boards/m5stack_stick_c/mpconfigboard.h
msgid "Button A was pressed at start up.\n"
msgstr "qǐ dòng shí àn xià àn niǔ A.\n"
@ -924,7 +925,8 @@ msgstr "Fāngxiàng shūrù shí qūdòng móshì méiyǒu shǐyòng."
#: py/obj.c
msgid "During handling of the above exception, another exception occurred:"
msgstr "zài chǔ lǐ shàng shù yì cháng qī jiān, fā shēng le lìng yí gè yì cháng:"
msgstr ""
"zài chǔ lǐ shàng shù yì cháng qī jiān, fā shēng le lìng yí gè yì cháng:"
#: shared-bindings/aesio/aes.c
msgid "ECB only operates on 16 bytes at a time"
@ -2539,6 +2541,10 @@ msgstr "shù zǔ hé suǒ yǐn cháng dù bì xū xiāng děng"
msgid "array has too many dimensions"
msgstr "shùzǔ yǒu tài duō wéidù"
#: extmod/ulab/code/ndarray.c
msgid "array is too big"
msgstr ""
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
#: shared-bindings/memorymap/AddressRange.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@ -2973,6 +2979,10 @@ msgstr "chǐ cùn bù pǐ pèi"
msgid "div/mod not implemented for uint"
msgstr "div/ mó zǔ wèi wéi wèi shí xiàn"
#: extmod/ulab/code/numpy/create.c
msgid "divide by zero"
msgstr "chú yǐ líng"
#: py/runtime.c
msgid "division by zero"
msgstr "bèi líng chú"
@ -3014,13 +3024,11 @@ msgstr "epoch_time bǎn bù zhī chí cǐ bǎn běn"
msgid "error = 0x%08lX"
msgstr "cuòwù = 0x%08lX"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid ""
"esp32_camera.Camera requires reserved PSRAM to be configured. See the "
"espcamera.Camera requires reserved PSRAM to be configured. See the "
"documentation for instructions."
msgstr ""
"esp32_camera. shè xiàng jī xū yào pèi zhì yù liú de PSRAM. yǒu guān shuō "
"míng, qǐng cān yuè wén dàng."
#: py/runtime.c
msgid "exceptions must derive from BaseException"
@ -3395,7 +3403,7 @@ msgstr "wúxiào de mì yào"
msgid "invalid micropython decorator"
msgstr "wúxiào de MicroPython zhuāngshì qì"
#: ports/espressif/common-hal/esp32_camera/Camera.c
#: ports/espressif/common-hal/espcamera/Camera.c
msgid "invalid setting"
msgstr "shèzhì wúxiào"
@ -3653,7 +3661,7 @@ msgstr "Méiyǒu kěyòng de fùwèi yǐn jiǎo"
msgid "no response from SD card"
msgstr "SD kǎ wú huíyīng"
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
#: ports/espressif/common-hal/espcamera/Camera.c py/objobject.c py/runtime.c
msgid "no such attribute"
msgstr "méiyǒu cǐ shǔxìng"
@ -3789,6 +3797,10 @@ msgstr "Jǐn zhīchí wèi shēndù = 16"
msgid "only mono is supported"
msgstr "jǐn zhī chí dān shēng dào"
#: extmod/ulab/code/numpy/create.c
msgid "only ndarrays can be concatenated"
msgstr ""
#: ports/stm/common-hal/audiobusio/PDMIn.c
msgid "only oversample=64 is supported"
msgstr "jǐn zhī chí guò cǎi yàng =64"
@ -4399,6 +4411,13 @@ msgstr "zi bìxū wèi fú diǎn xíng"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
#~ msgid ""
#~ "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
#~ "documentation for instructions."
#~ msgstr ""
#~ "esp32_camera. shè xiàng jī xū yào pèi zhì yù liú de PSRAM. yǒu guān shuō "
#~ "míng, qǐng cān yuè wén dàng."
#~ msgid "%q must be of type %q"
#~ msgstr "%q bì xū shì %q lèi xíng"
@ -4467,9 +4486,6 @@ msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
#~ msgid "complex division by zero"
#~ msgstr "fùzá de fēngé wèi 0"
#~ msgid "divide by zero"
#~ msgstr "chú yǐ líng"
#~ msgid "int() arg 2 must be >= 2 and <= 36"
#~ msgstr "zhěngshù() cānshù 2 bìxū > = 2 qiě <= 36"

View File

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

View File

@ -8,7 +8,7 @@ set(ENV{IDF_PATH} ${CMAKE_SOURCE_DIR}/esp-idf)
# can build.
set(COMPONENTS esptool_py soc driver log main esp-tls mbedtls mdns esp_event esp_adc_cal esp_netif esp_wifi lwip ulp wpa_supplicant freertos bt usb)
if("${CIRCUITPY_ESP32_CAMERA}")
if("${CIRCUITPY_ESPCAMERA}")
message("Including esp32-camera")
set(EXTRA_COMPONENT_DIRS "esp32-camera")
list(APPEND COMPONENTS "esp32-camera")

View File

@ -250,10 +250,10 @@ endif
SRC_C += $(wildcard common-hal/espidf/*.c)
ifneq ($(CIRCUITPY_ESP32_CAMERA),0)
ifneq ($(CIRCUITPY_ESPCAMERA),0)
SRC_CAMERA := \
$(wildcard common-hal/esp32_camera/*.c) \
$(wildcard bindings/esp32_camera/*.c)
$(wildcard common-hal/espcamera/*.c) \
$(wildcard bindings/espcamera/*.c)
SRC_C += $(SRC_CAMERA)
CFLAGS += -isystem esp32-camera/driver/include
CFLAGS += -isystem esp32-camera/conversions/include
@ -333,7 +333,7 @@ endif
.PHONY: do-sdkconfig
do-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig CMakeLists.txt | $(BUILD)/esp-idf
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja -DCIRCUITPY_ESP32_CAMERA=$(CIRCUITPY_ESP32_CAMERA)
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja -DCIRCUITPY_ESPCAMERA=$(CIRCUITPY_ESPCAMERA)
# build a lib
# Adding -d explain -j 1 -v to the ninja line will output debug info
@ -385,7 +385,7 @@ BINARY_BLOBS += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
ESP_IDF_COMPONENTS_EXPANDED += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
endif
ifneq ($(CIRCUITPY_ESP32_CAMERA),0)
ifneq ($(CIRCUITPY_ESPCAMERA),0)
ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp32-camera/libesp32-camera.a
#$(error $(ESP_IDF_COMPONENTS_EXPANDED))
endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -33,11 +33,11 @@
#include "shared-bindings/busio/I2C.h"
extern const mp_obj_type_t esp32_camera_camera_type;
typedef struct esp32_camera_camera_obj esp32_camera_camera_obj_t;
extern const mp_obj_type_t espcamera_camera_type;
typedef struct espcamera_camera_obj espcamera_camera_obj_t;
extern void common_hal_esp32_camera_camera_construct(
esp32_camera_camera_obj_t *self,
extern void common_hal_espcamera_camera_construct(
espcamera_camera_obj_t *self,
uint8_t data_pins[8],
const mcu_pin_obj_t *external_clock_pin,
const mcu_pin_obj_t *pixel_clock_pin,
@ -53,11 +53,11 @@ extern void common_hal_esp32_camera_camera_construct(
mp_int_t framebuffer_count,
camera_grab_mode_t grab_mode);
extern void common_hal_esp32_camera_camera_deinit(esp32_camera_camera_obj_t *self);
extern bool common_hal_esp32_camera_camera_deinited(esp32_camera_camera_obj_t *self);
extern bool common_hal_esp32_camera_camera_available(esp32_camera_camera_obj_t *self);
extern camera_fb_t *common_hal_esp32_camera_camera_take(esp32_camera_camera_obj_t *self, int timeout_ms);
extern void common_hal_esp32_camera_camera_reconfigure(esp32_camera_camera_obj_t *self, framesize_t frame_size, pixformat_t pixel_format, camera_grab_mode_t grab_mode, mp_int_t framebuffer_count);
extern void common_hal_espcamera_camera_deinit(espcamera_camera_obj_t *self);
extern bool common_hal_espcamera_camera_deinited(espcamera_camera_obj_t *self);
extern bool common_hal_espcamera_camera_available(espcamera_camera_obj_t *self);
extern camera_fb_t *common_hal_espcamera_camera_take(espcamera_camera_obj_t *self, int timeout_ms);
extern void common_hal_espcamera_camera_reconfigure(espcamera_camera_obj_t *self, framesize_t frame_size, pixformat_t pixel_format, camera_grab_mode_t grab_mode, mp_int_t framebuffer_count);
#define DECLARE_SENSOR_GETSET(type, name, field_name, setter_function_name) \
DECLARE_SENSOR_GET(type, name, field_name, setter_function_name) \
@ -70,10 +70,10 @@ extern void common_hal_esp32_camera_camera_reconfigure(esp32_camera_camera_obj_t
DECLARE_SENSOR_GET(type, name, status.status_field_name, setter_function_name)
#define DECLARE_SENSOR_GET(type, name, status_field_name, setter_function_name) \
extern type common_hal_esp32_camera_camera_get_##name(esp32_camera_camera_obj_t * self);
extern type common_hal_espcamera_camera_get_##name(espcamera_camera_obj_t * self);
#define DECLARE_SENSOR_SET(type, name, setter_function_name) \
extern void common_hal_esp32_camera_camera_set_##name(esp32_camera_camera_obj_t * self, type value);
extern void common_hal_espcamera_camera_set_##name(espcamera_camera_obj_t * self, type value);
DECLARE_SENSOR_GET(pixformat_t, pixel_format, pixformat, set_pixformat)
DECLARE_SENSOR_STATUS_GET(framesize_t, frame_size, framesize, set_framesize)
@ -104,13 +104,13 @@ DECLARE_SENSOR_STATUS_GETSET(bool, raw_gma, raw_gma, set_raw_gma);
DECLARE_SENSOR_STATUS_GETSET(bool, lenc, lenc, set_lenc);
// From settings
extern camera_grab_mode_t common_hal_esp32_camera_camera_get_grab_mode(esp32_camera_camera_obj_t *self);
extern int common_hal_esp32_camera_camera_get_framebuffer_count(esp32_camera_camera_obj_t *self);
extern camera_grab_mode_t common_hal_espcamera_camera_get_grab_mode(espcamera_camera_obj_t *self);
extern int common_hal_espcamera_camera_get_framebuffer_count(espcamera_camera_obj_t *self);
// From camera_sensor_info_t
extern int common_hal_esp32_camera_camera_get_address(esp32_camera_camera_obj_t *self);
extern const char *common_hal_esp32_camera_camera_get_sensor_name(esp32_camera_camera_obj_t *self);
extern const bool common_hal_esp32_camera_camera_get_supports_jpeg(esp32_camera_camera_obj_t *self);
extern framesize_t common_hal_esp32_camera_camera_get_max_frame_size(esp32_camera_camera_obj_t *self);
extern int common_hal_esp32_camera_camera_get_width(esp32_camera_camera_obj_t *self);
extern int common_hal_esp32_camera_camera_get_height(esp32_camera_camera_obj_t *self);
extern int common_hal_espcamera_camera_get_address(espcamera_camera_obj_t *self);
extern const char *common_hal_espcamera_camera_get_sensor_name(espcamera_camera_obj_t *self);
extern const bool common_hal_espcamera_camera_get_supports_jpeg(espcamera_camera_obj_t *self);
extern framesize_t common_hal_espcamera_camera_get_max_frame_size(espcamera_camera_obj_t *self);
extern int common_hal_espcamera_camera_get_width(espcamera_camera_obj_t *self);
extern int common_hal_espcamera_camera_get_height(espcamera_camera_obj_t *self);

View File

@ -29,13 +29,13 @@
#include "py/mphal.h"
#include "bindings/espidf/__init__.h"
#include "bindings/esp32_camera/__init__.h"
#include "bindings/esp32_camera/Camera.h"
#include "bindings/espcamera/__init__.h"
#include "bindings/espcamera/Camera.h"
#include "esp_camera.h"
#include "sensor.h"
//| """Wrapper for the esp32_camera library
//| """Wrapper for the espcamera library
//|
//| This library enables access to any camera sensor supported by the library,
//| including OV5640 and OV2640.
@ -45,6 +45,7 @@
//| Non-Espressif microcontrollers use the `imagecapture` module together with wrapper libraries such as `adafruit_ov5640 <https://circuitpython.readthedocs.io/projects/ov5640/en/latest/>`_.
//|
//| """
//|
//| class GrabMode:
//| """Controls when a new frame is grabbed."""
@ -56,20 +57,20 @@
//| """Except when 1 frame buffer is used, queue will always contain the last ``fb_count`` frames"""
//|
MAKE_ENUM_VALUE(esp32_camera_grab_mode_type, grab_mode, WHEN_EMPTY, CAMERA_GRAB_WHEN_EMPTY);
MAKE_ENUM_VALUE(esp32_camera_grab_mode_type, grab_mode, LATEST, CAMERA_GRAB_LATEST);
MAKE_ENUM_VALUE(espcamera_grab_mode_type, grab_mode, WHEN_EMPTY, CAMERA_GRAB_WHEN_EMPTY);
MAKE_ENUM_VALUE(espcamera_grab_mode_type, grab_mode, LATEST, CAMERA_GRAB_LATEST);
MAKE_ENUM_MAP(esp32_camera_grab_mode) {
MAKE_ENUM_MAP(espcamera_grab_mode) {
MAKE_ENUM_MAP_ENTRY(grab_mode, WHEN_EMPTY),
MAKE_ENUM_MAP_ENTRY(grab_mode, LATEST),
};
STATIC MP_DEFINE_CONST_DICT(esp32_camera_grab_mode_locals_dict, esp32_camera_grab_mode_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_grab_mode);
MAKE_ENUM_TYPE(esp32_camera, GrabMode, esp32_camera_grab_mode);
STATIC MP_DEFINE_CONST_DICT(espcamera_grab_mode_locals_dict, espcamera_grab_mode_locals_table);
MAKE_PRINTER(espcamera, espcamera_grab_mode);
MAKE_ENUM_TYPE(espcamera, GrabMode, espcamera_grab_mode);
camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) {
return cp_enum_value(&esp32_camera_grab_mode_type, obj, arg_name);
return cp_enum_value(&espcamera_grab_mode_type, obj, arg_name);
}
//| class PixelFormat:
@ -85,22 +86,22 @@ camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) {
//| """A compressed format"""
//|
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565);
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, GRAYSCALE, PIXFORMAT_GRAYSCALE);
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, JPEG, PIXFORMAT_JPEG);
MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565);
MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, GRAYSCALE, PIXFORMAT_GRAYSCALE);
MAKE_ENUM_VALUE(espcamera_pixel_format_type, pixel_format, JPEG, PIXFORMAT_JPEG);
MAKE_ENUM_MAP(esp32_camera_pixel_format) {
MAKE_ENUM_MAP(espcamera_pixel_format) {
MAKE_ENUM_MAP_ENTRY(pixel_format, RGB565),
MAKE_ENUM_MAP_ENTRY(pixel_format, GRAYSCALE),
MAKE_ENUM_MAP_ENTRY(pixel_format, JPEG),
};
STATIC MP_DEFINE_CONST_DICT(esp32_camera_pixel_format_locals_dict, esp32_camera_pixel_format_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_pixel_format);
MAKE_ENUM_TYPE(esp32_camera, PixelFormat, esp32_camera_pixel_format);
STATIC MP_DEFINE_CONST_DICT(espcamera_pixel_format_locals_dict, espcamera_pixel_format_locals_table);
MAKE_PRINTER(espcamera, espcamera_pixel_format);
MAKE_ENUM_TYPE(espcamera, PixelFormat, espcamera_pixel_format);
pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) {
return cp_enum_value(&esp32_camera_pixel_format_type, obj, arg_name);
return cp_enum_value(&espcamera_pixel_format_type, obj, arg_name);
}
//| class FrameSize:
@ -173,29 +174,29 @@ pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) {
//| """2560x1920"""
//|
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HD, FRAMESIZE_HD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, FHD, FRAMESIZE_FHD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_HD, FRAMESIZE_P_HD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_3MP, FRAMESIZE_P_3MP);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QXGA, FRAMESIZE_QXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, WQXGA, FRAMESIZE_WQXGA);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_FHD, FRAMESIZE_P_FHD);
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QSXGA, FRAMESIZE_QSXGA);
MAKE_ENUM_MAP(esp32_camera_frame_size) {
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, HD, FRAMESIZE_HD);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, FHD, FRAMESIZE_FHD);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, P_HD, FRAMESIZE_P_HD);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, P_3MP, FRAMESIZE_P_3MP);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QXGA, FRAMESIZE_QXGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, WQXGA, FRAMESIZE_WQXGA);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, P_FHD, FRAMESIZE_P_FHD);
MAKE_ENUM_VALUE(espcamera_frame_size_type, frame_size, QSXGA, FRAMESIZE_QSXGA);
MAKE_ENUM_MAP(espcamera_frame_size) {
MAKE_ENUM_MAP_ENTRY(frame_size, R96X96),
MAKE_ENUM_MAP_ENTRY(frame_size, R240X240),
MAKE_ENUM_MAP_ENTRY(frame_size, QQVGA),
@ -220,12 +221,12 @@ MAKE_ENUM_MAP(esp32_camera_frame_size) {
MAKE_ENUM_MAP_ENTRY(frame_size, QSXGA),
};
STATIC MP_DEFINE_CONST_DICT(esp32_camera_frame_size_locals_dict, esp32_camera_frame_size_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_frame_size);
MAKE_ENUM_TYPE(esp32_camera, FrameSize, esp32_camera_frame_size);
STATIC MP_DEFINE_CONST_DICT(espcamera_frame_size_locals_dict, espcamera_frame_size_locals_table);
MAKE_PRINTER(espcamera, espcamera_frame_size);
MAKE_ENUM_TYPE(espcamera, FrameSize, espcamera_frame_size);
framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) {
return cp_enum_value(&esp32_camera_frame_size_type, obj, arg_name);
return cp_enum_value(&espcamera_frame_size_type, obj, arg_name);
}
//| class GainCeiling:
@ -242,15 +243,15 @@ framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) {
//| GAIN_128X: GainCeiling
//|
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_2X, GAINCEILING_2X);
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_4X, GAINCEILING_4X);
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_8X, GAINCEILING_8X);
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_16X, GAINCEILING_16X);
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_32X, GAINCEILING_32X);
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_64X, GAINCEILING_64X);
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_128X, GAINCEILING_128X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_2X, GAINCEILING_2X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_4X, GAINCEILING_4X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_8X, GAINCEILING_8X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_16X, GAINCEILING_16X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_32X, GAINCEILING_32X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_64X, GAINCEILING_64X);
MAKE_ENUM_VALUE(espcamera_gain_ceiling_type, gain_ceiling, GAIN_128X, GAINCEILING_128X);
MAKE_ENUM_MAP(esp32_camera_gain_ceiling) {
MAKE_ENUM_MAP(espcamera_gain_ceiling) {
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_2X),
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_4X),
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_8X),
@ -260,28 +261,28 @@ MAKE_ENUM_MAP(esp32_camera_gain_ceiling) {
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_128X)
};
STATIC MP_DEFINE_CONST_DICT(esp32_camera_gain_ceiling_locals_dict, esp32_camera_gain_ceiling_locals_table);
MAKE_PRINTER(esp32_camera, esp32_camera_gain_ceiling);
MAKE_ENUM_TYPE(esp32_camera, GainCeiling, esp32_camera_gain_ceiling);
STATIC MP_DEFINE_CONST_DICT(espcamera_gain_ceiling_locals_dict, espcamera_gain_ceiling_locals_table);
MAKE_PRINTER(espcamera, espcamera_gain_ceiling);
MAKE_ENUM_TYPE(espcamera, GainCeiling, espcamera_gain_ceiling);
gainceiling_t validate_gain_ceiling(mp_obj_t obj, qstr arg_name) {
return cp_enum_value(&esp32_camera_gain_ceiling_type, obj, arg_name);
return cp_enum_value(&espcamera_gain_ceiling_type, obj, arg_name);
}
STATIC const mp_rom_map_elem_t esp32_camera_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_esp32_camera) },
{ MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&esp32_camera_camera_type), },
{ MP_ROM_QSTR(MP_QSTR_FrameSize), &esp32_camera_frame_size_type },
{ MP_ROM_QSTR(MP_QSTR_GainCeiling), &esp32_camera_gain_ceiling_type },
{ MP_ROM_QSTR(MP_QSTR_GrabMode), &esp32_camera_grab_mode_type },
{ MP_ROM_QSTR(MP_QSTR_PixelFormat), &esp32_camera_pixel_format_type },
STATIC const mp_rom_map_elem_t espcamera_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_espcamera) },
{ MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&espcamera_camera_type), },
{ MP_ROM_QSTR(MP_QSTR_FrameSize), &espcamera_frame_size_type },
{ MP_ROM_QSTR(MP_QSTR_GainCeiling), &espcamera_gain_ceiling_type },
{ MP_ROM_QSTR(MP_QSTR_GrabMode), &espcamera_grab_mode_type },
{ MP_ROM_QSTR(MP_QSTR_PixelFormat), &espcamera_pixel_format_type },
};
STATIC MP_DEFINE_CONST_DICT(esp32_camera_module_globals, esp32_camera_module_globals_table);
STATIC MP_DEFINE_CONST_DICT(espcamera_module_globals, espcamera_module_globals_table);
const mp_obj_module_t esp32_camera_module = {
const mp_obj_module_t espcamera_module = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t *)&esp32_camera_module_globals,
.globals = (mp_obj_dict_t *)&espcamera_module_globals,
};
MP_REGISTER_MODULE(MP_QSTR_esp32_camera, esp32_camera_module, CIRCUITPY_ESP32_CAMERA);
MP_REGISTER_MODULE(MP_QSTR_espcamera, espcamera_module, CIRCUITPY_ESPCAMERA);

View File

@ -31,13 +31,13 @@
#include "esp_camera.h"
extern const mp_obj_type_t esp32_camera_grab_mode_type;
extern const mp_obj_type_t espcamera_grab_mode_type;
extern const cp_enum_obj_t grab_mode_WHEN_EMPTY_obj;
extern const mp_obj_type_t esp32_camera_pixel_format_type;
extern const mp_obj_type_t espcamera_pixel_format_type;
extern const cp_enum_obj_t pixel_format_RGB565_obj;
extern const mp_obj_type_t esp32_camera_frame_size_type;
extern const mp_obj_type_t espcamera_frame_size_type;
extern const cp_enum_obj_t frame_size_QQVGA_obj;
extern const mp_obj_type_t esp32_camera_gain_ceiling_type;
extern const mp_obj_type_t espcamera_gain_ceiling_type;
extern camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name);
extern pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name);

View File

@ -37,6 +37,7 @@
//| """Direct access to a few ESP-IDF details. This module *should not* include any functionality
//| that could be implemented by other frameworks. It should only include ESP-IDF specific
//| things."""
//|
//| def heap_caps_get_total_size() -> int:
//| """Return the total size of the ESP-IDF, which includes the CircuitPython heap."""
@ -72,7 +73,8 @@ MP_DEFINE_CONST_FUN_OBJ_0(espidf_heap_caps_get_largest_free_block_obj, espidf_he
//| """Erase all data in the non-volatile storage (nvs), including data stored by with `microcontroller.nvm`
//|
//| This is necessary when upgrading from CircuitPython 6.3.0 or earlier to CircuitPython 7.0.0, because the
//| layout of data in nvs has changed. The old data will be lost when you perform this operation."""
//| layout of data in nvs has changed. The old data will be lost when you perform this operation.
//| """
//|
STATIC mp_obj_t espidf_erase_nvs(void) {
ESP_ERROR_CHECK(nvs_flash_deinit());

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 "bindings/espulp/ULP.h"
#include "py/enum.h"
#include "py/runtime.h"
#include "py/objproperty.h"
//| class ULP:
//| def __init__(self):
//| def __init__(self, arch: Architecture = Architecture.FSM):
//| """The ultra-low-power processor.
//|
//| Raises an exception if another ULP has been instantiated. This
//| ensures that is is only used by one piece of code at a time."""
//| ensures that is is only used by one piece of code at a time.
//|
//| :param Architecture arch: The ulp arch"""
//| ...
STATIC mp_obj_t espulp_ulp_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
enum { ARG_arch };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_arch, MP_ARG_OBJ, {.u_obj = (void *)&architecture_FSM_obj} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
const espulp_architecture_t arch = cp_enum_value(&espulp_architecture_type, args[ARG_arch].u_obj, MP_QSTR_arch);
espulp_ulp_obj_t *self = m_new_obj(espulp_ulp_obj_t);
self->base.type = &espulp_ulp_type;
common_hal_espulp_ulp_construct(self);
common_hal_espulp_ulp_construct(self, arch);
return MP_OBJ_FROM_PTR(self);
}
@ -124,7 +140,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(espulp_ulp_run_obj, 2, espulp_ulp_run);
//| def halt(self) -> None:
//| """Halts the running program and releases the pins given in `run()`."""
//| ...
//|
STATIC mp_obj_t espulp_ulp_halt(mp_obj_t self_in) {
espulp_ulp_obj_t *self = MP_OBJ_TO_PTR(self_in);
check_for_deinit(self);
@ -134,12 +149,27 @@ STATIC mp_obj_t espulp_ulp_halt(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(espulp_ulp_halt_obj, espulp_ulp_halt);
//| arch: Architecture
//| """The ulp architecture. (read-only)"""
//|
STATIC mp_obj_t espulp_ulp_get_arch(mp_obj_t self_in) {
espulp_ulp_obj_t *self = MP_OBJ_TO_PTR(self_in);
check_for_deinit(self);
return cp_enum_find(&espulp_architecture_type, self->arch);
}
MP_DEFINE_CONST_FUN_OBJ_1(espulp_ulp_get_arch_obj, espulp_ulp_get_arch);
MP_PROPERTY_GETTER(espulp_ulp_arch_obj,
(mp_obj_t)&espulp_ulp_get_arch_obj);
STATIC const mp_rom_map_elem_t espulp_ulp_locals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&espulp_ulp_deinit_obj) },
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&espulp_ulp___exit___obj) },
{ MP_ROM_QSTR(MP_QSTR_run), MP_ROM_PTR(&espulp_ulp_run_obj) },
{ MP_ROM_QSTR(MP_QSTR_halt), MP_ROM_PTR(&espulp_ulp_halt_obj) },
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&espulp_ulp_deinit_obj) },
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&mp_identity_obj) },
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&espulp_ulp___exit___obj) },
{ MP_ROM_QSTR(MP_QSTR_run), MP_ROM_PTR(&espulp_ulp_run_obj) },
{ MP_ROM_QSTR(MP_QSTR_halt), MP_ROM_PTR(&espulp_ulp_halt_obj) },
{ MP_ROM_QSTR(MP_QSTR_arch), MP_ROM_PTR(&espulp_ulp_arch_obj) },
};
STATIC MP_DEFINE_CONST_DICT(espulp_ulp_locals_dict, espulp_ulp_locals_table);

View File

@ -29,10 +29,9 @@
#include "py/obj.h"
#include "common-hal/espulp/ULP.h"
extern const mp_obj_type_t espulp_ulp_type;
void common_hal_espulp_ulp_construct(espulp_ulp_obj_t *self);
void common_hal_espulp_ulp_construct(espulp_ulp_obj_t *self, espulp_architecture_t arch);
bool common_hal_espulp_ulp_deinited(espulp_ulp_obj_t *self);
void common_hal_espulp_ulp_deinit(espulp_ulp_obj_t *self);

View File

@ -27,25 +27,36 @@
#include "bindings/espulp/ULPAlarm.h"
#include "py/runtime.h"
#include "py/objproperty.h"
//| class ULPAlarm:
//| """Trigger an alarm when the ULP requests wake-up."""
//|
//| def __init__(self) -> None:
//| def __init__(self, ulp: ULP) -> None:
//| """Create an alarm that will be triggered when the ULP requests wake-up.
//|
//| The alarm is not active until it is passed to an `alarm`-enabling function, such as
//| `alarm.light_sleep_until_alarms()` or `alarm.exit_and_deep_sleep_until_alarms()`.
//|
//| """
//| :param ULP ulp: The ulp instance"""
//| ...
//|
STATIC mp_obj_t espulp_ulpalarm_make_new(const mp_obj_type_t *type,
size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
STATIC mp_obj_t espulp_ulpalarm_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
enum { ARG_ulp };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_ulp, MP_ARG_REQUIRED | MP_ARG_OBJ },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
espulp_ulpalarm_obj_t *self = m_new_obj(espulp_ulpalarm_obj_t);
self->base.type = &espulp_ulpalarm_type;
common_hal_espulp_ulpalarm_construct(self);
espulp_ulp_obj_t *ulp = mp_arg_validate_type(args[ARG_ulp].u_obj, &espulp_ulp_type, MP_QSTR_ulp);
common_hal_espulp_ulpalarm_construct(self, ulp);
return MP_OBJ_FROM_PTR(self);
}

View File

@ -30,4 +30,4 @@
extern const mp_obj_type_t espulp_ulpalarm_type;
void common_hal_espulp_ulpalarm_construct(espulp_ulpalarm_obj_t *self);
void common_hal_espulp_ulpalarm_construct(espulp_ulpalarm_obj_t *self, espulp_ulp_obj_t *ulp);

View File

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

View File

@ -1,5 +1,5 @@
USB_VID = 0x239A
USB_PID = 0x8128
USB_PID = 0x80EE
USB_PRODUCT = "Feather ESP32-S2 Reverse TFT"
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_BOOT0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },

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
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_FREQ = 80m
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_BOOT0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },

View File

@ -11,4 +11,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 4MB
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_FREQ = 40m
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_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0
CIRCUITPY_ESPCAMERA = 0
# Include these Python libraries in firmware.
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_SIZE = 4MB
CIRCUITPY_ESP32_CAMERA = 0
CIRCUITPY_ESPCAMERA = 0
# Include these Python libraries in firmware.
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_NeoPixel
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_NEOPIXEL (&pin_GPIO18)
#define MICROPY_HW_LED_STATUS (&pin_GPIO0)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO16)
#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_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESP32_CAMERA = 0
CIRCUITPY_ESPCAMERA = 0
# Include these Python libraries in firmware
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests

View File

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

View File

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

View File

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

View File

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

View File

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

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
#define MICROPY_HW_BOARD_NAME "Feather ESP32S2 without PSRAM"
#define MICROPY_HW_MCU_NAME "ESP32S2"
#define MICROPY_HW_BOARD_NAME "ESP32-S3-DevKitC-1-N32R8"
#define MICROPY_HW_MCU_NAME "ESP32S3"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO21)
#define MICROPY_HW_NEOPIXEL (&pin_GPIO48)
#define MICROPY_HW_LED_STATUS (&pin_GPIO13)
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO3)
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36)
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)
#define DOUBLE_TAP_PIN (&pin_GPIO34)
#define AUTORESET_DELAY_MS 500

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