Skip to content

Commit ab1316c

Browse files
authored
Merge pull request #8831 from jepler/q-and-d-uvc
Add UVCFramebuffer to allow CircuitPython to send video to a host computer
2 parents 81a881a + 3fbbc75 commit ab1316c

40 files changed

+3032
-1497
lines changed

locale/ID.po

Lines changed: 98 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -211,15 +211,15 @@ msgstr ""
211211

212212
#: ports/raspberrypi/bindings/cyw43/__init__.c py/argcheck.c py/objexcept.c
213213
#: shared-bindings/canio/CAN.c shared-bindings/digitalio/Pull.c
214-
#: shared-bindings/supervisor/__init__.c shared-module/synthio/Synthesizer.c
214+
#: shared-module/synthio/Synthesizer.c
215215
msgid "%q must be of type %q or %q, not %q"
216216
msgstr ""
217217

218218
#: shared-bindings/jpegio/JpegDecoder.c
219219
msgid "%q must be of type %q, %q, or %q, not %q"
220220
msgstr ""
221221

222-
#: py/argcheck.c py/runtime.c shared-bindings/bitmapfilter/__init__.c
222+
#: py/argcheck.c shared-bindings/bitmapfilter/__init__.c
223223
#: shared-module/synthio/__init__.c
224224
msgid "%q must be of type %q, not %q"
225225
msgstr ""
@@ -237,7 +237,7 @@ msgstr ""
237237
#: ports/nrf/common-hal/pulseio/PulseIn.c
238238
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
239239
#: ports/stm/common-hal/pulseio/PulseIn.c py/argcheck.c
240-
#: shared-bindings/canio/Match.c shared-bindings/time/__init__.c
240+
#: shared-bindings/canio/Match.c
241241
msgid "%q out of range"
242242
msgstr "%q di luar jangkauan"
243243

@@ -501,6 +501,7 @@ msgstr "Semua perangkat UART sedang digunakan"
501501
#: ports/nrf/common-hal/countio/Counter.c
502502
#: ports/nrf/common-hal/pulseio/PulseIn.c
503503
#: ports/nrf/common-hal/rotaryio/IncrementalEncoder.c
504+
#: shared-bindings/pwmio/PWMOut.c
504505
msgid "All channels in use"
505506
msgstr ""
506507

@@ -523,11 +524,13 @@ msgid "All sync event channels in use"
523524
msgstr "Semua channel event yang disinkronisasi sedang digunakan"
524525

525526
#: ports/raspberrypi/common-hal/picodvi/Framebuffer.c
527+
#: shared-bindings/pwmio/PWMOut.c
526528
msgid "All timers for this pin are in use"
527529
msgstr "Semua timer untuk pin ini sedang digunakan"
528530

529531
#: ports/atmel-samd/common-hal/_pew/PewPew.c
530532
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
533+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
531534
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
532535
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
533536
#: ports/cxd56/common-hal/pulseio/PulseOut.c
@@ -538,7 +541,7 @@ msgstr "Semua timer untuk pin ini sedang digunakan"
538541
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
539542
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
540543
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
541-
#: ports/stm/peripherals/timers.c
544+
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
542545
msgid "All timers in use"
543546
msgstr "Semua timer sedang digunakan"
544547

@@ -781,6 +784,12 @@ msgstr "Tidak dapat merekam ke file"
781784
msgid "Cannot remount '/' when visible via USB."
782785
msgstr ""
783786

787+
#: ports/atmel-samd/common-hal/microcontroller/__init__.c
788+
#: ports/cxd56/common-hal/microcontroller/__init__.c
789+
#: ports/mimxrt10xx/common-hal/microcontroller/__init__.c
790+
msgid "Cannot reset into bootloader because no bootloader is present"
791+
msgstr ""
792+
784793
#: ports/espressif/common-hal/socketpool/Socket.c
785794
msgid "Cannot set socket options"
786795
msgstr ""
@@ -798,6 +807,12 @@ msgstr "Tidak dapat menentukan RTS atau CTS dalam mode RS485"
798807
msgid "Cannot subclass slice"
799808
msgstr "Tidak dapat membuat subkelas dari irisan"
800809

810+
#: shared-bindings/pwmio/PWMOut.c
811+
msgid "Cannot vary frequency on a timer that is already in use"
812+
msgstr ""
813+
"Tidak dapat membuat variasi frekuensi pada penghitung waktu yang sudah "
814+
"digunakan"
815+
801816
#: ports/nrf/common-hal/alarm/pin/PinAlarm.c
802817
msgid "Cannot wake on pin edge, only level"
803818
msgstr ""
@@ -841,6 +856,10 @@ msgstr ""
841856
msgid "Could not set address"
842857
msgstr ""
843858

859+
#: shared-bindings/pwmio/PWMOut.c
860+
msgid "Could not start PWM"
861+
msgstr "Tidak dapat memulai PWM"
862+
844863
#: ports/stm/common-hal/busio/UART.c
845864
msgid "Could not start interrupt, RX busy"
846865
msgstr "Tidak dapat memulai interupsi, RX sibuk"
@@ -932,6 +951,16 @@ msgstr "ECB hanya beroperasi pada 16 byte di satu waktu"
932951
msgid "ESP-IDF memory allocation failed"
933952
msgstr ""
934953

954+
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
955+
#: ports/atmel-samd/common-hal/countio/Counter.c
956+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
957+
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
958+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
959+
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
960+
#: ports/cxd56/common-hal/pulseio/PulseIn.c
961+
msgid "EXTINT channel already in use"
962+
msgstr "Channel EXTINT sedang digunakan"
963+
935964
#: extmod/modre.c
936965
msgid "Error in regex"
937966
msgstr "Error pada regex"
@@ -1064,6 +1093,10 @@ msgid ""
10641093
"Frequency must be 24, 150, 396, 450, 528, 600, 720, 816, 912, 960 or 1008 Mhz"
10651094
msgstr ""
10661095

1096+
#: shared-bindings/pwmio/PWMOut.c
1097+
msgid "Frequency must match existing PWMOut using this timer"
1098+
msgstr "Frekuensi harus cocok dengan PWMOut yang ada menggunakan timer ini"
1099+
10671100
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
10681101
#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
10691102
msgid "Function requires lock"
@@ -1098,6 +1131,11 @@ msgstr "Perangkat keras sedang digunakan, coba pin alternatif"
10981131
msgid "Heap allocation when VM not running."
10991132
msgstr ""
11001133

1134+
#: supervisor/shared/safe_mode.c
1135+
msgid ""
1136+
"Heap was corrupted because the stack was too small. Increase stack size."
1137+
msgstr ""
1138+
11011139
#: extmod/vfs_posix_file.c py/objstringio.c
11021140
msgid "I/O operation on closed file"
11031141
msgstr "operasi I/O pada file tertutup"
@@ -1173,7 +1211,7 @@ msgid "Internal define error"
11731211
msgstr "Kesalahan definisi internal"
11741212

11751213
#: ports/espressif/common-hal/paralleldisplaybus/ParallelBus.c
1176-
#: shared-bindings/pwmio/PWMOut.c shared-module/os/getenv.c
1214+
#: shared-module/os/getenv.c
11771215
msgid "Internal error"
11781216
msgstr ""
11791217

@@ -1182,16 +1220,6 @@ msgstr ""
11821220
msgid "Internal error #%d"
11831221
msgstr "Kesalahan internal #%d"
11841222

1185-
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
1186-
#: ports/atmel-samd/common-hal/countio/Counter.c
1187-
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
1188-
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
1189-
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
1190-
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
1191-
#: ports/cxd56/common-hal/pulseio/PulseIn.c shared-bindings/pwmio/PWMOut.c
1192-
msgid "Internal resource(s) in use"
1193-
msgstr ""
1194-
11951223
#: supervisor/shared/safe_mode.c
11961224
msgid "Internal watchdog timer expired."
11971225
msgstr ""
@@ -1209,7 +1237,7 @@ msgstr ""
12091237
#: ports/raspberrypi/bindings/picodvi/Framebuffer.c
12101238
#: ports/raspberrypi/common-hal/picodvi/Framebuffer.c py/argcheck.c
12111239
#: shared-bindings/digitalio/DigitalInOut.c
1212-
#: shared-bindings/epaperdisplay/EPaperDisplay.c shared-bindings/pwmio/PWMOut.c
1240+
#: shared-bindings/epaperdisplay/EPaperDisplay.c
12131241
msgid "Invalid %q"
12141242
msgstr ""
12151243

@@ -1357,10 +1385,6 @@ msgstr ""
13571385
msgid "Missing jmp_pin. %q[%u] jumps on pin"
13581386
msgstr ""
13591387

1360-
#: shared-module/storage/__init__.c
1361-
msgid "Mount point directory missing"
1362-
msgstr ""
1363-
13641388
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
13651389
msgid "Must be a %q subclass."
13661390
msgstr "Harus berupa subclass %q."
@@ -1445,11 +1469,9 @@ msgstr ""
14451469
msgid "No IP"
14461470
msgstr ""
14471471

1448-
#: ports/atmel-samd/common-hal/microcontroller/__init__.c
1449-
#: ports/cxd56/common-hal/microcontroller/__init__.c
1450-
#: ports/mimxrt10xx/common-hal/microcontroller/__init__.c
1451-
msgid "No bootloader present"
1452-
msgstr ""
1472+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
1473+
msgid "No available clocks"
1474+
msgstr "Tidak ada clocks yang tersedia"
14531475

14541476
#: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c
14551477
msgid "No capture in progress"
@@ -1467,12 +1489,15 @@ msgstr "Tidak ada koneksi: panjang tidak dapat ditentukan"
14671489
msgid "No default %q bus"
14681490
msgstr "Tidak ada standar bus %q"
14691491

1470-
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
14711492
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
14721493
#: ports/atmel-samd/common-hal/touchio/TouchIn.c
14731494
msgid "No free GCLKs"
14741495
msgstr "Tidak ada GCLK yang kosong"
14751496

1497+
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
1498+
msgid "No free GLCKs"
1499+
msgstr ""
1500+
14761501
#: shared-bindings/os/__init__.c
14771502
msgid "No hardware random available"
14781503
msgstr "Tidak ada perangkat keras acak yang tersedia"
@@ -1676,6 +1701,13 @@ msgstr "Kehabisan socket"
16761701
msgid "Out-buffer elements must be <= 4 bytes long"
16771702
msgstr ""
16781703

1704+
#: shared-bindings/pwmio/PWMOut.c
1705+
msgid ""
1706+
"PWM frequency not writable when variable_frequency is False on construction."
1707+
msgstr ""
1708+
"Frekuensi PWM tidak dapat ditulis ketika variabel_frequency Salah pada "
1709+
"konstruksi."
1710+
16791711
#: ports/stm/common-hal/pwmio/PWMOut.c
16801712
msgid "PWM restart"
16811713
msgstr ""
@@ -1721,6 +1753,11 @@ msgstr ""
17211753
msgid "Pin must be on PWM Channel B"
17221754
msgstr ""
17231755

1756+
#: ports/atmel-samd/common-hal/countio/Counter.c
1757+
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
1758+
msgid "Pin must support hardware interrupts"
1759+
msgstr "Pin harus mendukung interupsi perangkat keras"
1760+
17241761
#: shared-bindings/rgbmatrix/RGBMatrix.c
17251762
#, c-format
17261763
msgid ""
@@ -1958,8 +1995,12 @@ msgstr "Buffer sumber dan tujuan harus memiliki panjang yang sama"
19581995
msgid "Specify exactly one of data0 or data_pins"
19591996
msgstr ""
19601997

1961-
#: supervisor/shared/safe_mode.c
1962-
msgid "Stack overflow. Increase stack size."
1998+
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
1999+
msgid "Stereo left must be on PWM channel A"
2000+
msgstr ""
2001+
2002+
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
2003+
msgid "Stereo right must be on PWM channel B"
19632004
msgstr ""
19642005

19652006
#: shared-bindings/alarm/time/TimeAlarm.c
@@ -2068,6 +2109,10 @@ msgstr ""
20682109
msgid "Traceback (most recent call last):\n"
20692110
msgstr "Traceback (bagian terakhir dari panggilan terkini):\n"
20702111

2112+
#: shared-bindings/time/__init__.c
2113+
msgid "Tuple or struct_time argument required"
2114+
msgstr "Diperlukan argumen Tuple atau struct_time"
2115+
20712116
#: ports/stm/common-hal/busio/UART.c
20722117
msgid "UART de-init"
20732118
msgstr ""
@@ -2423,6 +2468,10 @@ msgstr "Argumen argsort harus berupa ndarray"
24232468
msgid "argsort is not implemented for flattened arrays"
24242469
msgstr ""
24252470

2471+
#: py/runtime.c shared-bindings/supervisor/__init__.c
2472+
msgid "argument has wrong type"
2473+
msgstr "argumen memiliki tipe yang salah"
2474+
24262475
#: py/compile.c
24272476
msgid "argument name reused"
24282477
msgstr ""
@@ -2432,6 +2481,10 @@ msgstr ""
24322481
msgid "argument num/types mismatch"
24332482
msgstr "argumen num/types tidak cocok"
24342483

2484+
#: py/runtime.c
2485+
msgid "argument should be a '%q' not a '%q'"
2486+
msgstr "argumen harus berupa '%q' bukan '%q'"
2487+
24352488
#: extmod/ulab/code/numpy/numerical.c extmod/ulab/code/numpy/transform.c
24362489
msgid "arguments must be ndarrays"
24372490
msgstr "argumen harus berupa ndarrays"
@@ -2616,7 +2669,7 @@ msgstr ""
26162669
msgid "can't convert %s to float"
26172670
msgstr ""
26182671

2619-
#: py/objint.c py/runtime.c
2672+
#: py/runtime.c
26202673
#, c-format
26212674
msgid "can't convert %s to int"
26222675
msgstr ""
@@ -2625,10 +2678,18 @@ msgstr ""
26252678
msgid "can't convert '%q' object to %q implicitly"
26262679
msgstr ""
26272680

2681+
#: py/objint.c
2682+
msgid "can't convert NaN to int"
2683+
msgstr ""
2684+
26282685
#: extmod/ulab/code/numpy/vector.c
26292686
msgid "can't convert complex to float"
26302687
msgstr ""
26312688

2689+
#: py/objint.c
2690+
msgid "can't convert inf to int"
2691+
msgstr ""
2692+
26322693
#: py/obj.c
26332694
msgid "can't convert to complex"
26342695
msgstr ""
@@ -3116,6 +3177,10 @@ msgstr "fungsi kehilangan argumen posisi #%d yang dibutuhkan"
31163177
msgid "function takes %d positional arguments but %d were given"
31173178
msgstr "fungsi mengambil posisi argumen %d tapi %d yang diberikan"
31183179

3180+
#: shared-bindings/time/__init__.c
3181+
msgid "function takes exactly 9 arguments"
3182+
msgstr ""
3183+
31193184
#: py/objgenerator.c
31203185
msgid "generator already executing"
31213186
msgstr ""
@@ -3966,6 +4031,10 @@ msgstr ""
39664031
msgid "size is defined for ndarrays only"
39674032
msgstr ""
39684033

4034+
#: shared-bindings/time/__init__.c
4035+
msgid "sleep length must be non-negative"
4036+
msgstr ""
4037+
39694038
#: py/nativeglue.c
39704039
msgid "slice unsupported"
39714040
msgstr ""
@@ -4362,42 +4431,6 @@ msgstr "zi harus berjenis float"
43624431
msgid "zi must be of shape (n_section, 2)"
43634432
msgstr "Zi harus berbentuk (n_section, 2)"
43644433

4365-
#~ msgid "Cannot vary frequency on a timer that is already in use"
4366-
#~ msgstr ""
4367-
#~ "Tidak dapat membuat variasi frekuensi pada penghitung waktu yang sudah "
4368-
#~ "digunakan"
4369-
4370-
#~ msgid "Could not start PWM"
4371-
#~ msgstr "Tidak dapat memulai PWM"
4372-
4373-
#~ msgid "EXTINT channel already in use"
4374-
#~ msgstr "Channel EXTINT sedang digunakan"
4375-
4376-
#~ msgid "Frequency must match existing PWMOut using this timer"
4377-
#~ msgstr "Frekuensi harus cocok dengan PWMOut yang ada menggunakan timer ini"
4378-
4379-
#~ msgid "No available clocks"
4380-
#~ msgstr "Tidak ada clocks yang tersedia"
4381-
4382-
#~ msgid ""
4383-
#~ "PWM frequency not writable when variable_frequency is False on "
4384-
#~ "construction."
4385-
#~ msgstr ""
4386-
#~ "Frekuensi PWM tidak dapat ditulis ketika variabel_frequency Salah pada "
4387-
#~ "konstruksi."
4388-
4389-
#~ msgid "Pin must support hardware interrupts"
4390-
#~ msgstr "Pin harus mendukung interupsi perangkat keras"
4391-
4392-
#~ msgid "Tuple or struct_time argument required"
4393-
#~ msgstr "Diperlukan argumen Tuple atau struct_time"
4394-
4395-
#~ msgid "argument has wrong type"
4396-
#~ msgstr "argumen memiliki tipe yang salah"
4397-
4398-
#~ msgid "argument should be a '%q' not a '%q'"
4399-
#~ msgstr "argumen harus berupa '%q' bukan '%q'"
4400-
44014434
#~ msgid "A hardware interrupt channel is already in use"
44024435
#~ msgstr "Sebuah channel hardware interrupt sedang digunakan"
44034436

locale/circuitpython.pot

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,9 @@ msgid "%q must be multiple of 8."
207207
msgstr ""
208208

209209
#: ports/raspberrypi/bindings/cyw43/__init__.c py/argcheck.c py/objexcept.c
210-
#: shared-bindings/canio/CAN.c shared-bindings/digitalio/Pull.c
211-
#: shared-bindings/supervisor/__init__.c shared-module/synthio/Synthesizer.c
210+
#: shared-bindings/bitmapfilter/__init__.c shared-bindings/canio/CAN.c
211+
#: shared-bindings/digitalio/Pull.c shared-bindings/supervisor/__init__.c
212+
#: shared-module/synthio/Synthesizer.c
212213
msgid "%q must be of type %q or %q, not %q"
213214
msgstr ""
214215

@@ -734,6 +735,7 @@ msgstr ""
734735

735736
#: shared-bindings/storage/__init__.c shared-bindings/usb_cdc/__init__.c
736737
#: shared-bindings/usb_hid/__init__.c shared-bindings/usb_midi/__init__.c
738+
#: shared-bindings/uvc/__init__.c
737739
msgid "Cannot change USB devices now"
738740
msgstr ""
739741

0 commit comments

Comments
 (0)