Merge branch 'adafruit:main' into seeduino-xiao-rp2040

This commit is contained in:
Pierre Constantineau 2021-11-22 17:12:35 -06:00 committed by GitHub
commit 81eed3ff4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
110 changed files with 5457 additions and 297 deletions

@ -1 +1 @@
Subproject commit ee411d34dfa2fb70a35aa99945eca77f16456619 Subproject commit c55da0dee66302d2fa8ed31623d047c307f409b2

@ -1 +1 @@
Subproject commit 9ae0e7f870c0dd508d8a27c179b5d63b47567f85 Subproject commit 781f46b73f71817b709d2e279fc188a7c1e69423

@ -1 +1 @@
Subproject commit a8f3cbc1a94b8a5d25f80101f519025a162dbb80 Subproject commit c24a5310bc259cd9d93b1f42468e07f41d4b0e56

@ -1 +1 @@
Subproject commit 5aceeae814effae4eb950f1078c194b11401faa7 Subproject commit 169715b3444c614e55827ccf79b35b2b5e11f1d2

@ -1 +1 @@
Subproject commit e0fecb6c73f11c31cfc2a9c0e9ce9805b8fb1cf1 Subproject commit 2017afdfb43d3d9c5a73f8e85e951a583b18206a

@ -1 +1 @@
Subproject commit 66adc454f5c9cc66b9e38777a61c58bc82a04090 Subproject commit 8d09b29a1a92499dbbd10dd832f27db71057af5f

@ -1 +1 @@
Subproject commit c8483fe4909fba9b4ecfce7092918a038cc087a0 Subproject commit 8a6ab89b7d19f45a20b3f794cf900e23c9a8453b

@ -1 +1 @@
Subproject commit 5b017df35b6a4cb4b7a30d0ac5d4595583ea461d Subproject commit 92a6ce1da70c0c4f69ef34fc0d7ec7155cc2441f

@ -1 +1 @@
Subproject commit 99bf9e741dccd1271317e782eed49cbf42a4efae Subproject commit 313c17cbb590ef8d505845369eb3b78c25c97fae

@ -1 +1 @@
Subproject commit 99a296fb3bdf2743f9b5f487649d7721c8f83c24 Subproject commit ca141954c0b39cc0343c63bedb64c02f307159b9

@ -1 +1 @@
Subproject commit 931b7de8daf3fa1e9cee0548b80de3ddbc20081f Subproject commit e07090117766d4a9ea2de07cd6f5418990cc598b

@ -1 +1 @@
Subproject commit b96b0debef16c41c35a8579ccbbb1779ca1eaf0c Subproject commit e25c1801c5428598f543873bb846851b78efb329

@ -1 +1 @@
Subproject commit 27b6d39384249cc9050d5d87982e88f1323e3098 Subproject commit 68744ede79c992a3df8322c21a1468c5ccaef2ee

@ -1 +1 @@
Subproject commit 1cb554987df86b008e5a0feaa56f0a24d806bf28 Subproject commit d79dd180cf6062e97d6a12cbc8dc7fdbedcc752b

@ -1 +1 @@
Subproject commit 8132539c48397e01cabd8317f069e4bb8b3ab065 Subproject commit 2ca37f927b3ee3aad379c2991f36b3ef1be0203d

@ -1 +1 @@
Subproject commit ea7bd9a8b14be7dfd09abb2d776170ee10ab5da7 Subproject commit ed41dd44605110f1d1411ed694ec2b5676dd8d9c

@ -1 +1 @@
Subproject commit cf564ad0defb0bc98a41f195c5b20d1aa88641ed Subproject commit daff8cdca78637915bea2f3a120cc84578516195

@ -1 +1 @@
Subproject commit fa2cb2c7770f67fa16053fe5375b1a9ad3a3d0a5 Subproject commit 9873446ebde5779c03c2bd4e3e544a801fb27bd5

@ -1 +1 @@
Subproject commit 0f5651650c11a24e531e5dd1eadfc5654d84a478 Subproject commit 1127e3f7bcefa9fddb5b7f30533ecc6c58b420ea

@ -1 +1 @@
Subproject commit a9ef35bae580b6a0d99a425856fcc863ad58a54d Subproject commit 88e5ae51427aa690de129c157223e93bf936ac41

@ -1 +1 @@
Subproject commit 0f4661c45a578d816323b5ad0f432aff73b5522f Subproject commit 9ca3bf00c6a2dd1de2d315a3b952a381d720aa7d

@ -1 +1 @@
Subproject commit 6b5e5699d205d26d08a50580c6e3094c1d445b8b Subproject commit e4f7cd083dea8eb103954e7703bbb487491b433f

@ -1 +1 @@
Subproject commit 161b39148ebd79f051630737e34e0cbd6d838a59 Subproject commit 70ef86dc1a42138efcab01945d5a421e45f2408e

@ -1 +1 @@
Subproject commit 4490961b28a129d2f6435c73d2bd65d2b042224c Subproject commit 379209dd7e4374c262b84256778d7895693e7fb6

@ -1 +1 @@
Subproject commit a0892d1822937fe89146dec68604b3e924d5c51e Subproject commit 79678c6adb2252de8fed6273604bc6ac676132a5

@ -1 +1 @@
Subproject commit 03f54421a050bbfda71e1c98986ddecc3862431a Subproject commit 900b28cbae008e3253c4c40496e49faea9fb7034

@ -1 +1 @@
Subproject commit 63f795518c79821fa1f60c4978b59c8bbd16ad1c Subproject commit b7a76420d1dec119f8744aa7c0ea500e235561d1

@ -1 +1 @@
Subproject commit 460e971e32ea53176b39ec093ae98fdac0d39d86 Subproject commit c5b480434de8fa56d8ba978a57cd3919fdc9da2a

@ -1 +1 @@
Subproject commit 9b53bebc520d70f89d44fc989fc493d5036df925 Subproject commit ca56187fe7af315130808191b004432fdfdc1b09

@ -1 +1 @@
Subproject commit 5f382650e62e05cc72a67dbedce13d706d699621 Subproject commit 5b699a609197fb42aa059788c7c824c346d57c4e

@ -1 +1 @@
Subproject commit da67fd3046c85eae0a3e417074bc681befa39218 Subproject commit d4ac6ce3eea2c87781fa2df4e431d9440c610fad

@ -1 +1 @@
Subproject commit 4ab8a0fc00795121d81f7e609bb7a03973725f10 Subproject commit 0450119e163df782930a887022e197d6d25ca666

View File

@ -5392,7 +5392,9 @@ FRESULT f_mkfs (
const UINT n_fats = 1; /* Number of FATs for FAT/FAT32 volume (1 or 2) */ const UINT n_fats = 1; /* Number of FATs for FAT/FAT32 volume (1 or 2) */
const UINT n_rootdir = 512; /* Number of root directory entries for FAT volume */ const UINT n_rootdir = 512; /* Number of root directory entries for FAT volume */
static const WORD cst[] = {1, 4, 16, 64, 256, 512, 0}; /* Cluster size boundary for FAT volume (4Ks unit) */ static const WORD cst[] = {1, 4, 16, 64, 256, 512, 0}; /* Cluster size boundary for FAT volume (4Ks unit) */
#if FF_MKFS_FAT32
static const WORD cst32[] = {1, 2, 4, 8, 16, 32, 0}; /* Cluster size boundary for FAT32 volume (128Ks unit) */ static const WORD cst32[] = {1, 2, 4, 8, 16, 32, 0}; /* Cluster size boundary for FAT32 volume (128Ks unit) */
#endif
BYTE fmt, sys, *buf, *pte, part; void *pdrv; BYTE fmt, sys, *buf, *pte, part; void *pdrv;
WORD ss; /* Sector size */ WORD ss; /* Sector size */
DWORD szb_buf, sz_buf, sz_blk, n_clst, pau, sect, nsect, n; DWORD szb_buf, sz_buf, sz_blk, n_clst, pau, sect, nsect, n;
@ -5464,7 +5466,7 @@ FRESULT f_mkfs (
} }
} }
if (au > 128) LEAVE_MKFS(FR_INVALID_PARAMETER); /* Too large au for FAT/FAT32 */ if (au > 128) LEAVE_MKFS(FR_INVALID_PARAMETER); /* Too large au for FAT/FAT32 */
if (opt & FM_FAT32) { /* FAT32 possible? */ if (FF_MKFS_FAT32 && (opt & FM_FAT32)) { /* FAT32 possible? */
if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */ if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */
fmt = FS_FAT32; break; fmt = FS_FAT32; break;
} }
@ -5641,6 +5643,7 @@ FRESULT f_mkfs (
do { do {
pau = au; pau = au;
/* Pre-determine number of clusters and FAT sub-type */ /* Pre-determine number of clusters and FAT sub-type */
#if FF_MKFS_FAT32
if (fmt == FS_FAT32) { /* FAT32 volume */ if (fmt == FS_FAT32) { /* FAT32 volume */
if (pau == 0) { /* au auto-selection */ if (pau == 0) { /* au auto-selection */
n = sz_vol / 0x20000; /* Volume size in unit of 128KS */ n = sz_vol / 0x20000; /* Volume size in unit of 128KS */
@ -5651,7 +5654,9 @@ FRESULT f_mkfs (
sz_rsv = 32; /* Number of reserved sectors */ sz_rsv = 32; /* Number of reserved sectors */
sz_dir = 0; /* No static directory */ sz_dir = 0; /* No static directory */
if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) LEAVE_MKFS(FR_MKFS_ABORTED); if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) LEAVE_MKFS(FR_MKFS_ABORTED);
} else { /* FAT volume */ } else
#endif
{ /* FAT volume */
if (pau == 0) { /* au auto-selection */ if (pau == 0) { /* au auto-selection */
n = sz_vol / 0x1000; /* Volume size in unit of 4KS */ n = sz_vol / 0x1000; /* Volume size in unit of 4KS */
for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */
@ -5681,12 +5686,14 @@ FRESULT f_mkfs (
/* Determine number of clusters and final check of validity of the FAT sub-type */ /* Determine number of clusters and final check of validity of the FAT sub-type */
if (sz_vol < b_data + pau * 16 - b_vol) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume */ if (sz_vol < b_data + pau * 16 - b_vol) LEAVE_MKFS(FR_MKFS_ABORTED); /* Too small volume */
n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau; n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau;
#if FF_MKFS_FAT32
if (fmt == FS_FAT32) { if (fmt == FS_FAT32) {
if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */ if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */
if (au == 0 && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ if (au == 0 && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */
LEAVE_MKFS(FR_MKFS_ABORTED); LEAVE_MKFS(FR_MKFS_ABORTED);
} }
} }
#endif
if (fmt == FS_FAT16) { if (fmt == FS_FAT16) {
if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */
if (au == 0 && (pau * 2) <= 64) { if (au == 0 && (pau * 2) <= 64) {
@ -5720,7 +5727,11 @@ FRESULT f_mkfs (
buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */
st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */
buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */ buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */
#if FF_MKFS_FAT32
st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */ st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */
#else
st_word(buf + BPB_RootEntCnt, (WORD) n_rootdir); /* Number of root directory entries */
#endif
if (sz_vol < 0x10000) { if (sz_vol < 0x10000) {
st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */
} else { } else {
@ -5730,6 +5741,7 @@ FRESULT f_mkfs (
st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */
st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */
st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */ st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */
#if FF_MKFS_FAT32
if (fmt == FS_FAT32) { if (fmt == FS_FAT32) {
st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */
st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */
@ -5739,7 +5751,9 @@ FRESULT f_mkfs (
buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */
buf[BS_BootSig32] = 0x29; /* Extended boot signature */ buf[BS_BootSig32] = 0x29; /* Extended boot signature */
mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */
} else { } else
#endif
{
st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */
st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */
buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */
@ -5750,6 +5764,7 @@ FRESULT f_mkfs (
if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it to the VBR sector */ if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); /* Write it to the VBR sector */
/* Create FSINFO record if needed */ /* Create FSINFO record if needed */
#if FF_MKFS_FAT32
if (fmt == FS_FAT32) { if (fmt == FS_FAT32) {
disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */
mem_set(buf, 0, ss); mem_set(buf, 0, ss);
@ -5761,16 +5776,20 @@ FRESULT f_mkfs (
disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */
disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */
} }
#endif
/* Initialize FAT area */ /* Initialize FAT area */
mem_set(buf, 0, (UINT)szb_buf); mem_set(buf, 0, (UINT)szb_buf);
sect = b_fat; /* FAT start sector */ sect = b_fat; /* FAT start sector */
for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ for (i = 0; i < n_fats; i++) { /* Initialize FATs each */
#if FF_MKFS_FAT32
if (fmt == FS_FAT32) { if (fmt == FS_FAT32) {
st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */ st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */
st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */ st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */
st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */ st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */
} else { } else
#endif
{
st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */ st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */
} }
nsect = sz_fat; /* Number of FAT sectors */ nsect = sz_fat; /* Number of FAT sectors */
@ -5783,7 +5802,11 @@ FRESULT f_mkfs (
} }
/* Initialize root directory (fill with zero) */ /* Initialize root directory (fill with zero) */
#if FF_MKFS_FAT32
nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */
#else
nsect = sz_dir; /* Number of root directory sectors */
#endif
do { do {
n = (nsect > sz_buf) ? sz_buf : nsect; n = (nsect > sz_buf) ? sz_buf : nsect;
if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR); if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) LEAVE_MKFS(FR_DISK_ERR);
@ -5795,7 +5818,7 @@ FRESULT f_mkfs (
if (FF_FS_EXFAT && fmt == FS_EXFAT) { if (FF_FS_EXFAT && fmt == FS_EXFAT) {
sys = 0x07; /* HPFS/NTFS/exFAT */ sys = 0x07; /* HPFS/NTFS/exFAT */
} else { } else {
if (fmt == FS_FAT32) { if (FF_MKFS_FAT32 && fmt == FS_FAT32) {
sys = 0x0C; /* FAT32X */ sys = 0x0C; /* FAT32X */
} else { } else {
if (sz_vol >= 0x10000) { if (sz_vol >= 0x10000) {

View File

@ -72,6 +72,12 @@
#define FF_USE_MKFS 1 #define FF_USE_MKFS 1
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */ /* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
#ifdef MICROPY_FF_MKFS_FAT32
#define FF_MKFS_FAT32 MICROPY_FF_MKFS_FAT32
#else
#define FF_MKFS_FAT32 0
#endif
/* This option switches off FAT32 support in f_mkfs() */
#define FF_USE_FASTSEEK 1 #define FF_USE_FASTSEEK 1
/* This option switches fast seek function. (0:Disable or 1:Enable) */ /* This option switches fast seek function. (0:Disable or 1:Enable) */

View File

@ -1301,6 +1301,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Pin DAC yang diberikan tidak valid" msgstr "Pin DAC yang diberikan tidak valid"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1374,6 +1378,10 @@ msgstr "Ukuran potongan format tidak valid"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Akses memori tidak valid." msgstr "Akses memori tidak valid."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Jumlah bit tidak valid" msgstr "Jumlah bit tidak valid"
@ -2169,6 +2177,10 @@ msgstr "Memisahkan dengan menggunakan sub-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Ukuran stack minimal harus 256" msgstr "Ukuran stack minimal harus 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3962,7 +3974,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "" msgstr ""
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4180,6 +4192,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1280,6 +1280,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1353,6 +1357,10 @@ msgstr ""
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "" msgstr ""
@ -2134,6 +2142,10 @@ msgstr ""
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3924,7 +3936,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "" msgstr ""
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4142,6 +4154,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1283,6 +1283,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1356,6 +1360,10 @@ msgstr ""
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "" msgstr ""
@ -2137,6 +2145,10 @@ msgstr ""
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3927,7 +3939,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "" msgstr ""
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4145,6 +4157,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1300,6 +1300,10 @@ msgstr "Ungültige BSSID"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Ungültiger DAC-Pin angegeben" msgstr "Ungültiger DAC-Pin angegeben"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "Ungültige MIDI Datei" msgstr "Ungültige MIDI Datei"
@ -1373,6 +1377,10 @@ msgstr "Ungültige format chunk size"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Ungültiger Speicherzugriff." msgstr "Ungültiger Speicherzugriff."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Ungültige Anzahl von Bits" msgstr "Ungültige Anzahl von Bits"
@ -2166,6 +2174,10 @@ msgstr "Splitting mit sub-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Die Stackgröße sollte mindestens 256 sein" msgstr "Die Stackgröße sollte mindestens 256 sein"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3990,7 +4002,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() mit 3 Argumenten erfordert Integer" msgstr "pow() mit 3 Argumenten erfordert Integer"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4210,6 +4222,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "start/end Indizes" msgstr "start/end Indizes"

View File

@ -1280,6 +1280,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1353,6 +1357,10 @@ msgstr ""
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "" msgstr ""
@ -2134,6 +2142,10 @@ msgstr ""
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3924,7 +3936,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "" msgstr ""
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4142,6 +4154,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1295,6 +1295,10 @@ msgstr "Invalid BSSID"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Invalid DAC pin supplied" msgstr "Invalid DAC pin supplied"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "Invalid MIDI file" msgstr "Invalid MIDI file"
@ -1368,6 +1372,10 @@ msgstr "Invalid format chunk size"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Invalid memory access." msgstr "Invalid memory access."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Invalid number of bits" msgstr "Invalid number of bits"
@ -2158,6 +2166,10 @@ msgstr "Splitting with sub-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Stack size must be at least 256" msgstr "Stack size must be at least 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "Stereo left must be on PWM channel A" msgstr "Stereo left must be on PWM channel A"
@ -3961,7 +3973,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() with 3 arguments requires integers" msgstr "pow() with 3 arguments requires integers"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4181,6 +4193,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "start/end indices" msgstr "start/end indices"

View File

@ -1313,6 +1313,10 @@ msgstr "BSSID inválido"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Pin suministrado inválido para DAC" msgstr "Pin suministrado inválido para DAC"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "Archivo MIDI inválido" msgstr "Archivo MIDI inválido"
@ -1386,6 +1390,10 @@ msgstr "Formato de fragmento de formato no válido"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Acceso a memoria no válido." msgstr "Acceso a memoria no válido."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Numero inválido de bits" msgstr "Numero inválido de bits"
@ -2186,6 +2194,10 @@ msgstr "Dividiendo con sub-capturas"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "El tamaño de la pila debe ser de al menos 256" msgstr "El tamaño de la pila debe ser de al menos 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "Estéreo izquierdo debe estar en el canal PWM A" msgstr "Estéreo izquierdo debe estar en el canal PWM A"
@ -4007,7 +4019,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() con 3 argumentos requiere enteros" msgstr "pow() con 3 argumentos requiere enteros"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4227,6 +4239,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "índices inicio/final" msgstr "índices inicio/final"

View File

@ -1295,6 +1295,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1368,6 +1372,10 @@ msgstr "Mali ang format ng chunk size"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Mali ang bilang ng bits" msgstr "Mali ang bilang ng bits"
@ -2154,6 +2162,10 @@ msgstr "Binibiyak gamit ang sub-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256" msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3965,7 +3977,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() na may 3 argumento kailangan ng integers" msgstr "pow() na may 3 argumento kailangan ng integers"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4185,6 +4197,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "start/end indeks" msgstr "start/end indeks"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-08-23 20:20+0000\n" "PO-Revision-Date: 2021-11-15 18:21+0000\n"
"Last-Translator: Jeff Epler <jepler@gmail.com>\n" "Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.8.1-dev\n" "X-Generator: Weblate 4.9.1-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -79,11 +79,11 @@ msgstr ""
#: shared-bindings/microcontroller/Pin.c #: shared-bindings/microcontroller/Pin.c
msgid "%q and %q contain duplicate pins" msgid "%q and %q contain duplicate pins"
msgstr "" msgstr "%q et %q contiennent des broches en double"
#: shared-bindings/microcontroller/Pin.c #: shared-bindings/microcontroller/Pin.c
msgid "%q contains duplicate pins" msgid "%q contains duplicate pins"
msgstr "" msgstr "%q contient des broches en double"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c #: ports/atmel-samd/common-hal/sdioio/SDCard.c
msgid "%q failure: %d" msgid "%q failure: %d"
@ -108,23 +108,23 @@ msgstr "les indices %q doivent être des entiers, pas %s"
#: py/argcheck.c #: py/argcheck.c
msgid "%q length must be %d-%d" msgid "%q length must be %d-%d"
msgstr "" msgstr "La longueur de %q doit être %d-%d"
#: shared-bindings/usb_hid/Device.c #: shared-bindings/usb_hid/Device.c
msgid "%q length must be >= 1" msgid "%q length must be >= 1"
msgstr "" msgstr "La longueur de %q doit être >= 1"
#: py/argcheck.c #: py/argcheck.c
msgid "%q must be %d-%d" msgid "%q must be %d-%d"
msgstr "" msgstr "%q doit être %d-%d"
#: py/argcheck.c shared-bindings/gifio/GifWriter.c #: py/argcheck.c shared-bindings/gifio/GifWriter.c
msgid "%q must be <= %d" msgid "%q must be <= %d"
msgstr "" msgstr "%q doit être <= %d"
#: py/argcheck.c #: py/argcheck.c
msgid "%q must be >= %d" msgid "%q must be >= %d"
msgstr "" msgstr "%q doit être >= %d"
#: py/argcheck.c shared-bindings/memorymonitor/AllocationAlarm.c #: py/argcheck.c shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0" msgid "%q must be >= 0"
@ -149,11 +149,11 @@ msgstr "%q doit être un tuple de longueur 2"
#: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c #: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c
#: shared-module/vectorio/VectorShape.c #: shared-module/vectorio/VectorShape.c
msgid "%q must be between %d and %d" msgid "%q must be between %d and %d"
msgstr "" msgstr "%q doit être entre %d et %d"
#: py/argcheck.c #: py/argcheck.c
msgid "%q must be of type %q" msgid "%q must be of type %q"
msgstr "" msgstr "%q doit être du type %q"
#: ports/atmel-samd/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c
msgid "%q must be power of 2" msgid "%q must be power of 2"
@ -161,7 +161,7 @@ msgstr "%q doit être une puissance de 2"
#: shared-bindings/wifi/Monitor.c #: shared-bindings/wifi/Monitor.c
msgid "%q out of bounds" msgid "%q out of bounds"
msgstr "" msgstr "%q est hors limites"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#: shared-bindings/canio/Match.c #: shared-bindings/canio/Match.c
@ -178,7 +178,7 @@ msgstr "%q doit être un chiffre entier (int)"
#: shared-bindings/usb_hid/Device.c #: shared-bindings/usb_hid/Device.c
msgid "%q with a report ID of 0 must be of length 1" msgid "%q with a report ID of 0 must be of length 1"
msgstr "" msgstr "%q avec un identifiant de rapport à 0 doit être de longueur 1"
#: py/bc.c py/objnamedtuple.c #: py/bc.c py/objnamedtuple.c
msgid "%q() takes %d positional arguments but %d were given" msgid "%q() takes %d positional arguments but %d were given"
@ -186,7 +186,7 @@ msgstr "%q() prend %d paramètres positionnels mais %d ont été donnés"
#: shared-bindings/usb_hid/Device.c #: shared-bindings/usb_hid/Device.c
msgid "%q, %q, and %q must all be the same length" msgid "%q, %q, and %q must all be the same length"
msgstr "" msgstr "%q, %q, et %q doivent tous être de la même longueur"
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c #: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
#, c-format #, c-format
@ -256,12 +256,12 @@ msgstr "'%s' attend {r0, r1, ...}"
#: py/emitinlinextensa.c #: py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' integer %d isn't within range %d..%d" msgid "'%s' integer %d isn't within range %d..%d"
msgstr "" msgstr "L'entier '%s' à %d n'est pas dans l'intervalle %d..%d"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
#, c-format #, c-format
msgid "'%s' integer 0x%x doesn't fit in mask 0x%x" msgid "'%s' integer 0x%x doesn't fit in mask 0x%x"
msgstr "" msgstr "L'entier '%s' à 0x%x n'entre pas dans le masque 0x%x"
#: py/obj.c #: py/obj.c
#, c-format #, c-format
@ -280,7 +280,7 @@ msgstr "l'objet '%s' n'a pas d'attribut '%q'"
#: py/obj.c #: py/obj.c
#, c-format #, c-format
msgid "'%s' object isn't subscriptable" msgid "'%s' object isn't subscriptable"
msgstr "" msgstr "l'objet '%s' n'est pas indexé"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
@ -340,7 +340,7 @@ msgstr "'yield' dehors d'une fonction"
#: shared-module/vectorio/VectorShape.c #: shared-module/vectorio/VectorShape.c
msgid "(x,y) integers required" msgid "(x,y) integers required"
msgstr "" msgstr "Des entiers (x,y) requis"
#: py/compile.c #: py/compile.c
msgid "*x must be assignment target" msgid "*x must be assignment target"
@ -525,7 +525,7 @@ msgstr ""
#: ports/raspberrypi/audio_dma.c #: ports/raspberrypi/audio_dma.c
msgid "Audio conversion not implemented" msgid "Audio conversion not implemented"
msgstr "" msgstr "La conversion audio n'est pas implémentée"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "AuthMode.OPEN is not used with password" msgid "AuthMode.OPEN is not used with password"
@ -575,11 +575,11 @@ msgstr "La profondeur de bit doit être un multiple de 8."
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "Bitmap size and bits per value must match" msgid "Bitmap size and bits per value must match"
msgstr "" msgstr "La dimension et la taille en bits de l'image doivent correspondre"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Boot device must be first device (interface #0)." msgid "Boot device must be first device (interface #0)."
msgstr "" msgstr "L'appareil de démarrage doit être le premier (interface #0)."
#: ports/mimxrt10xx/common-hal/busio/UART.c #: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Both RX and TX required for flow control" msgid "Both RX and TX required for flow control"
@ -653,7 +653,7 @@ msgstr "Tampon trop court de %d octets"
#: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c #: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c
msgid "Buffers must be same size" msgid "Buffers must be same size"
msgstr "" msgstr "Les tampons doivent avoir la même taille"
#: ports/atmel-samd/common-hal/paralleldisplay/ParallelBus.c #: ports/atmel-samd/common-hal/paralleldisplay/ParallelBus.c
#: ports/espressif/common-hal/paralleldisplay/ParallelBus.c #: ports/espressif/common-hal/paralleldisplay/ParallelBus.c
@ -754,7 +754,7 @@ msgstr "Impossible d'enregistrer vers un fichier"
#: shared-module/storage/__init__.c #: shared-module/storage/__init__.c
msgid "Cannot remount '/' when visible via USB." msgid "Cannot remount '/' when visible via USB."
msgstr "" msgstr "Ne peut démonter '/' quand est visible par USB."
#: ports/atmel-samd/common-hal/microcontroller/__init__.c #: ports/atmel-samd/common-hal/microcontroller/__init__.c
#: ports/cxd56/common-hal/microcontroller/__init__.c #: ports/cxd56/common-hal/microcontroller/__init__.c
@ -929,7 +929,7 @@ msgstr "Un bloc de données doit suivre un bloc fmt"
#: ports/nrf/common-hal/_bleio/Adapter.c #: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Data not supported with directed advertising" msgid "Data not supported with directed advertising"
msgstr "" msgstr "Les données ne sont pas supportées avec les annonces directes"
#: ports/nrf/common-hal/_bleio/Adapter.c #: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Data too large for advertisement packet" msgid "Data too large for advertisement packet"
@ -938,6 +938,7 @@ msgstr "Données trop volumineuses pour un paquet d'avertissement"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c #: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Deep sleep pins must use a rising edge with pulldown" msgid "Deep sleep pins must use a rising edge with pulldown"
msgstr "" msgstr ""
"Les broches de sommeil profond doivent utiliser un montant avec un pulldown"
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length." msgid "Destination capacity is smaller than destination_length."
@ -1112,10 +1113,12 @@ msgstr "Image du microprogramme est invalide"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "For L8 colorspace, input bitmap must have 8 bits per pixel" msgid "For L8 colorspace, input bitmap must have 8 bits per pixel"
msgstr "" msgstr ""
"Avec l'espace de couleur L8, l'image d'entrée doit avoir 8 bits par pixel"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "For RGB colorspaces, input bitmap must have 16 bits per pixel" msgid "For RGB colorspaces, input bitmap must have 16 bits per pixel"
msgstr "" msgstr ""
"Avec l'espace de couleur RGB, l'image d'entrée doit avoir 16 bits par pixel"
#: ports/cxd56/common-hal/camera/Camera.c #: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported" msgid "Format not supported"
@ -1266,7 +1269,7 @@ msgstr "Chiffrement insuffisant"
#: ports/atmel-samd/audio_dma.c ports/raspberrypi/audio_dma.c #: ports/atmel-samd/audio_dma.c ports/raspberrypi/audio_dma.c
msgid "Internal audio buffer too small" msgid "Internal audio buffer too small"
msgstr "" msgstr "Le tampon interne pour l'audio est trop petit"
#: ports/stm/common-hal/busio/UART.c #: ports/stm/common-hal/busio/UART.c
msgid "Internal define error" msgid "Internal define error"
@ -1274,7 +1277,7 @@ msgstr "Erreur de définition interne"
#: ports/espressif/common-hal/paralleldisplay/ParallelBus.c #: ports/espressif/common-hal/paralleldisplay/ParallelBus.c
msgid "Internal error" msgid "Internal error"
msgstr "" msgstr "Erreur interne"
#: shared-module/rgbmatrix/RGBMatrix.c #: shared-module/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
@ -1308,7 +1311,7 @@ msgstr "AuthMode invalide"
#: ports/nrf/common-hal/_bleio/__init__.c #: ports/nrf/common-hal/_bleio/__init__.c
msgid "Invalid BLE parameter" msgid "Invalid BLE parameter"
msgstr "" msgstr "Paramètre BLE invalide"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
msgid "Invalid BMP file" msgid "Invalid BMP file"
@ -1323,6 +1326,10 @@ msgstr "BSSID invalide"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Broche DAC non valide fournie" msgstr "Broche DAC non valide fournie"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "Fichier MIDI invalide" msgstr "Fichier MIDI invalide"
@ -1378,7 +1385,7 @@ msgstr "data_count invalide %d"
#: ports/atmel-samd/common-hal/imagecapture/ParallelImageCapture.c #: ports/atmel-samd/common-hal/imagecapture/ParallelImageCapture.c
#, c-format #, c-format
msgid "Invalid data_pins[%d]" msgid "Invalid data_pins[%d]"
msgstr "" msgstr "data_pins[%d] invalide"
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Invalid direction." msgid "Invalid direction."
@ -1396,6 +1403,10 @@ msgstr "Taille de bloc de formatage invalide"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Accès à la mémoire invalide." msgstr "Accès à la mémoire invalide."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Nombre de bits invalide" msgstr "Nombre de bits invalide"
@ -1568,7 +1579,7 @@ msgstr "first_set_pin manquant. L'instruction %d règle la/les broche(s)"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#, c-format #, c-format
msgid "Missing jmp_pin. Instruction %d jumps on pin" msgid "Missing jmp_pin. Instruction %d jumps on pin"
msgstr "" msgstr "jmp_pin manquant. L'instruction %d va passer à la broche"
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
#, c-format #, c-format
@ -1655,7 +1666,7 @@ msgstr "Pas d'horloge disponible"
#: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c #: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c
msgid "No capture in progress" msgid "No capture in progress"
msgstr "" msgstr "Aucune capture en cours"
#: shared-bindings/_bleio/PacketBuffer.c #: shared-bindings/_bleio/PacketBuffer.c
msgid "No connection: length cannot be determined" msgid "No connection: length cannot be determined"
@ -1702,7 +1713,7 @@ msgstr "Pas de support pour chiffre entier long"
#: shared-module/usb_hid/__init__.c #: shared-module/usb_hid/__init__.c
#, c-format #, c-format
msgid "No more than %d HID devices allowed" msgid "No more than %d HID devices allowed"
msgstr "" msgstr "Pas plus de %d appareils HID autorisés"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "No network with that ssid" msgid "No network with that ssid"
@ -1764,7 +1775,7 @@ msgstr "Non réglable"
#: ports/espressif/common-hal/paralleldisplay/ParallelBus.c #: ports/espressif/common-hal/paralleldisplay/ParallelBus.c
#, c-format #, c-format
msgid "Number of data_pins must be 8 or 16, not %d" msgid "Number of data_pins must be 8 or 16, not %d"
msgstr "" msgstr "Le nombre de data_pins doit être 8 ou 16, et non %d"
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
@ -1808,7 +1819,7 @@ msgstr ""
#: shared-bindings/ipaddress/__init__.c #: shared-bindings/ipaddress/__init__.c
msgid "Only int or string supported for ip" msgid "Only int or string supported for ip"
msgstr "" msgstr "Seulement les int et string sont supportés pour une adresse IP"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
@ -1825,7 +1836,7 @@ msgstr "Seulement une TouchAlarm peu être réglée en someil profond."
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c #: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
msgid "Only one address is allowed" msgid "Only one address is allowed"
msgstr "" msgstr "Seulement une adresse est autorisée"
#: ports/atmel-samd/common-hal/alarm/time/TimeAlarm.c #: ports/atmel-samd/common-hal/alarm/time/TimeAlarm.c
#: ports/espressif/common-hal/alarm/time/TimeAlarm.c #: ports/espressif/common-hal/alarm/time/TimeAlarm.c
@ -1905,7 +1916,7 @@ msgstr "Permission refusée"
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c #: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/alarm/pin/PinAlarm.c #: ports/stm/common-hal/alarm/pin/PinAlarm.c
msgid "Pin cannot wake from Deep Sleep" msgid "Pin cannot wake from Deep Sleep"
msgstr "" msgstr "La broche ne peut être réveillée depuis un sommeil profond"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Pin count must be at least 1" msgid "Pin count must be at least 1"
@ -1928,7 +1939,7 @@ msgstr "La broche 'pin' ne supporte pas les capacitées ADC"
#: ports/stm/common-hal/alarm/pin/PinAlarm.c #: ports/stm/common-hal/alarm/pin/PinAlarm.c
#: ports/stm/common-hal/pulseio/PulseIn.c #: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin interrupt already in use" msgid "Pin interrupt already in use"
msgstr "" msgstr "L'interruption de cette broche est déjà utilisée"
#: shared-bindings/adafruit_bus_device/SPIDevice.c #: shared-bindings/adafruit_bus_device/SPIDevice.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
@ -1960,7 +1971,7 @@ msgstr "Les broches doivent être séquentielles"
#: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c #: ports/raspberrypi/common-hal/rotaryio/IncrementalEncoder.c
msgid "Pins must be sequential GPIO pins" msgid "Pins must be sequential GPIO pins"
msgstr "" msgstr "Les broches doivent être des broches GPIO à la suite"
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Pins must share PWM slice" msgid "Pins must share PWM slice"
@ -2119,7 +2130,7 @@ msgstr "Erreur de réinitialisation SPI"
#: ports/espressif/common-hal/busio/SPI.c #: ports/espressif/common-hal/busio/SPI.c
msgid "SPI configuration failed" msgid "SPI configuration failed"
msgstr "" msgstr "La configuration SPI a échoué"
#: ports/raspberrypi/common-hal/busio/SPI.c #: ports/raspberrypi/common-hal/busio/SPI.c
msgid "SPI peripheral in use" msgid "SPI peripheral in use"
@ -2162,7 +2173,7 @@ msgstr "Taille n'est pas supportée"
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c #: ports/atmel-samd/common-hal/alarm/SleepMemory.c
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c #: ports/raspberrypi/common-hal/alarm/SleepMemory.c
msgid "Sleep Memory not available" msgid "Sleep Memory not available"
msgstr "" msgstr "La mémoire de sommeil n'est pas disponible"
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
@ -2185,7 +2196,7 @@ msgstr "Les tampons source et de destination doivent être de la même longueur"
#: shared-bindings/paralleldisplay/ParallelBus.c #: shared-bindings/paralleldisplay/ParallelBus.c
msgid "Specify exactly one of data0 or data_pins" msgid "Specify exactly one of data0 or data_pins"
msgstr "" msgstr "Spécifiez une unique broche parmi data0 ou data_pins"
#: extmod/modure.c #: extmod/modure.c
msgid "Splitting with sub-captures" msgid "Splitting with sub-captures"
@ -2195,6 +2206,10 @@ msgstr "Fractionnement avec des sous-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "La pile doit être au moins de 256" msgstr "La pile doit être au moins de 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "Canal stéréo gauche doit être sur le canal PWM A" msgstr "Canal stéréo gauche doit être sur le canal PWM A"
@ -2228,12 +2243,16 @@ msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n" "The CircuitPython heap was corrupted because the stack was too small.\n"
"Increase the stack size if you know how. If not:" "Increase the stack size if you know how. If not:"
msgstr "" msgstr ""
"La pile de CircuitPython est corrompue parce que la pile était trop petite.\n"
"Augmentez la taille de la pile si vous savez comment. Sinon :"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to " "The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode." "exit safe mode."
msgstr "" msgstr ""
"Le module `microcontroller` a été utilisé pour démarrer en mode sûr. Pressez "
"reset pour quitter le mode sûr."
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30" msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
@ -2265,13 +2284,15 @@ msgstr "Le signe de l'échantillon ne correspond pas à celui du mixer"
#: shared-module/imagecapture/ParallelImageCapture.c #: shared-module/imagecapture/ParallelImageCapture.c
msgid "This microcontroller does not support continuous capture." msgid "This microcontroller does not support continuous capture."
msgstr "" msgstr "Ce microcontrôleur ne support pas la capture continue."
#: shared-module/paralleldisplay/ParallelBus.c #: shared-module/paralleldisplay/ParallelBus.c
msgid "" msgid ""
"This microcontroller only supports data0=, not data_pins=, because it " "This microcontroller only supports data0=, not data_pins=, because it "
"requires contiguous pins." "requires contiguous pins."
msgstr "" msgstr ""
"Ce microcontrôleur supporte uniquement data0=, et non data_pins=, parce "
"qu'il nécessite des broches adjacentes."
#: shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/TileGrid.c
msgid "Tile height must exactly divide bitmap height" msgid "Tile height must exactly divide bitmap height"
@ -2355,19 +2376,19 @@ msgstr "Erreur d'écriture UART"
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
msgid "USB busy" msgid "USB busy"
msgstr "" msgstr "L'USB est occupé"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "USB devices need more endpoints than are available." msgid "USB devices need more endpoints than are available."
msgstr "" msgstr "Les appareils USB nécessitent plus de connections que disponibles."
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "USB devices specify too many interface names." msgid "USB devices specify too many interface names."
msgstr "" msgstr "Les appareils USB spécifient trop de noms d'interface."
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
msgid "USB error" msgid "USB error"
msgstr "" msgstr "Erreur de l'USB"
#: shared-bindings/_bleio/UUID.c #: shared-bindings/_bleio/UUID.c
msgid "UUID integer value must be 0-0xffff" msgid "UUID integer value must be 0-0xffff"
@ -2476,7 +2497,7 @@ msgstr "Débit en bauds non supporté"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "Unsupported colorspace" msgid "Unsupported colorspace"
msgstr "" msgstr "Espace de couleur non supporté"
#: shared-module/displayio/display_core.c #: shared-module/displayio/display_core.c
msgid "Unsupported display bus type" msgid "Unsupported display bus type"
@ -2555,6 +2576,11 @@ msgid ""
"\n" "\n"
"To list built-in modules type `help(\"modules\")`.\n" "To list built-in modules type `help(\"modules\")`.\n"
msgstr "" msgstr ""
"Bienvenue sur Adafruit CircuitPython %s !\n"
"\n"
"Plus d'informations sur circuitpython.org.\n"
"\n"
"Pour lister les modules internes, entrez `help(\"modules\")`.\n"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "WiFi password must be between 8 and 63 characters" msgid "WiFi password must be between 8 and 63 characters"
@ -2570,12 +2596,14 @@ msgstr "Écritures non supporté vers les Characteristic"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode because:\n" msgid "You are in safe mode because:\n"
msgstr "" msgstr "Vous êtres en mode sûr parce que :\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
"You pressed the reset button during boot. Press again to exit safe mode." "You pressed the reset button during boot. Press again to exit safe mode."
msgstr "" msgstr ""
"Vous avez pressé le bouton de reset pendant le démarrage. Pressez le à "
"nouveau pour sortir du mode sûr."
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by " msgid "You requested starting safe mode by "
@ -2631,7 +2659,7 @@ msgstr "l'argument est d'un mauvais type"
#: py/compile.c #: py/compile.c
msgid "argument name reused" msgid "argument name reused"
msgstr "" msgstr "Le nom de l'argument est réutilisé"
#: py/argcheck.c shared-bindings/_stage/__init__.c #: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
@ -2705,11 +2733,11 @@ msgstr "opération binaire '%q' non implémentée"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "bitmap sizes must match" msgid "bitmap sizes must match"
msgstr "" msgstr "Les tailles des images doivent correspondre"
#: extmod/modurandom.c #: extmod/modurandom.c
msgid "bits must be 32 or less" msgid "bits must be 32 or less"
msgstr "" msgstr "Les bits doivent être 32 ou moins"
#: shared-bindings/busio/UART.c #: shared-bindings/busio/UART.c
msgid "bits must be in range 5 to 9" msgid "bits must be in range 5 to 9"
@ -2910,7 +2938,7 @@ msgstr ""
#: extmod/ulab/code/ndarray.c #: extmod/ulab/code/ndarray.c
msgid "cannot assign new shape" msgid "cannot assign new shape"
msgstr "" msgstr "ne peut assigner une nouvelle forme"
#: extmod/ulab/code/ndarray_operators.c #: extmod/ulab/code/ndarray_operators.c
msgid "cannot cast output with casting rule" msgid "cannot cast output with casting rule"
@ -2934,7 +2962,7 @@ msgstr "ne peut pas réaliser un import relatif"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "cannot unambiguously get sizeof scalar" msgid "cannot unambiguously get sizeof scalar"
msgstr "" msgstr "ne peut récupérer sans ambigüité le sizeof d'un scalaire"
#: py/emitnative.c #: py/emitnative.c
msgid "casting" msgid "casting"
@ -2987,7 +3015,7 @@ msgstr "la couleur doit être un entier 'int'"
#: py/emitnative.c #: py/emitnative.c
msgid "comparison of int and uint" msgid "comparison of int and uint"
msgstr "" msgstr "comparaison entre int et uint"
#: py/objcomplex.c #: py/objcomplex.c
msgid "complex division by zero" msgid "complex division by zero"
@ -3096,11 +3124,11 @@ msgstr "les dimensions ne correspondent pas"
#: py/emitnative.c #: py/emitnative.c
msgid "div/mod not implemented for uint" msgid "div/mod not implemented for uint"
msgstr "" msgstr "div/mod ne sont pas implémentés pour uint"
#: py/objfloat.c py/objint_mpz.c #: py/objfloat.c py/objint_mpz.c
msgid "divide by zero" msgid "divide by zero"
msgstr "" msgstr "division par zéro"
#: py/modmath.c py/objint_longlong.c py/runtime.c #: py/modmath.c py/objint_longlong.c py/runtime.c
#: shared-bindings/math/__init__.c #: shared-bindings/math/__init__.c
@ -3109,7 +3137,7 @@ msgstr "division par zéro"
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c #: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
msgid "divisor must be 4" msgid "divisor must be 4"
msgstr "" msgstr "le diviseur doit être 4"
#: py/objdeque.c #: py/objdeque.c
msgid "empty" msgid "empty"
@ -3200,7 +3228,7 @@ msgstr "le fichier doit être un fichier ouvert en mode 'byte'"
#: shared-bindings/traceback/__init__.c #: shared-bindings/traceback/__init__.c
msgid "file write is not available" msgid "file write is not available"
msgstr "" msgstr "l'écriture de fichier n'est pas disponible"
#: shared-bindings/storage/__init__.c #: shared-bindings/storage/__init__.c
msgid "filesystem must provide mount method" msgid "filesystem must provide mount method"
@ -3228,7 +3256,7 @@ msgstr "le premier argument de super() doit être un type"
#: extmod/ulab/code/scipy/linalg/linalg.c #: extmod/ulab/code/scipy/linalg/linalg.c
msgid "first two arguments must be ndarrays" msgid "first two arguments must be ndarrays"
msgstr "" msgstr "les deux premiers paramètres doivent être des ndarrays"
#: extmod/ulab/code/ndarray.c #: extmod/ulab/code/ndarray.c
msgid "flattening order must be either 'C', or 'F'" msgid "flattening order must be either 'C', or 'F'"
@ -3324,7 +3352,7 @@ msgstr "graphic doit être long de 2048 octets"
#: extmod/moduhashlib.c #: extmod/moduhashlib.c
msgid "hash is final" msgid "hash is final"
msgstr "" msgstr "hash est final"
#: extmod/moduheapq.c #: extmod/moduheapq.c
msgid "heap must be a list" msgid "heap must be a list"
@ -3456,7 +3484,7 @@ msgstr "l'argument 2 de int() doit être >=2 et <=36"
#: extmod/ulab/code/numpy/approx.c #: extmod/ulab/code/numpy/approx.c
msgid "interp is defined for 1D iterables of equal length" msgid "interp is defined for 1D iterables of equal length"
msgstr "" msgstr "interp n'est défini que pour les 1D itérables de taille identique"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
#, c-format #, c-format
@ -3471,6 +3499,7 @@ msgstr "architecture invalide"
#, c-format #, c-format
msgid "invalid bits_per_pixel %d, must be, 1, 2, 4, 8, 16, 24, or 32" msgid "invalid bits_per_pixel %d, must be, 1, 2, 4, 8, 16, 24, or 32"
msgstr "" msgstr ""
"%d est invalide pour bits_per_pixel, doit être 1, 2, 4, 8, 16, 24, ou 32"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
#, c-format #, c-format
@ -3484,7 +3513,7 @@ msgstr "element_size %d est invalide, doit être 1, 2 ou 4"
#: shared-bindings/traceback/__init__.c #: shared-bindings/traceback/__init__.c
msgid "invalid exception" msgid "invalid exception"
msgstr "" msgstr "exception invalide"
#: extmod/modframebuf.c #: extmod/modframebuf.c
msgid "invalid format" msgid "invalid format"
@ -3656,7 +3685,7 @@ msgstr "memoryview: length n'est pas un multiple de itemsize"
#: extmod/ulab/code/numpy/linalg/linalg.c #: extmod/ulab/code/numpy/linalg/linalg.c
msgid "mode must be complete, or reduced" msgid "mode must be complete, or reduced"
msgstr "" msgstr "le mode doit être complet, ou réduit"
#: py/builtinimport.c #: py/builtinimport.c
msgid "module not found" msgid "module not found"
@ -3664,7 +3693,7 @@ msgstr "module introuvable"
#: ports/espressif/common-hal/wifi/Monitor.c #: ports/espressif/common-hal/wifi/Monitor.c
msgid "monitor init failed" msgid "monitor init failed"
msgstr "" msgstr "l'initialisation du moniteur a échoué"
#: extmod/ulab/code/numpy/poly.c #: extmod/ulab/code/numpy/poly.c
msgid "more degrees of freedom than data points" msgid "more degrees of freedom than data points"
@ -3700,7 +3729,7 @@ msgstr "nom non défini"
#: py/asmthumb.c #: py/asmthumb.c
msgid "native method too big" msgid "native method too big"
msgstr "" msgstr "la méthode native est trop longue"
#: py/emitnative.c #: py/emitnative.c
msgid "native yield" msgid "native yield"
@ -3741,7 +3770,7 @@ msgstr "aucun emballeur par défault"
#: extmod/modurandom.c #: extmod/modurandom.c
msgid "no default seed" msgid "no default seed"
msgstr "" msgstr "aucun seed par défaut"
#: py/builtinimport.c #: py/builtinimport.c
msgid "no module named '%q'" msgid "no module named '%q'"
@ -3904,11 +3933,11 @@ msgstr "les opérandes ne pouvaient pas être diffusés ensemble"
#: extmod/ulab/code/numpy/linalg/linalg.c #: extmod/ulab/code/numpy/linalg/linalg.c
msgid "operation is defined for 2D arrays only" msgid "operation is defined for 2D arrays only"
msgstr "" msgstr "l'opération n'est seulement définie que pour les matrices 2D"
#: extmod/ulab/code/numpy/linalg/linalg.c #: extmod/ulab/code/numpy/linalg/linalg.c
msgid "operation is defined for ndarrays only" msgid "operation is defined for ndarrays only"
msgstr "" msgstr "l'opération n'est seulement définie que pour les ndarrays"
#: extmod/ulab/code/ndarray.c #: extmod/ulab/code/ndarray.c
msgid "operation is implemented for 1D Boolean arrays only" msgid "operation is implemented for 1D Boolean arrays only"
@ -4017,7 +4046,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() avec 3 arguments nécessite des entiers" msgstr "pow() avec 3 arguments nécessite des entiers"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4087,7 +4116,7 @@ msgstr "dépassement de file"
#: py/parse.c #: py/parse.c
msgid "raw f-strings are not supported" msgid "raw f-strings are not supported"
msgstr "" msgstr "les f-strings bruts ne sont pas supportées"
#: extmod/ulab/code/numpy/fft/fft_tools.c #: extmod/ulab/code/numpy/fft/fft_tools.c
msgid "real and imaginary parts must be of equal length" msgid "real and imaginary parts must be of equal length"
@ -4155,7 +4184,7 @@ msgstr "compilation de script non supportée"
#: py/nativeglue.c #: py/nativeglue.c
msgid "set unsupported" msgid "set unsupported"
msgstr "" msgstr "set non-supporté"
#: extmod/ulab/code/ndarray.c #: extmod/ulab/code/ndarray.c
msgid "shape must be a tuple" msgid "shape must be a tuple"
@ -4195,7 +4224,7 @@ msgstr "le pas 'step' de la tranche ne peut être zéro"
#: py/nativeglue.c #: py/nativeglue.c
msgid "slice unsupported" msgid "slice unsupported"
msgstr "" msgstr "slice non-supporté"
#: py/objint.c py/sequence.c #: py/objint.c py/sequence.c
msgid "small int overflow" msgid "small int overflow"
@ -4227,14 +4256,18 @@ msgstr "la palette source est trop grande"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "source_bitmap must have value_count of 2 or 65536" msgid "source_bitmap must have value_count of 2 or 65536"
msgstr "" msgstr "source_bitmat doit avoir une value_count de 2 ou 65536"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "source_bitmap must have value_count of 65536" msgid "source_bitmap must have value_count of 65536"
msgstr "" msgstr "source_bitmap doit avoir une value_count de 65536"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "source_bitmap doit avoir une value_count de 8"
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr "" msgstr ""
#: py/objstr.c #: py/objstr.c
@ -4272,7 +4305,7 @@ msgstr ""
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: can't index" msgid "struct: can't index"
msgstr "" msgstr "struct ne peut être indexé"
#: extmod/moductypes.c #: extmod/moductypes.c
msgid "struct: index out of range" msgid "struct: index out of range"
@ -4359,7 +4392,7 @@ msgstr "trop d'indices"
#: py/asmthumb.c #: py/asmthumb.c
msgid "too many locals for native method" msgid "too many locals for native method"
msgstr "" msgstr "trop de locals pour une méthode native"
#: py/runtime.c #: py/runtime.c
#, c-format #, c-format
@ -4372,7 +4405,7 @@ msgstr "trapz n'est défini que pour des matrices 1D de longueur égales"
#: extmod/ulab/code/numpy/approx.c #: extmod/ulab/code/numpy/approx.c
msgid "trapz is defined for 1D iterables" msgid "trapz is defined for 1D iterables"
msgstr "" msgstr "trapz est défini pour les 1D itérables"
#: py/obj.c #: py/obj.c
msgid "tuple/list has wrong length" msgid "tuple/list has wrong length"
@ -4440,7 +4473,7 @@ msgstr "échappements de nom unicode"
#: py/parse.c #: py/parse.c
msgid "unindent doesn't match any outer indent level" msgid "unindent doesn't match any outer indent level"
msgstr "" msgstr "unindent ne correspond pas au niveau d'indentation parent"
#: py/objstr.c #: py/objstr.c
#, c-format #, c-format
@ -4484,11 +4517,11 @@ msgstr "instruction Xtensa '%s' non supportée avec %d paramètres"
#: shared-module/gifio/GifWriter.c #: shared-module/gifio/GifWriter.c
msgid "unsupported colorspace for GifWriter" msgid "unsupported colorspace for GifWriter"
msgstr "" msgstr "espace de couleur non supporté pour GifWriter"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "unsupported colorspace for dither" msgid "unsupported colorspace for dither"
msgstr "" msgstr "espace de couleur non supporté pour dither"
#: py/objstr.c #: py/objstr.c
#, c-format #, c-format
@ -4514,7 +4547,7 @@ msgstr "la valeur doit tenir dans %d octet(s)"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "value out of range of target" msgid "value out of range of target"
msgstr "" msgstr "valeur hors de porté de la cible"
#: shared-bindings/displayio/Bitmap.c #: shared-bindings/displayio/Bitmap.c
msgid "value_count must be > 0" msgid "value_count must be > 0"

View File

@ -1280,6 +1280,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1353,6 +1357,10 @@ msgstr ""
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "" msgstr ""
@ -2134,6 +2142,10 @@ msgstr ""
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3924,7 +3936,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "" msgstr ""
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4142,6 +4154,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1302,6 +1302,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1377,6 +1381,10 @@ msgstr ""
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Numero di bit non valido" msgstr "Numero di bit non valido"
@ -2173,6 +2181,10 @@ msgstr "Suddivisione con sotto-catture"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "La dimensione dello stack deve essere almeno 256" msgstr "La dimensione dello stack deve essere almeno 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3987,7 +3999,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() con 3 argomenti richiede interi" msgstr "pow() con 3 argomenti richiede interi"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4207,6 +4219,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1291,6 +1291,10 @@ msgstr "不正なBSSID"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "不正なDACピンが与えられました" msgstr "不正なDACピンが与えられました"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1364,6 +1368,10 @@ msgstr "フォーマットチャンクのサイズが不正"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "不正なメモリアクセス" msgstr "不正なメモリアクセス"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "不正なビット数" msgstr "不正なビット数"
@ -2148,6 +2156,10 @@ msgstr ""
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "スタックサイズは少なくとも256以上でなければなりません" msgstr "スタックサイズは少なくとも256以上でなければなりません"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3946,7 +3958,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow()の第3引数には整数が必要" msgstr "pow()の第3引数には整数が必要"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4165,6 +4177,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1283,6 +1283,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1356,6 +1360,10 @@ msgstr "형식 청크 크기가 잘못되었습니다"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "비트 수가 유효하지 않습니다" msgstr "비트 수가 유효하지 않습니다"
@ -2137,6 +2145,10 @@ msgstr ""
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "" msgstr ""
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3928,7 +3940,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "" msgstr ""
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4146,6 +4158,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "" msgstr ""

View File

@ -1292,6 +1292,10 @@ msgstr "Ongeldig BSSID"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Ongeldige DAC pin opgegeven" msgstr "Ongeldige DAC pin opgegeven"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1365,6 +1369,10 @@ msgstr "Ongeldig formaat stuk grootte"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Ongeldig geheugen adres." msgstr "Ongeldig geheugen adres."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Ongeldig aantal bits" msgstr "Ongeldig aantal bits"
@ -2160,6 +2168,10 @@ msgstr "Splitting met sub-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Stack grootte moet op zijn minst 256 zijn" msgstr "Stack grootte moet op zijn minst 256 zijn"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3965,7 +3977,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() met 3 argumenten vereist integers" msgstr "pow() met 3 argumenten vereist integers"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4185,6 +4197,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "start/stop indices" msgstr "start/stop indices"

View File

@ -1291,6 +1291,10 @@ msgstr ""
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "" msgstr ""
@ -1364,6 +1368,10 @@ msgstr "Zła wielkość fragmentu formatu"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Nieprawidłowy dostęp do pamięci." msgstr "Nieprawidłowy dostęp do pamięci."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Zła liczba bitów" msgstr "Zła liczba bitów"
@ -2145,6 +2153,10 @@ msgstr "Podział z podgrupami"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Stos musi mieć co najmniej 256 bajtów" msgstr "Stos musi mieć co najmniej 256 bajtów"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "" msgstr ""
@ -3937,7 +3949,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "trzyargumentowe pow() wymaga liczb całkowitych" msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4156,6 +4168,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "" msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "początkowe/końcowe indeksy" msgstr "początkowe/końcowe indeksy"

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-11-10 09:53+0000\n" "PO-Revision-Date: 2021-11-17 18:26+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n" "Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.9-dev\n" "X-Generator: Weblate 4.9.1-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -159,7 +159,7 @@ msgstr "%q deve ser a potência de 2"
#: shared-bindings/wifi/Monitor.c #: shared-bindings/wifi/Monitor.c
msgid "%q out of bounds" msgid "%q out of bounds"
msgstr "" msgstr "%q fora dos limites"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#: shared-bindings/canio/Match.c #: shared-bindings/canio/Match.c
@ -1317,6 +1317,10 @@ msgstr "BSSID Inválido"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "O pino DAC informado é inválido" msgstr "O pino DAC informado é inválido"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr "Endereço MAC inválido"
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "O arquivo MIDI é inválido" msgstr "O arquivo MIDI é inválido"
@ -1390,6 +1394,10 @@ msgstr "Tamanho do pedaço de formato inválido"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "O acesso da memória é inválido." msgstr "O acesso da memória é inválido."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr "Endereço MAC multicast inválido"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Número inválido de bits" msgstr "Número inválido de bits"
@ -2191,6 +2199,10 @@ msgstr "Divisão com sub-capturas"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "O tamanho da pilha deve ser pelo menos 256" msgstr "O tamanho da pilha deve ser pelo menos 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "O estéreo à esquerda deve estar no canal PWM A" msgstr "O estéreo à esquerda deve estar no canal PWM A"
@ -3675,7 +3687,7 @@ msgstr "o módulo não foi encontrado"
#: ports/espressif/common-hal/wifi/Monitor.c #: ports/espressif/common-hal/wifi/Monitor.c
msgid "monitor init failed" msgid "monitor init failed"
msgstr "" msgstr "o init do monitor falhou"
#: extmod/ulab/code/numpy/poly.c #: extmod/ulab/code/numpy/poly.c
msgid "more degrees of freedom than data points" msgid "more degrees of freedom than data points"
@ -4028,7 +4040,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "o pow() com 3 argumentos requer números inteiros" msgstr "o pow() com 3 argumentos requer números inteiros"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4248,6 +4260,10 @@ msgstr "o source_bitmap deve ter o value_count de 65536"
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "o source_bitmap deve ter o value_count de 8" msgstr "o source_bitmap deve ter o value_count de 8"
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr "O ssid não pode ter mais do que 32 bytes"
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "os índices de início/fim" msgstr "os índices de início/fim"
@ -4611,6 +4627,9 @@ msgstr "zi deve ser de um tipo float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi deve estar na forma (n_section, 2)" msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid "Station must be started"
#~ msgstr "A estação deve ser iniciada"
#~ msgid "%q must <= %d" #~ msgid "%q must <= %d"
#~ msgstr "o %q deve ser <= %d" #~ msgstr "o %q deve ser <= %d"

4565
locale/ru.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-11-11 18:10+0000\n" "PO-Revision-Date: 2021-11-16 13:32+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n" "Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n" "Language: sv\n"
@ -158,7 +158,7 @@ msgstr "%q måste vara en potens av 2"
#: shared-bindings/wifi/Monitor.c #: shared-bindings/wifi/Monitor.c
msgid "%q out of bounds" msgid "%q out of bounds"
msgstr "" msgstr "%q är utanför gränserna"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
#: shared-bindings/canio/Match.c #: shared-bindings/canio/Match.c
@ -1299,6 +1299,10 @@ msgstr "Ogiltig BSSID"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Ogiltig DAC-pinne angiven" msgstr "Ogiltig DAC-pinne angiven"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr "Ogiltig MAC-adress"
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "Ogiltig MIDI-fil" msgstr "Ogiltig MIDI-fil"
@ -1372,6 +1376,10 @@ msgstr "Ogiltig formatsegmentstorlek"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Ogiltig minnesåtkomst." msgstr "Ogiltig minnesåtkomst."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr "Ogiltig MAC-adress för multicast"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Ogiltigt antal bitar" msgstr "Ogiltigt antal bitar"
@ -2166,6 +2174,10 @@ msgstr "Splitting med sub-captures"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Stackstorleken måste vara minst 256" msgstr "Stackstorleken måste vara minst 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "Vänster stereokanal måste använda PWM kanal A" msgstr "Vänster stereokanal måste använda PWM kanal A"
@ -3636,7 +3648,7 @@ msgstr "modulen hittades inte"
#: ports/espressif/common-hal/wifi/Monitor.c #: ports/espressif/common-hal/wifi/Monitor.c
msgid "monitor init failed" msgid "monitor init failed"
msgstr "" msgstr "monitor init misslyckades"
#: extmod/ulab/code/numpy/poly.c #: extmod/ulab/code/numpy/poly.c
msgid "more degrees of freedom than data points" msgid "more degrees of freedom than data points"
@ -3985,7 +3997,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() med 3 argument kräver heltal" msgstr "pow() med 3 argument kräver heltal"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4205,6 +4217,10 @@ msgstr "source_bitmap måste ha value_count av 65536"
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "source_bitmap måste ha value_count av 8" msgstr "source_bitmap måste ha value_count av 8"
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr "ssid kan vara max 32 bytes"
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "start-/slutindex" msgstr "start-/slutindex"
@ -4568,6 +4584,9 @@ msgstr "zi måste vara av typ float"
msgid "zi must be of shape (n_section, 2)" msgid "zi must be of shape (n_section, 2)"
msgstr "zi måste vara i formen (n_section, 2)" msgstr "zi måste vara i formen (n_section, 2)"
#~ msgid "Station must be started"
#~ msgstr "Stationen måste startas"
#~ msgid "%q must <= %d" #~ msgid "%q must <= %d"
#~ msgstr "%q måste vara <=%d" #~ msgstr "%q måste vara <=%d"

View File

@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: circuitpython-cn\n" "Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2021-11-12 18:46+0000\n" "PO-Revision-Date: 2021-11-16 01:34+0000\n"
"Last-Translator: River Wang <urfdvw@gmail.com>\n" "Last-Translator: River Wang <urfdvw@gmail.com>\n"
"Language-Team: Chinese Hanyu Pinyin\n" "Language-Team: Chinese Hanyu Pinyin\n"
"Language: zh_Latn_pinyin\n" "Language: zh_Latn_pinyin\n"
@ -66,10 +66,10 @@ msgstr " shūchū:\n"
#: py/objstr.c #: py/objstr.c
#, c-format #, c-format
msgid "%%c requires int or char" msgid "%%c requires int or char"
msgstr "%%c xūyào zhěngshù huò char" msgstr "%%c xūyào zhěngshù huòzhě zìfú"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, fuzzy, c-format
msgid "" msgid ""
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d" "%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
msgstr "" msgstr ""
@ -90,7 +90,7 @@ msgstr "%q Shībài: %d"
#: shared-bindings/microcontroller/Pin.c #: shared-bindings/microcontroller/Pin.c
msgid "%q in use" msgid "%q in use"
msgstr "%q zhèngzài shǐyòng" msgstr "%q zhèngzài bèi shǐyòng"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c #: ports/cxd56/common-hal/pulseio/PulseIn.c
@ -135,7 +135,7 @@ msgstr "%q Bìxū > = 0"
#: shared-bindings/memorymonitor/AllocationAlarm.c #: shared-bindings/memorymonitor/AllocationAlarm.c
#: shared-bindings/vectorio/Circle.c shared-bindings/vectorio/Rectangle.c #: shared-bindings/vectorio/Circle.c shared-bindings/vectorio/Rectangle.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "%q bìxū dàyú huò děngyú 1" msgstr "%q bìxū >= 1"
#: py/argcheck.c #: py/argcheck.c
msgid "%q must be a string" msgid "%q must be a string"
@ -143,7 +143,7 @@ msgstr "%q bì xū shì yí gè zì fú chuàn"
#: shared-module/vectorio/Polygon.c #: shared-module/vectorio/Polygon.c
msgid "%q must be a tuple of length 2" msgid "%q must be a tuple of length 2"
msgstr "%q bìxū shì chángdù wèi 2 de yuán zǔ" msgstr "%q bìxū shì chángdù wèi 2 de yuánzǔ"
#: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c #: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c
#: shared-module/vectorio/VectorShape.c #: shared-module/vectorio/VectorShape.c
@ -152,11 +152,11 @@ msgstr "%q bì xū zài %d hé %d zhī jiān"
#: py/argcheck.c #: py/argcheck.c
msgid "%q must be of type %q" msgid "%q must be of type %q"
msgstr "%q bì xū shì lèi xíng %q" msgstr "%q bì xū shì %q lèi xíng"
#: ports/atmel-samd/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c
msgid "%q must be power of 2" msgid "%q must be power of 2"
msgstr "%q bì xū shì 2 de gōng lǜ" msgstr "%q bì xū shì 2 de zhěng shù cì fāng"
#: shared-bindings/wifi/Monitor.c #: shared-bindings/wifi/Monitor.c
msgid "%q out of bounds" msgid "%q out of bounds"
@ -173,15 +173,15 @@ msgstr "%q yǐn jiǎo wúxiào"
#: shared-bindings/fontio/BuiltinFont.c #: shared-bindings/fontio/BuiltinFont.c
msgid "%q should be an int" msgid "%q should be an int"
msgstr "%q yīnggāi shì yīgè int" msgstr "%q yīnggāi shì yīgè zhěngshù (int)"
#: shared-bindings/usb_hid/Device.c #: shared-bindings/usb_hid/Device.c
msgid "%q with a report ID of 0 must be of length 1" msgid "%q with a report ID of 0 must be of length 1"
msgstr "%q yǔ bào gào ID 0 bì xū shì cháng dù 1" msgstr "bào gào ID shì 0 de %q bì xū cháng dù wéi 1"
#: py/bc.c py/objnamedtuple.c #: py/bc.c py/objnamedtuple.c
msgid "%q() takes %d positional arguments but %d were given" msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() cǎiyòng %d wèizhì cānshù, dàn gěi chū %d" msgstr "%q() yāoqiú shūrù %d gè wèizhì cānshù, dàn mùqián shūrù le %d gè"
#: shared-bindings/usb_hid/Device.c #: shared-bindings/usb_hid/Device.c
msgid "%q, %q, and %q must all be the same length" msgid "%q, %q, and %q must all be the same length"
@ -194,7 +194,7 @@ msgstr "%s cuò wù 0x%x"
#: py/argcheck.c #: py/argcheck.c
msgid "'%q' argument required" msgid "'%q' argument required"
msgstr "xūyào '%q' cānshù" msgstr "xūyào cānshù '%q'"
#: py/proto.c #: py/proto.c
msgid "'%q' object does not support '%q'" msgid "'%q' object does not support '%q'"
@ -202,25 +202,25 @@ msgstr "'%q' duì xiàng bù zhī chí '%q'"
#: py/runtime.c #: py/runtime.c
msgid "'%q' object is not an iterator" msgid "'%q' object is not an iterator"
msgstr "%q' duì xiàng bù shì yí gè liú lǎn qì" msgstr "%q' duìxiàng bùshì yígè diédàiqì"
#: py/objtype.c py/runtime.c shared-module/atexit/__init__.c #: py/objtype.c py/runtime.c shared-module/atexit/__init__.c
msgid "'%q' object is not callable" msgid "'%q' object is not callable"
msgstr "%q' duì xiàng bù kě diào yòng" msgstr "%q' duìxiàng bù kě bèi diàoyòng"
#: py/runtime.c #: py/runtime.c
msgid "'%q' object is not iterable" msgid "'%q' object is not iterable"
msgstr "%q' duì xiàng bù kě yí dòng" msgstr "%q' duìxiàng bù kě yòngyú diédài"
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a label" msgid "'%s' expects a label"
msgstr "'%s' qīwàng biāoqiān" msgstr "'%s' xūyào yígè biāoqiān"
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects a register" msgid "'%s' expects a register"
msgstr "'%s' qīwàng yīgè zhùcè" msgstr "'%s' xūyào yígè jìcúnqì"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
#, c-format #, c-format
@ -235,42 +235,42 @@ msgstr "'%s' xūyào FPU jìcúnqì"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
#, c-format #, c-format
msgid "'%s' expects an address of the form [a, b]" msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' qīwàng chuāng tǐ [a, b] dì dìzhǐ" msgstr "'%s' xūyào yīgè géshì wéi [a, b] de dìzhǐ"
#: py/emitinlinethumb.c py/emitinlinextensa.c #: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' expects an integer" msgid "'%s' expects an integer"
msgstr "'%s' qídài yīgè zhěngshù" msgstr "'%s' xūyào yīgè zhěngshù"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
#, c-format #, c-format
msgid "'%s' expects at most r%d" msgid "'%s' expects at most r%d"
msgstr "'%s' qīwàng zuìduō de shì %d" msgstr "'%s' xūyào zuìduō shì r%d"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
#, c-format #, c-format
msgid "'%s' expects {r0, r1, ...}" msgid "'%s' expects {r0, r1, ...}"
msgstr "'%s' yùqí {r0, r1, ...}" msgstr "'%s' xūyào {r0, r1, ...}"
#: py/emitinlinextensa.c #: py/emitinlinextensa.c
#, c-format #, c-format
msgid "'%s' integer %d isn't within range %d..%d" msgid "'%s' integer %d isn't within range %d..%d"
msgstr "'%s' zhěng shù %d bú zài %d fàn wéi nèi %d" msgstr "'%s' zhěngshù %d bú zài %d dào %d de fànwéi nèi"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
#, c-format #, c-format
msgid "'%s' integer 0x%x doesn't fit in mask 0x%x" msgid "'%s' integer 0x%x doesn't fit in mask 0x%x"
msgstr "'%s' zhěng shù 0x%x bú shì hé zài miàn mó 0x%x" msgstr "'%s' zhěngshù 0x%x yǔ méngbǎn (mask) 0x%x bù pǐpèi"
#: py/obj.c #: py/obj.c
#, c-format #, c-format
msgid "'%s' object doesn't support item assignment" msgid "'%s' object doesn't support item assignment"
msgstr "'%s' duì xiàng bù zhī chí xiàng mù fēn pèi" msgstr "'%s' duìxiàng bù zhīchí yuánsù fùzhí"
#: py/obj.c #: py/obj.c
#, c-format #, c-format
msgid "'%s' object doesn't support item deletion" msgid "'%s' object doesn't support item deletion"
msgstr "'%s' duì xiàng bù zhī chí xiàng mù shān chú" msgstr "'%s' duìxiàng bù zhīchí yuánsù shānchú"
#: py/runtime.c #: py/runtime.c
msgid "'%s' object has no attribute '%q'" msgid "'%s' object has no attribute '%q'"
@ -279,15 +279,15 @@ msgstr "'%s' duìxiàng méiyǒu shǔxìng '%q'"
#: py/obj.c #: py/obj.c
#, c-format #, c-format
msgid "'%s' object isn't subscriptable" msgid "'%s' object isn't subscriptable"
msgstr "'%s' duì xiàng bù kě miáo shù" msgstr "'%s' duìxiàng bù kě miáoshù"
#: py/objstr.c #: py/objstr.c
msgid "'=' alignment not allowed in string format specifier" msgid "'=' alignment not allowed in string format specifier"
msgstr "zìfú chuàn géshì shuōmíng fú zhōng bù yǔnxǔ '=' duìqí" msgstr "zìfúchuàn géshì shuōmíngfú zhōng bù yǔnxǔ shǐyòng '=' duìqí"
#: shared-module/struct/__init__.c #: shared-module/struct/__init__.c
msgid "'S' and 'O' are not supported format types" msgid "'S' and 'O' are not supported format types"
msgstr "'S' hé 'O' bù zhīchí géshì lèixíng" msgstr "'S' hé 'O' bùshì bèi zhīchí de géshì lèixíng"
#: py/compile.c #: py/compile.c
msgid "'align' requires 1 argument" msgid "'align' requires 1 argument"
@ -295,23 +295,23 @@ msgstr "'align' xūyào 1 gè cānshù"
#: py/compile.c #: py/compile.c
msgid "'await' outside function" msgid "'await' outside function"
msgstr "'await' wàibù gōngnéng" msgstr "'await' wèiyú hánshù zhīwài"
#: py/compile.c #: py/compile.c
msgid "'await', 'async for' or 'async with' outside async function" msgid "'await', 'async for' or 'async with' outside async function"
msgstr "'await', 'async for' huò 'async with' wài bù yì bù hán shù" msgstr "'await', 'async for' huò 'async with' wèiyú yìbù (async) hánshù zhīwài"
#: py/compile.c #: py/compile.c
msgid "'break' outside loop" msgid "'break' outside loop"
msgstr "'break' wàibù xúnhuán" msgstr "'break' wèiyú xúnhuán zhīwài"
#: py/compile.c #: py/compile.c
msgid "'continue' outside loop" msgid "'continue' outside loop"
msgstr "'continue' wàibù xúnhuán" msgstr "'continue' wèiyú xúnhuán zhīwài"
#: py/objgenerator.c #: py/objgenerator.c
msgid "'coroutine' object is not an iterator" msgid "'coroutine' object is not an iterator"
msgstr "'coroutine' duì xiàng bù shì yí gè liú lǎn qì" msgstr "'coroutine' duìxiàng búshì yígè diédàiqì"
#: py/compile.c #: py/compile.c
msgid "'data' requires at least 2 arguments" msgid "'data' requires at least 2 arguments"
@ -323,27 +323,27 @@ msgstr "'data' xūyào zhěngshù cānshù"
#: py/compile.c #: py/compile.c
msgid "'label' requires 1 argument" msgid "'label' requires 1 argument"
msgstr "'label' xūyào 1 cānshù" msgstr "'label' xūyào 1 cānshù"
#: py/compile.c #: py/compile.c
msgid "'return' outside function" msgid "'return' outside function"
msgstr "'return' wàibù gōngnéng" msgstr "'return' wèiyú hánshù zhīwài"
#: py/compile.c #: py/compile.c
msgid "'yield from' inside async function" msgid "'yield from' inside async function"
msgstr "Yì bù hán shù zhōng de 'yield from'" msgstr "Yìbù hánshù zhōng cúnzài 'yield from'"
#: py/compile.c #: py/compile.c
msgid "'yield' outside function" msgid "'yield' outside function"
msgstr "'yield' wàibù gōngnéng" msgstr "'yield' wèiyú hánshù zhīwài"
#: shared-module/vectorio/VectorShape.c #: shared-module/vectorio/VectorShape.c
msgid "(x,y) integers required" msgid "(x,y) integers required"
msgstr "(x,y) suǒ xū de zhěng shù" msgstr "xūyào zhěngshù (x,y)"
#: py/compile.c #: py/compile.c
msgid "*x must be assignment target" msgid "*x must be assignment target"
msgstr "*x bìxū shì rènwù mùbiāo" msgstr "*x bìxū shì bèi fùzhí de duìxiàng"
#: py/obj.c #: py/obj.c
msgid ", in %q\n" msgid ", in %q\n"
@ -351,15 +351,16 @@ msgstr ", zài %q\n"
#: py/objcomplex.c #: py/objcomplex.c
msgid "0.0 to a complex power" msgid "0.0 to a complex power"
msgstr "0.0 dào fùzá diànyuán" msgstr "0.0 de fùshù cì mì"
#: py/modbuiltins.c #: py/modbuiltins.c
#, fuzzy
msgid "3-arg pow() not supported" msgid "3-arg pow() not supported"
msgstr "bù zhīchí 3-arg pow()" msgstr "bù zhīchí 3-arg pow()"
#: shared-module/msgpack/__init__.c #: shared-module/msgpack/__init__.c
msgid "64 bit types" msgid "64 bit types"
msgstr "64 wèi lèi xíng" msgstr "64 wèi lèixíng"
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c #: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
#: ports/atmel-samd/common-hal/countio/Counter.c #: ports/atmel-samd/common-hal/countio/Counter.c
@ -369,12 +370,12 @@ msgstr "Yìngjiàn zhōngduàn tōngdào yǐ zài shǐyòng zhōng"
#: ports/espressif/common-hal/analogio/AnalogIn.c #: ports/espressif/common-hal/analogio/AnalogIn.c
msgid "ADC2 is being used by WiFi" msgid "ADC2 is being used by WiFi"
msgstr "ADC2 zhèng yóu WiFi shǐ yòng" msgstr "ADC2 zhèngzài bèi WiFi shǐ yòng"
#: shared-bindings/_bleio/Address.c shared-bindings/ipaddress/IPv4Address.c #: shared-bindings/_bleio/Address.c shared-bindings/ipaddress/IPv4Address.c
#, c-format #, c-format
msgid "Address must be %d bytes long" msgid "Address must be %d bytes long"
msgstr "Dìzhǐ bìxū shì %d zì jié zhǎng" msgstr "dìzhǐ chángdù bìxū shì %d zìjié"
#: shared-bindings/_bleio/Address.c #: shared-bindings/_bleio/Address.c
msgid "Address type out of range" msgid "Address type out of range"
@ -382,58 +383,58 @@ msgstr "Dìzhǐ lèixíng chāochū fànwéi"
#: ports/espressif/common-hal/canio/CAN.c #: ports/espressif/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use" msgid "All CAN peripherals are in use"
msgstr "suǒ yǒu CAN wài shè dōu zài shǐ yòng zhōng" msgstr "suǒyǒu CAN wàishè dōu zài shǐyòng zhōng"
#: ports/espressif/common-hal/busio/I2C.c #: ports/espressif/common-hal/busio/I2C.c
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c #: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use" msgid "All I2C peripherals are in use"
msgstr "Suǒyǒu I2C wàiwéi qì zhèngzài shǐyòng" msgstr "suǒyǒu I2C wàishè dōu zài shǐyòng zhōng"
#: ports/espressif/common-hal/countio/Counter.c #: ports/espressif/common-hal/countio/Counter.c
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c #: ports/espressif/common-hal/frequencyio/FrequencyIn.c
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c #: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use" msgid "All PCNT units in use"
msgstr "suǒ yǒu zhèng zài shǐ yòng zhōng de PCNT dān yuán" msgstr "suǒyǒu PCNT dānyuán dōu zài shǐyòng zhōng"
#: ports/atmel-samd/common-hal/canio/Listener.c #: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/espressif/common-hal/canio/Listener.c #: ports/espressif/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c #: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use" msgid "All RX FIFOs in use"
msgstr "Suǒyǒu shǐyòng zhōng de RX FIFO" msgstr "suǒyǒu RX FIFO dōu zài shǐyòng zhōng"
#: ports/espressif/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c #: ports/espressif/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use" msgid "All SPI peripherals are in use"
msgstr "Suǒyǒu SPI wàiwéi qì zhèngzài shǐyòng" msgstr "suǒyǒu SPI wàishè dōu zài shǐyòng zhōng"
#: ports/espressif/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c #: ports/espressif/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/raspberrypi/common-hal/busio/UART.c #: ports/raspberrypi/common-hal/busio/UART.c
msgid "All UART peripherals are in use" msgid "All UART peripherals are in use"
msgstr "Suǒyǒu UART wàiwéi zhèngzài shǐyòng" msgstr "suǒyǒu UART wàishè dōu zài shǐyòng zhōng"
#: ports/nrf/common-hal/countio/Counter.c #: ports/nrf/common-hal/countio/Counter.c
#: ports/nrf/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/rotaryio/IncrementalEncoder.c #: ports/nrf/common-hal/rotaryio/IncrementalEncoder.c
#: shared-bindings/pwmio/PWMOut.c #: shared-bindings/pwmio/PWMOut.c
msgid "All channels in use" msgid "All channels in use"
msgstr "suǒ yǒu shǐ yòng de tōng dào" msgstr "suǒyǒu píndào dōu zài shǐyòng zhōng"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use" msgid "All event channels in use"
msgstr "Suǒyǒu shǐyòng de shìjiàn píndào" msgstr "suǒyǒu shìjiàn píndào dōu zài shǐyòng zhōng"
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c #: ports/raspberrypi/common-hal/pulseio/PulseIn.c
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "All state machines in use" msgid "All state machines in use"
msgstr "suǒ yǒu zhèng zài shǐ yòng de zhuàng tài jī" msgstr "suǒyǒu zhuàngtàijī dōu zài shǐyòng zhōng"
#: ports/atmel-samd/audio_dma.c #: ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use" msgid "All sync event channels in use"
msgstr "Suǒyǒu tóngbù shìjiàn píndào shǐyòng" msgstr "suǒyǒu tóngbù shìjiàn píndào dōu zài shǐyòng zhōng"
#: shared-bindings/pwmio/PWMOut.c #: shared-bindings/pwmio/PWMOut.c
msgid "All timers for this pin are in use" msgid "All timers for this pin are in use"
msgstr "Cǐ yǐn jiǎo de suǒyǒu jìshí qì zhèngzài shǐyòng" msgstr "cǐ yǐnjiǎo de suǒyǒu jìshíqì dōu zài shǐyòng zhōng"
#: ports/atmel-samd/common-hal/_pew/PewPew.c #: ports/atmel-samd/common-hal/_pew/PewPew.c
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
@ -450,28 +451,29 @@ msgstr "Cǐ yǐn jiǎo de suǒyǒu jìshí qì zhèngzài shǐyòng"
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c #: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
msgid "All timers in use" msgid "All timers in use"
msgstr "Suǒyǒu jìshí qì shǐyòng" msgstr "suǒyǒu jìshí qì dōu zài shǐyòng zhōng"
#: ports/nrf/common-hal/_bleio/Adapter.c #: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Already advertising." msgid "Already advertising."
msgstr "Mùqián zhèngzài guǎngbò." msgstr "Mùqián zhèngzài guǎngbō."
#: ports/atmel-samd/common-hal/canio/Listener.c #: ports/atmel-samd/common-hal/canio/Listener.c
#, fuzzy
msgid "Already have all-matches listener" msgid "Already have all-matches listener"
msgstr "yǐ jù yǒu quán pǐ pèi zhēn tīng qì" msgstr "yǐjīng yǒu all-matches jiāntīngqì"
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c #: shared-module/memorymonitor/AllocationSize.c
msgid "Already running" msgid "Already running"
msgstr "yǐ zài yùn xíng" msgstr "yǐjīng zài yùnxíng"
#: ports/espressif/common-hal/wifi/Radio.c #: ports/espressif/common-hal/wifi/Radio.c
msgid "Already scanning for wifi networks" msgid "Already scanning for wifi networks"
msgstr "yǐ jīng sǎo miáo WIFI wǎng luò" msgstr "yǐjīng zài sǎomiáo WIFI wǎngluò"
#: ports/cxd56/common-hal/analogio/AnalogIn.c #: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin" msgid "AnalogIn not supported on given pin"
msgstr "Gěi dìng de yǐn jiǎo bù zhīchí AnalogIn" msgstr "gěidìng de yǐnjiǎo bù zhīchí AnalogIn"
#: ports/cxd56/common-hal/analogio/AnalogOut.c #: ports/cxd56/common-hal/analogio/AnalogOut.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c #: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
@ -486,49 +488,49 @@ msgstr "AnalogOut jǐn wèi 16 wèi. Zhí bìxū xiǎoyú 65536."
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c #: ports/atmel-samd/common-hal/analogio/AnalogOut.c
msgid "AnalogOut not supported on given pin" msgid "AnalogOut not supported on given pin"
msgstr "Wèi zhīchí zhǐdìng de yǐn jiǎo AnalogOut" msgstr "zhǐdìng de yǐn jiǎo bù zhīchí AnalogOut"
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c #: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
msgid "Another PWMAudioOut is already active" msgid "Another PWMAudioOut is already active"
msgstr "lìng yí gè PWMAudioOut yǐ jīng chǔ yú huó dòng zhuàng tài" msgstr "lìng yí gè PWMAudioOut yǐ jīng zài gōngzuò"
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c #: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c #: ports/cxd56/common-hal/pulseio/PulseOut.c
msgid "Another send is already active" msgid "Another send is already active"
msgstr "Lìng yīgè fāsòng yǐjīng jīhuó" msgstr "Lìng yīgè fāsòng (send) yǐjīng zài gōngzuò"
#: shared-bindings/pulseio/PulseOut.c #: shared-bindings/pulseio/PulseOut.c
msgid "Array must contain halfwords (type 'H')" msgid "Array must contain halfwords (type 'H')"
msgstr "Shùzǔ bìxū bāohán bàn zìshù (type 'H')" msgstr "Shùzǔ bìxū bāohán halfwords (type 'H')"
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
msgid "Array values should be single bytes." msgid "Array values should be single bytes."
msgstr "Shùzǔ zhí yīnggāi shì dāngè zì jié." msgstr "shùzǔ de zhí yīnggāi shì dān'gè zìjié."
#: shared-bindings/microcontroller/Pin.c #: shared-bindings/microcontroller/Pin.c
msgid "At most %d %q may be specified (not %d)" msgid "At most %d %q may be specified (not %d)"
msgstr "zuì duō kě yǐ zhǐ dìng %d %q (bù shì %d)" msgstr "zuìduō kěyǐ zhǐdìng %d gè %q (érbúshì %d)"
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#, c-format #, c-format
msgid "Attempt to allocate %d blocks" msgid "Attempt to allocate %d blocks"
msgstr "cháng shì fēn pèi %d kuài" msgstr "shìtú fēnpèi %d blocks"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when VM not running." msgid "Attempted heap allocation when VM not running."
msgstr "dāng VM bú yùn xíng shí, cháng shì duī fēn pèi." msgstr "shìtú zài xūnǐjī (VM) yùn xíng shí fēnpèi duī (heap)."
#: ports/raspberrypi/audio_dma.c #: ports/raspberrypi/audio_dma.c
msgid "Audio conversion not implemented" msgid "Audio conversion not implemented"
msgstr "wèi shí xiàn yīn pín zhuǎn huàn" msgstr "yīnpín zhuǎnhuàn wèi bèi shíxiàn"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "AuthMode.OPEN is not used with password" msgid "AuthMode.OPEN is not used with password"
msgstr "AuthMode.OPEN wèi shǐ yòng mì mǎ" msgstr "AuthMode.OPEN wèi shǐyòng mìmǎ"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "Authentication failure" msgid "Authentication failure"
msgstr "shēn fèn yàn zhèng shī bài" msgstr "shēnfèn ren4zheng4 shībài"
#: main.c #: main.c
msgid "Auto-reload is off.\n" msgid "Auto-reload is off.\n"
@ -544,46 +546,48 @@ msgstr ""
#: ports/espressif/common-hal/canio/CAN.c #: ports/espressif/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral" msgid "Baudrate not supported by peripheral"
msgstr "wài shè zhī chí de bō tè lā tè" msgstr "bōtèlǜ bú bèi wàishè zhīchí"
#: shared-module/displayio/Display.c #: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c #: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate" msgid "Below minimum frame rate"
msgstr "Dī yú zuìdī zhèng sùlǜ" msgstr "dīyú zuìdī zhēnlǜ"
#: ports/raspberrypi/common-hal/audiobusio/I2SOut.c #: ports/raspberrypi/common-hal/audiobusio/I2SOut.c
#, fuzzy
msgid "Bit clock and word select must be sequential pins" msgid "Bit clock and word select must be sequential pins"
msgstr "wèi shí zhōng hé dān cí xuǎn zé bì xū shì shùn xù yǐn jiǎo" msgstr "wèi shí zhōng hé dān cí xuǎn zé bì xū shì shùn xù yǐn jiǎo"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#, fuzzy
msgid "Bit clock and word select must share a clock unit" msgid "Bit clock and word select must share a clock unit"
msgstr "Bǐtè shízhōng hé dānzì xuǎnzé bìxū gòngxiǎng shízhōng dānwèi" msgstr "Bǐtè shízhōng hé dānzì xuǎnzé bìxū gòngxiǎng shízhōng dānwèi"
#: shared-bindings/rgbmatrix/RGBMatrix.c #: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
msgid "Bit depth must be from 1 to 6 inclusive, not %d" msgid "Bit depth must be from 1 to 6 inclusive, not %d"
msgstr "wèi shēn dù bì xū bāo hán 1 dào 6, ér bù shì %d" msgstr "wèi shēndù bìxū shì 1 dào 6, ér búshì %d"
#: shared-bindings/audiobusio/PDMIn.c #: shared-bindings/audiobusio/PDMIn.c
msgid "Bit depth must be multiple of 8." msgid "Bit depth must be multiple of 8."
msgstr "Bǐtè shēndù bìxū shì 8 bèi yǐshàng." msgstr "wèi shēndù bìxū shì 8 de zhěngshùbèi."
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
#, fuzzy #, fuzzy
msgid "Bitmap size and bits per value must match" msgid "Bitmap size and bits per value must match"
msgstr "wèi tú dà xiǎo hé měi gè zhí de bǐ tè wèi bì xū pǐ pèi" msgstr "wèitú dàxiǎo hé měigè zhí de wèi bìxū pǐpèi"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Boot device must be first device (interface #0)." msgid "Boot device must be first device (interface #0)."
msgstr "yǐn dǎo shè bèi bì xū shì dì yī tái shè bèi (jiē kǒu #0)." msgstr "yǐndǎo shèbèi bìxū shì dìyī tái shèbèi (interface #0)."
#: ports/mimxrt10xx/common-hal/busio/UART.c #: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Both RX and TX required for flow control" msgid "Both RX and TX required for flow control"
msgstr "liú liàng kòng zhì suǒ xū de RX hé TX" msgstr "RX hé TX dōu xū yào liúliàng kòngzhì"
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c #: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
msgid "Both pins must support hardware interrupts" msgid "Both pins must support hardware interrupts"
msgstr "Liǎng gè yǐn jiǎo dōu bìxū zhīchí yìngjiàn zhōngduàn" msgstr "liǎnggè yǐnjiǎo dōu bìxū zhīchí yìngjiàn zhōngduàn"
#: shared-bindings/displayio/Display.c #: shared-bindings/displayio/Display.c
#: shared-bindings/framebufferio/FramebufferDisplay.c #: shared-bindings/framebufferio/FramebufferDisplay.c
@ -593,21 +597,21 @@ msgstr "Liàngdù bìxū wèi 0-1.0"
#: shared-bindings/supervisor/__init__.c #: shared-bindings/supervisor/__init__.c
msgid "Brightness must be between 0 and 255" msgid "Brightness must be between 0 and 255"
msgstr "Liàngdù bìxū jiè yú 0 dào 255 zhī jiān" msgstr "liàngdù bìxū jièyú 0 dào 255 zhījiān"
#: shared-bindings/displayio/Display.c #: shared-bindings/displayio/Display.c
#: shared-bindings/framebufferio/FramebufferDisplay.c #: shared-bindings/framebufferio/FramebufferDisplay.c
msgid "Brightness not adjustable" msgid "Brightness not adjustable"
msgstr "Liàngdù wúfǎ tiáozhěng" msgstr "liàngdù wúfǎ tiáozhěng"
#: shared-bindings/_bleio/UUID.c #: shared-bindings/_bleio/UUID.c
#, c-format #, c-format
msgid "Buffer + offset too small %d %d %d" msgid "Buffer + offset too small %d %d %d"
msgstr "Huǎnchōng qū hé piān yí liàng tài xiǎo %d %d %d" msgstr "huǎnchōngqū yǔ piānyíliàng de hé tài xiǎo %d %d %d"
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c #: ports/raspberrypi/bindings/rp2pio/StateMachine.c
msgid "Buffer elements must be 4 bytes long or less" msgid "Buffer elements must be 4 bytes long or less"
msgstr "huǎn chōng yuán jiàn bì xū wéi 4 zì jié cháng huò gèng shǎo" msgstr "huǎnchōngqū de yuánsù bìxū wéi 4 zìjié cháng huò gèngshǎo"
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
#, c-format #, c-format
@ -632,7 +636,7 @@ msgstr "Huǎnchōng qū chángdù%d tài dà. Tā bìxū xiǎoyú%d"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c #: ports/atmel-samd/common-hal/sdioio/SDCard.c
#: ports/cxd56/common-hal/sdioio/SDCard.c shared-module/sdcardio/SDCard.c #: ports/cxd56/common-hal/sdioio/SDCard.c shared-module/sdcardio/SDCard.c
msgid "Buffer length must be a multiple of 512" msgid "Buffer length must be a multiple of 512"
msgstr "Huǎn chōng qū cháng dù bì xū wéi 512 de bèi shù" msgstr "Huǎnchōngqū chángdù bìxū wéi 512 de bèishù"
#: ports/stm/common-hal/sdioio/SDCard.c #: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes" msgid "Buffer must be a multiple of 512 bytes"
@ -1306,6 +1310,10 @@ msgstr "Wúxiào de BSSID"
msgid "Invalid DAC pin supplied" msgid "Invalid DAC pin supplied"
msgstr "Tí gōng liǎo wúxiào de DAC yǐn jiǎo" msgstr "Tí gōng liǎo wúxiào de DAC yǐn jiǎo"
#: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address"
msgstr ""
#: shared-bindings/synthio/__init__.c #: shared-bindings/synthio/__init__.c
msgid "Invalid MIDI file" msgid "Invalid MIDI file"
msgstr "wú xiào de MIDI wén jiàn" msgstr "wú xiào de MIDI wén jiàn"
@ -1379,6 +1387,10 @@ msgstr "Géshì kuài dàxiǎo wúxiào"
msgid "Invalid memory access." msgid "Invalid memory access."
msgstr "Wúxiào de nèicún fǎngwèn." msgstr "Wúxiào de nèicún fǎngwèn."
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Invalid multicast MAC address"
msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits" msgid "Invalid number of bits"
msgstr "Wèi shù wúxiào" msgstr "Wèi shù wúxiào"
@ -2172,6 +2184,10 @@ msgstr "Yǔ zi bǔhuò fēnliè"
msgid "Stack size must be at least 256" msgid "Stack size must be at least 256"
msgstr "Duīzhàn dàxiǎo bìxū zhìshǎo 256" msgstr "Duīzhàn dàxiǎo bìxū zhìshǎo 256"
#: ports/espressif/common-hal/wifi/Radio.c
msgid "Interface must be started"
msgstr ""
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Stereo left must be on PWM channel A" msgid "Stereo left must be on PWM channel A"
msgstr "lì tǐ shēng zuǒ bì xū shì zài PWM tōng dào A" msgstr "lì tǐ shēng zuǒ bì xū shì zài PWM tōng dào A"
@ -2553,7 +2569,7 @@ msgstr "Tèzhēng bù zhīchí xiě rù"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "You are in safe mode because:\n" msgid "You are in safe mode because:\n"
msgstr "nín chǔ yú ān quán mó shì shì yīn wéi:\n" msgstr "nín chǔ yú ān quán mó shì, yīn wéi:\n"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "" msgid ""
@ -3988,7 +4004,7 @@ msgid "pow() with 3 arguments requires integers"
msgstr "pow() yǒu 3 cānshù xūyào zhěngshù" msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
#: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tft/mpconfigboard.h
#: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h #: ports/espressif/boards/adafruit_feather_esp32s2_tftback_nopsram/mpconfigboard.h
#: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h #: ports/espressif/boards/adafruit_funhouse/mpconfigboard.h
#: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h #: ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.h
@ -4211,6 +4227,10 @@ msgstr ""
msgid "source_bitmap must have value_count of 8" msgid "source_bitmap must have value_count of 8"
msgstr "yuán wèi tú (source_bitmap) de zhí de shù mù (value_count) bì xū shì 8" msgstr "yuán wèi tú (source_bitmap) de zhí de shù mù (value_count) bì xū shì 8"
#: shared-bindings/wifi/Radio.c
msgid "ssid can't be more than 32 bytes"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
msgstr "kāishǐ/jiéshù zhǐshù" msgstr "kāishǐ/jiéshù zhǐshù"

View File

@ -108,7 +108,7 @@ endif
ifeq ($(CHIP_FAMILY), same54) ifeq ($(CHIP_FAMILY), same54)
PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x
OPTIMIZATION_FLAGS ?= -O2 -fno-inline-functions OPTIMIZATION_FLAGS ?= -O2
# TinyUSB defines # TinyUSB defines
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAME5X -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024 CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAME5X -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
endif endif

View File

@ -9,5 +9,3 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -11,4 +11,3 @@ LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_ONEWIREIO = 0 CIRCUITPY_ONEWIREIO = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -9,5 +9,3 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1 INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -15,7 +15,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) }, { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) }, { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_I2C_POWER), MP_ROM_PTR(&pin_GPIO7) }, { MP_ROM_QSTR(MP_QSTR_I2C_POWER_INVERTED), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) }, { 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_A5), MP_ROM_PTR(&pin_GPIO8) },

View File

@ -112,6 +112,7 @@ mp_obj_t common_hal_wifi_radio_get_hostname(wifi_radio_obj_t *self) {
void common_hal_wifi_radio_set_hostname(wifi_radio_obj_t *self, const char *hostname) { void common_hal_wifi_radio_set_hostname(wifi_radio_obj_t *self, const char *hostname) {
esp_netif_set_hostname(self->netif, hostname); esp_netif_set_hostname(self->netif, hostname);
esp_netif_set_hostname(self->ap_netif, hostname);
} }
mp_obj_t common_hal_wifi_radio_get_mac_address(wifi_radio_obj_t *self) { mp_obj_t common_hal_wifi_radio_get_mac_address(wifi_radio_obj_t *self) {
@ -120,12 +121,32 @@ mp_obj_t common_hal_wifi_radio_get_mac_address(wifi_radio_obj_t *self) {
return mp_obj_new_bytes(mac, MAC_ADDRESS_LENGTH); return mp_obj_new_bytes(mac, MAC_ADDRESS_LENGTH);
} }
void common_hal_wifi_radio_set_mac_address(wifi_radio_obj_t *self, const uint8_t *mac) {
if (!self->sta_mode) {
mp_raise_RuntimeError(translate("Interface must be started"));
}
if ((mac[0] & 0b1) == 0b1) {
mp_raise_RuntimeError(translate("Invalid multicast MAC address"));
}
esp_wifi_set_mac(ESP_IF_WIFI_STA, mac);
}
mp_obj_t common_hal_wifi_radio_get_mac_address_ap(wifi_radio_obj_t *self) { mp_obj_t common_hal_wifi_radio_get_mac_address_ap(wifi_radio_obj_t *self) {
uint8_t mac[MAC_ADDRESS_LENGTH]; uint8_t mac[MAC_ADDRESS_LENGTH];
esp_wifi_get_mac(ESP_IF_WIFI_AP, mac); esp_wifi_get_mac(ESP_IF_WIFI_AP, mac);
return mp_obj_new_bytes(mac, MAC_ADDRESS_LENGTH); return mp_obj_new_bytes(mac, MAC_ADDRESS_LENGTH);
} }
void common_hal_wifi_radio_set_mac_address_ap(wifi_radio_obj_t *self, const uint8_t *mac) {
if (!self->ap_mode) {
mp_raise_RuntimeError(translate("Interface must be started"));
}
if ((mac[0] & 0b1) == 0b1) {
mp_raise_RuntimeError(translate("Invalid multicast MAC address"));
}
esp_wifi_set_mac(ESP_IF_WIFI_AP, mac);
}
mp_obj_t common_hal_wifi_radio_start_scanning_networks(wifi_radio_obj_t *self) { mp_obj_t common_hal_wifi_radio_start_scanning_networks(wifi_radio_obj_t *self) {
if (self->current_scan != NULL) { if (self->current_scan != NULL) {
mp_raise_RuntimeError(translate("Already scanning for wifi networks")); mp_raise_RuntimeError(translate("Already scanning for wifi networks"));

View File

@ -152,7 +152,7 @@ void common_hal_wifi_init(void) {
mp_raise_RuntimeError(translate("Failed to init wifi")); mp_raise_RuntimeError(translate("Failed to init wifi"));
} }
// set station mode to avoid the default SoftAP // set station mode to avoid the default SoftAP
esp_wifi_set_mode(WIFI_MODE_STA); common_hal_wifi_radio_start_station(self);
// start wifi // start wifi
common_hal_wifi_radio_set_enabled(self, true); common_hal_wifi_radio_set_enabled(self, true);
} }

View File

@ -88,7 +88,7 @@ endif
# option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk # option to override compiler optimization level, set in boards/$(BOARD)/mpconfigboard.mk
CFLAGS += $(OPTIMIZATION_FLAGS) CFLAGS += $(OPTIMIZATION_FLAGS)
CFLAGS += $(INC) -Werror -Wall -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT) CFLAGS += $(INC) -Werror -Wall -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT) -Werror=missing-prototypes
# TODO: check this # TODO: check this
CFLAGS += -D__START=main -DFOMU CFLAGS += -D__START=main -DFOMU

View File

@ -28,6 +28,7 @@
#include "supervisor/filesystem.h" #include "supervisor/filesystem.h"
#include "supervisor/usb.h" #include "supervisor/usb.h"
#include "supervisor/shared/stack.h" #include "supervisor/shared/stack.h"
#include "supervisor/port.h"
void port_background_task(void) { void port_background_task(void) {
} }

View File

@ -29,6 +29,7 @@
#include "py/runtime.h" #include "py/runtime.h"
#include "common-hal/microcontroller/Processor.h" #include "common-hal/microcontroller/Processor.h"
#include "shared-bindings/microcontroller/Processor.h"
#include "shared-bindings/microcontroller/ResetReason.h" #include "shared-bindings/microcontroller/ResetReason.h"
#include "supervisor/shared/translate.h" #include "supervisor/shared/translate.h"

View File

@ -30,6 +30,8 @@
#include "py/objtuple.h" #include "py/objtuple.h"
#include "py/qstr.h" #include "py/qstr.h"
#include "shared-bindings/os/__init__.h"
STATIC const qstr os_uname_info_fields[] = { STATIC const qstr os_uname_info_fields[] = {
MP_QSTR_sysname, MP_QSTR_nodename, MP_QSTR_sysname, MP_QSTR_nodename,
MP_QSTR_release, MP_QSTR_version, MP_QSTR_machine MP_QSTR_release, MP_QSTR_version, MP_QSTR_machine
@ -56,6 +58,6 @@ mp_obj_t common_hal_os_uname(void) {
return (mp_obj_t)&os_uname_info_obj; return (mp_obj_t)&os_uname_info_obj;
} }
bool common_hal_os_urandom(uint8_t *buffer, uint32_t length) { bool common_hal_os_urandom(uint8_t *buffer, mp_uint_t length) {
return false; return false;
} }

View File

@ -31,6 +31,7 @@
#include "py/mphal.h" #include "py/mphal.h"
#include "py/mpstate.h" #include "py/mpstate.h"
#include "py/gc.h" #include "py/gc.h"
#include "supervisor/cpu.h"
#include "supervisor/usb.h" #include "supervisor/usb.h"
#include "csr.h" #include "csr.h"
@ -54,6 +55,7 @@ extern void SysTick_Handler(void);
// be prematurely enabled by interrupt handlers that enable and disable interrupts. // be prematurely enabled by interrupt handlers that enable and disable interrupts.
extern volatile uint32_t nesting_count; extern volatile uint32_t nesting_count;
void isr(void);
__attribute__((section(".ramtext"))) __attribute__((section(".ramtext")))
void isr(void) { void isr(void) {
uint8_t irqs = irq_pending() & irq_getmask(); uint8_t irqs = irq_pending() & irq_getmask();

View File

@ -38,6 +38,7 @@
// crystals. // crystals.
volatile uint64_t raw_ticks = 0; volatile uint64_t raw_ticks = 0;
volatile int subsecond = 0; volatile int subsecond = 0;
void SysTick_Handler(void);
__attribute__((section(".ramtext"))) __attribute__((section(".ramtext")))
void SysTick_Handler(void) { void SysTick_Handler(void) {
timer0_ev_pending_write(1); timer0_ev_pending_write(1);

View File

@ -92,7 +92,7 @@ else
#CFLAGS += -flto -flto-partition=none #CFLAGS += -flto -flto-partition=none
endif endif
CFLAGS += $(INC) -ggdb -Wall -Wno-cast-align -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(CFLAGS_MOD) $(COPT) CFLAGS += $(INC) -ggdb -Wall -Werror -std=gnu11 -nostdlib -fshort-enums $(BASE_CFLAGS) $(CFLAGS_MOD) $(COPT) -Werror=missing-prototypes
# TODO: add these when -Werror is applied # TODO: add these when -Werror is applied
# Disable some warnings, as do most ports. NXP SDK causes undef, tinyusb causes cast-align # Disable some warnings, as do most ports. NXP SDK causes undef, tinyusb causes cast-align
@ -148,7 +148,7 @@ SRC_SDK := \
system_$(CHIP_FAMILY).c \ system_$(CHIP_FAMILY).c \
SRC_SDK := $(addprefix sdk/devices/$(CHIP_FAMILY)/, $(SRC_SDK)) SRC_SDK := $(addprefix sdk/devices/$(CHIP_FAMILY)/, $(SRC_SDK))
$(addprefix $(BUILD)/, $(SRC_SDK:.c=.o)): CFLAGS += -Wno-undef $(addprefix $(BUILD)/, $(SRC_SDK:.c=.o)): CFLAGS += -Wno-undef -Wno-missing-prototypes -Wno-cast-align
SRC_C += \ SRC_C += \
background.c \ background.c \

View File

@ -26,6 +26,7 @@
*/ */
#include "common-hal/analogio/AnalogIn.h" #include "common-hal/analogio/AnalogIn.h"
#include "shared-bindings/analogio/AnalogIn.h"
#include "shared-bindings/microcontroller/Pin.h" #include "shared-bindings/microcontroller/Pin.h"
#include <string.h> #include <string.h>

View File

@ -41,4 +41,6 @@ typedef struct {
const mcu_periph_obj_t *sda; const mcu_periph_obj_t *sda;
} busio_i2c_obj_t; } busio_i2c_obj_t;
void i2c_reset(void);
#endif // MICROPY_INCLUDED_MIMXRT10XX_COMMON_HAL_BUSIO_I2C_H #endif // MICROPY_INCLUDED_MIMXRT10XX_COMMON_HAL_BUSIO_I2C_H

View File

@ -65,7 +65,7 @@ static void config_periph_pin(const mcu_periph_obj_t *periph) {
| IOMUXC_SW_PAD_CTL_PAD_SRE(0)); | IOMUXC_SW_PAD_CTL_PAD_SRE(0));
} }
void LPUART_UserCallback(LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *user_data) { STATIC void LPUART_UserCallback(LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *user_data) {
busio_uart_obj_t *self = (busio_uart_obj_t *)user_data; busio_uart_obj_t *self = (busio_uart_obj_t *)user_data;
if (status == kStatus_LPUART_RxIdle) { if (status == kStatus_LPUART_RxIdle) {

View File

@ -51,4 +51,5 @@ typedef struct {
const mcu_periph_obj_t *rts; const mcu_periph_obj_t *rts;
} busio_uart_obj_t; } busio_uart_obj_t;
void uart_reset(void);
#endif // MICROPY_INCLUDED_MIMXRT10XX_COMMON_HAL_BUSIO_UART_H #endif // MICROPY_INCLUDED_MIMXRT10XX_COMMON_HAL_BUSIO_UART_H

View File

@ -40,7 +40,7 @@
#define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_ALT5 5U #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_ALT5 5U
void pin_config(const mcu_pin_obj_t *pin, bool open_drain, digitalio_pull_t pull) { STATIC void pin_config(const mcu_pin_obj_t *pin, bool open_drain, digitalio_pull_t pull) {
IOMUXC_SetPinConfig(0, 0, 0, 0, pin->cfg_reg, IOMUXC_SetPinConfig(0, 0, 0, 0, pin->cfg_reg,
IOMUXC_SW_PAD_CTL_PAD_HYS(1) IOMUXC_SW_PAD_CTL_PAD_HYS(1)
| IOMUXC_SW_PAD_CTL_PAD_PUS((pull == PULL_UP) ? 2 : 0) | IOMUXC_SW_PAD_CTL_PAD_PUS((pull == PULL_UP) ? 2 : 0)

View File

@ -28,6 +28,7 @@
#include <math.h> #include <math.h>
#include "common-hal/microcontroller/Processor.h" #include "common-hal/microcontroller/Processor.h"
#include "shared-bindings/microcontroller/Processor.h"
#include "shared-bindings/microcontroller/ResetReason.h" #include "shared-bindings/microcontroller/ResetReason.h"
#include "fsl_tempmon.h" #include "fsl_tempmon.h"

View File

@ -31,6 +31,8 @@
#include "py/objtuple.h" #include "py/objtuple.h"
#include "py/qstr.h" #include "py/qstr.h"
#include "shared-bindings/os/__init__.h"
#include "fsl_trng.h" #include "fsl_trng.h"
STATIC const qstr os_uname_info_fields[] = { STATIC const qstr os_uname_info_fields[] = {
@ -58,7 +60,7 @@ mp_obj_t common_hal_os_uname(void) {
return (mp_obj_t)&os_uname_info_obj; return (mp_obj_t)&os_uname_info_obj;
} }
bool common_hal_os_urandom(uint8_t *buffer, uint32_t length) { bool common_hal_os_urandom(uint8_t *buffer, mp_uint_t length) {
trng_config_t trngConfig; trng_config_t trngConfig;
TRNG_GetDefaultConfig(&trngConfig); TRNG_GetDefaultConfig(&trngConfig);

View File

@ -31,6 +31,8 @@
#include "py/runtime.h" #include "py/runtime.h"
#include "shared/timeutils/timeutils.h" #include "shared/timeutils/timeutils.h"
#include "shared-bindings/rtc/__init__.h" #include "shared-bindings/rtc/__init__.h"
#include "shared-bindings/rtc/RTC.h"
#include "common-hal/rtc/RTC.h"
#include "supervisor/shared/translate.h" #include "supervisor/shared/translate.h"
#include "fsl_snvs_hp.h" #include "fsl_snvs_hp.h"

View File

@ -25,6 +25,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "py/mphal.h"
#include "py/mpstate.h" #include "py/mpstate.h"
#include "py/smallint.h" #include "py/smallint.h"

View File

@ -35,6 +35,8 @@
#include "fsl_clock.h" #include "fsl_clock.h"
#include "fsl_iomuxc.h" #include "fsl_iomuxc.h"
#include "clocks.h"
#define BOARD_XTAL0_CLK_HZ 24000000U /*!< Board xtal0 frequency in Hz */ #define BOARD_XTAL0_CLK_HZ 24000000U /*!< Board xtal0 frequency in Hz */
#define BOARD_XTAL32K_CLK_HZ 32768U /*!< Board xtal32k frequency in Hz */ #define BOARD_XTAL32K_CLK_HZ 32768U /*!< Board xtal32k frequency in Hz */

View File

@ -36,6 +36,8 @@
#include "fsl_clock.h" #include "fsl_clock.h"
#include "fsl_iomuxc.h" #include "fsl_iomuxc.h"
#include "clocks.h"
// These values are pulled from the SDK's devices/MIMXRT1021/project_template/clock_config.* files. // These values are pulled from the SDK's devices/MIMXRT1021/project_template/clock_config.* files.
#define BOARD_XTAL0_CLK_HZ 24000000U /*!< Board xtal0 frequency in Hz */ #define BOARD_XTAL0_CLK_HZ 24000000U /*!< Board xtal0 frequency in Hz */

View File

@ -35,6 +35,8 @@
#include "fsl_clock.h" #include "fsl_clock.h"
#include "fsl_iomuxc.h" #include "fsl_iomuxc.h"
#include "clocks.h"
#define BOARD_XTAL0_CLK_HZ 24000000U /*!< Board xtal0 frequency in Hz */ #define BOARD_XTAL0_CLK_HZ 24000000U /*!< Board xtal0 frequency in Hz */
#define BOARD_XTAL32K_CLK_HZ 32768U /*!< Board xtal32k frequency in Hz */ #define BOARD_XTAL32K_CLK_HZ 32768U /*!< Board xtal32k frequency in Hz */
#define BOARD_BOOTCLOCKRUN_CORE_CLOCK 600000000U /*!< Core clock frequency: 600000000Hz */ #define BOARD_BOOTCLOCKRUN_CORE_CLOCK 600000000U /*!< Core clock frequency: 600000000Hz */

View File

@ -10,9 +10,10 @@
#include "fsl_flexspi.h" #include "fsl_flexspi.h"
#include "internal_flash.h" #include "internal_flash.h"
#include "boards/flash_config.h" #include "boards/flash_config.h"
#include "supervisor/internal_flash.h"
#include "supervisor/linker.h" #include "supervisor/linker.h"
status_t PLACE_IN_ITCM(flexspi_nor_write_enable)(FLEXSPI_Type * base, uint32_t baseAddr) STATIC status_t PLACE_IN_ITCM(flexspi_nor_write_enable)(FLEXSPI_Type * base, uint32_t baseAddr)
{ {
flexspi_transfer_t flashXfer; flexspi_transfer_t flashXfer;
status_t status; status_t status;
@ -29,7 +30,7 @@ status_t PLACE_IN_ITCM(flexspi_nor_write_enable)(FLEXSPI_Type * base, uint32_t b
return status; return status;
} }
status_t PLACE_IN_ITCM(flexspi_nor_wait_bus_busy)(FLEXSPI_Type * base) STATIC status_t PLACE_IN_ITCM(flexspi_nor_wait_bus_busy)(FLEXSPI_Type * base)
{ {
/* Wait status ready. */ /* Wait status ready. */
bool isBusy; bool isBusy;

View File

@ -52,10 +52,6 @@ extern uint32_t __fatfs_flash_length[];
uint8_t _flash_cache[SECTOR_SIZE] __attribute__((aligned(4))); uint8_t _flash_cache[SECTOR_SIZE] __attribute__((aligned(4)));
uint32_t _flash_page_addr = NO_CACHE; uint32_t _flash_page_addr = NO_CACHE;
extern status_t flexspi_nor_flash_erase_sector(FLEXSPI_Type *base, uint32_t address);
extern status_t flexspi_nor_flash_page_program(FLEXSPI_Type *base, uint32_t dstAddr, const uint32_t *src);
extern status_t flexspi_nor_enable_quad_mode(FLEXSPI_Type *base);
void PLACE_IN_ITCM(supervisor_flash_init)(void) { void PLACE_IN_ITCM(supervisor_flash_init)(void) {
// Update the LUT to make sure all entries are available. // Update the LUT to make sure all entries are available.
FLEXSPI_UpdateLUT(FLEXSPI, 0, (const uint32_t *)&qspiflash_config.memConfig.lookupTable, 64); FLEXSPI_UpdateLUT(FLEXSPI, 0, (const uint32_t *)&qspiflash_config.memConfig.lookupTable, 64);

View File

@ -30,6 +30,7 @@
#include <stdint.h> #include <stdint.h>
#include "py/mpconfig.h" #include "py/mpconfig.h"
#include "fsl_common.h"
#define INTERNAL_FLASH_SYSTICK_MASK (0x1ff) // 512ms #define INTERNAL_FLASH_SYSTICK_MASK (0x1ff) // 512ms
#define INTERNAL_FLASH_IDLE_TICK(tick) (((tick) & INTERNAL_FLASH_SYSTICK_MASK) == 2) #define INTERNAL_FLASH_IDLE_TICK(tick) (((tick) & INTERNAL_FLASH_SYSTICK_MASK) == 2)
@ -41,4 +42,9 @@
#define ROM_INDEX_PAGEPROGRAM 9 #define ROM_INDEX_PAGEPROGRAM 9
#define ROM_INDEX_READSTATUSREG 1 #define ROM_INDEX_READSTATUSREG 1
extern status_t flexspi_nor_flash_erase_sector(FLEXSPI_Type *base, uint32_t address);
extern status_t flexspi_nor_flash_page_program(FLEXSPI_Type *base, uint32_t dstAddr, const uint32_t *src);
extern status_t flexspi_nor_enable_quad_mode(FLEXSPI_Type *base);
#endif // MICROPY_INCLUDED_MIMXRT10XX_INTERNAL_FLASH_H #endif // MICROPY_INCLUDED_MIMXRT10XX_INTERNAL_FLASH_H

View File

@ -104,6 +104,7 @@ extern uint32_t _ld_itcm_flash_copy;
extern void main(void); extern void main(void);
// This replaces the Reset_Handler in startup_*.S and SystemInit in system_*.c. // This replaces the Reset_Handler in startup_*.S and SystemInit in system_*.c.
void Reset_Handler(void);
__attribute__((used, naked)) void Reset_Handler(void) { __attribute__((used, naked)) void Reset_Handler(void) {
__disable_irq(); __disable_irq();
SCB->VTOR = (uint32_t)&__isr_vector; SCB->VTOR = (uint32_t)&__isr_vector;
@ -358,6 +359,8 @@ uint64_t port_get_raw_ticks(uint8_t *subticks) {
return ticks / 32; return ticks / 32;
} }
void SNVS_HP_WRAPPER_IRQHandler(void);
__attribute__((used))
void SNVS_HP_WRAPPER_IRQHandler(void) { void SNVS_HP_WRAPPER_IRQHandler(void) {
if ((SNVS->HPSR & SNVS_HPSR_PI_MASK) != 0) { if ((SNVS->HPSR & SNVS_HPSR_PI_MASK) != 0) {
supervisor_tick(); supervisor_tick();
@ -415,6 +418,7 @@ void port_idle_until_interrupt(void) {
/** /**
* \brief Default interrupt handler for unused IRQs. * \brief Default interrupt handler for unused IRQs.
*/ */
void MemManage_Handler(void);
__attribute__((used)) void MemManage_Handler(void) { __attribute__((used)) void MemManage_Handler(void) {
reset_into_safe_mode(MEM_MANAGE); reset_into_safe_mode(MEM_MANAGE);
while (true) { while (true) {
@ -425,6 +429,7 @@ __attribute__((used)) void MemManage_Handler(void) {
/** /**
* \brief Default interrupt handler for unused IRQs. * \brief Default interrupt handler for unused IRQs.
*/ */
void BusFault_Handler(void);
__attribute__((used)) void BusFault_Handler(void) { __attribute__((used)) void BusFault_Handler(void) {
reset_into_safe_mode(MEM_MANAGE); reset_into_safe_mode(MEM_MANAGE);
while (true) { while (true) {
@ -435,6 +440,7 @@ __attribute__((used)) void BusFault_Handler(void) {
/** /**
* \brief Default interrupt handler for unused IRQs. * \brief Default interrupt handler for unused IRQs.
*/ */
void UsageFault_Handler(void);
__attribute__((used)) void UsageFault_Handler(void) { __attribute__((used)) void UsageFault_Handler(void) {
reset_into_safe_mode(MEM_MANAGE); reset_into_safe_mode(MEM_MANAGE);
while (true) { while (true) {
@ -445,6 +451,7 @@ __attribute__((used)) void UsageFault_Handler(void) {
/** /**
* \brief Default interrupt handler for unused IRQs. * \brief Default interrupt handler for unused IRQs.
*/ */
void HardFault_Handler(void);
__attribute__((used)) void HardFault_Handler(void) { __attribute__((used)) void HardFault_Handler(void) {
reset_into_safe_mode(HARD_CRASH); reset_into_safe_mode(HARD_CRASH);
while (true) { while (true) {

View File

@ -52,6 +52,7 @@ void init_usb_hardware(void) {
usb_phy->TX = phytx; usb_phy->TX = phytx;
} }
void USB_OTG1_IRQHandler(void);
void USB_OTG1_IRQHandler(void) { void USB_OTG1_IRQHandler(void) {
usb_irq_handler(); usb_irq_handler();
} }

View File

@ -59,6 +59,7 @@
#define MICROPY_PY_URE_SUB (1) #define MICROPY_PY_URE_SUB (1)
#define MICROPY_VFS_POSIX (1) #define MICROPY_VFS_POSIX (1)
#define MICROPY_FATFS_USE_LABEL (1) #define MICROPY_FATFS_USE_LABEL (1)
#define MICROPY_FF_MKFS_FAT32 (1)
#define MICROPY_PY_FRAMEBUF (1) #define MICROPY_PY_FRAMEBUF (1)
#define MICROPY_PY_COLLECTIONS_NAMEDTUPLE__ASDICT (1) #define MICROPY_PY_COLLECTIONS_NAMEDTUPLE__ASDICT (1)
#define MICROPY_PY_COLLECTIONS_ORDEREDDICT (1) #define MICROPY_PY_COLLECTIONS_ORDEREDDICT (1)

View File

@ -31,18 +31,21 @@ SRC_BITMAP := \
$(patsubst ../../%,%,$(wildcard ../../shared-bindings/gifio/*.c ../../shared-module/gifio/*.c)) \ $(patsubst ../../%,%,$(wildcard ../../shared-bindings/gifio/*.c ../../shared-module/gifio/*.c)) \
shared/runtime/context_manager_helpers.c \ shared/runtime/context_manager_helpers.c \
displayio_min.c \ displayio_min.c \
shared-bindings/bitmaptools/__init__.c \
shared-bindings/displayio/Bitmap.c \ shared-bindings/displayio/Bitmap.c \
shared-bindings/rainbowio/__init__.c \
shared-bindings/util.c \
shared-module/bitmaptools/__init__.c \
shared-module/displayio/area.c \ shared-module/displayio/area.c \
shared-module/displayio/Bitmap.c \ shared-module/displayio/Bitmap.c \
shared-module/displayio/ColorConverter.c \ shared-module/displayio/ColorConverter.c \
shared-bindings/bitmaptools/__init__.c \ shared-module/displayio/ColorConverter.c \
shared-module/bitmaptools/__init__.c \ shared-module/rainbowio/__init__.c \
shared-bindings/util.c \
$(info $(SRC_BITMAP)) $(info $(SRC_BITMAP))
SRC_C += $(SRC_BITMAP) SRC_C += $(SRC_BITMAP)
CFLAGS += -DCIRCUITPY_GIFIO=1 -DCIRCUITPY_DISPLAYIO_UNIX=1 -DCIRCUITPY_BITMAPTOOLS=1 CFLAGS += -DCIRCUITPY_GIFIO=1 -DCIRCUITPY_DISPLAYIO_UNIX=1 -DCIRCUITPY_BITMAPTOOLS=1 -DCIRCUITPY_RAINBOWIO=1
SRC_C += coverage.c SRC_C += coverage.c
SRC_CXX += coveragecpp.cpp SRC_CXX += coveragecpp.cpp

View File

@ -558,11 +558,10 @@ void mp_obj_exception_add_traceback(mp_obj_t self_in, qstr file, size_t line, qs
if (self->traceback == NULL) { if (self->traceback == NULL) {
self->traceback = &MP_STATE_VM(mp_emergency_traceback_obj); self->traceback = &MP_STATE_VM(mp_emergency_traceback_obj);
} }
// populate traceback object
*self->traceback = mp_const_empty_traceback_obj;
} }
// populate traceback object
*self->traceback = mp_const_empty_traceback_obj;
// append the provided traceback info to traceback data // append the provided traceback info to traceback data
// if memory allocation fails (eg because gc is locked), just return // if memory allocation fails (eg because gc is locked), just return
if (self->traceback->data == NULL) { if (self->traceback->data == NULL) {

View File

@ -290,8 +290,8 @@ STATIC mp_obj_t bitmaptools_alphablend(size_t n_args, const mp_obj_t *pos_args,
displayio_bitmap_t *source1 = MP_OBJ_TO_PTR(mp_arg_validate_type(args[ARG_source_bitmap_1].u_obj, &displayio_bitmap_type, MP_QSTR_source_bitmap_1)); // the first source bitmap displayio_bitmap_t *source1 = MP_OBJ_TO_PTR(mp_arg_validate_type(args[ARG_source_bitmap_1].u_obj, &displayio_bitmap_type, MP_QSTR_source_bitmap_1)); // the first source bitmap
displayio_bitmap_t *source2 = MP_OBJ_TO_PTR(mp_arg_validate_type(args[ARG_source_bitmap_2].u_obj, &displayio_bitmap_type, MP_QSTR_source_bitmap_2)); // the second source bitmap displayio_bitmap_t *source2 = MP_OBJ_TO_PTR(mp_arg_validate_type(args[ARG_source_bitmap_2].u_obj, &displayio_bitmap_type, MP_QSTR_source_bitmap_2)); // the second source bitmap
mp_float_t factor1 = (args[ARG_factor_1].u_obj == mp_const_none) ? MICROPY_FLOAT_CONST(.5) : mp_obj_float_get(args[ARG_factor_1].u_obj); mp_float_t factor1 = (args[ARG_factor_1].u_obj == mp_const_none) ? MICROPY_FLOAT_CONST(.5) : mp_obj_get_float(args[ARG_factor_1].u_obj);
mp_float_t factor2 = (args[ARG_factor_2].u_obj == mp_const_none) ? 1 - factor1 : mp_obj_float_get(args[ARG_factor_2].u_obj); mp_float_t factor2 = (args[ARG_factor_2].u_obj == mp_const_none) ? 1 - factor1 : mp_obj_get_float(args[ARG_factor_2].u_obj);
displayio_colorspace_t colorspace = (displayio_colorspace_t)cp_enum_value(&displayio_colorspace_type, args[ARG_colorspace].u_obj); displayio_colorspace_t colorspace = (displayio_colorspace_t)cp_enum_value(&displayio_colorspace_type, args[ARG_colorspace].u_obj);
@ -619,7 +619,7 @@ STATIC mp_obj_t bitmaptools_readinto(size_t n_args, const mp_obj_t *pos_args, mp
displayio_bitmap_t *bitmap = mp_arg_validate_type(args[ARG_bitmap].u_obj, &displayio_bitmap_type, MP_QSTR_bitmap); displayio_bitmap_t *bitmap = mp_arg_validate_type(args[ARG_bitmap].u_obj, &displayio_bitmap_type, MP_QSTR_bitmap);
pyb_file_obj_t *file = mp_arg_validate_type(args[ARG_file].u_obj, &mp_type_fileio, MP_QSTR_file); mp_obj_t *file = args[ARG_file].u_obj;
int element_size = args[ARG_element_size].u_int; int element_size = args[ARG_element_size].u_int;
if (element_size != 1 && element_size != 2 && element_size != 4) { if (element_size != 1 && element_size != 2 && element_size != 4) {

View File

@ -64,7 +64,7 @@ void common_hal_bitmaptools_draw_line(displayio_bitmap_t *destination,
int16_t x1, int16_t y1, int16_t x1, int16_t y1,
uint32_t value); uint32_t value);
void common_hal_bitmaptools_readinto(displayio_bitmap_t *self, pyb_file_obj_t *file, int element_size, int bits_per_pixel, bool reverse_pixels_in_word, bool swap_bytes, bool reverse_rows); void common_hal_bitmaptools_readinto(displayio_bitmap_t *self, mp_obj_t *file, int element_size, int bits_per_pixel, bool reverse_pixels_in_word, bool swap_bytes, bool reverse_rows);
void common_hal_bitmaptools_arrayblit(displayio_bitmap_t *self, void *data, int element_size, int x1, int y1, int x2, int y2, bool skip_specified, uint32_t skip_index); void common_hal_bitmaptools_arrayblit(displayio_bitmap_t *self, void *data, int element_size, int x1, int y1, int x2, int y2, bool skip_specified, uint32_t skip_index);
void common_hal_bitmaptools_dither(displayio_bitmap_t *dest_bitmap, displayio_bitmap_t *source_bitmap, displayio_colorspace_t colorspace, bitmaptools_dither_algorithm_t algorithm); void common_hal_bitmaptools_dither(displayio_bitmap_t *dest_bitmap, displayio_bitmap_t *source_bitmap, displayio_colorspace_t colorspace, bitmaptools_dither_algorithm_t algorithm);

View File

@ -61,11 +61,11 @@
//| """Initialize camera.""" //| """Initialize camera."""
//| ... //| ...
//| //|
STATIC mp_obj_t camera_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *all_args, mp_map_t *kw_args) { STATIC mp_obj_t camera_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) {
camera_obj_t *self = m_new_obj(camera_obj_t); camera_obj_t *self = m_new_obj(camera_obj_t);
self->base.type = &camera_type; self->base.type = &camera_type;
// No arguments // No arguments
mp_arg_check_num(n_args, kw_args, 0, 0, false); mp_arg_check_num(n_args, n_kw, 0, 0, false);
common_hal_camera_construct(self); common_hal_camera_construct(self);
return MP_OBJ_FROM_PTR(self); return MP_OBJ_FROM_PTR(self);

View File

@ -54,7 +54,7 @@
//| Pin used to latch parallel data going into the shift register. //| Pin used to latch parallel data going into the shift register.
//| :param bool value_to_latch: Pin state to latch data being read. //| :param bool value_to_latch: Pin state to latch data being read.
//| ``True`` if the data is latched when ``latch`` goes high //| ``True`` if the data is latched when ``latch`` goes high
//| ``False`` if the data is latched when ``latch goes low. //| ``False`` if the data is latched when ``latch`` goes low.
//| The default is ``True``, which is how the 74HC165 operates. The CD4021 latch is the opposite. //| The default is ``True``, which is how the 74HC165 operates. The CD4021 latch is the opposite.
//| Once the data is latched, it will be shifted out by toggling the clock pin. //| Once the data is latched, it will be shifted out by toggling the clock pin.
//| :param int key_count: number of data lines to clock in //| :param int key_count: number of data lines to clock in

View File

@ -37,7 +37,8 @@
//| ... //| ...
//| //|
STATIC mp_obj_t rainbowio_colorwheel(mp_obj_t n) { STATIC mp_obj_t rainbowio_colorwheel(mp_obj_t n) {
return MP_OBJ_NEW_SMALL_INT(colorwheel(mp_obj_is_small_int(n) ? MP_OBJ_SMALL_INT_VALUE(n) : mp_obj_get_float(n))); mp_float_t f = mp_obj_get_float(n);
return MP_OBJ_NEW_SMALL_INT(colorwheel(f));
} }
STATIC MP_DEFINE_CONST_FUN_OBJ_1(rainbowio_colorwheel_obj, rainbowio_colorwheel); STATIC MP_DEFINE_CONST_FUN_OBJ_1(rainbowio_colorwheel_obj, rainbowio_colorwheel);

View File

@ -27,7 +27,8 @@
#ifndef CP_SHARED_BINDINGS_RAINBOWIO_INIT_H #ifndef CP_SHARED_BINDINGS_RAINBOWIO_INIT_H
#define CP_SHARED_BINDINGS_RAINBOWIO_INIT_H #define CP_SHARED_BINDINGS_RAINBOWIO_INIT_H
#include <stdint.h> #include <stdint.h>
#include "py/misc.h"
const int32_t colorwheel(float pos); int32_t colorwheel(mp_float_t pos);
#endif // CP_SHARED_BINDINGS_RAINBOWIO_INIT_H #endif // CP_SHARED_BINDINGS_RAINBOWIO_INIT_H

View File

@ -33,6 +33,8 @@
#include "py/runtime.h" #include "py/runtime.h"
#include "py/objproperty.h" #include "py/objproperty.h"
#define MAC_ADDRESS_LENGTH 6
//| class Radio: //| class Radio:
//| """Native wifi radio. //| """Native wifi radio.
//| //|
@ -115,40 +117,70 @@ const mp_obj_property_t wifi_radio_hostname_obj = {
MP_ROM_NONE}, MP_ROM_NONE},
}; };
//| mac_address: bytes //| mac_address: ReadableBuffer
//| """MAC address of the wifi radio station. (read-only)""" //| """MAC address for the station. When the address is altered after interface is connected
//| the changes would only be reflected once the interface reconnects."""
//| //|
STATIC mp_obj_t wifi_radio_get_mac_address(mp_obj_t self) { STATIC mp_obj_t wifi_radio_get_mac_address(mp_obj_t self_in) {
wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
return MP_OBJ_FROM_PTR(common_hal_wifi_radio_get_mac_address(self)); return MP_OBJ_FROM_PTR(common_hal_wifi_radio_get_mac_address(self));
} }
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_mac_address_obj, wifi_radio_get_mac_address); MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_mac_address_obj, wifi_radio_get_mac_address);
STATIC mp_obj_t wifi_radio_set_mac_address(mp_obj_t self_in, mp_obj_t mac_address_in) {
mp_buffer_info_t mac_address;
mp_get_buffer_raise(mac_address_in, &mac_address, MP_BUFFER_READ);
if (mac_address.len != MAC_ADDRESS_LENGTH) {
mp_raise_ValueError(translate("Invalid MAC address"));
}
wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
common_hal_wifi_radio_set_mac_address(self, mac_address.buf);
return mp_const_none;
}
MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_mac_address_obj, wifi_radio_set_mac_address);
const mp_obj_property_t wifi_radio_mac_address_obj = { const mp_obj_property_t wifi_radio_mac_address_obj = {
.base.type = &mp_type_property, .base.type = &mp_type_property,
.proxy = { (mp_obj_t)&wifi_radio_get_mac_address_obj, .proxy = { (mp_obj_t)&wifi_radio_get_mac_address_obj,
MP_ROM_NONE, (mp_obj_t)&wifi_radio_set_mac_address_obj,
MP_ROM_NONE }, MP_ROM_NONE },
}; };
//| mac_address_ap: ReadableBuffer
//| mac_address_ap: bytes //| """MAC address for the AP. When the address is altered after interface is started
//| """MAC address of the wifi radio access point. (read-only)""" //| the changes would only be reflected once the interface restarts."""
//| //|
STATIC mp_obj_t wifi_radio_get_mac_address_ap(mp_obj_t self) { STATIC mp_obj_t wifi_radio_get_mac_address_ap(mp_obj_t self_in) {
wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
return MP_OBJ_FROM_PTR(common_hal_wifi_radio_get_mac_address_ap(self)); return MP_OBJ_FROM_PTR(common_hal_wifi_radio_get_mac_address_ap(self));
} }
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_mac_address_ap_obj, wifi_radio_get_mac_address_ap); MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_mac_address_ap_obj, wifi_radio_get_mac_address_ap);
STATIC mp_obj_t wifi_radio_set_mac_address_ap(mp_obj_t self_in, mp_obj_t mac_address_in) {
mp_buffer_info_t mac_address;
mp_get_buffer_raise(mac_address_in, &mac_address, MP_BUFFER_READ);
if (mac_address.len != MAC_ADDRESS_LENGTH) {
mp_raise_ValueError(translate("Invalid MAC address"));
}
wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
common_hal_wifi_radio_set_mac_address_ap(self, mac_address.buf);
return mp_const_none;
}
MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_mac_address_ap_obj, wifi_radio_set_mac_address_ap);
const mp_obj_property_t wifi_radio_mac_address_ap_obj = { const mp_obj_property_t wifi_radio_mac_address_ap_obj = {
.base.type = &mp_type_property, .base.type = &mp_type_property,
.proxy = { (mp_obj_t)&wifi_radio_get_mac_address_ap_obj, .proxy = { (mp_obj_t)&wifi_radio_get_mac_address_ap_obj,
MP_ROM_NONE, (mp_obj_t)&wifi_radio_set_mac_address_ap_obj,
MP_ROM_NONE }, MP_ROM_NONE },
}; };
//| def start_scanning_networks(self, *, start_channel: int = 1, stop_channel: int = 11) -> Iterable[Network]: //| def start_scanning_networks(self, *, start_channel: int = 1, stop_channel: int = 11) -> Iterable[Network]:
//| """Scans for available wifi networks over the given channel range. Make sure the channels are allowed in your country.""" //| """Scans for available wifi networks over the given channel range. Make sure the channels are allowed in your country."""
//| ... //| ...
@ -307,7 +339,11 @@ STATIC mp_obj_t wifi_radio_connect(size_t n_args, const mp_obj_t *pos_args, mp_m
} }
mp_buffer_info_t ssid; mp_buffer_info_t ssid;
ssid.len = 0;
mp_get_buffer_raise(args[ARG_ssid].u_obj, &ssid, MP_BUFFER_READ); mp_get_buffer_raise(args[ARG_ssid].u_obj, &ssid, MP_BUFFER_READ);
if (ssid.len > 32) {
mp_raise_ValueError(translate("ssid can't be more than 32 bytes"));
}
mp_buffer_info_t password; mp_buffer_info_t password;
password.len = 0; password.len = 0;

View File

@ -78,7 +78,9 @@ extern mp_obj_t common_hal_wifi_radio_get_hostname(wifi_radio_obj_t *self);
extern void common_hal_wifi_radio_set_hostname(wifi_radio_obj_t *self, const char *hostname); extern void common_hal_wifi_radio_set_hostname(wifi_radio_obj_t *self, const char *hostname);
extern mp_obj_t common_hal_wifi_radio_get_mac_address(wifi_radio_obj_t *self); extern mp_obj_t common_hal_wifi_radio_get_mac_address(wifi_radio_obj_t *self);
extern void common_hal_wifi_radio_set_mac_address(wifi_radio_obj_t *self, const uint8_t *mac);
extern mp_obj_t common_hal_wifi_radio_get_mac_address_ap(wifi_radio_obj_t *self); extern mp_obj_t common_hal_wifi_radio_get_mac_address_ap(wifi_radio_obj_t *self);
extern void common_hal_wifi_radio_set_mac_address_ap(wifi_radio_obj_t *self, const uint8_t *mac);
extern mp_obj_t common_hal_wifi_radio_start_scanning_networks(wifi_radio_obj_t *self); extern mp_obj_t common_hal_wifi_radio_start_scanning_networks(wifi_radio_obj_t *self);
extern void common_hal_wifi_radio_stop_scanning_networks(wifi_radio_obj_t *self); extern void common_hal_wifi_radio_stop_scanning_networks(wifi_radio_obj_t *self);

View File

@ -30,8 +30,9 @@
#include "shared-bindings/displayio/ColorConverter.h" #include "shared-bindings/displayio/ColorConverter.h"
#include "shared-module/displayio/Bitmap.h" #include "shared-module/displayio/Bitmap.h"
#include "py/runtime.h"
#include "py/mperrno.h" #include "py/mperrno.h"
#include "py/runtime.h"
#include "py/stream.h"
#include <math.h> #include <math.h>
#include <stdlib.h> #include <stdlib.h>
@ -513,9 +514,11 @@ void common_hal_bitmaptools_arrayblit(displayio_bitmap_t *self, void *data, int
displayio_bitmap_set_dirty_area(self, &area); displayio_bitmap_set_dirty_area(self, &area);
} }
void common_hal_bitmaptools_readinto(displayio_bitmap_t *self, pyb_file_obj_t *file, int element_size, int bits_per_pixel, bool reverse_pixels_in_element, bool swap_bytes, bool reverse_rows) { void common_hal_bitmaptools_readinto(displayio_bitmap_t *self, mp_obj_t *file, int element_size, int bits_per_pixel, bool reverse_pixels_in_element, bool swap_bytes, bool reverse_rows) {
uint32_t mask = (1 << common_hal_displayio_bitmap_get_bits_per_value(self)) - 1; uint32_t mask = (1 << common_hal_displayio_bitmap_get_bits_per_value(self)) - 1;
const mp_stream_p_t *file_proto = mp_get_stream_raise(file, MP_STREAM_OP_READ);
displayio_area_t a = {0, 0, self->width, self->height, NULL}; displayio_area_t a = {0, 0, self->width, self->height, NULL};
displayio_bitmap_set_dirty_area(self, &a); displayio_bitmap_set_dirty_area(self, &a);
@ -530,9 +533,14 @@ void common_hal_bitmaptools_readinto(displayio_bitmap_t *self, pyb_file_obj_t *f
uint8_t *rowdata8 = (uint8_t *)rowdata32; uint8_t *rowdata8 = (uint8_t *)rowdata32;
const int y_draw = reverse_rows ? (self->height) - 1 - y : y; const int y_draw = reverse_rows ? (self->height) - 1 - y : y;
UINT bytes_read = 0;
if (f_read(&file->fp, rowdata32, rowsize, &bytes_read) != FR_OK || bytes_read != rowsize) { int error = 0;
mp_raise_OSError(MP_EIO); mp_uint_t bytes_read = file_proto->read(file, rowdata32, rowsize, &error);
if (error) {
mp_raise_OSError(error);
}
if (bytes_read != rowsize) {
mp_raise_msg(&mp_type_EOFError, NULL);
} }
if (swap_bytes) { if (swap_bytes) {

View File

@ -78,7 +78,7 @@ static void write_word(gifio_gifwriter_t *self, uint16_t value) {
void shared_module_gifio_gifwriter_construct(gifio_gifwriter_t *self, mp_obj_t *file, int width, int height, displayio_colorspace_t colorspace, bool loop, bool dither, bool own_file) { void shared_module_gifio_gifwriter_construct(gifio_gifwriter_t *self, mp_obj_t *file, int width, int height, displayio_colorspace_t colorspace, bool loop, bool dither, bool own_file) {
self->file = file; self->file = file;
self->file_proto = mp_proto_get_or_throw(MP_QSTR_protocol_stream, file); self->file_proto = mp_get_stream_raise(file, MP_STREAM_OP_WRITE | MP_STREAM_OP_IOCTL);
if (self->file_proto->is_text) { if (self->file_proto->is_text) {
mp_raise_TypeError(translate("file must be a file opened in byte mode")); mp_raise_TypeError(translate("file must be a file opened in byte mode"));
} }

View File

@ -26,17 +26,21 @@
#include "shared-bindings/rainbowio/__init__.h" #include "shared-bindings/rainbowio/__init__.h"
const int32_t colorwheel(float pos) { int32_t colorwheel(mp_float_t pos) {
if (pos > 255) { pos = pos - ((uint32_t)(pos / 256) * 256);
pos = pos - ((uint32_t)(pos / 256) * 256); int shift1, shift2;
}
if (pos < 85) { if (pos < 85) {
return (uint8_t)(255 - (pos * 3)) << 16 | (uint8_t)(pos * 3) << 8; shift1 = 8;
shift2 = 16;
} else if (pos < 170) { } else if (pos < 170) {
pos -= 85; pos -= 85;
return (uint8_t)(255 - (pos * 3)) << 8 | (uint8_t)(pos * 3); shift1 = 0;
shift2 = 8;
} else { } else {
pos -= 170; pos -= 170;
return (uint8_t)(pos * 3) << 16 | (uint8_t)(255 - (pos * 3)); shift1 = 16;
shift2 = 0;
} }
int p = (int)(pos * 3);
return (p << shift1) | ((255 - p) << shift2);
} }

View File

@ -0,0 +1,53 @@
import ulab.numpy as np
import displayio
import bitmaptools
try:
import struct
except:
import ustruct as struct
base_header = b"BMFX\x02\x00\x00\x00\x00\x00F\x00\x00\x008\x00\x00\x00@\x01\x00\x00\xf0\x00\x00\x00\x01\x00\x10\x00\x03\x00\x00\x00\x00X\x02\x00\xd7\r\x00\x00\xd7\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\x00\xe0\x07\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00"
def writebmp16(filename, bitmap):
header = bytearray(base_header)
header[18:26] = struct.pack("<II", bitmap.width, bitmap.height)
with open(filename, "wb") as f:
f.write(header)
b = np.frombuffer(bitmap, dtype=np.uint16)
for i in range(bitmap.height):
j = (bitmap.height - i - 1) * bitmap.width
f.write(b[j : j + bitmap.width])
def loadbmp16(filename, width=320, height=240):
"""This specialized routine loads 16bpp uncompressed bmp files with a
70-byte header. It is not appropriate for generic bmp files."""
bitmap = displayio.Bitmap(width, height, 65536)
with open(filename, "rb") as f:
f.seek(70)
bitmaptools.readinto(
bitmap,
f,
bits_per_pixel=16,
element_size=2,
reverse_rows=True,
)
return bitmap
if __name__ == "__main__":
if "/" in __file__:
here = __file__.rsplit("/", 1)[0]
else:
here = "."
b = loadbmp16(here + "/minerva16.bmp")
print(b[0, 0])
print(b[160, 160])
for i, p in enumerate(sorted(set(memoryview(b)))):
print("%04x" % p, end="\n" if (i % 8) == 7 else " ")
if i % 8 != 7:
print()

View File

@ -0,0 +1,32 @@
import bitmaptools
import displayio
import _bmp16
if "/" in __file__:
here = __file__.rsplit("/", 1)[0]
else:
here = "."
c = displayio.Colorspace.BGR565
b1 = _bmp16.loadbmp16(here + "/minerva16.bmp")
b2 = _bmp16.loadbmp16(here + "/blinka16.bmp")
b3 = displayio.Bitmap(320, 240, 65536)
for i in (
0,
1 / 64,
3 / 64,
3 / 32,
3 / 16,
0.5,
1 - 3 / 16,
1 - 3 / 32,
1 - 3 / 64,
1 - 1 / 64,
1,
):
bitmaptools.alphablend(b3, b1, b2, c, i)
_bmp16.writebmp16(f"blend-{i:.2f}.bmp", b3)
bitmaptools.alphablend(b3, b1, b2, c, i, 0)
_bmp16.writebmp16(f"fade-{i:.2f}.bmp", b3)

Some files were not shown because too many files have changed in this diff Show More